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

相关推荐
小洁忘了怎么分身6 小时前
多样本空间转录组 Harmony 整合与标签转移指南
网络·r语言·生信分析
临床数据科学和人工智能兴趣组16 小时前
在R语言中,数据存储和读取是数据分析工作的重要环节
r语言·r语言-4.2.1
赵钰老师3 天前
R语言数据统计分析与ggplot2高级绘图
开发语言·数据分析·r语言
开开心心_Every3 天前
电脑文件搜索软件支持内容和拼音搜索
linux·服务器·人工智能·r语言·pdf·音视频·symfony
AAIshangyanxiu4 天前
R语言数据统计分析与ggplot2高级绘图实践应用
开发语言·r语言·ggplot2
青春不败 177-3266-05204 天前
R语言数据统计分析与ggplot2高级绘图
r语言·生态学·科研绘图·统计学·ggplot2·环境科学
临床数据科学和人工智能兴趣组4 天前
R Markdown 如何写
人工智能·机器学习·数据分析·r语言·r语言-4.2.1
酷在前行4 天前
【R生态】PERMANOVA 进阶实战:距离选择、PERMDISP、两两比较与受限置换(保姆级教程)
开发语言·r语言
临床数据科学和人工智能兴趣组5 天前
要使用 R Markdown,首先需要安装 R 和 RStudio,接着安装 rmarkdown 包
开发语言·数据挖掘·数据分析·r语言·r语言-4.2.1
酷在前行6 天前
【R绘图】Nature Communications 半眼图复刻:分布、区间与多面板排版(保姆级教程)
android·开发语言·r语言