我想知道如何转换aggregate
上的data.frame
来处理data.table
。
例如,我有一个名为data.table
的{{1}}:
mydt
我希望按Date , Time , Value
1899-01-01 , 4:00:00 , 1
1899-01-01 , 4:01:00 , 2
1899-01-01 , 4:02:00 , 3
1899-01-01 , 4:03:00 , 4
1899-01-01 , 4:04:00 , 5
1900-08-22 , 22:00:00 , 101
1900-08-22 , 22:01:00 , 102
2013-08-29 , 4:00:00 , 1000
2013-02-29 , 4:02:00 , 1001
2013-02-29 , 4:03:00 , 1002
分组,以下列格式制作Date
:
data.table
如果我正在处理Date , Vector(variable length)
1899-02-28, c(1,2,3,4,5)
1900-08-22, c(101,102)
1900-08-22, c(1000,1001,1002)
,那么正确的命令将是:
data.frame
如果我正在处理temp <- aggregate(Value ~ Date, mydt, as.vector)
?
答案 0 :(得分:5)
按Date
分组并使用list(Value)
中的list
将结果作为列表。
dt[, list(Value=list(Value)), by=Date]
# Date Value
# 1: 1899-01-01 1,2,3,4,5
# 2: 1900-08-22 101,102
# 3: 2013-08-29 1000
# 4: 2013-02-29 1001,1002