我有一个看起来像这样的数据框
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))
我在以后的过程中需要一些绘图和机器学习算法。所以我不知道使用时间序列格式是否有意义。
提前感谢!
我们可以使用fill
library(dplyr)
library(tidyr)
df %>%
mutate(time = round(time, 1)) %>%
fill(var1, var2)