MixSIAR贝叶斯混合模型-氮素来源-R语言实现流程

MixSIAR贝叶斯混合模型-氮素来源-R语言实现流程

建议用windows环境,Mac环境R的版本只有最新版可以下载,解决error很麻烦

环境的安装

R、R Studio

直接去官网下载(R语言建议下载R4.2.3,最新和太久的版本都容易报错)

https://mirrors.tuna.tsinghua.edu.cn/CRAN/

选择download for windows,进入下载页面,选择Previous releases,找4.2.3版本

Rstudio的版本可以下载最新

安装吉布斯采样器JAGS:https://sourceforge.net/projects/mcmc-jags/files/

直接下载安装

把上面的都下载完成之后,建议先打开R,第一次打开会让你选择源,选择国内的源对之后安装package很方便

然后关闭R,打开R studio,在Tools菜单里Install package安装mixsiar包,最简便的方法

MixSIAR里有一些实例代码,可以直接拿过来修改使用,下面是我使用的代码:

需要先准备三个csv文件,source、consumer、discrimination,放在一个文件夹下、

source: 来源的数据可以根据自己研究区去查看相关论文数据得到

consumer:是自己的数据

discirmination:和source文件的行列一样,去掉n那一列,一般把值全部设为0即可

r 复制代码
# Geese example (concentration dependence)

getwd() #得到目前的路径
setwd("  ") #设置当前路径

library(MixSIAR)

# Load mix data
mix <- load_mix_data(filename="nitrate_consumer202345.csv",
                     iso_names=c("d18O","d15N"), #和自己consumer文件的顺序对应上
                     factors="id",
                     fac_random=FALSE,
                     fac_nested=FALSE,
                     cont_effects=NULL)

# Load source data
source <- load_source_data(filename="nitrate_sources-1.csv",
                           source_factors=NULL,
                           conc_dep=FALSE,
                           data_type="means",
                           mix)

# Load discrimination/TDF data
discr <- load_discr_data(filename="nitrate_discrimination-1.csv", mix)

# Make isospace plot
plot_data(filename="isospace_plot",
          plot_save_pdf=TRUE,
          plot_save_png=TRUE,
          mix,source,discr)

# Calculate standardized convex hull area
library(splancs)
if(mix$n.iso==2) calc_area(source=source,mix=mix,discr=discr)

# Plot your prior
#plot_prior(alpha.prior=1,source)


# Define model structure and write JAGS model file
model_filename <- "MixSIAR_model.txt"
resid_err <- FALSE
process_err <- TRUE
write_JAGS_model(model_filename, resid_err, process_err, mix, source)

# Run the JAGS model ("test" first, then "short")
# jags.1 <- run_model(run="test", mix, source, discr, model_filename, alpha.prior=1,resid_err,process_err)
jags.1 <- run_model(run="normal", mix, source, discr, model_filename, alpha.prior=1)
#测试代码的时候选择test模式,要出数据选择normal或者long

#设置最大输出行数,当输出过多数据的时候需要设置
options(max.print=10000)
# Process diagnostics, summary stats, and posterior plots
output_JAGS(jags.1, mix, source)

最后可以讲鼠标光标放在第一行,逐行的run,便于解决报错和观察输出结果,最后的输出结果制作氮素来源贡献图时可以选择Mean均值那一列数据。

相关推荐
lisw052 天前
R语言的专业网站top5推荐
开发语言·r语言
清同趣科研2 天前
扩增子分析|R分析之微生物生态网络稳定性评估之节点和连接的恒常性、节点持久性以及组成稳定性指数计算
开发语言·r语言
zm-v-159304339864 天前
解锁生命周期评价密码:OpenLCA、GREET 与 R 语言的融合应用
r语言·生命周期
生信大杂烩4 天前
R语言绘图 | 渐变火山图
数据分析·r语言
KY_chenzhao5 天前
用R语言+随机森林玩转遥感空间预测-基于R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析
随机森林·机器学习·r语言·生态·遥感·空间预测
没有梦想的咸鱼185-1037-16635 天前
【生命周期分析(Life Cycle Assessment: LCA)】基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
数据分析·r语言
没有梦想的咸鱼185-1037-16636 天前
全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
开发语言·随机森林·数据分析·r语言
Tiger Z7 天前
R 语言科研绘图 --- 桑基图-汇总
开发语言·r语言·贴图
Expecto08 天前
因子分析——数学原理及R语言代码
算法·r语言·统计学·多元统计分析
人类群星闪耀时9 天前
R语言数据挖掘:从“挖井”到“淘金”
开发语言·数据挖掘·r语言