2012-03-25 32 views
2

我是R新手,嘗試通過來自CBOE的簡單讀取和來自雅虎的quantmod數據組合數據。理解R如何工作,我有幾個問題。我通過讀取來自CBOE(選項的芝加哥)SKEW數據:有關日期變量賦值的R問題

skew <- read.csv("http://www.cboe.com/publish/scheduledtask/mktdata/datahouse/Skewdailyprices.csv",skip=1,header=TRUE,stringsAsFactors=F) 

數據的第一列是在毫米/ dd/yyyy格式的日期。然後我試圖將其轉換爲一個日期:

skew.dte <- as.Date(skew[,1],format="%m/%d/%Y") 

其作品,但如果我再做:

head(skew)  
     Date SKEW  
1 1/2/1990 126.09  
2 1/3/1990 123.34  
3 1/4/1990 122.62  
4 1/5/1990 121.27  
5 1/8/1990 124.12  
6 1/9/1990 119.82 

我的問題是,爲什麼不dte數據幀skew的一部分?我認爲skew.dte會這樣做。

+1

因爲在你的第二個任務,你需要一個美元符號,而不是一個時期'skew.dte '? R不是蟒蛇(可悲)。 – conjugateprior 2012-03-25 19:19:12

回答

4

r可讓在變量名,經常代替空間的使用點的名稱分離的可變

skew.dte <- as.Date(skew[,1],format="%m/%d/%Y") 

話將值分配給被叫skew.dte變量。

如果你想添加值的數據幀使用

skew$dte <- as.Date(skew[,1],format="%m/%d/%Y") 
+0

該死的,打我吧。做得好。 – PaulHurleyuk 2012-03-25 19:49:57

+0

@PaulHurleyuk:好吧,你還給了另一個選擇! – nico 2012-03-25 20:09:06

3

由於共軛說,你需要使用$一個對象(這裏是數據幀),或[操作中訪問項目。見R user manual第六章更

skew$dte <- as.Date(skew$Date,format="%m/%d/%Y") 

skew[,'dte'] <- as.Date(skew[,'Date'],format="%m/%d/%Y") 

(或其任何混合物)

+2

另外'skew [['dte']] < - as.Date(skew [,1],format =「%m /%d /%Y」)'。我只是在說'... – conjugateprior 2012-03-25 20:33:11