Я строю коэффициенты корреляции r
и размеры выборки n
из корреляционной матрицы на том же графике (r
в верхнем треугольнике, n
в нижнем треугольнике). Обычно у меня нет проблем с ggplot2
удалением моих NA перед построением графика, но в этой ситуации это только удаление NA
значений некоторых времени, и я не знаю почему. Я использую ggplot2 версии 3.2.1.
Пример кадра данных:
library(ggplot2)
library(dplyr)
ex <- data.frame(x1 = c(rep("2010", 3), rep("2011", 3), rep("2012", 3)),
x2 = rep(c("2010", "2011", "2012"), 3),
r = c(NA, 0.5, 0.2, NA, NA, 0.1, NA, NA, NA),
n = c(NA, NA, NA, 25, NA, NA, 70, 50, NA))
Когда я запускаю этот график с размером в качестве эстетики c, NA автоматически удаляются из оба geoms:
ex %>%
ggplot(aes(x1, x2))+
geom_point(aes(size = r))+
geom_text(aes(label = n))
Но когда я запускаю этот график с цветом в качестве эстетики c, NA удаляются только из geom_text
, а не geom_point
:
ex %>%
ggplot(aes(x1, x2))+
geom_point(aes(color = r), size = 6)+
geom_text(aes(label = n))
Этот вопрос stackoverflow не применим, потому что я не хочу отфильтровать строки. Я также попытался изменить x1
, x2
и r
на символ, основанный на this , но он также не работал
ex %>%
ggplot(aes(as.character(x1), as.character(x2)))+
geom_point(aes(color = as.character(r)), size = 6, na.rm = T) +
geom_text(aes(label = n))
Есть ли способ сделать цвет эстетическим c игнорировать НС?