我试图使用ddply来总结R中的数据帧及其工作情况,除非我添加ifelse来查找字段与值不匹配时的最大日期时间(最后一次(,在大多数情况下它会给出Null。不知道我哪里错了。
"last_act_date" = max(ifelse(name == "$view", time, NA)),
完整代码为
ahoy_unique_users <- ddply(ahoy_events_acc, .(account_id), summarise,
"start_date" = as.Date(min(time)),
"last_date" = as.Date(max(time)),
"last_act_date" = max(ifelse(name == "$view", time, NA))
)
plyr
早已退役,我建议改用dplyr
。一个可重复的例子将有助于理解这个问题。使用dplyr
,您可以尝试:
library(dplyr)
ahoy_events_acc %>%
mutate(time = as.Date(time)) %>%
group_by(account_id) %>%
summarise(start_date = min(time),
last_date = max(time),
last_act_date = max(time[name == "$view"]))
我认为last_act_date = max(time[name == "$view"]))
也应该在您的plyr
代码中工作。