【发布时间】:2020-07-11 20:24:14
【问题描述】:
由于贝叶斯逻辑回归,我有一个大型数据集。数据集包含参数估计、置信区间等(见下文)。
mean sd confint_2.5 confint_97.5 Rhat median spec Errorup Errordown
1 -0.7897597 0.18668304 -1.1759960 -0.4517294 1.002211 -0.7811156 Marvulg -0.3293862 -1.957112
2 -0.7891327 0.08145761 -0.9570086 -0.6380287 1.000155 -0.7861764 Viotric -0.1481477 -1.743185
3 -0.6619662 0.26049168 -1.2203315 -0.2059030 1.045208 -0.6440501 Antdioi -0.4381470 -1.864382
4 -0.6571516 0.17940842 -1.0417642 -0.3364415 1.008100 -0.6470382 Eleacic -0.3105968 -1.688802
5 -0.6526717 0.20005184 -1.0816375 -0.2968111 1.005126 -0.6394952 Antcotu -0.3426842 -1.721133
6 -0.6497648 0.16620699 -1.0081607 -0.3555847 1.003738 -0.6384035 Triflav -0.2828188 -1.646564
我总共有 714 行数据,从低到高排序(平均)。我使用此代码一次绘制 50 个,其中 a3_sort 是 50 行数据的子集(因此手动执行 a3_sort <- a3[n:n,), 之后我打印子集并继续下一个 50):
ggplot2::ggplot(data = a3_sort, mapping = aes(x = reorder(spec, mean), y = mean, ymin = confint_97.5, ymax = confint_2.5))+
geom_pointrange()+
geom_hline(yintercept = 0, lty = 2)+
coord_flip()+
xlab ("species") +ylab ("mean (credibility interval)")+
theme_bw()
这行得通,我得到了我想要的,但必须有一种更少体力劳动的方法来做到这一点?
我的问题:有没有办法循环这个过程,自动将 PDF 保存在工作目录中?
【问题讨论】:
-
那么您是否想要为从原始数据中获得的每 50 行数据帧绘制一个图?
-
是的,完全正确。所以总共 15 个地块,无需手动子集和保存地块。
-
我已经为您的问题添加了一个可能的解决方案。请检查并让我知道它是否有效:)