2012-02-17 33 views
2

我有一個CSV這樣的數據:研究 - 從CSV股市數據XTS

Date ALICORC1 ALT ATACOBC1 AUSTRAC1 CONTINC1 BVN DNT 
40886 5.8  0.1 0.9  0.28  5.45  38.2 1.11 
40889 5.8  0.1 0.88  0.28  5.37  37.7 1.04 
40890 5.8  0.09 0.87  0.27  5.33  37.4 0.99 
40891 5.7  0.1 0.85  0.27  5.3  37.5 0.91 

這些股票收盤價格從祕魯股市,我想將它們轉換爲XTS這樣我就可以找到最佳的投資組合和其他的東西,但我找不到將這個CSV轉換爲xts的方式。我已經檢查了許多問題的答案,但沒有一個能夠奏效。

一些我已經得到了錯誤的是:

  • 指數有XXXX壞的條目中,數據行
  • 不明確的數據。

任何人都可以幫助我嗎?

+4

請提供您嘗試的代碼和您收到的確切錯誤。 – 2012-02-17 21:52:21

回答

5

csv代表逗號 -separated-values所以問題中顯示的佈局不是csv。我們將假設數據確實以csv形式存在,而不是以問題形式顯示。如果它確實是問題中顯示的形式而不是csv,則請在下面的read.zoo中省略sep=","參數。此外,如果還有其他偏差,您可能需要進一步修改參數。請參閱動物園包中的?read.zooReading Data in Zoo小插圖。

這裏我們使用read.zoo在動物園包中的數據作爲動物園的對象,z讀,然後我們將其轉換爲XTS,x

請參閱R News 4/1哪些具體處理Excel日期處理日期注意到如果正在使用Mac版本的Excel(如參考中所述),我們可能需要稍微修改下面的代碼。

library(xts) # this also loads zoo which has read.zoo 

toDate <- function(x) as.Date(x, origin = "1899-12-30") 
z <- read.zoo("myfile.csv", header = TRUE, sep = ",", FUN = toDate) 
x <- as.xts(z)