需要将 netcdf 填充值从 Matlab 转换为 R

Need to convert netcdf fill values from Matlab to R

我在 Matlab 中有这段代码,我认为它正在用 Matlab 填充值替换 netcdf 填充值。 如何将此代码转换为 R ?我正在使用 netcdf4

inp.COAST_RLON.data ( inp.COAST_RLON.data< -900 ) = NaN;
inp.COAST_RLAT.data ( inp.COAST_RLAT.data< -900 ) = NaN;

如果您有一个 R 向量、矩阵或数组,并希望用另一个值替换符合条件的值,您可以:

 foo[criterion]=replacement

所以你的标准是 foo < -900 而你的替代是 NA

因此,无论您从 netcdf 文件中读取的向量、矩阵或数组形式的内容都可以修复:

 rlon <- ncvar_get(ncin,"COAST_RLON")
 rlon[rlon < -900] = NA

我对 ncvar_get returns 不是很熟悉,但我认为它是向量、矩阵或数组。