2

2 つのデータ フレームがあり、1 つには数値が含まれ、2 つ目はバイナリで、どちらも同じサイズです。NAデータ フレーム B の対応する変数が 1 ではなく 0 の場合、データ フレーム A のすべての数値を置き換えたいと思います。1 の場合、数値は変更されません。どうすればいいですか?

df A

   A  B  C
1  34 32 12
2  52 23 34

df B

   A  B  C
1  1  1  1
2  0  0  1

望ましい結果

   A  B  C
1  34 32 12
2  na na 34
4

2 に答える 2

8

行列を扱っている場合は、 と同じくらい簡単mat1[which(mat2 == 0)] <- NAです。

于 2012-10-22T14:26:05.493 に答える
4

ドキュメントを読んだ後、replaceコマンドはベクターに対してのみ機能すると思いましたが、次の方法でうまくいきます。

new.df <- replace(A.df, B.df == 0, "NaN")
于 2012-10-22T14:26:54.277 に答える