当na.rm = TRUE时,Sum()返回NA的零,而其他函数仍返回NaN。
> sum(rep(NA, 10), na.rm = TRUE)
[1] 0
> mean(rep(NA, 10), na.rm = TRUE)
[1] NaN
我有一个闪亮的应用程序,可以对被NA值掩盖的大型光栅块执行计算。使用na.rm()参数可以显着加快处理速度,但显然会在掩码上留下零,这是不希望的。在对栅格块求和时,如何保持处理速度并保留NA?
> system.time(sum(b))
user system elapsed
10.309 2.552 12.877
> system.time(sum(b, na.rm = T))
user system elapsed
4.595 2.375 6.980