【发布时间】:2018-07-11 19:38:51
【问题描述】:
我有一个数据集,其中每分钟测量一次体温,持续 8 小时。我删除了异常数据,现在有了 NA 值,有时只有一个,有时连续超过 10 个。 我想用线性插值替换缺失的数据。
我尝试了不同的方法,但我无法使“近似”工作(NA 值保持 NA...),甚至无法找到一种方法来指定 R 使用之前的值(同一列,减 1 行)或之后的值(同一列,+ 1 行)。 在这个例子中,我尝试只替换一个 NA,[+1] 和 [-1] 只是读为 [1],所以它不起作用
df$var1_lini <- ifelse (!is.na(df$var1),df$var1,
ifelse (!is.na(df$var[+1]),df$var[-1]+(df$var1[-1]+df$var1[+1])/2,NA))
我愿意接受任何形式的解决方案 我是初学者,所以详细的答案会很棒! 谢谢
夏娃
【问题讨论】:
-
library(zoo); help("na.approx")
标签: r time-series linear-interpolation