我在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,添加了多變量系列的例子。在提出進一步問題之前,請遵循**註釋**中的說明。 –