我有一个包含USER_ID和Date的大型数据集。我已经确定每个用户登录的频率,并发现登录一次或两次的人数远远大于定期登录的人数。我认为出于我的网站的目的,这是因为试用用户永远不会成为完整用户。我希望能够找到每个用户的最小和最大日期日期,并使用这些日期来计算用户订阅的持续时间。我可以将持续时间不超过30天的用户与持续时间较长的用户分开
library(lubridate )
library(dplyr)
df = data.frame(dataset)
sdf <- df
df$StartDate <- min(dmy(df$Date)[df$USER_ID == sdf$USER_ID])
range(df$StartDate)
df$EndDate <- max(dmy(df$Date)[df$USER_ID == sdf$USER_ID])
range(df$EndDate)
#df$Span <- as.period(as.Date(df$EndDate) - as.Date(df$StartDate), units = "day")
df$Span <- as.Date(df$EndDate) %--% as.Date(df$StartDate)
range(df$Span)
我无法弄清楚如何告诉R在整个向量中查看向量的每个成员,这就是为什么我试图将它与自身的副本进行比较......
有人能指出我正确的方向吗?