R语言计算棒球wOBA指标时出现unexpected input错误求助
问题解决:mutate计算wOBA时的unexpected input错误
错误原因很明确:你代码里分母部分的BB – IBB用的是中文长破折号(–),R无法识别这种非标准符号,必须换成英文减号(-)。
另外要注意,mutate是dplyr包里的函数,建议显式加载dplyr或者用命名空间调用,避免环境冲突。
修正后的代码如下:
library(baseballr) library(dplyr) output <- bref_daily_batter("2015-05-10", "2015-05-30") output <- mutate(output, wOBA = (0.687*uBB + 0.718*HBP + 0.881*X1B + 1.256*X2B + 1.594*X3B + 2.065*HR) / (AB + BB - IBB + SF + HBP))
或者用命名空间调用mutate,防止函数冲突:
library(baseballr) output <- bref_daily_batter("2015-05-10", "2015-05-30") output <- dplyr::mutate(output, wOBA = (0.687*uBB + 0.718*HBP + 0.881*X1B + 1.256*X2B + 1.594*X3B + 2.065*HR) / (AB + BB - IBB + SF + HBP))
这样就能正常计算wOBA列了。
内容的提问来源于stack exchange,提问作者Trevor White
相关产品推荐
相关产品推荐

