R 防止生成条形图时出错

R 防止生成条形图时出错,r,ggplot2,R,Ggplot2,我希望使用我的数据帧制作一个堆叠条形图,但是当我使用ggplot时,我仍然会得到错误 错误:stat_count()只能具有x或y值 有人能给我解释一下为什么R不会生成条形图,以及我可以对上面的代码做些什么修改,以使用“p”列中的比例生成堆叠条形图吗 谢谢您需要geom\u bar中的stat=“identity” ggplot(data = young, aes(x = Young, y = p)) + geom_bar(position = "fill") + labs(

我希望使用我的数据帧制作一个堆叠条形图,但是当我使用ggplot时,我仍然会得到错误

错误:stat_count()只能具有x或y值

有人能给我解释一下为什么R不会生成条形图,以及我可以对上面的代码做些什么修改,以使用“p”列中的比例生成堆叠条形图吗

谢谢

您需要
geom\u bar
中的
stat=“identity”

ggplot(data = young, aes(x = Young, y = p)) + geom_bar(position = "fill") + labs(x = "Age Bracket", y = "Proportion")
要获取单个堆叠条,请定义一个新变量,如下所示

ggplot(data = young, aes(x = Young, y = p)) + geom_bar(position = "fill", stat = "identity") + labs(x = "Age Bracket", y = "Proportion")

young$state我想这可能就是你想要的

young$state <- c("TrueorFalse","TrueorFalse")

p <- ggplot(data = young, aes(x = state, y = p, fill=Young)) + #
  geom_bar(position="stack", stat="identity") + 
  labs(x = "Age Bracket", y = "Proportion")
p

好的,但是为什么ggplot产生的是两条而不是两条呢?我想把“假”条叠加在“真”条上
young$state <- c("TrueorFalse","TrueorFalse")

p <- ggplot(data = young, aes(x = state, y = p, fill=Young)) + #
  geom_bar(position="stack", stat="identity") + 
  labs(x = "Age Bracket", y = "Proportion")
p
ggplot(data = cbind(id = 1,young), aes(x = id, y = p, fill = Young)) +
  geom_bar(position = "fill", stat = "identity") +
  labs(x = "Age Bracket", y = "Proportion")