2012-04-05 106 views
2

有沒有一種方法(用ggplot或其他方式)在單列(兩行)中繪製頻率和累積頻率曲線,即一個頂部的另一個,使得a給定的四分位數可以用直線顯示在兩條曲線上?我希望我明確這一點..頻率和累積頻率曲線在R

您可以使用此數據..

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") 

回答

8
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))) 

enter image description here

添加,累積次數列

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~.) 

enter image description here

+0

謝謝@Etienne。我真的希望他們在兩行不在同一張圖上,但是具有相同的x軸(速度)。 – 2012-04-05 15:35:23

+0

@Stat-R,很難從你的問題中分辨出來!看我的編輯。 – 2012-04-05 22:57:29