问题
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~.)
来源:https://stackoverflow.com/questions/10030547/frequency-and-cumulative-frequency-curve-on-the-same-graph-in-r