0

1 つの ncdf ファイルを読み込もうとしましたが、ヘッダーには欠落している値が "Missval:1e+30" であると書かれていますが、データには 9999 が表示されています。linux で ncdump を確認しましたが、問題ありません。それによって欠損値を認識します。欠損値を取り除くために、このような問題にどのように取り組むことができますか?

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

[1] 9999 9999 9999 9999 9999 9999

4

2 に答える 2

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のもの。

データに 9999 の値だけでなく、すでにいくつかの NA 値がある可能性があります。確認してくださいany(is.na(x))- TRUE の場合、そこに少なくとも 1 つの NA があります (おそらく、ヘッダーのデータ値が欠落していることが原因です)。

于 2013-01-23T23:01:27.247 に答える
0

問題はパッケージ「ncdf」から来ていますが、「RNetCDF」をインストールします

パッケージとすべてがうまく機能しています。

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

[1]ななななななななな

しかし、良いパッケージを見つけるのは難しい場合があります。

于 2013-01-24T14:53:17.370 に答える