我有两个数据帧。数据帧的值替换 - R
一:
>df1 a b c d
W_1 NA NA NA NA
W_2 2 2 2 4
W_3 4 2 2 4
W_4 NA NA NA NA
二:
>df2 a b c d
W_1 TRUE FALSE FALSE FALSE
W_2 FALSE TRUE FALSE TRUE
W_3 TRUE FALSE FALSE TRUE
W_4 FALSE TRUE FALSE TRUE
我要替换第一数据帧与NA,其中在第二个数据帧值FALSE
地方。
输出应该是:
a b c d
W_1 NA NA NA NA
W_2 NA 2 NA 4
W_3 4 NA NA 4
W_4 NA NA NA NA
这是我的代码:
for (i in nrow(df2)) {
for (j in 1:ncol(df2)) {
a = df2[i,j]
if (a == FALSE) {
df1[i,j] = NA
}
}
}
虽然我没有得到任何错误返回,代码也不起作用。第一个数据帧保持不变。任何建议可能是错误的?
感谢您的帮助。
'DF1 [!DF2] < - NA'应该这样做 – Cath
或者像'is.na(df1)< - !df2' – Frank
@quant比较'FALSE ==“FALSE”'和'“FALSE”==“FALSE''。强制节省时间。 – Frank