- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用R软体统计大联盟生涯上垒率排行.PDF
用 R 軟體統計大聯盟生涯上壘率排行
4
R 最好用的套件之一為 Hadley Wickham 所創建的 plyr 套件,它的
使用正好符合資料操作中 拆開-套用-整合 的程序。該套件的核心函數包括
ddply、llply 和 ldply。
其中ddply 所用的輸入資料為 data.frame,它會將該資料根據某些變數做
分群,然後對這些分群進行各種運算,最後再以 data.frame 形式回傳結果。為
了學習 ddply 的操作,我們使用 plyr 套件裡的棒球 (baseball) 資料。
require (plyr)
head (baseball)
id year stint team lg g ab r h X2b X3b hr rbi sb cs bb
4 ansonca01 1871 1 RC1 25 120 29 39 11 3 0 16 6 2 2
44 forceda01 1871 1 WS3 32 162 45 45 9 4 0 29 8 0 4
68 mathebo01 1871 1 FW1 19 89 15 24 3 1 0 10 2 1 2
99 startjo01 1871 1 NY2 33 161 35 58 5 1 1 34 4 2 3
102 suttoez01 1871 1 CL1 29 128 35 45 3 7 3 23 3 1 1
106 whitede01 1871 1 CL1 29 146 40 47 6 5 1 21 2 2 4
so ibb hbp sh sf gidp
4 1 NA NA NA NA NA
44 0 NA NA NA NA NA
68 0 NA NA NA NA NA
99 0 NA NA NA NA NA
102 0 NA NA NA NA NA
106 1 NA NA NA NA NA
棒球最常見的統計數據為上壘率(On Base Percentage, OBP),其公式為:
(公式 11.1)
群組操作 11
上述公式中各個英文縮寫所代表的意義如下:
H = 安打(Hits)
BB = 保送(Bases on Balls 或 Walks)
HBP = 觸身球(Times Hit by Pitch)
AB =打數(At Bats)
SF = 高飛犧牲打(Sacrifice Flies)
在 1954 年之前,高飛犧牲打被視為是犧牲觸擊(Sacrifice Hits)的一部
份,犧牲觸擊也包括短打(bunts)。因此,在 1954 年之前,選手的高飛犧牲打
應該被設為 0,這將是我們對資料做出的第一個改變。HBP(觸身球)的資料裡
存在著許多 NA 值,我們也將把它們設為 0。另外,我們也將排除掉在一季裡
AB(打數)少於 50 的選手。
# 用 [來抽取資料比用 ifelse 來得快
baseball$sf[baseball$year 1954] - 0
# 檢查是否已經成功
any is.na
( (baseball$sf))
[1] FALSE
# 把 HBP 的 NA 值設為 0
baseball$hbp[is.na (baseball$hbp)] - 0
# 檢查是否成功
any is.na
( (b
文档评论(0)