0

私が使用しているデータセットは欠損値を -99 として扱いますが、これらすべての -99 を同じ行の異なる列の数値に置き換える必要があります。

これが例です

V1   V2    V3  V4       V5            V6        V7
1   1958    3 1958.208 315.71       315.71    314.62    -1
2   1958    4 1958.292 317.45       317.45    315.29    -1
3   1958    5 1958.375 317.50       317.50    314.71    -1
4   1958    6 1958.458 **-99.99**   *317.10*  314.85    -1

(V5, 4) を (V6, 4) に置き換えたい。

V5 にはいくつかの欠落データがあり、V6 で同じ行に置き換えたいと考えています。

これを達成する方法は?

4

1 に答える 1

2

NAデータを読み込むときに値を指定する方が賢明です。

これを行うには、でna.string 引数read.table()(またはその変形)を指定します。

特定のデータでは、(常に次の列の値に置き換えるように)定義されたスキームがあるかどうかは不明ですが、列の「欠落している」値をV5それぞれの値に置き換えV6て、データが呼び出されると仮定する場合DF

 DF <- within(DF, V5 <- replace(V5, V5 == -99.99, V6[V5== -99.99])

動作します。

-99.99を欠測値(NA)として正しく指定した場合は、

DF <- within(DF, V5 <- replace(V5, is.na(V5), V6[is.na(V5)])
于 2012-09-18T05:07:36.550 に答える