R: рассчитать время закрытия для измерений потока N2O в камере - PullRequest
0 голосов
/ 23 октября 2018

Я выполнил статические измерения в камере N2O, которые я хотел бы проанализировать сейчас, используя «пакет газовых потоков» https://cran.r -project.org / web / packages / gasfluxes / gasfluxes.pdf .Я измерял различные образцы (POTS) в течение 10-минутных интервалов.Каждый образец измеряли два раза в день (СЕССИЯ: AM, PM) в течение 9 дней.Анализатор N2O сохранял данные (конц.) Каждую секунду!

Теперь мои данные выглядят так:

                   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

Чтобы использовать пакет, мне нужно рассчитать время закрытия из точного времени(ВРЕМЯ) точки данных.Время должно выглядеть следующим образом (таблица взята из пакета 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-минутного периода измерения для каждого банка?В основном это должно перечислить увеличивающийся номер.секунд, пока моя машина измеряла конц.каждую секунду.

Моя идея состоит в том, чтобы группировать по «POT», «DATE» и «Session», что создает уникальный идентификатор для одного полного измерения камеры и делает цикл.

Я также узналчто я должен использовать «lubridate», так как я работаю со временем (https://data.library.virginia.edu/working-with-dates-and-time-in-r-using-the-lubridate-package/). Я до сих пор не знаю, как рассчитать продолжительность времени для моего случая? Я думаю, что мне нужно написать цикл?

Как-то так, но я всегда получаю сообщения об ошибках (мой предыдущий вопрос R: Рассчитать временные точки измерения для отдельных выборок )

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 

Любой может мне помочь или знает о другомподход?

Любая помощь очень приветствуется. Большое спасибо!

...