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)
这也有效果。
我是 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)
这也有效果。