R连续与分类百分比与geom_line共享

时间:2015-05-03 07:53:42

标签: r ggplot2 continuous

我想创建一个ggplot geom_line图,其中包含x轴上的连续数据和分类变量的百分比份额。 例如。对于mtcars,我想在x轴上有hp,在y轴上有6个柱面的汽车的百分比。

ggplot2(aes(x=hp,y=cyl), data=mtcars) +
geom_line()

我认为需要通过fun.y或类似的东西在geom_line中定义。

1 个答案:

答案 0 :(得分:3)

预先计算频率,例如使用重塑:

library(reshape)

M <- melt(mtcars,id.vars="hp",measure.vars="cyl")
C <- cast(M,hp~ variable)
C$f <- C$cyl/sum(C$cyl)

ggplot(C,aes(x=hp,y=f)) +
  geom_line()

请注意,在这种情况下,线图似乎没有多大意义,数据点太过分了。您可以改为使用条形图:

ggplot(C,aes(x=hp,y=f)) +
  geom_bar(stat="identity")