我想获得与经典F检验类似的方差分析的贝叶斯因子,我只是想确保我正确理解了如何编写语法,尤其是关于主题ID。
例如,我有主体间自变量a_between
和b_between
,主体内变量c_within
和d_within
,因变量values
,与subject_id
一起识别每个主题;在数据集my_data
中。
如果我理解正确,那么对于完整的方差分析,我应该使用:
anovaBF(values〜a_between * b_between * c_within * d_within + subject_id,data = my_data,whichModels =“ bottom”,whichRandom =“ subject_id”)#并且我认为变量的顺序无关紧要,例如也可以是d_within * a_between * c_within * b_between + subject_id
仅针对受试者内部方差分析,我应该使用:
anovaBF(values〜c_within * d_within + subject_id,data = my_data,whichModels =“ bottom”,whichRandom =“ subject_id”)
对于仅受试者之间的方差分析,我应该使用:
anovaBF(values〜a_between * b_between,data = my_data,whichModels =“ bottom”,whichRandom =“ subject_id”)
因此,在最后一种情况下,我没有+subject_id
-否则我得到Error in base::try(expression, silent = silent) : not enough observations
。 (也许是因为每个subject_id仅一行吗?)
两个主要问题:
whichRandom
,一次为+subject_id
),为什么不指定主题ID?只是主题间变量?(仅供参考,有一个与答案相关的问题,但不完全是我想知道的:https://stats.stackexchange.com/questions/230224/mixed-bayesian-anova-using-bayesfactor-package-in-r)
答案 0 :(得分:0)
来自https://forum.cogsci.nl/index.php?p=/discussion/5203/bayesfactor-anovabf-syntax:
通常,是的-但是我不确定您是否要使用
whichModels = "bottom"
-建议此处使用默认设置(whichModels = "withmain"
)。另外,您实际上无法获得用于F测试的BF-因为BF始终是可比较的,因此,如果您希望针对每个“效果”使用BF,则需要考虑对哪个两个模型进行比较(例如层次回归)。或者,您可能希望尝试通过bayestestR::bayesfactor_inclusion()
(相当于JASP的效果面板)来计算包含BF。
anovaBF
根本不是一个方差分析,它实际上是一个线性混合模型。因此,您需要指定+subject_id
,因为它是模型中的一种效果,但是您还需要告诉anovaBF
这是随机效果(而不是固定效果)。
更多有用的链接:
https://forum.cogsci.nl/index.php?p=/discussion/2426/type-of-sums-of-squares
https://www.cogsci.nl/blog/interpreting-bayesian-repeated-measures-in-jasp
无论如何,我都会坚持将bayestestR::bayesfactor_inclusion()
与match_models = TRUE
一起使用;对我来说,这似乎是最直接的。