R - BayesFactor:从 for 循环创建绘图

R - BayesFactor: Creating a plot from a for loop

我是 R 的新手,正在尝试根据 for 循环的结果创建绘图。我正在使用 BayesFactor 包来查找多个贝叶斯因子

N <- seq (10, 500, by = 5)

for (i in 1:length(N)) {ttest.tstat(2.24, N[i], simple = TRUE}

现在我想用 N(在 x 轴上)和 BayesFactors(在 y 轴上)创建一个基本图。如何将 for 循环中生成的贝叶斯因子转换为向量?

谢谢!

类似于:

N <- seq (10, 500, by = 5)
tstat_vec = sapply(N, ttest.stat, t = 2.24, simple = TRUE)
plot(N, tstat_vec)

应该可以解决问题。

或使用ggplot2:

df = data.frame(N = N, tstat = tstat_vec)
ggplot(df) + geom_point(aes(x = N, y = tstat))

我发现的另一种方法(坚持 for 循环)是

N <- seq(10, 500, by=5)
BF <- rep(0, 99)

for (i in 1:length(N)) {BF[i]=ttest.tstat(2.24, N[i], simple=TRUE)[[1]]}

plot.default(N,BF)

这也有效果。