Hi, May be this helps: gg <- ggplot(plotdat, aes(x = Age, y = Probability, color = Level)) + geom_line(size=2.5) + theme_bw() + xlim(10,80) + facet_grid(Sex ~ Treatment, # scales = "free", labeller = function(x, y) sprintf("%s = %s", x, y) )
plotdat2 <- subset(plotdat,as.character(Improved)==as.character(Level)) gg+geom_point(data= plotdat2, aes(x=Age, y=Probability),color="black",size=1.5) A.K. On Wednesday, April 2, 2014 9:22 PM, Michael Friendly <frien...@yorku.ca> wrote: Thanks, Dennis Not quite. I need to have the same lines as in the original, using plotdat, but then add the points from your plotdat2 gg <- ggplot(plotdat, aes(x = Age, y = Probability, color = Level)) + geom_line(size=2.5) + theme_bw() + xlim(10,80) + # geom_point(color="black", size=1.5) + # not these points facet_grid(Sex ~ Treatment, # scales = "free", labeller = function(x, y) sprintf("%s = %s", x, y) ) # want these points, added to the above plot plotdat2 <- subset(plotdat, as.character(Improved) == as.character(Level)) On 02/04/2014 7:09 PM, Dennis Murphy wrote: > Hi Michael: > > Does this work? > > plotdat2 <- subset(plotdat, > as.character(Improved) == as.character(Level)) > ggplot(plotdat2, aes(x = Age, y = Probability, color = Level)) + > geom_line(size=2.5) + theme_bw() + xlim(10,80) + > geom_point(color="black", size=1.5) + > facet_grid(Sex ~ Treatment, > labeller = function(x, y) sprintf("%s = %s", x, y) > ) > > Dennis > > On Wed, Apr 2, 2014 at 7:43 AM, Michael Friendly <frien...@yorku.ca> wrote: >> I'm working on an example of plotting predicted probabilities from a >> proportional odds model. >> The steps below generate a data frame, plotdat, that I want to plot with >> ggplot. >> >> library(MASS) >> data("Arthritis", package="vcd") >> arth.polr <- polr(Improved ~ Sex + Treatment + Age, data=Arthritis, >> Hess=TRUE) >> >> # get predicted probs for categories of Improve >> arth.fitp <- cbind(Arthritis, >> predict(arth.polr, type="probs")) >> head(arth.fitp) >> >> # reshape probs to long >> library(reshape2) >> plotdat <- melt(arth.fitp, >> id.vars = c("Sex", "Treatment", "Age", "Improved"), >> measure.vars=c("None", "Some", "Marked"), >> variable.name = "Level", >> value.name = "Probability") >> ## view first few rows >> head(plotdat) >> >>> head(plotdat) >> Sex Treatment Age Improved Level Probability >> 1 Male Treated 27 Some None 0.7326185 >> 2 Male Treated 29 None None 0.7174048 >> 3 Male Treated 30 None None 0.7096042 >> 4 Male Treated 32 Marked None 0.6936286 >> 5 Male Treated 46 Marked None 0.5702499 >> 6 Male Treated 58 Marked None 0.4563432 >> >> In the plot step, I am plotting Probability vs. Age, stratified by Level, >> and faceted by >> Sex and Treatment. My question concerns the use of geom_point(). >> The call below plots 3 points for each case, one on each Level curve. >> >> >> ggplot(plotdat, aes(x = Age, y = Probability, color = Level)) + >> geom_line(size=2.5) + theme_bw() + xlim(10,80) + >> geom_point(color="black", size=1.5) + >> facet_grid(Sex ~ Treatment, >> labeller = function(x, y) sprintf("%s = %s", x, y) >> ) >> >> Instead, >> I want to plot only one point for each case, for the value of Level that >> corresponds >> to the value of Improved in this data set. Somehow, this involves something >> like an aes() argument to geom_point(), with Level indexed by Improved, or >> some such. >> How can I do this? >> >> -- >> Michael Friendly Email: friendly AT yorku DOT ca >> Professor, Psychology Dept. & Chair, Quantitative Methods >> York University Voice: 416 736-2100 x66249 Fax: 416 736-5814 >> 4700 Keele Street Web: http://www.datavis.ca >> Toronto, ONT M3J 1P3 CANADA >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. -- Michael Friendly Email: friendly AT yorku DOT ca Professor, Psychology Dept. & Chair, Quantitative Methods York University Voice: 416 736-2100 x66249 Fax: 416 736-5814 4700 Keele Street Web: http://www.datavis.ca Toronto, ONT M3J 1P3 CANADA ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.