用R中的插值填充缺失值datetime序列数据

用R中的插值填充缺失值datetime序列数据,r,datetime,interpolation,R,Datetime,Interpolation,我有以下数据集 name - old - new - datetime 1051 38656 38400 2016-01-24 03:22:37 1051 5888 5632 2016-01-24 04:03:28 1051 5632 38144 2016-01-24 04:34:22 1051 5120 4864 2016-01-

我有以下数据集

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
我要插入此数据集:

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
name   -  old - new -  datetime  
1051     ?           ?          2016-01-24 03:20:00  
1051     ?           ?          2016-01-24 03:30:00    
1051     ?           ?          2016-01-24 03:40:00  
1051     ?           ?          2016-01-24 03:50:00  
1051     ?           ?          2016-01-24 04:00:00  
1051     ?           ?          2016-01-25 04:10:00  
..       ..          ..         ..
我有一个复杂的数据集。所以,我想插值以获得更干净的数据集。我试过这个:

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
data.frame(datetime = seq(roomsdatetime$datetime[1], roomsdatetime$datetime[nrow(roomsdatetime)], by = "10 min")) %>%  
    mutate(roomsdatetime, approx = na.approx(roomsdatetime$old_value))
我得到这个错误:

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
错误:错误的结果大小(3562),应为3565或1

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  

还有别的办法吗

在Excel中,在最左边的顶部输入以下内容:

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
[通过公式“=(B3-$B$2)*86400”获得“差异”(以秒为单位,在(有序)日期时间和基准24.01.2016 03:20:00之间,其值指定为0)列]

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  
然后,File-Save-as-[FileName:seymalaca.csv;键入:“csv(逗号分隔)(*.csv)”]

name   -  old - new - datetime     
1051     38656       38400      2016-01-24 03:22:37    
1051     5888        5632       2016-01-24 04:03:28  
1051     5632        38144      2016-01-24 04:34:22    
1051     5120        4864       2016-01-24 03:56:33  
1051     37376       37632      2016-01-25 08:08:16  
..       ..          ..         ..  

不清楚你想要什么。是否要将数据转换为10分钟间隔?如果是这种情况,请参见此处的示例,注意线性插值!“使用线性插值将数据转换为等距观测值可能会引入大量重要且难以量化的偏差”。参考文献:M.Scholes和J.Williams,“从非同步数据估计β”,金融经济学杂志5:309–3271977。你们的目标当然不是获得等间距的数据,但无论如何你们都会尝试使用插值。问题中也缺少插值的类型:线性、二次、三次等。。你知道吗?在控制台中使用smooth.spline,通过smooth.spline分析三次插值。Seyma Alaca应接受该解决方案。她似乎不知道如何使用“接受”或“这个答案很有用”按钮。