Monday, August 20, 2018

BayesFactor Package R: Two different Output

I'm using the BayesFactor package but I get two different output for the same data using two very similar codes. I'm wondering which one is correct?

if(!require(BayesFactor)){install.packages('BayesFactor')}

require(BayesFactor)
##################################################

exp(ttest.tstat(t= 2 , n1=40, n2=40, nullInterval =c(0, Inf), rscale = sqrt(2)/2,
        complement = FALSE, simple = FALSE)$bf)   ### !CHECK THIS OUTPUT! ###


exp(ttest.tstat(t= 2 , n1=40, n2=40, nullInterval =c(0, Inf), rscale = sqrt(2)/2, 
       complement = FALSE, simple = TRUE))    ### !CHECK THIS OUTPUT! ###

Solved

It is mentioned in the documentation of ?ttest.tstat

If simple is TRUE, returns the Bayes factor (against the null). If FALSE, the function returns a vector of length 3 containing the computed log(e) Bayes factor, along with a proportional error estimate on the Bayes factor and the method used to compute it.

In essence, we don't need to take the exp when simple=TRUE

ttest.tstat(t= 2 , n1=40, n2=40, nullInterval =c(0, Inf),
   rscale = sqrt(2)/2, complement = FALSE, simple = TRUE)
#     B10 
# 2.502954 

whereas with simple=FALSE

exp(ttest.tstat(t= 2 , n1=40, n2=40, nullInterval =c(0, Inf),
        rscale = sqrt(2)/2, complement = FALSE, simple = FALSE)$bf)
#[1] 2.502954

No comments:

Post a Comment