數據非常格式化,但我無法對源執行任何操作。我試圖以更好的方式對它進行排序/格式化,以便對數據進行分析。排序具有多個日期列的數據框
在我的數據集中有多個以不同開始日期開始的日期列。這裏有一個例子:
DF <- data.frame(V1 = c('FS', 'Date', '1/31/2000','2/29/2000','',''),
V1.1 = c('','','99.87','99.97','',''),
V10 = c('FIIB','Date','10/29/2004','10/30/2004','12/31/2004','1/31/2005'),
V10.1 = c('','','103.24','104.82','105.14','107.68'))
它看起來像以下,但有數百列:
V1 V1.1 V10 V10.1
1 FS FIIB
2 Date Date
3 1/31/2000 99.87 10/29/2004 103.24
4 2/29/2000 99.97 11/30/2004 104.82
5 12/31/2004 105.14
6 1/31/2005 107.68
的開始日期是固定的,這是2000年1月31日,而結束日期爲上個月底,這是2016年4月30日。結束日期將逐月更新。如果證券在某些月份沒有回報,則使用空白或NA。例如,由於FS只有1/31和2/29/2000的價格,其餘的(從2000年3月31日到2016年4月30日)將是空白或NAs。有了這樣說,數據應該是這樣的:
V1 V2 V3 V4
Date FS FIIB ...
1/31/2000 99.87 NA ...
2/29/2000 99.97 NA ...
... ... ... ...
10/29/2004 NA 103.24 ...
11/30/2004 NA 104.82 ...
12/31/2004 NA 105.14 ...
1/31/2005 NA 107.68 ...
... ... ... ...
4/30/2016 ... ... ...
我知道如何使用order
基於特定列對數據進行排序。但有了多個日期,我需要一些幫助。謝謝!
是'FS','FIIB'和'日期'值應該是變量名?您的示例和期望輸出之間的移動邏輯是什麼? – effel
你究竟想做什麼? 「清理和整理我的數據集」很模糊...... – nsheff
是的,'FS'和'FIIB'是變量(安全)名稱。正如您所看到的,每個證券在下一列中都有下面的每月日期和每月的價格。問題是證券之間的開始日期不同。例如,'FS'具有1/31和2/29/2000的價格數據,而'FIIB'具有從10/29/2004到2016/4/30的數據。我想創建一個「日期」列,並相應地適合每月的數據。 –