【发布时间】:2015-01-05 21:41:53
【问题描述】:
我希望得到与使用 data.table 产生的相同的输出,而无需使用 melt 和标记。
DT <- data.table(date=as.IDate(datetime), value=rnorm(10))
DT_melt <- DT[,as.list(summary(value)), by=date]
melt(DT_melt,"date")
结果:
date variable value
1: 2001-01-01 Min. -0.9122
2: 2001-01-02 Min. -1.2220
3: 2001-01-01 1st Qu. 0.3462
4: 2001-01-02 1st Qu. -0.8932
5: 2001-01-01 Median 0.6230
6: 2001-01-02 Median -0.2470
7: 2001-01-01 Mean 0.4189
8: 2001-01-02 Mean -0.3418
9: 2001-01-01 3rd Qu. 0.7913
10: 2001-01-02 3rd Qu. 0.2526
11: 2001-01-01 Max. 1.2460
12: 2001-01-02 Max. 0.4010
我想在不融化的情况下实现这一目标。
到目前为止,我设法通过手动标记它来获得它,如下所示:
labels <- names(summary(1))
DT[,list(labels,value=unclass(summary(value))), by=date]
但是有没有办法在data.table 中使用unclass(summary(value)) 的名称?
类似的东西
DT[,c("labels","value"):=unclass(summary(value)), by=date, use.names = TRUE]
【问题讨论】:
-
这目前似乎无法重现。
datetime是什么?
标签: r data.table variable-assignment