2016-06-17 9 views
2

私は2つのデータフレームを持っています。if else loop - 別のデータフレームの一致する列に基づいて列の値を入力します

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を入力します。

私はそれをループしてみた:

for (i in 1:length(df2)){ 
    if (df1$ID[i] == df2$ID[i]){df2$Focal[i] = 1} 
    else {df2$Focal[i] = 0} 
} 

が、エラーが要因のレベルセットが異なっていると言ってます。

答えて

2

我々は使用することができます%in%

df2$Focal <- as.integer(df2$ID %in% df1$ID) 
関連する問題