gpt4 book ai didi

r - 在带有因子变量的 stat_bin 中使用密度

转载 作者:行者123 更新时间:2023-12-01 01:30:49 27 4
gpt4 key购买 nike

对于因子变量,stat_bin 中的密度图似乎无法按预期工作。 y 轴上每个类别的密度为 1。

例如,使用钻石数据:

diamonds_small <- diamonds[sample(nrow(diamonds), 1000), ]
ggplot(diamonds_small, aes(x = cut)) + stat_bin(aes(y=..density.., fill=cut))

enter image description here

我知道我可以使用

stat_bin(aes(y=..count../sum(..count..), fill=cut))

让它发挥作用。但是,根据 stat_bin 的文档,它应该适用于分类变量。

最佳答案

您可以通过手动设置 group 美学来获得您(可能)想要的东西。

ggplot(diamonds_small, aes(x = cut)) +  stat_bin(aes(y=..density..,group=1))

但是,您不能轻易地在一个组中进行不同的填充。可以自己总结数据:

library(plyr)
ddply(diamonds_small,.(cut),
function(x) data.frame(dens=nrow(x)/nrow(diamonds_small)))
ggplot(dd_dens,aes(x=cut,y=dens))+geom_bar(aes(fill=cut),stat="identity")

摘要步骤的稍微更紧凑的版本:

as.data.frame.table(prop.table(table(diamonds_small$cut)))

关于r - 在带有因子变量的 stat_bin 中使用密度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17406082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com