原始数据中的缺失值

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

所以这是我的问题:我有2010年至2019年的每日利率原始数据。但是,缺少几个日期。

1244 9-Jul-10 5.053 1245 8-Jul-10 5.007 1246 7-Jul-10 4.991 1247 6-Jul-10 4.976 1248 28-Jun-10 4.850 1249 21-Jun-10 4.900 1250 18-Jun-10 5.000 1251 14-Jun-10 3.800 1252 9-Jun-10 3.850 1253 1-Jun-10 3.950 1254 31-May-10 3.950

当我在R上导入数据时,它将显示1254个数据,这是我实际拥有的数据量。

interest <-read.csv("C:/Users/SOOGRIM/Desktop/Interest4.csv",header=TRUE,stringsAsFactors=FALSE)

兴趣日期价格1 19年1月21日3.5502 19年1月20日3.5503 19年1月19日3.5504 19年1月18日3.55019年1月17日3.630摘要(兴趣)日期价格X长度:1254分钟:0.861分钟:1.000类别:字符第一级:2.400第一级:1.000模式:字符中位数:2.900中位数:2.000均值:3.000均值:3.031第三届:3.670第三届:6.000最高:5.674最大:10.000不适用:1222 **

但是,在将其转换为时间序列时,它对缺少的日期进行数据插值,结果总计为3281。

interest.ts <-ts(data=interest$Price,frequency=365,start=c(2010,06),end=c(2019,01))

summary(interest.ts)最小第一区中位数第三区最高0.861 2.450 2.900 3.001 3.680 5.674长度(interest.ts)[1] 3281 **

这会影响我对利率的预测。

我希望能够在我的日常值中标识缺少的日期,并在R中自动将其替换。我已经研究了软件包imputeTSlubridate。我不知道使用什么功能来重新编号日期并分别显示“ price”变量的NaN。

然后,我将使用imputeTS软件包中可用的正确插值方法对“ price”变量的值进行插值。

简而言之,我只是想知道如何在R中自动添加缺少的日期。由于缺少1000个日期,因此在excel上手动进行比较麻烦。

r missing-data imputets
1个回答
0
投票

没有完全理解您的问题-但我认为这是隐式缺少值的问题。

您有一个时间序列,并且某些日期完全缺失-但不是以某种方式将它们标记为NA,在该时间序列中根本没有给出日期。(因此仅隐式给出NA值)

您可以使用imputeTStsibble软件包组合来解决此问题。

library(imputeTS)
library(tsibble)

# Convert your time series or data.frame into a tsibble time series object
x <- as_tsibble(your_timeseries)

# Get the implicit missing values -afterwards you have the missing values as NA
x <- fill_gaps(x)

# Perform the time series imputation
x <- na.kalman(x)

这里小包用于将隐式缺失值添加为实际NA值。之后,将imputeTS用于执行时间序列估算(替换NA值)。

如果您只需要简单的插补,例如这意味着您也可以直接使用fill_gaps执行此操作。否则使用imputeTS的某些功能(例如na。kalmanna.interpolationna.seadecna.ma

© www.soinside.com 2019 - 2024. All rights reserved.