Проблема с удалением пропущенных значений в ggplot2 - PullRequest
0 голосов
/ 25 июня 2018

Я создаю гистограмму, используя ggplot2 в R, и я хочу удалить пропущенные значения в моих значениях x, я пробовал несколько разных способов получить значение «NA», но, похоже, ничто не меняет вывод , В настоящее время мой код читает (данные не являются общедоступными, поэтому я изменил имена переменных):

ggplot(data = mydata, aes(x= x_mydata, y= y_mydata, na.rm = TRUE)) +
  stat_summary(fun.y = "mean", geom="bar", na.rm = TRUE)

Ответы [ 3 ]

0 голосов
/ 25 июня 2018

Я бы рекомендовал использовать

data = mydata[!is.na(mydata$x_mydata), ]

Если вы используете data.table, это проще

data = mydata[!is.na(x_mydata)]
0 голосов
/ 25 июня 2018

Я не знаю точно, что вы хотите, но упаковка ваших данных в na.omit должна работать.Так что-то вроде ggplot (data = na.omit (df), aes = ...

0 голосов
/ 25 июня 2018

Я не могу воспроизвести.Это прекрасно работает

mydata <- data.frame(
  x_mydata = c(1, NA, 1, 2, 2, 2, 3, 3, NA),
  y_mydata = c(1,2,NA,4,5, 6,7, NA, NA)
)

ggplot(data = mydata, aes(x= x_mydata, y= y_mydata)) +
  stat_summary(fun.y = "mean", geom="bar", na.rm = TRUE)

Обратите внимание, что нет na.rm эстетики, поэтому вам не нужно передавать ее в aes().

enter image description here

...