【问题标题】:Filling NA in timeseries data with different interpolation techniques使用不同的插值技术在时间序列数据中填充 NA
【发布时间】:2017-12-14 13:13:52
【问题描述】:
Time = c("7/16/2017 18:46", "7/16/2017 21:52", 
"7/16/2017 23:16", "7/17/2017 4:03", "7/17/2017 5:13", "7/17/2017 5:27", 
"7/17/2017 18:57", "7/17/2017 19:25", "7/17/2017 23:58", "7/18/2017 2:59", 
"7/18/2017 3:27", "7/18/2017 3:59")  
Flux = c(NA, NA, 4.51263406, 
NA, NA, 2.291454049, NA, 4.568703192, NA, NA, 3.392520428, NA
), int = c(403.5413091, 421.5796345, NA, 410.0796897, NA, NA, 
363.5271212, NA, NA, 398.9564539, NA, NA)  
corr = c(422.745436, 
447.6726631, NA, 420.4392183, NA, NA, 408.7056493, NA, NA, 421.8799971, 
NA, NA)  
dat = c(NA, NA, NA, NA, 2.316481462, NA, NA, NA, 7.11779784, 
NA, NA, 2.953349661)

df$Time <- as.POSIXct(strptime(df$Timestamp, format="%m/%d/%Y %H:%M"))

看起来像...

Time    Flux    int corr    dat    
7/16/2017 18:46 NA  403.5413091 422.745436  NA    
7/16/2017 21:52 NA  421.5796345 447.6726631 NA   
7/16/2017 23:16 4.51263406  NA  NA  NA  
7/17/2017 4:03  NA  410.0796897 420.4392183 NA  
7/17/2017 5:13  NA  NA  NA  2.316481462  
7/17/2017 5:27  2.291454049 NA  NA  NA  
7/17/2017 18:57 NA  363.5271212 408.7056493 NA  
7/17/2017 19:25 4.568703192 NA  NA  NA  
7/17/2017 23:58 NA  NA  NA  7.11779784  
7/18/2017 2:59  NA  398.9564539 421.8799971 NA  
7/18/2017 3:27  3.392520428 NA  NA  NA  
7/18/2017 3:59  NA  NA  NA  2.953349661  

我有四列(1 个时间数据,3 个连续数据)。我在每一列中有很多 NA 值。我想为所有列插入和填充 NA。因为我不知道我需要哪种插值方法,所以我想要许多插值方法(线性、样条等)。我试过 na.approx 但没有用。

有什么帮助吗?

【问题讨论】:

  • zoo包中可能有NA填充函数。试试library(zoo); apropos("^na[.]") 和帮助文件。

标签: r interpolation na


【解决方案1】:

如果您想尝试比较上述几种插值方法,可以使用 imputeTS 包中的na.interpolation() 函数。

对于线性插值:

library("imputeTS")
na.interpolation(df, option = "linear")

对于样条插值:

library("imputeTS")
na.interpolation(df, option = "spline")

对于stineman插值:

library("imputeTS")
na.interpolation(df, option = "stine")

如您所见,您只需要调整 options 参数即可。

【讨论】:

    【解决方案2】:

    df

    但我不知道它使用哪种技术来填充 NA

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 2020-01-26
      • 2016-12-08
      • 2022-08-04
      • 2019-01-13
      • 2015-12-03
      • 1970-01-01
      相关资源
      最近更新 更多