gpt4 book ai didi

r - 按年和月聚合 POSIX 变量

转载 作者:行者123 更新时间:2023-12-02 08:52:11 25 4
gpt4 key购买 nike

我有以下形式的数据集。

        country            datetime       x
1 United States 2008-01-01 00:00:00 5962.06
2 United States 2008-01-02 00:00:00 6002.74
3 United States 2008-01-03 00:00:00 6040.98
4 United States 2008-01-04 00:00:00 6031.44
5 United States 2008-01-05 00:00:00 6029.91
6 United States 2008-01-06 00:00:00 6025.24

对我来说,时间(小时、分钟、秒)和星期几无关紧要,但我想按国家/地区、年份和月份汇总变量“x”的值。有什么直接的方法可以做到这一点吗?

最佳答案

最简单的方法可能是使用 strftime 将您的 datetime 格式化为仅包含年份和月份的字符向量。

假设您的列 datetime 属于 POSIXct 类,并且您的 data.frame 名为 dat:

dat$shortdate <- strftime(dat$datetime, format="%Y/%m")
dat
country datetime x shortdate
1 United States 2008-01-01 5962.06 2008/01
2 United States 2008-01-02 6002.74 2008/01
3 United States 2008-01-03 6040.98 2008/01
4 United States 2008-01-04 6031.44 2008/01
5 United States 2008-01-05 6029.91 2008/01
6 United States 2008-01-06 6025.24 2008/01

然后使用你喜欢的聚合方法来汇总数据是一件简单的事情。例如,使用 plyr:

library(plyr)
ddply(dat, .(shortdate), summarize, mean_x=mean(x))

shortdate mean_x
1 2008/01 6015.395

关于r - 按年和月聚合 POSIX 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778234/

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