R:如何从日期时间添加卷

标签 r lubridate cumulative-sum

我有以下数据:

 df <-
Session    Volume                    StartTime                 EndTime
1         27,75          2016-01-22 17:00:33.707  2016-01-27 06:02:54.900
2         10,78          2016-01-22 14:31:22.127  2016-01-23 15:01:20.997
3         15,88          2016-01-27 12:46:18.660  2016-01-27 15:01:23.250
4         46,10          2016-01-25 16:01:34.613  2016-01-25 21:46:35.477
5         94,60          2016-01-27 05:38:06.597  2016-01-27 06:08:06.027
6         15,93          2016-01-20 16:15:59.350  2016-01-21 06:06:43.933

我想添加每天(在开始时间)的数据以接收包含每天所有 session 总音量的数据集,以便我可以随时间绘制音量。例如。 2016 年 1 月 22 日,总共收费 38.53。
以便
dfnew <- 
 Day            TotalVolume
2016-01-22    38.53
2016-01-25    46.10
2016-01-27    110.48
 etc. 

执行此操作的最有效方法是什么?

最佳答案

带数据表

library(data.table)
df[,StartTime := as.POSIXct(StartTime)]
df[,sum(Volume), by = as.Date(df$StartTime)]


      as.Date     V1
1: 2016-01-22  38.53
2: 2016-01-27 110.48
3: 2016-01-25  46.10
4: 2016-01-20  15.93

和 dplyr
library(dplyr)
df %>%
  mutate(StartTime = as.POSIXct(StartTime)) %>%
  group_by(as.Date(StartTime)) %>%
  summarise(sum(Volume))

以下是数据:
df <- as.data.table(read.table(text = "
  Session;    Volume;                    StartTime;                 EndTime
1;         27,75;          2016-01-22 17:00:33.707;  2016-01-27 06:02:54.900
2;         10,78;          2016-01-22 14:31:22.127;  2016-01-23 15:01:20.997
3;         15,88;          2016-01-27 12:46:18.660;  2016-01-27 15:01:23.250
4;         46,10;          2016-01-25 16:01:34.613;  2016-01-25 21:46:35.477
5;         94,60;          2016-01-27 05:38:06.597;  2016-01-27 06:08:06.027
6;         15,93;          2016-01-20 16:15:59.350;  2016-01-21 06:06:43.933",header = T,sep = ";",dec = ","))

关于R:如何从日期时间添加卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49130404/

相关文章:

c++ - 如何计算 C++ 中 double vector 的累积和?

r - 确定 tibble 是否分组

r - Plotly:使用 for 循环添加跟踪时,文本会被覆盖

根据前一个变量的值重命名变量

regex - 从字符串和文本数据中提取年份

sql - 用替代方案替换 SQL Cursor 以提高性能

sql - 当前行的累计值 + 前一行的总和

r - 解释来自 "condition has length > 1"函数的 `if` 警告

r - 如何每月汇总每日数据,使用 dplyr 和 lubridate,只有每月少于 10 天是 NA?

r - 填充不规则结束和开始时间戳之间的间隙