與矩陣這樣布爾運算符中,如果/ ifelse循環
r<-20;
c<-6;
m1 <- round(matrix(runif(r*c), r, c)))
我想創造被利用,即如果/ ifelse和布爾運算符基於過去三年兩個新列。
我嘗試以下,但沒有成功:
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}
}
我的問題是,如果我可以,如果子句中使用中的& &,但不知何故,這是行不通的。有人能給我一個提示爲什麼或有更好的選擇來?
由於提前, 斯蒂芬
標記語言。 – 2013-03-26 22:21:40
請將相關的語言標籤添加到您的問題。 – 2013-03-26 22:21:58
我的猜測是'm1 [,5]'部分,但需要一種語言才能更好地理解問題。 – 2013-03-26 22:24:40