我有两个数据框,一个包含数字,第二个是二进制,两个都是相同的大小。如果数据帧B中的相应变量为0而不是1,我现在想用NA
替换数据帧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
答案 0 :(得分:7)
如果你正在处理矩阵,那就像mat1[which(mat2 == 0)] <- NA
一样简单。
答案 1 :(得分:4)
我找到了答案,在阅读了文档后,我认为替换命令仅适用于矢量,但以下是诀窍:
new.df <- replace(A.df, B.df == 0, "NaN")