cols
列名を含むリストがあります:
cols <- c('Column1','Column2','Column3')
このコマンドを再現したいのですが、リストを呼び出します。
data.frame(Column1=rnorm(10))
試してみると、次のようになります。
> data.frame(cols[1]=rnorm(10))
Error: unexpected '=' in "data.frame(I(cols[1])="
orでラップcols[1]
しても同じことが起こります。I()
eval()
data.frame()
そのアイテムをベクトルからコマンドにフィードするにはどうすればよいですか?
アップデート:
背景としてcalc.means()
、データ フレームと変数のリストを受け取り、大規模で複雑な ddply 操作を実行し、変数によって指定されたレベルで要約する関数を定義しました。
このコマンドで私がやろうとしているのdata.frame()
は、集計レベルを一番上まで戻しcalc.means()
、各ステップで再実行しrbind()
、結果を互いに接着するために使用することです。rbind を適切に機能させるには、「すべて」の値を持つダミー列を追加する必要があります。
cast
基本的に、マージンのような機能を ddply に入れていますが、実行ごとに列名を再入力したくありません。完全なコードは次のとおりです。
cols <- c('Col1','Col2','Col3')
rbind ( calc.means(dat,cols),
data.frame(cols[1]='All', calc.means(dat, cols[2:3])),
data.frame(cols[1]='All', cols[2]='All', calc.means(dat, cols[3]))
)