BradleyTerry2包在模型结果中缺少一名玩家

BradleyTerry2包在模型结果中缺少一名玩家,r,R,我有23名“球员”的数据。他们中的一些人(但不是所有可能的一对)进行了一次或多次比赛。我拥有的数据集(见下面的dput)包括一名玩家对另一名玩家的胜负次数。我用它来适应使用BradleyTerry2软件包的BT型号。我遇到的问题是,该模型给了我22名球员的系数,而不是23名球员的系数。有人能帮我找出问题出在哪里吗 下面是我的数据(head)的dput 我正在使用的代码: BTm(cbind(win1,win2), player1, player2, data= prep) 我也试过了 BTm

我有23名“球员”的数据。他们中的一些人(但不是所有可能的一对)进行了一次或多次比赛。我拥有的数据集(见下面的dput)包括一名玩家对另一名玩家的胜负次数。我用它来适应使用BradleyTerry2软件包的BT型号。我遇到的问题是,该模型给了我22名球员的系数,而不是23名球员的系数。有人能帮我找出问题出在哪里吗

下面是我的数据(head)的dput

我正在使用的代码:

BTm(cbind(win1,win2), player1, player2, data= prep) 
我也试过了

BTm(cbind(win1,win2), player1, player2, ~player, id="player", data= prep)
它给了我相同的结果(即,同一个玩家失踪,其余的22个系数相同)

如果相关,我使用下面的代码创建了“prep”

prep<-countsToBinomial(table(ju$winner, ju$loser))

在这种情况下,p1和p2与列winner和losser相同,但经过转换以具有相同的级别因子(以便函数可以工作)。我不确定我是否正确使用了这个替代方案,我之所以提到它,是因为在这种情况下,我还缺少了一个播放器(尽管是另一个)。

在更仔细地阅读了软件包的文档后,我发现在评估模型时,函数会删除一个脚本/播放器/参赛者作为参考。其值始终为0。所以我的理解是,如果你想做任何进一步的分析,你必须找到哪个玩家被移除了,并在数据框中重新引入它,其能力值为0

prep<-countsToBinomial(table(ju$winner, ju$loser))
BTm(1, p1, p2, data=ju)