我在 R
中有一个数据框,如下所示:
gen pos count
A 1 10
A 2 20
A 3 15
A 4
...
B 1 50
B 2 30
B 3
B 4 40
...
数据框包含约 30000 行。 count
的值在大约 300 行中故意缺失。我用以下方法绘制这些数据:
ggplot(data=d, aes(x=pos, y=count, group=gen, colour=gen)) + geom_line()
图中缺少缺失的数据点,这正是我想要的。我对剧情很满意。
但是,ggplot
返回以下警告:
Removed 2 rows containing missing values (geom_path).
如果有大约 300 个缺失值(count
;gen
或 pos
没有缺失值),为什么 ggplot
仅报告 2?
最佳答案
举个简单的例子:
df = data.frame(gen=rep(letters[1:3],each=6),
y=c(NA,2,5,6,NA,8,9,NA,1,2,3,1,4,3,6.5,4.2,1,NA),
x=rep(1:6,3))
ggplot(df, aes(x=x, y=y, colour=gen)) + geom_line()
我们有警告:
Warning message:
Removed 2 rows containing missing values (geom_path).
通过查看下图,我们可以看到:
- 对于 a 组,坐标为
(6,8)
的最后一个点不存在,尽管它没有 NA。我们注意到它是一个“孤立点”(无法将其链接到具有NA
的先前值(5, NA)
)。 - 对于 b 组,第一个点不存在,尽管它没有
NA
。它也是一个孤立点,不能链接到下一个值,因为它有NA
。 - 对于 c 组,最后一个点不存在,但这是正确的,因为它的 y 值为
NA
。
因此,警告消息仅指示从图表中移除了多少常规(非 NA)但孤立的点。这里 2
。
关于r - ggplot 中缺失值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32626693/