【问题标题】:R setting one item as reference variableR将一项设置为参考变量
【发布时间】:2020-04-08 01:55:39
【问题描述】:

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

例如

[1,4,10,9,6]

将第 2 项设置为参考,

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

如何恢复原件?

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

> library("BradleyTerry2")
> 
> dat<-data.frame('winner'=c('lakers','bucks','wizards'),'loser'=c('bucks','wizards','lakers'))
> 
> model<-BTm(1,winner,loser,data=dat,refcat='bucks')
> 
> BTabilities(model)
              ability     s.e.
bucks    0.000000e+00 0.000000
lakers  -1.812987e-16 1.632993
wizards -3.625973e-16 1.632993

> model<-BTm(1,winner,loser,data=dat,refcat='lakers')
> BTabilities(model)
             ability     s.e.
bucks   1.570092e-16 1.632993
lakers  0.000000e+00 0.000000
wizards 0.000000e+00 1.632993

【问题讨论】:

  • 你需要记录它是什么,然后你可以添加回来。如果你不记录它,就无法知道它是什么。
  • 这正是我的问题,该函数不允许我记录它,它自己引用作为计算的一部分。我查看了源代码,但似乎无法弄清楚。以前没看过太多 R 源代码。

标签: r bradleyterry2


【解决方案1】:

Gregor Thomas 是对的,没有办法恢复原件。 感谢 Heather Turner 和 David Firth,我能够弄清楚如何在没有参考的情况下获得价值。不知道这有多大用处,但下面给出了 1 BT 能力的总和。

log_a <- BTabilities(baseballModel2)
log_a <- log_a[, "ability"]
print(log_a)
a <- exp(log_a)
a <- a / sum(a)
print(a)
sum(a)

【讨论】:

    猜你喜欢
    • 2016-02-25
    • 2019-02-19
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2020-04-02
    • 2013-02-08
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多