我正在使用R中的BayesFactor包,但是我无法输出贝叶斯因子统计量作为要保存的变量。
例如,使用t检验配对样本数据设计:
a = c(94,95,98,99,98,99,96,97,97,100,66,100,99,97,100,99,100,97,99)
b = c(97,100,99,100,100,98,98,97,97,100,67,100,100,98,99,99,100,98,100)
out = ttestBF(a,y = b,paired = T)
返回:
Bayes factor analysis
[1] Alt., r=0.707 : 4.258084 ±0.03%
Against denominator:
Null, mu = 0
Bayes factor type: BFoneSample, JZS
我希望能够将4.258084
保存到变量。
通常在其他R函数中,我将其作为: 出$变量名
但此输出的可用选项是:
(1) out$Alt., r=0.707
(2) out$Null, mu=0
这些在调用时返回错误:
(1) Error: unexpected ',' in "out$Alt.,"
(2) Error: unexpected ',' in "out$Null,"
非常感谢任何帮助
答案 0 :(得分:3)
(我是BayesFactor包的作者)。获得贝叶斯因子的最简单方法是简单地使用
as.vector(out)
这将为您提供所需的数字。没有必要深入到对象结构中。
答案 1 :(得分:1)
我设法向合适的人提问,答案更深入到输出结构中:
你来自贝叶斯因素" out @ bayesFactor $ bf"是你想要的BayesFactor的LOG。
所以要获得实际的BF值:
BF = exp(1)^ out @ bayesFactor $ bf
答案 2 :(得分:0)
只需添加此内容,使用返回对象内的@bayesfator
插槽即可得到意外的结果。这里的as.vector和as.dataframe(正确)与内部广告位值不匹配:
bf10 <- proportionBF(70, 100, .5)
# this is different
bf10@bayesFactor$bf
# to these
bf10 %>% as.vector
bf10 %>% as.data.frame()