R:计算腔室N2O通量测量的关闭时间

时间:2018-10-23 09:56:15

标签: r tidyverse lubridate

我执行了现在要使用“ gasfluxes软件包” https://cran.r-project.org/web/packages/gasfluxes/gasfluxes.pdf分析的静态N2O腔室测量。 我在10分钟的间隔内测量了不同的样本(POTS)。每天两次测量每个样品(会议:上午,下午),持续9天。 N2O分析仪每秒保存一次数据(conc。)!

我的数据现在看起来像这样:

                   DATE POT    SESSION  TIME             Concentration
1: 2017-10-18T00:00:00Z    O11 AM        10:16:00.746     0.3512232
2: 2017-10-18T00:00:00Z    O11 AM        10:16:01.382     0.3498687
3: 2017-10-18T00:00:00Z    O11 AM        10:16:02.124     0.3482681
4: 2017-10-18T00:00:00Z    O11 AM        10:16:03.216     0.3459306
5: 2017-10-18T00:00:00Z    O11 AM        10:16:04.009     0.3459124
6: 2017-10-18T00:00:00Z    O11 AM        10:16:04.326     0.3456660

要使用该软件包,我需要计算准确时间(TIME)数据点之外的关闭时间。时间应如下所示(表格取自pdf包。请参见上文)

 serie        V A      time         C
1: ID1 0.522625 1 0.0000000 0.3317823
2: ID1 0.522625 1 0.3333333 0.3304053
3: ID1 0.522625 1 0.6666667 0.3394311
4: ID1 0.522625 1 1.0000000 0.4469102
5: ID2 0.523625 1 0.0000000 0.4572708

我如何在每个锅的每个单独的10分钟测量期内计算这个?基本上,它应该列出递增的nr。我的机器测得的浓度为秒每秒。

我的想法是按“ POT”,“ DATE”和“ Session”进行分组,从而为一个完整的腔室测量创建唯一的标识符并进行循环。

我还了解到,我在处理时间(https://data.library.virginia.edu/working-with-dates-and-time-in-r-using-the-lubridate-package/)时应该使用“ lubridate”。我仍然不知道如何为我的案件计算时间长度?我想我需要写一个循环吗?

类似的事情,但我总是收到错误消息(我以前的问题R: Calculate measurement time-points for separate samples

df.HMR %>% group_by(DATE, Series, Session) %>% 
  mutate(dt=as.POSIXct(df.HMR$TIME,format="%H:%M:%S"), time_diff = dt-lag(dt))
Error message: Column dt must be length 838 (the group size) or one, not 379698 

任何人都可以帮助我或知道另一种方法吗?

非常欢迎任何帮助。 非常感谢!

0 个答案:

没有答案