我有一個文件格式在下面(注意:忽略每行之間的空行,我插入它,因此它被正確格式化爲文章)R讀取非標準文件的R時間序列和數據幀對象
MSFT Equity,2014-03-03,23.5,42.3,2014-03-04,23.6,42.5,...
INTC Equity,2014-03-03,23.5,42.3 ,2014-03-04,23.6,42.5,..........
AAPL Equity,2014-03-03,23.5,42.3,2014-03-04,23.6,42.5,.. ........ 。 。 。
在每一行中,第一列代表ticker。然後它有日期,然後有兩個數據點在很多日期重複。根據開始日期,行的長度可以非常長,以千爲單位。行數可以以數百個爲單位,取決於代號的數量。
理想情況下,我想爲每行創建一個數據框,其中日期爲索引,兩個數據點爲兩列。然後,我可以有一個數據框列表作爲列表的索引。或者,代替數據框,每行兩個數據點中的每一個的兩個時間序列對象也可以工作。
任何幫助實施這種有效率將不勝感激。我的實現的僞代碼可能效率不高,在處理非常大的文件時可能會使計算機停止運行。
1) rf <- read.csv(infl, header = FALSE, sep = ",", quote = "",
dec = ".", fill = FALSE, comment.char = "")
2) Read each row and each comma seperated data
3) Then create xts object for each date and data point pair and use rbind to build the full timeseries for each row and for each of the two data points.
e.g. datapt1 <- xts(price1,dt) (e.g.2014-03-03, 23.5)
datapt2 <- xts(price2,dt) (e.g. 2014-03-03, 42.3)
fullxts1 <- rbind(fullxts1,datapt1) #
fullxts2 <- rbind(fullxts2,datapt2)
4) create a dataframe for each row by utilizing two xts object created above.
5) create a list object with ticker as index and dataframe as the element.
我希望我對上述問題的描述很清楚。在此先感謝幫助
你寫的「然後它有日期,然後有兩個數據點重複自己的許多日期」。你的意思是所有的代理人你有相同的2個數據點,就像你上面的例子嗎?如果是的話,爲什麼要打擾所有的如果他們都是相同的除了股票嗎? – hvollmeier
你好,當我爲帖子手動創建樣本文件格式時,我沒有注意這些值。在實際的文件中,每個日期和每個日期的值是不同的row。 – Muk