删除了geom_bar直方图中的数据点

时间:2017-10-15 17:11:41

标签: r ggplot2 histogram

我是R的新手,但我尽我所能。在绘制刻面密度绘图直方图时,我会收到以下消息。

  

警告消息:删除了包含缺失值的###行   (geom_bar)。

我看过这条消息可能是由于x轴问题没有显示所有数据点,但是,调查后它并没有出现。

错误似乎在" position =" fill" " geom_histogram的一部分。当位置="填充"被删除没有错误产生。

非常感谢任何帮助或建议。

100

1 个答案:

答案 0 :(得分:1)

我有点困惑,我同意。显然,没有遗漏的真实缺失数据。正如你所说,如果你stack而不是fill,一切都很好。

正在发生的事情是,ggplot通过构面组合在内部为每个x按组(在本例中为颜色)内部制作表格。在stack的情况下,无静默地不绘制没有任何值的组合。这是因为它们叠加到零。但是对于fill,总计有一个除法,因为总数为0,答案为Inf,但设置为NA

你可以看到:

p <- ggplot(data = df, aes(x = TotalDays)) + 
  geom_histogram(aes(fill = recividism), position = "fill" ) + 
  facet_grid(facets = NumEnroll ~ .)

head(ggplot_build(p)$data[[1]], 10)

节目:

      fill  y count         x      xmin      xmax     density ncount ndensity PANEL group ymin ymax colour size linetype alpha
1  #619CFF NA     0  33.86207  16.93103  50.79310 0.000000000      0   0.0000     1     3   NA   NA     NA  0.5        1    NA
2  #00BA38 NA     0  33.86207  16.93103  50.79310 0.000000000      0   0.0000     1     2   NA   NA     NA  0.5        1    NA
3  #F8766D NA     0  33.86207  16.93103  50.79310 0.000000000      0   0.0000     1     1   NA   NA     NA  0.5        1    NA
4  #619CFF NA     0  67.72414  50.79310  84.65517 0.000000000      0   0.0000     1     3   NA   NA     NA  0.5        1    NA
5  #00BA38 NA     0  67.72414  50.79310  84.65517 0.000000000      0   0.0000     1     2   NA   NA     NA  0.5        1    NA
6  #F8766D NA     0  67.72414  50.79310  84.65517 0.000000000      0   0.0000     1     1   NA   NA     NA  0.5        1    NA
7  #619CFF  1     1 101.58621  84.65517 118.51724 0.007382892      1 135.4483     1     3    0    1     NA  0.5        1    NA
8  #00BA38  1     0 101.58621  84.65517 118.51724 0.000000000      0   0.0000     1     2    1    1     NA  0.5        1    NA
9  #F8766D  1     0 101.58621  84.65517 118.51724 0.000000000      0   0.0000     1     1    1    1     NA  0.5        1    NA
10 #619CFF NA     0 135.44828 118.51724 152.37931 0.000000000      0   0.0000     1     3   NA   NA     NA  0.5        1    NA

您可以在很多行中看到NA的{​​{1}},这是您收到警告的地方。

希望能稍微清理一下。事实证明它确实发生了,因为你没有某些x级别的数据。但这不是完整的故事。