【发布时间】:2018-12-14 09:57:20
【问题描述】:
我正在导入 500 个具有以下类似格式的 csv:
其中 stockname 是单个股票的股票代码。我将股票代码列表保存在名为 stocklist 的数据框中。
我想使用 lapply 来遍历我的股票列表。到目前为止,这是我所拥有的:
lst <- lapply(stocklist, function(i){
url <- paste0("https://www.quandl.com/api/v3/datasets/WIKI/",i,"/data.csv?column_index=11&transform=rdiff&api_key=XXXXXXXXXXXXXXX")
spdata <- read.csv(url, stringsAsFactors = FALSE)
})
我收到以下错误:
Error in file(file, "rt") : invalid 'description' argument
什么可能导致此错误?我也尝试使用 for 循环,但没有成功,有人告诉我 lapply 是 R 中用于此类任务的更好方法。
编辑:
库存清单结构:
> dput(droplevels(head(stocklist)))
structure(list(`Ticker symbol` = c("MMM", "ABT", "ABBV", "ABMD",
"ACN", "ATVI")), .Names = "Ticker symbol", row.names = c(NA,
6L), class = "data.frame")
第二次编辑(解决方案):
stockdata<-lapply(paste0("https://www.quandl.com/api/v3/datasets/WIKI/",stocklist[1][[1]],"/data.csv?column_index=11&transform=rdiff&api_key=XXXXXXX"),read.csv,stringsAsFactors=FALSE)
为股票数据添加名称:
names(stockdata)<-stocklist[1][[1]]
【问题讨论】:
-
请注意,keyname 是 API 密钥的占位符
-
如果没有我自己的 API 密钥,很难知道发生了什么。您是否尝试过直接使用
quandl包? -
我确实尝试了 quandl 包,但遇到了错误。这似乎是防火墙问题。
-
您能发布该 URL 的呈现方式吗?如果你访问它,它会提示你下载或在浏览器中查看吗?
-
lapply(paste0(....,stocklist,....),read.csv,stringAsFactors=F)因为粘贴是矢量化的
标签: r loops import lapply stockquotes