用于汇总多行日期时间的功能

时间:2019-02-11 07:36:04

标签: r

我有一个非常独特的数据集

datetime             | userID
------------------------------
1/1/2019 21:30       | 3
3/3/2018 8:45        | 3
6/12/2018 1:20       | 3
1/3/2018 8:45        | 4
12/12/2018 1:20      | 4
....

我需要按每个用户进行汇总,以计算唯一的时间条目以及最早和最新时间​​之间的小时数

userID | timedif | totalentries
-------------------------------
3          7283       3
4          528        2

我正在尝试使用另一个线程中引用的聚合函数,但是没有运气,因为需要对日期进行排序,并且需要对每一行(自定义函数)计算日期差异。

sessionLength = function(x) {
 x1 =sort(x, decreasing = TRUE)[2]
 x2= sort(x, decreasing = FALSE)[2]
 dd=difftime(x1, x2, units = "hours")
 return (dd)
 } 

Count = function(x) {
  return (nrow(x))
 } 

 aggregate(data, by=list(data$userid), FUN = function(x) c(mn = 
 sessionLength(x), n = Count(x) ) )

但这不起作用:“字符字符串不是标准的明确格式”

0 个答案:

没有答案