我试图从雅虎财务中下载道琼斯指数中所有30股股票的数据。我也曾尝试过多伦多证券交易所(tsx),但没办法,我从R收到同样的消息。请有人帮我处理代码,同时获得所有股票。如果我手动获得全部30(道琼斯30)或Tsx(60股),那将不会很棒。这些是我的代码:
dow=read.csv("DowJones30.csv",header=TRUE)
文件错误(文件," rt"):无法打开连接
另外:警告信息:
在文件中(文件," rt"):无法打开文件' DowJones30.csv':没有这样的文件 或目录
dow=read.csv("tsx.csv",header=TRUE)
文件错误(文件," rt"):无法打开连接
另外:警告信息:
在文件中(文件," rt"):无法打开文件' tsx.csv':没有这样的文件或 目录
答案 0 :(得分:0)
该错误表示您当前的工作目录(getwd()
)中没有该文件。
如果您想要在R-Forge上托管DowJones30.csv文件,您实际上可以通过URL直接加载它:
df <- read.csv('http://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/fBasics/data/DowJones30.csv?revision=1&root=rmetrics&pathrev=1',sep=';');
head(df);
## X.Y..m..d AA AXP T BA CAT C KO DD EK XOM GE GM HWP HD HON INTC IBM IP JPM JNJ MCD MRK MSFT MMM MO PG SBC UTX WMT DIS
## 1 1990-12-31 5.92 4.70 14.67 21.77 9.30 1.87 9.88 13.15 23.02 12.09 4.63 19.72 3.91 2.80 5.70 1.20 27.86 20.45 2.67 7.31 7.08 11.83 2.08 31.41 10.55 20.91 9.75 9.31 7.05 7.86
## 2 1991-01-02 5.92 4.70 14.67 21.77 9.30 1.87 9.88 13.15 23.02 12.09 4.63 19.72 3.91 2.80 5.70 1.20 27.86 20.45 2.67 7.31 7.08 11.83 2.08 31.41 10.55 20.91 9.75 9.31 7.05 7.86
## 3 1991-01-03 5.88 4.73 14.73 21.71 9.15 1.87 9.60 12.83 22.95 12.15 4.53 19.57 3.91 2.74 5.67 1.20 27.95 20.21 2.67 7.23 6.99 11.45 2.09 30.90 10.27 20.70 9.64 9.19 7.05 7.82
## 4 1991-01-04 5.76 4.73 14.79 22.50 9.00 1.92 9.85 13.06 22.74 12.27 4.47 19.00 3.85 2.75 5.65 1.20 27.86 20.50 2.69 7.18 7.02 11.27 2.11 30.80 10.24 20.48 9.56 9.24 6.97 7.79
## 5 1991-01-07 5.72 4.58 14.67 21.65 8.87 1.89 9.69 12.83 22.11 12.12 4.40 18.35 3.88 2.65 5.50 1.19 27.39 20.45 2.58 6.96 6.80 10.97 2.08 30.43 10.08 20.05 9.40 8.95 6.82 7.58
## 6 1991-01-08 5.63 4.53 14.73 21.34 9.05 1.85 9.60 12.60 22.18 12.09 4.44 18.28 3.90 2.59 5.47 1.18 27.08 20.26 2.58 7.02 6.83 11.01 2.04 29.65 10.11 20.02 9.32 8.78 6.85 7.41
答案 1 :(得分:0)
另一种方式!仅供记录。
library(XML)
urlt <- "http://money.cnn.com/data/dow30/"
doc.html = htmlTreeParse(urlt, useInternal = TRUE)
tables <- readHTMLTable(doc.html,as.data.frame=FALSE)
length(tables)
tables[[2]]
tables <- readHTMLTable(doc.html,
stringsAsFactors=FALSE,which = 2)
ticker=sapply(1:length(tables$Company),function(xs)
strsplit(rawToChar(charToRaw(text[xs])),"Â",fixed=TRUE)[[1]][1]
)
#ticker <- as.vector(as.character(ticker))
library(quantmod)
StockData <- new.env()
data <- getSymbols(ticker, env = StockData)
do.call(merge, eapply(StockData, Cl)[ticker])
答案 2 :(得分:0)
如果您在R-Studio工作,请选择&#39;会话&#39;从屏幕顶部的下拉菜单中,然后设置工作目录&gt;选择目录&#39;,然后选择包含您要打开的文件的文件夹(在本例中为&#34; DowJones30.csv&#34;&amp;&#34; tsx.csv&#34;)。
如果您不在R-Studio工作,我强烈建议您安装R-Studio。