8

次のような給与計算などのデータフレームがあります。

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

ここで何が欠けていますか?

4

3 に答える 3

4

おそらく、あなたが間違っている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

于 2013-06-11T21:11:46.757 に答える
0

正しいコマンドを使用していることを確認するには、dplyr::summarize. ご想像のとおり、「要約」コマンドを使用するライブラリはたくさんあります。

于 2021-08-20T21:21:13.373 に答える