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均值那一列数据。

相关推荐
weixin_462446231 天前
【原创实践】在 CentOS 上安装 JupyterHub 并配置 R 语言支持 Kernel
linux·r语言·centos
2501_941322032 天前
道路检测新突破:Cascade R-CNN在COCO数据集上的实战应用详解
开发语言·r语言·cnn
高-老师2 天前
基于R语言生物信息学大数据分析与绘图实践技术应用
开发语言·数据分析·r语言·生物信息
czliutz2 天前
R语言gm音乐包的使用简单介绍
开发语言·r语言·音乐·技巧
asyxchenchong8882 天前
R语言+贝叶斯网络:涵盖贝叶斯网络基础、离散与连续分布、混合网络、动态网络,Gephi可视化
r语言
小艳加油3 天前
R语言贝叶斯网络分析的完整体系——涵盖离散、连续、混合及动态网络等
r语言·参数估计·贝叶斯网络
Tiger Z4 天前
《R for Data Science (2e)》免费中文翻译 (第17章) --- Dates and times(2)
r语言·编程·数据科学
青春不败 177-3266-05204 天前
基于R语言lavaan结构方程模型(SEM)实践技术应用
python·r语言·贝叶斯·生态学·结构方程·sem
itwangyang5204 天前
人工智能药物设计和生信常用 R 包一键全自动安装脚本
开发语言·人工智能·r语言
xiao5kou4chang6kai44 天前
R语言的贝叶斯网络模型的实践
r语言·贝叶斯网络·统计学