31

也许答案只是被警告。我正在尝试使用缩放和居中的变量来查看观察值与平均值的差异。这个情节是一种常见的做法。但是当我这样做时,我会收到来自ggplot2.

Warning messages:
1: Stacking not well defined when ymin != 0 

我喜欢让 ggplot2 和世界其他地方开心,并且没有任何警告出现在我的面前。我尝试通过以下方式摆脱警告并搜索 SO(有关一些更有希望的问题,请参阅底部的链接)以查找相关问题。我的朋友 ggplot2 仍然在警告我。

问题):

  1. 我怎样才能让警告消失?
  2. 我可以忽略警告吗?
  3. 这种做法有问题吗?

代码尝试:

## The data
mtcars$scaled_mpg <- unlist(tapply(mtcars$mpg, mtcars$cyl, scale))
mtcars <- mtcars[order(mtcars$cyl), ]
mtcars$ID <- unlist(tapply(mtcars$cyl, mtcars$cyl, seq_along))
mtcars$ID <- factor(sprintf("%02d", mtcars$ID ))

##  ================ Attempt 1 ================   
ggplot(mtcars, aes(x = ID, y = scaled_mpg, fill = factor(cyl))) +
    geom_bar(stat="identity") + facet_grid(cyl~.)

##  ================ Attempt 2 ================     
ggplot(mtcars, aes(x = ID, fill = factor(cyl))) +
    geom_bar(aes(weight = scaled_mpg)) + facet_grid(cyl~.)

##  ================ Attempt 3 ================  
dat1 <- subset(mtcars, scaled_mpg >= 0)
dat2 <- subset(mtcars, scaled_mpg < 0)

ggplot() +
    geom_bar(data = dat1, aes(x = ID, y = scaled_mpg, 
        fill = factor(cyl)),stat = "identity") +
    geom_bar(data = dat2, aes(x = ID, y = scaled_mpg, 
        fill= factor(cyl)),stat = "identity") + 
    facet_grid(cyl~.)

剧情:

在此处输入图像描述

类似帖子:

4

1 回答 1

29

1) 通过添加 position = "identity"到,geom_bar或者,当然,通过使用

suppressWarnings(print(ggplot(...)))

2-3)考虑到技术方面——是的,你可以忽略它。此警告的原因与解释条具有负高度而不仅仅是负值有关。

于 2013-10-20T21:03:55.787 回答