重新采样数据帧的时间序列,并对R中的变量使用先前的值

问题描述 投票:0回答:1

我有一个看起来像这样的数据框

df = data.frame(time = c(0.12, 0.21, 0.35, 0.46, 0.56, 0.62), 
                var1 = c(1, NA, 4, 2, 6, NA),
                var2 = c(4, 5, NA, 3, 2, 1))

我如何以10Hz的频率重新采样数据?如果值为NA,则应使用同一列的先前值,因此结果看起来像这样

df = data.frame(time = c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6), 
                var1 = c(1, 1, 4, 2, 6, 6),
                var2 = c(4, 5, 5, 3, 2, 1))

我在以后的过程中需要一些绘图和机器学习算法。所以我不知道使用时间序列格式是否有意义。

提前感谢!

r dataframe variables time-series resampling
1个回答
0
投票

我们可以使用fill

library(dplyr)
library(tidyr)
df %>%
     mutate(time = round(time, 1)) %>%
     fill(var1, var2)
© www.soinside.com 2019 - 2024. All rights reserved.