我正在运行一个ddply
函数并不断收到错误。
data.frame 的结构:
str(visits.by.user)
'data.frame': 80317 obs. of 5 variables:
$ ClientID : Factor w/ 147792 levels "50912733","50098716",..: 1 3 4 5 6 7 8 10 11 12 ...
$ TotalVisits : int 64 231 18 21 416 290 3 13 1 7 ...
$ TotalDayVisits: int 8 141 0 4 240 155 0 0 0 0 ...
$ TotalNightVisits: int 56 90 18 17 176 135 3 13 1 7 ...
$ quintile : Factor w/ 5 levels "0-20","20-40",..: 5 5 4 4 5 5 2 4 1 3 ...
旁注: 我知道如何为随机数字数据创建样本数据 - 您如何应用具有 5 个级别的因子来构建具有代表性的样本?
ddply 代码:
summary.users <- ddply(data = subset(visits.by.user, TotalVisits > 0),
.(quintile, TotalDayVisits, TotalNightVisits),
summarize,
NumClients = length(ClientID))
错误信息:
Error in if (empty(.data)) return(.data) :
missing value where TRUE/FALSE needed
我认为这可能ddply
需要我尝试分组的变量作为一个因素,所以我尝试了as.factor
整数变量,但没有奏效。
谁能看到我哪里出错了?
编辑:添加顶部dput
structure(list(ClientID = structure(c(1L, 2L, 3L, 4L, 5L, 6L), .Label = c("50912733", "60098716", "50087112", "94752212", "78217771", "12884545"), class = "factor"),TotalVisits = c(80L, 92L, 103L, 18L, 182L, 136L), TotalDayVisits = c(56L, 90L, 18L, 17L, 176L, 135L), TotalNightVisits = c(24L, 2L, 85L, 1L, 6L, 1L), quintile = structure(c(5L, 5L, 4L, 4L, 5L, 5L), .Label = c("0-20", "20-40", "40-60", "60-80", "80-100"), class = "factor")), .Names = c("ClientID", "TotalVisits", "TotalDayVisits", "TotalNightVisits", "quintile"), row.names = c(NA,6L), class = "data.frame")