R 按组创建新的POSIXct序列

R 按组创建新的POSIXct序列,r,R,我有一个数据帧(df),有3列:ID,时间戳(间隔30秒),状态: 我试图将每组的采样率提高到1秒(而不是30秒),并用以前有效的值填充变量“state”的值 为此,我通过“ID”创建了一个新的时间索引,因为不同ID之间的时间戳可能存在较大的间隔/重叠: Time.index <- df %>% group_by(ID) %>% expand(seq.POSIXt(from =first(df$Time), to = last(df$Time),by

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

我试图将每组的采样率提高到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()
Time.index%
分组依据(ID)%>%
展开(seq.POSIXt(from=first(df$Time),to=last(df$Time),按=1,units=“seconds”))%>%
解组()
它工作得很好,除了它通过ID创建了一个新的时间序列,但是获取了整个数据帧的第一个和最后一个时间值,而不是每个ID的时间值。有没有关于如何解决这个问题的提示


感谢您使用
seq.POSIXt(from=first(Time),to=last(Time),by=1,units=“seconds”)
代替(没有
df$
在dplyr内部)@docendodiscimus工作得很有魅力。谢谢!我相信这是一个愚蠢的错误,但学习的曲线是陡峭的;)
Time.index <- df %>% 
      group_by(ID) %>% 
      expand(seq.POSIXt(from =first(df$Time), to = last(df$Time),by = 1, units = "seconds"))%>% 
      ungroup()