R中的助焊剂或气体包装用法

时间:2017-11-01 16:48:06

标签: r

所以我对R很新,我从安装在土壤中的房间收集了温室气体样本。现在我已经从GC(以ppm为单位)获得了CO2,CH4和N2O的气体浓度的原始数据。我想用R中的flux或gasfluxes包来计算通量。我不确定如何准确地做到这一点以及如何正确地安排数据......我在互联网上找不到关于这个包的任何教程。任何帮助/建议都将受到高度赞赏。

这些是我拥有的变量

治疗,时间(分钟),气体浓度(ppm),腔室容积,腔室面积,腔室内温度(℃)。

谢谢

1 个答案:

答案 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取决于单位,有点随意,需要更多的研究,可能需要调整每个通量和土壤属性的浓度 - 时间点数。