【问题标题】:count number of missing values in netcdf file - R计算 netcdf 文件中缺失值的数量 - R
【发布时间】:2017-05-11 04:43:58
【问题描述】:

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

目前我必须

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

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

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

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

【问题讨论】:

    标签: r netcdf


    【解决方案1】:

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

    install.packages(raster)
    library(raster)
    
    r <- raster("rhum.sig995.2008.nc", var="rhum")
    
    NAnum <- summary(r)[6]
    

    【讨论】:

    • 或使用freq(r, value=NA)
    【解决方案2】:

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

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

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

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

    cdo info in.nc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多