Я пытаюсь создать новый столбец, основываясь на том, есть ли прямое совпадение символов в 3 столбцах одной строки.Затем я хочу поставить 1 в новом столбце, если есть совпадение, или 0, если нет совпадения.Вот пример данных:
ID var1 var2 var3
1 1 abc def abc
2 2 def xyz jkl
3 3 ghi abc abc
4 4 jkl jkl def
5 4 jkl jkl NA
...
Вот код, который у меня есть:
prodprov$var_match <- 0
for(i in 1:nrow(prodprov)) {
if(prodprov$var1[i] == prodprov$var2[i] |
prodprov$var1[i] == prodprov$var3[i] ) {
prodprov$var_match <- 1
}
}
Но я получаю эту ошибку: Ошибка в if (prodprov $ var1 [i] == prodprov$ var2 [i] |: пропущенное значение, где требуется ИСТИНА / ЛОЖЬ
Конечный фрейм данных должен выглядеть примерно так:
ID var1 var2 var3 var_match
1 1 abc def abc 1
2 2 def xyz jkl 0
3 3 ghi abc abc 0
4 4 jkl jkl def 1
5 4 jkl jkl NA 1
...
Есть идеи, как это исправить? Все этипеременные одного типа данных (символы). Заранее спасибо!