我曾希望使用 ddply 的 mode 函数按时间段查找某个用户最常见的字符串。
这与this question和this question有很大关系。
使用与此类似的数据集:
Data <- data.frame(
groupname = as.factor(sample(c("red", "green", "blue"), 100, replace = TRUE)),
timeblock = sample(1:10, 100, replace = TRUE),
someuser = sample(c("bob", "sally", "sue"), 100, replace = TRUE))
我试过:
groupnameagg<- ddply(Data, .(timeblock, groupname, someuser), summarise, groupmode = mode(groupname))
但这并没有达到我的预期。它返回:
> head(groupnameagg$groupname)
[1] "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
- 如何按时间块按用户查找最常出现的组名?结果类似于:
timeblock username mostcommongroupforuser
1 bob red
1 sally red
1 sue green
2 bob green
2 sally blue
2 sue red
- 如果 groupname 按级别组织,我如何获得每个时间块中的最高级别?