pandas .resample()方法的R等效项是什么?
问题内容:
这是我找到的最接近的链接:https :
//stats.stackexchange.com/questions/5305/how-to-re-sample-an-xts-time-series-
in-r
但是我看不到可以在熊猫中进行数据聚合的不同方式(例如均值,计数,匿名函数)。
对于我的程序,我试图让数据帧每2分钟重新采样一次,并在每个时间间隔取2个值的平均值。谢谢!
问题答案:
如果使用data.table
,lubridate
它可能看起来像这样
library(data.table)
library(lubridate)
#sample data
dt<-data.table(ts=seq(from=ymd('2015-01-01'), to=ymd('2015-07-01'),by='mins'), datum=runif(260641,0,100))
如果您想从分钟到每小时获取数据,则可以
dt[,mean(datum),by=floor_date(ts,"hour")]
如果您有一堆列,并且希望将所有列平均化,则可以执行
dt[,lapply(.SD,mean),by=floor_date(ts,"hour")]
您可以替换mean
任何所需的功能。您可以将“小时”替换为“秒”,“分钟”,“小时”,“日”,“周”,“月”,“年”。好吧,您不能从几分钟到几秒钟,因为那需要魔术,但是无论如何您都可以从微秒到几秒。
不可能将序列从较低的周期性转换为较高的周期性-例如,每周一次,每天一次或每天一次到5分钟小节,因为这需要魔术。
-xts手册的Jeffrey Ryan。
我从没学过xts,所以我不知道用xts对象做语法,但是那行很出名(或者至少和手册中的那行一样出名)