Frequency and cumulative frequency curve on the sa

2019-05-26 03:24发布

问题:

Is there a way (in R with ggplot or otherwise) to draw frequency and cumulative frequency curves in a single column (two rows) i.e. one top of the other such that a given quartile can be shown on both the curves using straight lines? I hope I am clear on this..

You may use this data..

mydata<-structure(list(speed = c(10, 15, 20, 25, 30, 35, 40, 45, 50),frequency = c(0, 1, 5, 10, 20, 10, 6, 3, 0)), .Names = c("speed","frequency"), row.names = c(NA, -9L), class = "data.frame")

回答1:

mydata<-structure(list(speed = c(10, 15, 20, 25, 30, 35, 40, 45, 50),frequency = c(0, 1, 5, 10, 20, 10, 6, 3, 0)), .Names = c("speed","frequency"), row.names = c(NA, -9L), class = "data.frame")


library(ggplot2)

qplot(data=mydata,
      x=speed,
      y=frequency,
      geom=c("point", "line"))+
      geom_line(aes(y=cumsum(frequency)))

or

Add a cumulative frequency column

mydata$sum.freq<-with(mydata, cumsum(frequency))

library(reshape)
qplot(data=melt(mydata, id.vars="speed"),
       x=speed,
       y=value,
       geom=c("point", "line"), facets=variable~.)