从R

时间:2018-05-25 09:23:32

标签: r dataframe time-series na

我通过以下方式阅读了一些数据:

it.data <- read.csv("inputData/rstar.data.it.csv", header = T, sep = ",")然后第二和第四列是通货膨胀。兴趣:

inflation.it <- it.data[2]

interest.it <- it.data[4]

但是,当我尝试将数据重新编码为时间序列对象时,麻烦就开始了,因为列中有前导和尾随NA值。我试过了na.omit()it.data[complete.cases(it.data),]na.contiguous,但没有运气。现在发生的是当我尝试将数据转换为TS对象时,

inflation.ts.it <- ts(inflation.it, frequency = 4, interest.start)

我得到的奇怪值与原始数据不匹配。

感谢。

PS。数据(我没有发布所有内容,只是为了得到一个想法):

     gdp.log       inflation  inflation.expectations     interest
1          .    2.4361259655                       .            .
2          .    2.9997029997                       .            .
3          .    1.5169194865                       .            .
4          .    1.5059368664        2.11467132957868            .
5          .    2.0591647331        2.02043102148892            .
6          .    1.9896193771        1.76791011585382            .
7          .    2.6436781609        2.04959978443843            .
8          .    3.3951497860        2.52190301432020            .
9          .    4.5467462347        3.14379838970698            .
10         .    5.0890585241        3.91865817645959            .
11         .    5.7110862262        4.68551019278066            .
12         .    7.7262693156        5.76829007519398            .
13         .    7.5292198967        6.51390849069030            .
14         .    6.9679849340        6.98364009316870            .
15         .    7.6006355932        7.45602743492283            .
16         .    5.6352459016        6.93327158141434            .
17         .    5.4853387259        6.42230128873304            .
18         .    6.6649899396        6.34655254012084            .
19         .    5.8577405857        5.91082878825926            .
20         .    5.5528612997        5.89023263777669            .
21         .    4.9125329499        5.74703119375926            .
22         .    4.2442820089        5.14185421108985            .

1 个答案:

答案 0 :(得分:0)

假设这些点位于原始CSV中,您可以在读入时将"."指定为na.string来修复它。

read.csv(text=
"gdp.log,inflation,inflation.expectations,interest
.,2.4361259655377,.,.
.,2.99970299970301,.,.
.,1.5169194865811,.,.
.,1.50593686649291,2.11467132957868,.
.,2.05916473317866,2.02043102148892,.
.,1.9896193771626,1.76791011585382,.
.,2.64367816091953,2.04959978443843,.",
header=TRUE, na.string=c(".", "NA"))

na.string可以是字符串的向量,以防多个代码用于缺失值。