1

空のデータフレームから始めて、次のようにデータフレームを埋める必要があります。forループは各反復で固定数の値を生成し、そのリストの値を使用して新しい列を追加し、列に一意の名前を付ける必要があります、col_i(ここで、iはループのi番目の反復です)。

これ(一見単純なタスク)はどのように実行できますか?

4

2 に答える 2

5

データフレームを区分的に構築する最も効率的な方法は、パーツを事前に割り当てられたリストに保存し、後でそれらをまとめることです。

例えば:

num.iters <- 10
l <- vector('list', num.iters) 
for (i in 1:num.iters) {
     l[[i]] <- rnorm(3)                       # the column data
     names(l)[i] <- paste('Col', i, sep='.')  # the column name 
} 
do.call(cbind, l)  # ... if your cols are the same datatype and you want a matrix
data.frame(l)      # otherwise
于 2012-06-21T00:49:53.070 に答える
4

何が問題なの?cbindですか?

The functions cbind and rbind are S3 generic, with methods for data frames. 
The data frame method will be used if at least one argument is a data frame 
and the rest are vectors or matrices. 

?colnamesdata.framesにも適用できます

于 2012-06-21T00:33:35.283 に答える