R 计算每个会话id的总出现次数以及每个会话id的开始和结束时间

R 计算每个会话id的总出现次数以及每个会话id的开始和结束时间,r,count,R,Count,假设我有一个数据帧 > str(data) 'data.frame': 2538 obs. of 5 variables: $ X : int 1 2 3 4 5 6 7 8 9 10 ... $ SessionID: int 13307 21076 27813 8398 23118 12256 28799 11457 7542 19261 ... $ Timestamp: POSIXct, format: "2014-04-06 18:42:05" "201

假设我有一个数据帧

> str(data)
'data.frame':   2538 obs. of  5 variables:
 $ X        : int  1 2 3 4 5 6 7 8 9 10 ...
 $ SessionID: int  13307 21076 27813 8398 23118 12256 28799 11457 7542 19261 ...
 $ Timestamp: POSIXct, format: "2014-04-06 18:42:05" "2014-04-03 15:27:48" "2014-04-04 09:10:14" "2014-04-03 23:39:20" ...
 $ ItemID   : int  214684513 214718203 214716928 214826900 214838180 214717318 214821307 214537967 214835775 214706432 ...
 $ Price    : int  0 0 0 0 0 0 0 0 0 0 ...
我想计算每个SessionID的总发生率,每个session的开始和结束时间意味着我想要这样的输出

> data
    session id     timestamp           price       
      1         2014-04-0618:42:05.822     0     
      1         2014-04-0618:42:06.800     1
      1         2014-04-0618:42:06.820     0
      2         2014-04-0315:27:48.118     0
      2         2014-04-0315:27:49.440     0

>  result   
session id   session start and end time                        num of occurrence   
 1           2014-04-0618:42:05.822, 2014-04-0618:42:06.820       3
 2           2014-04-0315:27:48.118, 2014-04-0315:27:49.440       2
data.table方法:

library(data.table)
setDT(data)

data[ , .(session_start = min(Timestamp), 
          session_end   = max(Timestamp), 
          num_occurance = .N), by=Session_ID]

先生,如果我想计算特定会话id的发生次数,而不是0或1,请参阅问题中的“计算会话id和会话id 2的总发生次数”,其中1重复3次,2重复2次我很困惑。您似乎希望结果包含3项内容:(1)每个会话ID的行数,(2)会话的开始时间,以及(3)会话的结束时间。我们可以在没有“价格”变量的情况下完成这三件事。事实上,我提供的代码就是这样做的。我错过什么了吗?我不明白你评论中的“不是0或1”部分。