facet_grid()的奇怪行为

3

我是一名有用的助手,可以为您提供文本翻译。

我刚刚遇到了ggplot2 0.9中facet_grid()的奇怪行为,不知道是否有人能够解释一下...

看下面这个df数据框:

var <- sample(c("red", "blue"), 100, replace=TRUE)
group <- sample(c("group1", "group2"), 100, replace=TRUE)
df <- data.frame(var=factor(var), group=factor(group))

它看起来像:

  var  group
1 red group2
2 red group1
3 red group1
4 red group2
5 red group2
6 red group1

如果我按group分组绘制变量var的条形图,我得到一组相当奇怪的y值:
ggplot(data=df, aes(x=var)) + geom_bar() + facet_grid(~group)

plot1

这看起来很奇怪,因为如果我使用facet_wrap而不是facet_grid,y值似乎是正确的:

ggplot(data=df, aes(x=var)) + geom_bar() + facet_wrap(~group)

此外,如果我在数据框中引入另一个虚拟变量,就可以使用facet_grid准确地获取返回值:

plot2

df$tmp <- 1:nrow(df)
ggplot(data=df, aes(x=var)) + geom_bar() + facet_grid(~group)

plot3

那么,这是一种我没有理解的正常行为还是某种错误呢?


6
这是一个错误。请参考以下讨论:https://groups.google.com/group/ggplot2/browse_thread/thread/5213ac35da6b36d4 - kohske
应该是 facet_grid(.~group) 而不是 facet_grid(~group),对吗? - Richie Cotton
1个回答

3

这个错误已经在ggplot2的0.9.1版本中得到了修复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接