gpt4 book ai didi

r - 在R中,如何将data.frame的聚合转换为data.table的聚合?

转载 作者:行者123 更新时间:2023-12-03 02:48:44 25 4
gpt4 key购买 nike

我想知道如何将data.frame上的aggregate转换为在data.table上工作。

例如,我有一个名为 mydtdata.table:

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

我想按日期分组以生成以下格式的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,等效命令是什么?

最佳答案

日期分组并在列表中使用list(Value)以列表形式获取结果。

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

关于r - 在R中,如何将data.frame的聚合转换为data.table的聚合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com