R 连续与分类百分比份额 geom_line

R continuous vs categorical percentage share with geom_line

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

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

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

预先计算频率,例如使用整形:

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