如何从BayesFactor包中获取值(从以前的数据中)用作rscale(在新数据中)?

时间:2019-02-15 21:33:55

标签: r statistics bayesian

如果在第一个实验中我有变量var1avar2a,我想从这些数据中获取后验值,并将其与BayesFactor包一起用作rscale(先前),用于第二个具有类似变量的实验var1bvar2b。问题是:如何使用R(可能与BayesFactor包一起)获得此值?

据我了解,r量级应基本上具有与预期Cohen d相同的值(即标准化均值差;基于先前的结果)。考虑到这一点,我输入了以下代码。

library(MBESS)
library(BayesFactor)

var1 = c(9,8,6,7,8,6,5,7,8,8)
var2 = c(3,4,5,6,7,5,3,2,4,5)

ttest = t.test(var1, var2, paired=T)
ci.sm(ncp = ttest$statistic, N = length(var1), conf.level = .95)$Standardized.Mean # this gives effect size as d = 1.494293   

现在,我将这个值代替测试使用在相同的变量上,而不是使用新数据(好像第二个实验完美地复制了第一个)。

as.vector( ttestBF(var1, var2, paired = T, rscale = 1.494293) ) # with actual effect size as r-scale, BF = 43.78086 

然后我会期望BF峰值在这一点上,所以是43.78086。

但是,当我检查其他值时,峰值实际上是当我在1.30左右给出r标度时

as.vector( ttestBF(var1, var2, paired = T, rscale = 1.50) ) # smaller: 43.7633
as.vector( ttestBF(var1, var2, paired = T, rscale = 1.30) ) # larger: 44.07731 
as.vector( ttestBF(var1, var2, paired = T, rscale = 1.25) ) # again smaller: 44.03929 

据我所知,这不是正确的先验。

0 个答案:

没有答案