我有两个数据帧。
df1
ID Name
A1 Dave
B2 Bob
C1 Sheila
D1 Tim
df2
ID Focal
A1 0
B1 0
C1 0
D1 0
E1 0
F1 0
如果df1 $ ID中的值与df2 $ ID匹配,我想用1填充“Focal”列。
我尝试用以下方式循环:
for (i in 1:length(df2)){
if (df1$ID[i] == df2$ID[i]){df2$Focal[i] = 1}
else {df2$Focal[i] = 0}
}
但是得到错误说级别因素不同。
答案 0 :(得分:2)
我们可以使用%in%
df2$Focal <- as.integer(df2$ID %in% df1$ID)