我是R的新手,试图通过CBOE的简单读取和Yahoo的quantmod数据来合并数据。理解R是如何工作的,我有一些问题。我正在通过CBOE(芝加哥期权委员会)阅读SKEW数据:
skew <- read.csv("http://www.cboe.com/publish/scheduledtask/mktdata/datahouse/Skewdailyprices.csv",skip=1,header=TRUE,stringsAsFactors=F)
第一列数据是以mm / 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
会这样做。
答案 0 :(得分:4)
R允许变量名中的点,通常用于代替空格来分隔变量名称中的单词
skew.dte <- as.Date(skew[,1],format="%m/%d/%Y")
将值赋给名为skew.dte
的变量。
如果要将值添加到数据框,请使用
skew$dte <- as.Date(skew[,1],format="%m/%d/%Y")
答案 1 :(得分:3)
如Conjugate所述,您需要使用$来访问对象(这里是数据帧)或[运算符]中的项目。有关详细信息,请参阅R user manual第6章
skew$dte <- as.Date(skew$Date,format="%m/%d/%Y")
或
skew[,'dte'] <- as.Date(skew[,'Date'],format="%m/%d/%Y")
(或其任何混合物)