使用这些数据:
library(ggplot2)
dd <- data.frame(id = c("A", "A", "B", "B"), prepost = c("pre", "post"),
value = 1:4)
这个有效:
qplot(id, value, data = dd, fill = prepost, geom = "bar")
但是,下一个给出了指示的错误消息。两者之间的唯一区别是group = prepost
在命令末尾添加了;但是,因为我们已经写过fill = prepost
它应该是默认组。
> qplot(id, value, data = dd, fill = prepost, geom = "bar", group = prepost)
Error in pmin(y, 0) : object 'y' not found
我们可以通过这样添加来修复最后一个stat = "identity"
:
qplot(id, value, data = dd, fill = prepost, geom = "bar", group = prepost,
stat = "identity")
我有两个问题:
(a) 为什么qplot
当其他人工作时,给出错误信息的那个人不起作用?
(b) 如果我们使用连续y
美学,geom_bar
那么如果不指定会发生什么stat
?从一开始qplot
,它似乎在这种情况下表现得好像stat="identity"
但在group
指定stat="identity"
与否的存在下揭示了差异。
(顺便说一句,这个问题似乎有些相关,尽管它的不同之处在于它似乎无法回答这个问题:ggplot2、geom_bar 和 position="dodge" 的问题:stacked has correct y values, dodged does not)