0

14 列を検索し、文字列が 14 列のいずれかに存在する場合は 1 を返し、14 列のいずれにも存在しない場合は 0 を返すループを使用して、新しい変数を作成しようとしています。次のコードは機能しますが、かなり面倒です。誰かがより効率的な方法を知っていることを願っています。

作業コード:

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

どんな提案でも大歓迎です!ありがとう!

4

0 に答える 0