5

同僚と私が理解できない比較的単純な質問があります。特定の列範囲内のデータセットのすべての行に貼り付けたい値のベクトルがあります。

行ごとに値を割り当てると、次のコードが機能します。

data[1, 1:10] <- myvector
data[2, 1:10] <- myvector

行の総数に対して値を代入しようとすると、同じコードが正しく機能しません。

data[1:nrows(data), 1:10] <-myvector

ベクトルの値は、水平方向ではなく垂直方向に埋められているようです。私たちが思いついた最善の回避策は回避策ですが、データに 20,000 行あることを考えると理想的ではありません。

for (i in 1:nrow(data)){
     data[i, 1:10] <-myvector
}

何が間違っているかについて簡単な説明が必要です。助けてください!

4

1 に答える 1

9

あなたが観察したように、そのような行列にベクトルを割り当てると、それらが垂直に埋められます。ただし、適切なベクトルを割り当てることでこれを回避できます。

 data[, 1:10] = rep(myvector, each=NROW(data))
于 2012-07-11T00:55:03.830 に答える