3

をで動作aggregateするように変換する方法を考えています。data.framedata.table

たとえば、次のdata.table呼び出しがあり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) 

を扱っている場合、同等のコマンドは何data.tableですか?

4

1 に答える 1

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
于 2013-04-02T14:34:32.960 に答える