このようなマトリックスで
r<-20;
c<-6;
m1 <- round(matrix(runif(r*c), r, c)))
つまり、if / ifelse演算子とboolean演算子を使用して、最後の3つに基づく2つの新しい列を作成したいと思います。
私は次のことを試みましたが、成功しませんでした:
for (i in 1:dim(m1)[1]){
if(sum(m1[i,4:6]==0)) {m1$Code1[i]<-0;m1$Code2[i]<-0}
else if(sum(m1[i,4:6]==3)) {m1$Code1[i]<-5;m1$Code2[i]<-5}
else if(m1[i,4]==0 && m1[,5]==1) {m1$Code1[i]<-3}
else if(m1[i,4]==0 && m1[,6]==1) {m1$Code2[i]<-3}
else if(m1[i,4]==1 && m1[,5]==0) {m1$Code1[i]<-2}
else if(m1[i,4]==1 && m1[,6]==0) {m1$Code2[i]<-2}
else if(m1[i,4]==1 && m1[,5]==1) {m1$Code1[i]<-4}
else if(m1[i,4]==1 && m1[,6]==1) {m1$Code2[i]<-4}
}
私の問題は、if句で&&を使用できるかどうかですが、どういうわけかこれは機能していません。誰かが私に理由のヒントを与えることができますか、それともより良いオプションがありますか?
よろしくお願いします、ステフ