Подтвердить что ты не робот

Предупреждение ggplot2: Укладка не определена, когда ymin!= 0

Возможно, ответ будет просто предупрежден. Я предлагаю использовать масштабированную и центрированную переменную, чтобы посмотреть, как наблюдения отличаются от среднего значения. Этот сюжет - обычная практика. Но когда я делаю это, я получаю предупреждение от ggplot2.

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

Мне нравится, когда ggplot2 и весь остальной мир счастливы, и никаких предупреждений не приходит. Я попытался избавиться от предупреждения следующими способами и обыскал SO (см. Ссылки внизу для некоторых более многообещающих вопросов) по смежным вопросам. Еще мой друг ggplot2 предупреждает меня.

ВОПРОС (S):

  • Как я могу заставить предупреждение уйти?
  • Можно ли игнорировать предупреждение?
  • Что-то не так с этой практикой?

Попытка кода:

## 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~.)

Сюжет:

enter image description here

Похожие сообщения:

4b9b3361

Ответ 1

1) Или добавление position = "identity" в geom_bar или, конечно же, с помощью

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

2-3) Учитывая техническую сторону - да, вы можете ее игнорировать. Причина для этого предупреждения связана с интерпретацией того, что бары имеют отрицательную высоту, а не только отрицательные значения.