繁体   English   中英

BradleyTerry2 package 在 model 结果中缺少一名球员

[英]BradleyTerry2 package missing one player in model results

我有 23 名“球员”的数据。 他们中的一些人(但不是每对可能的对子)一次或多次交手。 我拥有的数据集(见下面的 dput)包括一个玩家赢和输给另一个玩家的次数。 我使用 BradleyTerry2 package 来安装 BT model。 我遇到的问题是 model 给了我 22 名玩家而不是 23 名玩家的系数。谁能帮我找出问题所在,好吗?

以下是我的数据(头)的输入

structure(list(player1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("a12TTT.pdf", 
"a15.pdf", "a17.pdf", "a18.pdf", "a21.pdf", "a2TTT.pdf", "a5.pdf", 
"B11.pdf", "B12.pdf", "B13.pdf", "B22.pdf", "B24.pdf", "B4.pdf", 
"B7.pdf", "B8.pdf", "cw10-1.pdf", "cw15-1TTT.pdf", "cw17-1.pdf", 
"cw18.pdf", "cw3.pdf", "cw4.pdf", "cw7_1TTT.pdf", "cw13-1.pdf"
), class = "factor"), player2 = structure(c(4L, 5L, 8L, 9L, 10L, 
12L), .Label = c("a12TTT.pdf", "a15.pdf", "a17.pdf", "a18.pdf", 
"a21.pdf", "a2TTT.pdf", "a5.pdf", "B11.pdf", "B12.pdf", "B13.pdf", 
"B22.pdf", "B24.pdf", "B4.pdf", "B7.pdf", "B8.pdf", "cw10-1.pdf", 
"cw15-1TTT.pdf", "cw17-1.pdf", "cw18.pdf", "cw3.pdf", "cw4.pdf", 
"cw7_1TTT.pdf", "cw13-1.pdf"), class = "factor"), win1 = c(0, 
1, 1, 1, 2, 0), win2 = c(1, 1, 0, 1, 0, 2)), row.names = c(NA, 
6L), class = "data.frame")

我正在使用的代码:

BTm(cbind(win1,win2), player1, player2, data= prep) 

我也试过

BTm(cbind(win1,win2), player1, player2, ~player, id="player", data= prep)

它给了我相同的结果(即缺少相同的播放器,并且 rest 的 22 个系数相同)。

如果这是相关的,我使用下面的代码创建了“准备”。

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

ju$winner 和 ju$loser 是两列,其中行是个人游戏,获胜者在第一列。 我还尝试了以下代码来适应 model:

BTm(1, p1, p2, data=ju)

在这种情况下,p1 和 p2 与获胜者和失败者列相同,但经过转换以具有相同的水平因子(以便 function 可以工作)。 我不确定我是否正确使用了这种替代方法,我之所以提到它,是因为在这种情况下,我还缺少一名球员(尽管是另一名球员)。

在仔细阅读了 package 的文档后,我发现在估算 model 时,function 删除了一个脚本/播放器/参赛者作为参考。 它的值始终为 0。所以我的理解是,如果要进行任何进一步的分析,则必须找到删除了哪个玩家,然后将其重新引入数据框中,其能力值为 0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM