2

我有两个数据框,一个包含数字,第二个是二进制,两者大小相同。我现在想用NA数据框 B 中的相应变量是否为 0 而不是 1 来替换数据框 A 中的所有数字。如果为 1,则数字应保持不变。我该怎么做?

自由度

   A  B  C
1  34 32 12
2  52 23 34

自由度乙

   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 回答