我有一个数据框,比如工资单,例如:
payroll <- read.table(text="
AgencyName Rate PayBasis Status NumRate
HousingAuthority $26,843.00 Annual Full-Time 26843.00
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority $26,843.00 Annual Full-Time 26843.00
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority $13.50 Hourly Part-Time 13.50
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00
HousingAuthority $26,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
我在这里缺少什么?
可能是因为你误会了summarize
for 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
and ?ddply
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)