问题标签 [bradleyterry2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
840 浏览

r - 已更新数据:Diff 中的错误...必须是具有相同水平的因素

我希望你们都可以帮助我。

我有一个包含两个数据框的列表 -contestsexpvar. 数据框中contests,每一行都是一场比赛,第一列是比赛的获胜者,第二列是比赛的失败者。在数据框中expvar,我有特定于玩家的预测变量。这些都是数字。我正在尝试使用 BradleyTerry2 包来分析我的数据。这是我正在使用的代码:

这是我得到的错误:

我的问题是,我做错了什么?我已经尝试了很多东西,但我不确定这个错误是什么意思。我应该将变量更改为因子吗?为什么/如何?赢家和输家都有相同类别的预测变量。

这是我的输出dput(a)

这是为了dput(b)

谢谢

0 投票
1 回答
974 浏览

r - R模型拟合例程无法在函数中运行

我正在使用 Firth 和 Turner 的BradleyTerry2包进行配对比较,但在使用主要拟合函数BTm 时遇到了一个神秘问题。这是他们自己的示例中的最小数据设置:

因此,在控制台上,以下工作:

但以下不起作用

虽然这个(统计上荒谬但)结构相似的线性模型示例确实有效,正如我所期望的那样:

f1 的错误是“eval 中的错误(substitute(expr), data, enclos = parent.frame()):invalid 'envir' argument”。但这并没有告诉我任何我能理解的东西。

想法?

0 投票
1 回答
332 浏览

r - 计算 BradleyTerry 能力排名

我正在尝试使用 R 中的 BradleyTerry2 包从 Bradley Terry 模型输出能力估计值。我不断收到一个非常神秘的错误。他们文档中的一些示例和其他示例返回了我使用数据时遇到的相同错误。此代码使用文档中的示例分析之一。因此,如果您加载库,“变色龙”数据应该已经存在

我得到的错误是

有人知道怎么做吗?

0 投票
1 回答
65 浏览

r - BradleyTerry2 包中的预测变量问题

我正在尝试使用 R.3.3.1 中的 BradleyTerry2 包在我的数据分析中包含特定于比赛的变量(我还尝试使用 R.2.11.1 与旧版本的 BradleyTerry2 进行比较)。我面临的问题是我的预测变量没有得到适当的考虑。下面的示例向您展示了我的问题,使用 CEMS 数据来说明我的观点。

使用此模型,我们得到 AIC = 5837.4,交互作用估计为 LAT[..] * WOR[student] = 0.85771

现在,如果我在列表顶部添加一所新学校(图卢兹,LAT = 1)

我希望从分析中得到相同的结果,因为新学校没有出现在数据集中。但我实际上得到 AIC = 5855.8,一个交互 LAT[..] * WOR[student] = 0.13199

使用数据,看起来我的预测变量的名称(这里是学校的名称)没有得到适当的考虑,并且与我的比较数据(这里是欧洲学生的成对比较)相匹配。相反,重要的是他们的顺序。

我做错了什么?

0 投票
0 回答
106 浏览

r - r 中成对偏好数据的 Bradley Terry 模型

背景 在我的论文中,我进行了一个成对的自助餐厅实验,将成对的水果呈现给鸟类,并记录他们选择的水果。从研究中,我发现分析这些数据的合适模型是 Bradley Terry 模型。我不是统计学家,对 R 相对较新,所以任何帮助都将不胜感激

使用包 BradleyTerry2 的问题

我的数据框看起来像这样,其中fruit1 和 Fruit2 代表玩家 1 和 2,以及 player1 vsplayer 2 的相应胜负频率

关注https://cran.r-project.org/web/packages/BradleyTerry2/vignettes/BradleyTerry.pdf

我正在使用代码

这会产生一个错误

尝试其他方法也会产生相同的错误

返回 [真]

0 投票
1 回答
305 浏览

r - R 库(BradleyTerry2)。Diff中的错误(player1,player2 ...必须是具有相同级别的因素

我在 R 中使用 BradleyTerry2 包时遇到问题。我的数据如下所示。我从另一个代码创建了数据,我认为格式与 BradleyTerry 示例中的“citations.sf”相同(https://cran.r-project.org/web/packages/BradleyTerry2/vignettes/BradleyTerry.pdf

但是,当我运行时speedModel <- BTm(cbind(win1, win2), player1, player2, data = dat),它显示如下错误消息。

Diff中的错误(player1,player2,formula,id,data,separate.ability,refcat,:'player1$..'和'player2$..'必须是相同级别的因素

我查看了 StackOverflow 上的另一个页面(用数据更新:差异中的错误......必须是具有相同级别的因素),我尝试了下面的代码。(不过,我不明白它的作用。)

但是,BTm() 函数会抛出相同的消息。谁能告诉我我能做什么?

这是结果dput(dat)

0 投票
1 回答
26 浏览

r - R将一项设置为参考变量

这可能很明显,但我没有看到。通常,如果想将数组中的一个变量设置为“参考”,最简单的方法就是减去。

例如

[1,4,10,9,6]

将第 2 项设置为参考,

[-3,0,6,5,2]。

怎样才能恢复原件?

我在 R 中使用 BradleyTerry2 包,其中总是引用这些能力,但我想恢复所有这些

0 投票
1 回答
28 浏览

r - BradleyTerry2 包在模型结果中缺少一名球员

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

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

我正在使用的代码:

我也试过

它给了我相同的结果(即缺少相同的玩家,其余的 22 个系数相同)。

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

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

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

0 投票
2 回答
33 浏览

r - 将 sapply 与具有多个参数的函数一起使用

我有一个包含多个数据框的列表(称为 prep1)。每个数据框具有以下格式(仅显示前 6 行)

我想使用 BradleyTerry2 包中的函数 BTm 对数据进行建模。
使用单个数据框的功能是

我尝试在列表中的所有数据帧上同时使用 sapply 并在 sapply 参数中从 BTm 而不是 ..... 传递所有参数(文档说:... FUN 的可选参数)。

它让我得到以下错误Error in FUN(X[[i]], ...) : object 'player2' not found ,如果我使用lapply.

我不知道如何正确传递所有参数。你能帮忙吗?

0 投票
1 回答
77 浏览

r - R 中的 BradleyTerry2 包 - 使用零假设作为参考播放器

我正在使用 R 中的 BradleyTerry2 包来分析我的数据。使用 BTm 函数计算能力分数时,数据集中的第一项被删除作为参考,给定分数 0,然后相对于该参考计算其他能力分数。

有没有办法使用零假设作为参考,而不是使用数据集中的第一项?

这是我正在使用的代码。“ID”字段是玩家ID。此代码计算每个“匹配”相对于数据集中第一个匹配的能力得分。

BTv1 <- BTm(player1=winner,player2=loser,id="ID",formula=~Matchup+(1|ID),data=btmdata)

我正在尝试针对匹配对匹配结果没有影响的零假设进行测试,但目前我不知道什么能力得分对应于零假设。我想使用这个零假设作为参考,而不是使用数据集中的第一个匹配项。

对于那些想要重现我的结果的人,你可以在我的大学 onedrive上找到我的文件。