Выполнение цикла по нескольким столбцам набора данных для создания новой переменной
Я пытаюсь создать новую переменную, используя цикл, который ищет по 14 столбцам и возвращает 1, если строка присутствует в любом из 14 столбцов, и возвращает 0, если ее нет ни в одном из 14 столбцов. Следующий код работает, но довольно утомительно, я надеюсь, что кто-то знает о более эффективном методе.
Рабочий код:
IntellDis <- for (i in 1:2189){
if(New$Diagnosis1[i]=="Intellectual disabilities [6543]" |
New$Diagnosis2[i]=="Intellectual disabilities [6543]" |
...
New$Diagnosis13[i]=="Intellectual disabilities [6543]" |
New$Diagnosis14[i]=="Intellectual disabilities [6543]")
{New$IntellDis[i]=1}
if(New$Diagnosis1[i]!="Intellectual disabilities [6543]" &&
New$Diagnosis2[i]!="Intellectual disabilities [6543]" &&
...
New$Diagnosis13[i]!="Intellectual disabilities [6543]" &&
New$Diagnosis14[i]!="Intellectual disabilities [6543]")
{New$IntellDis[i]=0}
}
Очевидно, это довольно утомительно...
Я думал, что-то вроде этого может работать:
IntellDis <- for (i in 1:2189){
if(New[c(4:17)][i]=="Intellectual disabilities [6543]")
{New$IntellDis[i]=1}
if(New[c(4:17)][i]!="Intellectual disabilities [6543]")
{New$IntellDis[i]=0}
}
Но я получаю следующую ошибку:
Error in `[.data.frame`(New[c(4:17)], i) : undefined columns selected
Любые предложения очень ценятся! Спасибо!