我有一个在它与列名叫做cols
列表:从列表中data.frame命令中指定的列名
cols <- c('Column1','Column2','Column3')
我想重现这一命令,但调用名单:
data.frame(Column1=rnorm(10))
这里发生了什么,当我尝试:
如果我在I()
或eval()
包裹
Error: unexpected '=' in "data.frame(I(cols[1])="
同样的事情发生。
我该如何将该物品从矢量中送入data.frame()
命令?
更新:
对于一些背景下,我已经定义了一个函数calc.means()
采用一个数据帧和的变量的列表,并且执行大而复杂ddply操作中,在由变量指定的级别总结。
我试图用data.frame()
命令做的是走备份聚集级别的极顶,重新运行在每一步calc.means()
使用rbind()
粘上结果到彼此。我需要添加具有“全部”值的虚拟列,以便让绑定正常工作。
我将cast
类似于margin函数转换为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]))
)
是的,这将正常工作,但'data.frame()'发生的'rbind内()'。谢谢,不过。 – 2010-04-28 16:41:32
您可以创建数据框,分配列名,然后将它们全部在一个子句中。 – Shane 2010-04-28 17:57:14
Shane, 这将如何工作?我不确定如何通过单个子句中的过程传递对象。 – 2010-04-29 13:46:42