带二进制变量的R Stackbar图

我想使用ggplot,我的数据就是这样

x <- c(TRUE,FALSE,TRUE,FALSE) #Logical
y <- c(0,1,0) #Numeric
dat <- data.frame(x,y)

我想创建一个显示百分比的堆叠式条形图...这似乎应该是一个简单的问题,但不知何故我搞砸了,找不到直接的答案。

我已经尝试过了

ggplot(data = dat,aes(x = x,y = y,fill = y))+geom_bar(position = 'fill',stat = 'identity')


ggplot(data = dat,y = factor(y),stat = 'identity')

第二个看起来更近,但是轴将所有内容压缩为0?

fuyesunwang123 回答:带二进制变量的R Stackbar图

position = 'stack'y-axis设置为sum个值的y,如下所示:

ggplot(data = dat,aes(x = x,y = sum(y),fill = y)) +
       geom_bar(position = 'stack',stat = 'identity')

希望您发现它有用。

,

尝试:

ggplot(data = dat,fill = factor(y))) +
  geom_bar()

尤其是,geom_bar()的默认聚合是对行(stat = "count")进行计数。如果您已经预先计算了计数,就可以使用stat = "identity"

本文链接:https://www.f2er.com/3078874.html

大家都在问