【发布时间】:2021-07-12 08:32:19
【问题描述】:
我有如下数据,并尝试用 R 编写足球预测。
Div Date HomeTeam AwayTeam FTHG FTAG FTR HTHG
Length:2184 Length:2184 Length:2184 Length:2184 Min. :0.000 Min. :0.000 Length:2184 Min. :0.000
Class :character Class :character Class :character Class :character 1st Qu.:1.000 1st Qu.:0.000 Class :character 1st Qu.:0.000
Mode :character Mode :character Mode :character Mode :character Median :1.000 Median :1.000 Mode :character Median :0.000
Mean :1.539 Mean :1.192 Mean :0.668
3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:1.000
Max. :7.000 Max. :7.000 Max. :5.000
FTR 包含 H(ome)、A(way)、D(raw)。所以它是 data.frame 中的字符。
当我在下面使用这段代码时:
glm.fits = glm(FTR ~ .,data=alldata,family=binomial)
我收到此错误:
contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:
对比只能应用于具有 2 个或更多级别的因子
我该如何解决?
编辑:我将 FTR 更改为矢量,仍然无法正常工作
解决方案:我决定将 FTR 从 A、H、D 更改为 A(离开)、NA(不离开)。我想这会解决问题。
【问题讨论】:
-
你有一个多项式问题,所以不应该考虑二项式模型。目前尚不清楚为什么要将结果和位置混合在一个变量中。您的意思是输赢还是平局?
-
@IRTFM 我没有任何意思,我只是想让它工作,我需要 FTR 列的预测。我该怎么做?
-
添加一个最小的可重现示例——使用
dput()收集您正在使用的数据并将其添加到您的帖子中。你会得到帮助的! -
很有可能,您的 Date 值是唯一的,因为它是一个字符,在这种情况下,拟合回归是没有意义的。你能排除日期吗
-
@StupidWolf 是的,我可以,我会努力的!你觉得是这个原因吗?