我有一个R数据框,如下所示:
> glimpse(spottingIntensity)
Observations: 28
Variables: 5
$ nClassifications <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,...
$ nPhotosClassified <int> 45816, 25252, 12327, 5286, 2327, 1231, 713, 565, 447, 435, 318, 227, 192, 156,...
$ totalClassifiedPhotos <int> 95781, 95781, 95781, 95781, 95781, 95781, 95781, 95781, 95781, 95781, 95781, 9...
$ proportionOfClassified <dbl> 4.783412e-01, 2.636431e-01, 1.286998e-01, 5.518840e-02, 2.429501e-02, 1.285224...
$ cumulativeProportions <dbl> 0.4783412, 0.7419843, 0.8706842, 0.9258726, 0.9501676, 0.9630198, 0.9704639, 0...
其中,nClassifications
和nPhotosClassified
是数据,其他变量是派生的。
我使用以下内容用ggplot2
绘制数据:
ggplot(data = spottingIntensity, mapping = aes(x = nClassifications, y = cumulativeProportions)) +
geom_col() +
geom_text(mapping = aes(label = nPhotosClassified), nudge_y = 0.03) +
scale_x_continuous(limits = c(NA, 10),
breaks = seq.int(from = 1, to = 10, by = 1))
这给了我这些警告:
Warning messages:
1: Removed 18 rows containing missing values (position_stack).
2: Removed 18 rows containing missing values (geom_text).
这个输出:
我在图中看到nClassifications = 10
的列未显示,即使它的数据存在于原始数据框中。
我检查了数据框,我确实有一些&#34;缺少行&#34;适用于nClassifications = 24, 27, 30, 31
,但不适用于nClassifications = 10
。
所以:
为什么nClassifications = 10
出现的情节中没有栏?我该如何解决? (我期望一个高度类似于nClassifications = 9
)的栏杆
我如何以编程方式&#34;填写/完成&#34;我的数据框是否有nClassifications = 24, 27, 30, 31
的相应行?在这种情况下,nPhotosClassified <- 0
用于这四个nClassifications
。由此我可以推导出其他变量。
dplyr
/ tidyr
可以帮助1.和2.?或者还有另一种方式吗?谢谢!
编辑:Ooooops,我之前粘贴了错误的代码段,现在它正确。