所以我对R很新,我从安装在土壤中的房间收集了温室气体样本。现在我已经从GC(以ppm为单位)获得了CO2,CH4和N2O的气体浓度的原始数据。我想用R中的flux或gasfluxes包来计算通量。我不确定如何准确地做到这一点以及如何正确地安排数据......我在互联网上找不到关于这个包的任何教程。任何帮助/建议都将受到高度赞赏。
这些是我拥有的变量
治疗,时间(分钟),气体浓度(ppm),腔室容积,腔室面积,腔室内温度(℃)。
谢谢
答案 0 :(得分:0)
以下是我通常做的事情:
setwd("E:/.../.../")
library(gasfluxes)
DT <- fread("input.csv")
#calculate mass concentrations, example for N2O in ppb --> µg N / m³
# M = 28 g/mol
#Vm = 22.4 L/mol
DT[, N2O := Cmol * 28 * 273.15 / 22.4 / (273.15 + temp)]
腔室容积应为m³,面积为mm,关闭时间为h。通常我也有治疗,情节和日期的专栏。
#flux calculation --> µg N / m² / h
fluxes <- gasfluxes(DT,
methods = c("linear", "robust linear", "HMR"),
.id = c("treatment", "plot", "date"),
.V = "V", .A = "A", .times = "time", .C = "N2O")
#select fluxes
fluxes[, c("flux", "flux.se", "flux.p", "method") := list(robust.linear.f0,
robust.linear.f0.se,
robust.linear.f0.p,
"robust linear")]
fluxes[!is.finite(flux), c("flux", "flux.se", "flux.p", "method") := list(linear.f0,
linear.f0.se,
linear.f0.p,
"linear")]
fluxes[is.finite(HMR.f0) & HMR.AIC < linear.AIC & HMR.kappa < 20,
c("flux", "flux.se", "flux.p", "method") := list(HMR.f0,
HMR.f0.se,
HMR.f0.p,
"HMR")]
fluxes[!is.finite(flux), method := "error"]
请注意,决定HMR.kappa < 20
取决于单位,有点随意,需要更多的研究,可能需要调整每个通量和土壤属性的浓度 - 时间点数。