按组创建一个新的POSIXct序列

时间:2019-10-22 09:57:01

标签: r

我有一个包含3个列的数据帧(df):ID,时间戳(30秒间隔),状态:

ID; Time; State
1; 23:18:00; 1
1; 23:18:30; 2
1; 23:19:00; 1
1; 23:19:30; 2
2; 23:20:00; 1
2; 23:20:30; 1
2; 23:21:00; 1
3; 23:21:30; 2
3; 23:22:00; 2
3; 23:22:30; 2

我正在尝试将每组的采样率提高到1秒(而不是30秒),并使用先前有效的值填充变量“ state”的值。

为此,我通过“ ID”创建了一个新的时间索引,因为不同ID之间的时间戳之间可能会有很大的差距/重叠:

Time.index <- df %>% 
      group_by(ID) %>% 
      expand(seq.POSIXt(from =first(df$Time), to = last(df$Time),by = 1, units = "seconds"))%>% 
      ungroup()

它工作得很好,除了它通过ID创建一个新的时间序列,但采用整个数据帧而不是每个ID的开始和结束时间值这一事实。关于如何解决此问题的任何提示吗?

谢谢

0 个答案:

没有答案