【发布时间】:2012-09-13 01:49:00
【问题描述】:
当 cast (dcast) 分配新的列标题时,是否可以更改默认分隔符?
我正在将文件从长文件转换为宽文件,我得到以下标题:
value_1, value_2, value_3,...
在 reshape 中,您可以分配“sep”参数 (sep="") 和列标题输出,就像我希望的那样:
value1, value2, value3,...
但是,对于超过 200,000 行的数据框,reshape 需要几分钟,而 dcast 需要几秒钟。 dcast 还按我想要的顺序输出列,而 reshape 没有。有什么简单的方法可以用 dcast 更改输出,还是我需要手动更改列标题?
例如:
example <- data.frame(id=rep(c(1,2,3,4),4),index=c(rep(1,4),rep(2,4),rep(1,4),rep(2,4)),variable=c(rep("resp",8),rep("conc",8)),value=rnorm(16,5,1))
dcast(example,id~variable+index)
该示例给出了列标题:
conc_1, conc_2, resp_1, resp_2
我希望阅读列标题:
conc1, conc2, resp1, resp2
我试过了:
dcast(example,id~variable+index,sep="")
dcast 似乎完全忽略了 sep,因为给出一个符号也不会改变输出。
【问题讨论】:
-
请附上一个可重现的例子。
-
@mplourde 我添加了一个例子。