计算 netcdf 文件中缺失值的数量 - R

count number of missing values in netcdf file - R

有没有快速知道 netcdf 文件中有多少缺失值的方法?可能使用 R.

目前我必须

hum<-nc_open("rhum.sig995.2008.nc")
rhum<-ncvar_get(hum, "rhum")

然后通过键入 'hum' 手动查找缺失值并将其复制到此操作中

sum(abs(rhum - 9.96920996838687e+36) < -9.96920996838687e+36)

有没有更直接的方法,尤其是当我必须处理数百个文件时?我想避免复制和粘贴缺失值,而且我不确定应该以何种精度处理数字。

我的建议是使用优秀的光栅包:

install.packages(raster)
library(raster)

r <- raster("rhum.sig995.2008.nc", var="rhum")

NAnum <- summary(r)[6]

变量名称 "var" 的缺失数据点总数可以使用

存储在新的附加变量中
ncap2 -s "nmiss=number_miss(var)" in.nc out.nc

ncap2 -s "nmiss=var.number_miss()" in.nc out.nc

如果您的数据具有时间维度,并且您想查看 space 维度上总计的缺失点总数,那么您可以使用

查看
cdo info in.nc