r - 如何在 R 中按组平均时间序列

标签 r time average

我有一个如下所示的数据集:

datetime <- seq.POSIXt(from=as.POSIXct("2017-05-09 11:45:01", tz="GMT"), 
            to=as.POSIXct("2017-05-09 12:45:00", tz="GMT"), by="sec")
group <- rep(1:120, each = 30)
sample.dat <- data.frame(datetime,group)
head(sample.dat)
         datetime      group
 1 2017-05-09 11:45:01     1
 2 2017-05-09 11:45:02     1
 3 2017-05-09 11:45:03     1
 4 2017-05-09 11:45:04     1
 5 2017-05-09 11:45:05     1
 6 2017-05-09 11:45:06     1

我想按组平均时间,例如到一个新的数据框,其中日期时间列作为平均时间,组列作为组编号。所需的输出示例:

       new.datetime        group
 1 2017-05-09 11:45:15         1
 2 2017-05-09 11:45:45         2
 3 2017-05-09 11:46:15         3

我尝试过使用aggregate(),但返回的日期时间列是数字格式,例如:

   group       date
 1     1 1493984723
 2     2 1493984753
 3     3 1493984783
 4     4 1493984813
 5     5 1493984843
 6     6 1493984873

那么如何按组平均所需输出格式的时间?

最佳答案

聚合似乎有效?

aggregate(sample.dat$datetime,FUN=mean,by=list(group))
#       Group.1        x
# 1         1 2017-05-09 14:45:15
# 2         2 2017-05-09 14:45:45
# 3         3 2017-05-09 14:46:15
# 4         4 2017-05-09 14:46:45
# 5         5 2017-05-09 14:47:15
# 6         6 2017-05-09 14:47:45

关于r - 如何在 R 中按组平均时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43901324/

相关文章:

R函数等于excel CHIINV

sql-server-2008 - sql server每日平均

r - Markdown 与knitr 在一次编译中运行两组代码

r - 检测/确保在多核中使用多核

Ruby - 按小时/天操作时间/日期时间?

function - 如何在 Q/kdb 中获取时间范围内的数据?

python - 如何在 python 中找到 csv 文件的一列的平均值?

python - 使用 pandas df 分组计算平均值

r - 如何使用dplyr将函数应用于所有非group_by列?

java - 如何在android中的java代码中添加时间延迟