-4

私はこれらのコードを実行しようとしていました..

a<-data.frame(1,2,3,4,5,6,7,8,9,10,11,12,13,14)
n<-1
empty <- data.frame(stringsAsFactors=F)
while (n<=5) {
    if (sum((a[,2*n+3]), (a[,2*n+4])) == 13) {
        empty <-data.frame(cbind(empty, 3), n<-n+1
    } else {
        empty <-data.frame(cbind(empty, 2), n<-n+1
    }
}

これらは私が得たものです:

> a<-data.frame(1,2,3,4,5,6,7,8,9,10,11,12,13,14)
> n<-1
> empty <- data.frame(stringsAsFactors=F)
> while (n<=5) {
+     if (sum((a[,2*n+3]), (a[,2*n+4])) == 13) {
+         empty <-data.frame(cbind(empty, 3), n<-n+1
+     } else {
Error: unexpected '}' in:
"        empty <-data.frame(cbind(empty, 3), n<-n+1
    }"
>         empty <-data.frame(cbind(empty, 2), n<-n+1
+     }
Error: unexpected '}' in:
"        empty <-data.frame(cbind(empty, 2), n<-n+1
    }"
> }
Error: unexpected '}' in "}"

「{}」を削除したり、これらの「{}」の有無にかかわらず同じ行にコードを記述したりする多くの組み合わせを試しましたが、どれも機能しません。私のコードの何が問題になっていますか?

4

2 に答える 2

2

括弧のバランスが取れていないようです:

empty <-data.frame(cbind(empty, 3), n<-n+1
于 2013-08-14T23:17:10.167 に答える
2

これは、あなたの望むことですか?

a<-data.frame(1,2,3,4,5,6,7,8,9,10,11,12,13,14)
n<-1
empty <- c()
while (n<=5) {
cat("steps",n,"\n")
    if (sum((a[,((2*n)+3)]), (a[,((2*n)+4)])) == 13) {
cat("true in step",n,"\n")
        empty <-cbind(empty, 3)
        } else {
cat("false in step",n,"\n")
        empty <-cbind(empty, 2)                         
    }
    n<-n+1  # this should be after the if condition
}



  steps 1 
false in step 1 
steps 2 
false in step 2 
steps 3 
false in step 3 
steps 4 
false in step 4 
steps 5 
false in step 5 
> empty
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    2    2    2    2
于 2013-08-14T23:43:47.680 に答える