我在r中对时间序列对象进行子集化时遇到了一些麻烦。r中的子集时间序列
1.I导入csv文件分为R如下
sz.bm.df <- read.csv('size_book_25.csv',header=T)
2. csv文件具有1038行和25列(除去在Excel中日期栏以后),缺失值被指定通过-99.99
3.I然后,创建一个时间序列对象与自定义时间范围如下
szbm.ts.data <- ts(data=sz.bm.df,start=c(1926,7),frequency=12)
4.现在我想处理缺失的值问题(我有这个问题)。我想从时间序列对象中创建一个子集,该子集从最后一行开始,我们在此找到-99.99直到原始对象结束。我尝试了以下提取上缺失值被发现的日期:
time(szbm.ts.data[which(szbm.ts.data==-99.99)])
然而,而不是给我一套日期这给了我:
[1] 1 2 3 4 5 6 7 8 9 10 11 12
ATTR(“TSP “) [1] 1 12 1
我在这做错了什么?
感谢您的帮助
谢谢你,我会试试看! – HalfAFoot
我尝试了你的第一个解决方案,但是我得到了** NA **。我试过这个'idx < - time(szbm.ts.data)[tail(which(szbm.ts.data == - 99.99),1)+1]'。当我只尝试下面的尾巴(其中(szbm.ts.data == - 99.99),1)+ 1',我得到了一个非常大的数字** 24973 ** ....帮助! – HalfAFoot
@Half,添加了多变量系列的例子。在提出进一步问题之前,请遵循**注释**中的说明。 –