ggplot 中缺失值的数量

Number of missing values in ggplot

我在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()

图中没有缺失的数据点,这正是我想要的。剧情很满意

但是,ggplotreturns出现以下警告:

Removed 2 rows containing missing values (geom_path). 

如果有大约 300 个缺失值(countgenpos 没有缺失值),为什么 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,尽管没有 NA,但坐标 (6,8) 的最后一个点不存在。我们注意到它是一个 'isolated point'(不能 link 到之前的值 (5, NA),它有 NA)。
  • 对于组b,尽管没有NA,但第一点不存在。它也是一个孤立点,不能 linked 到下一个值,因为它有 NA.
  • 对于组 c,最后一个点不存在,但这是正确的,因为它的 y 值为 NA

因此,警告消息仅指示有多少常规(不是 NA)但孤立的点从图表中删除。这里2.