集計機能
足し上げは、countsum
回数は、tabulate
countsum(x, group,reorder=TRUE,...)
> rowsum(batting.2008[,c("AB","H","BB","2B")], batting.2008$teamID)
AB H BB X2B ARI 5409 1355 587 318 ATL 5604 1514 618 316 BAL 5559 1486 533 322 BOS 5596 1565 646 353 CHA 5553 1458 540 296 tabulate
単純に0から最大回数まで分布数を見られる。
> HR.cnts <- tabulate(batting.2008$HR) > names(HR.cnts) <- 0:(length(HR.cnts)-1) > HR.cnts 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 92 63 45 20 15 26 23 21 22 15 15 18 12 10 12 4 9 3 3 13 9 7 10 4 8 2 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 5 2 4 0 1 6 6 3 1 2 4 1 0 0 0 0 0 0 0 0 0 1
47本もHRを売ったやつがひとりいると思ったけど、tabulateは 0 をカウントしない。
なので、これは間違い。1ずれてる。
単純にtableを使うのがよさげ。
table(batting.2008$HR) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 867 92 63 45 20 15 26 23 21 22 15 15 18 12 10 12 4 9 3 3 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 48 13 9 7 10 4 8 2 5 2 4 1 6 6 3 1 2 4 1 1 xtabsを使うとフォーミュラ型も使える。
xtabs(~bats+lgID,batting.2008) lgID bats AL NL B 51 67 L 186 215 R 404 461 tableはファクターにしか使えないので、数字を扱う場合にはcutする。
|
R関連 >