Почему я вижу "Error: length(rows) == 1 is not TRUE" с ddply?
у меня есть фрейм данных, скажем, payroll, например:
payroll <- read.table(text="
AgencyName Rate PayBasis Status NumRate
HousingAuthority ,843.00 Annual Full-Time 26843.00
HousingAuthority ,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority ,843.00 Annual Full-Time 26843.00
HousingAuthority ,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority .50 Hourly Part-Time 13.50
HousingAuthority ,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority ,843.00 Annual Full-Time 26843.00", header = TRUE)
"NumRate" на самом деле числовое:
payroll$NumRate <- as.numeric(payroll$NumRate)
и я хотел бы узнать макс, мин и средние зарплаты PayBasis. Я ожидаю, что это сработает:
ddply(payroll, "PayBasis", summarize)
но вместо этого я получаю сообщение об ошибке: Error: length(rows) == 1 is not TRUE
что я пропустила?
1 ответов
вероятно, потому что вы ошиблись summarize
на summary
(который не будет работать, как вы ожидаете в этом контексте). Вы, наверное, хотели:
ddply(payroll, "PayBasis", summarize,mx = max(NumRate),mn = min(NumRate),avg = mean(NumRate))
PayBasis mx mn avg
1 Annual 26843.0 26843.0 26843.0
2 Hourly 13.5 13.5 13.5
3 ProratedAnnual 14970.0 14970.0 14970.0
и обязательно посмотрите более внимательно на примеры в ?summarize
и ?ddply
.