1. ホーム
  2. r

[解決済み] データフレーム列のNAを0に置き換える【重複】について

2022-03-03 02:26:19

質問

<ブロッククオート

重複の可能性があります。
RでNAを0にする

data.frameに、以下のようなカラムがあります。 NA の値です。を置換したい。 NA0 または他の値。私は多くのスレッドやメソッドを試しましたが、それは私に結果を与えることはありませんでした。私は以下の方法を試してみました。

a$x[a$x == NA] <- 0;
a[ , c("x")] <- apply(a[ , c("x")], 1, function(z){replace(z, is.na(z), 0)});
a$x[is.na(a$x), ] <- 0;

上記のいずれの方法でも置き換えられない NA の列が 0 になっています。 x data.frameの場合 a . なぜ?

どのように解決するのか?

今のところ誰も指摘する気にならないので なぜ ということです。

  1. NA == NA を返さない TRUE を返します。 NA (未定義の値との比較は未定義の結果をもたらすはずなので)。
  2. を呼び出そうとしているのですね。 apply をアトミックベクター上で使用します。を使うことはできません。 apply を使用して、列の要素にループをかけることができます。
  3. 添え字がずれています。 a$x これは単なる列 (原子ベクトル) です。

になるように3.を修正します。 a$x[is.na(a$x)] <- 0