如果您查看balloon-reference.com并单击团队和击球,您会看到它们具有将表格转换为CSV的选项,但是当URL无法使用时如何获取它们 read.csv()
我正在尝试从ballal-reference.com的rvest
特定团队导入打包数据。我只想包括守场员,省略投手,重复的列名以及网站从数据生成的团队总数。如果我可以只使用CSV,就不会有这个问题,而html_table()
只是从网站上获取原始表,而删除带有值的列只会弄乱数据。
library(rvest)
#Goals
#Remove unwanted rows
#Remove pitcher batting stats
#San Fransisco Giants
giantsBatting <- read_html('https://www.baseball-
reference.com/teams/SFG/2019-batting.shtml#team_batting::none')
giantsCSV <- giantsBatting%>%
html_nodes('table')%>%
html_table()
giantsDF<-as.data.frame(giantsCSV)
giantsDF<-giantsDF[!(giantsDF$Pos=='P'& giantsDF$Pos=='Pos'),]
print(giantsDF)
我希望输出具有一组列名(表在第9-10行上具有三组,以后是投手),并删除投手和总球队统计。
实际输出不会忽略所有投手,也不会删除多余的列名标题。
问题在于,逻辑使用来在同一行中查找“ P”和“ Pos” &
。它FALSE
通过否定(!
)给出all的输出,将其转换为all TRUE
,因此返回完整的数据集。
相反,对于值length
大于1的向量,请使用%in%
然后取反(!
)
giantsDF1 <- giantsDF[!giantsDF$Pos %in% c("P", "Pos") ,]
nrow(giantsDF1)
#[1] 36
nrow(giantsDF)
#[1] 71
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句