-1

私はこのようにそれを入れようとします:

私は合計を作っています:

tot <- fac$a[,1]+fac$b[,1]

ここで、a と b は因子で、1 は最初の列です。そして、ここまでは大丈夫です。

ここで、すべての列の合計を計算するために for ループを使用したいと思います。

tot <- 0 
for (i in 5:13) {
tot[,i] <- fac$a[,i]+fac$b[,i] 
}

これは機能していません。

なにか提案を?ありがとう。

4

1 に答える 1

2

私はあなたの問題を推測することしかできません。(エラーメッセージを忘れました。)私見totは、クラスが数値であり、行列がないため、機能していません(また、 index でアクセスできる列も行もありませんi)。

コードを修正するには:tot <- matrix(ncol=ncol(fac$a), nrow=nrow(fac$b))

ところで、この種の計算にはfor ループを使用しないでください。代わりにベクトル化を使用します。

a <- matrix(10, ncol=13, nrow=10)
b <- matrix(20, ncol=13, nrow=10)

tot <- a[, 5:13] + b[, 5:13]
于 2012-07-10T14:40:46.810 に答える