ncdf缺少价值

时间:2013-01-23 21:51:45

标签: r

我尝试读取一个ncdf文件, 在标题中写道,缺失值是“Missval:1e + 30”,但在数据中我看到了9999。 我在linux中用ncdump检查,没关系。并且认识到缺失的价值。 我怎样才能解决这个问题以摆脱缺失的价值?

head(get.var.ncdf(nc,4))

[1] 9999 9999 9999 9999 9999 9999

2 个答案:

答案 0 :(得分:1)

R使用特殊符号NA来编码缺失值。

如果您的数据有9999来编码缺失值,那么您的元数据标题就在说谎,您必须手动替换它们。通常,您会执行以下操作:

 > x = c(1,2,3,9999,55,9999)
 > x[x==9999] <- NA
 > x
 [1] 1 2 3 NA 55 NA

矩阵对象的替换类似。和基本的R东西。

您的数据中可能已有一些NA值,以及9999值。检查any(is.na(x)) - 如果为TRUE,那里至少有一个NA(可能来自标题中缺少的数据值)。

答案 1 :(得分:0)

我找到答案,问题来自包“ncdf”,但现在我安装“RNetCDF”

包装,每件事都运作良好。

head(var.get.nc(nc,5))

[1] NA NA NA NA NA NA

但我发现有时找到好的包装很棘手。

相关问题