我正在为足球投注预测找出这个R代码。下面的代码有效,但我希望代码计算home_wins,draws,away_wins而不是仅仅计分线
我有三个问题-
1)在执行rpois()
nsim次之后,抽签似乎无法获得away_win的记录
2)我不能选择三个结果中的哪个更高
3)因此,我无法将其附加到灯具的原始表中
问题1:
我尝试放置三个变量home_win = character(length(nsim))
away_win,平局。
我已尝试根据home_win[i] = sum(h_scored>a_scored)
away_win[i] = sum(h_scored < a_scored)
和draw[i] = sum(h_scored == a_scored
)对结果进行计数,并调用paste0()
问题2:
要选择最高频率的结果和away_win | home_win | draw
之间的值,我已经尝试过pmax
,这种方法通常有效,但不能
问题3:我认为如果我解决了以上两个问题,应该可以解决问题。
nsim = 100
get_score <- function (home, away, nsim){
score_line = character(length(nsim))
for (i in 1:nsim){
h_scored = rpois(1, ave_h_s)
a_scored = rpois(1, ave_a_s)
score_line[i] = paste0(h_scored, '-', a_scored)
}
return (list(names(which.max(table(score_line))), max(table(score_line))))
}
round_1 <- head(fixtures,10)
matches <- mapply(get_score, round_1$HOME.TEAM, round_1$AWAY.TEAM, nsim, SIMPLIFY = FALSE)
round_1$outcome <- sapply(matches, function(x) x[1])
round_1$prob <- sapply(matches, function(x) x[2])
我希望round_1表可以追加
“结果”列,其中每场比赛都有主场赢/客胜/平局
“频率”列