我有一个数据帧d
> head(d,10)
age3 num_sint
1091 25 2
835 38 0
993 38 1
1480 38 0
1996 38 0
2216 38 0
3126 38 0
3931 38 0
6479 38 0
6784 38 0
其中num_sint是0到8之间的变量。 我想画这样的东西
x轴上的age3和y轴上的比例。
所有列都应该从0到1
age3 = 25的列将全部为红色(因为100%= 2)。 age3 = 38的列将是10%蓝色和90%绿色。
我花了很多时间在这上面。有没有简单的解决方案?
答案 0 :(得分:3)
你可能正在寻找这样的东西:
ggplot(d, aes(x = as.factor(age3), fill = num_sint)) +
geom_bar(position = "fill") +
scale_y_continuous(labels = percent_format())