r - r 中的 api - parse_url(url) 中的错误:length(url) == 1 is not TRUE
问题描述
你好。
我正在尝试使用此功能提取一些数据...
orats <- function(data="cores/general",tickers,token){
t1 = paste(tickers,sep=",")
x1 = GET(paste("https://api.orats.io/data/",data,"?ticker=",t1,sep=""),add_headers(Authorization=token))
x2 = content(x1)[[1]]
data.frame(t(sapply(x2, function(x) x[1:max(lengths(x2))])))
}
一切都很好。但是,对于 tickers 参数,我必须将其写为:
tickers <- "AAPL,MSFT"
每当我尝试使用分隔字符的向量时,它都不起作用。例如:
tickers <- c("AAPL","MSFT")
~runs code~
Error in parse_url(url) : length(url) == 1 is not TRUE
我已经阅读了大多数包含此错误的帖子,但我还没有找到可行的解决方案。为了灵活性,我想知道如何使这个函数与我的第二个例子一起工作[即。股票代码<-c("AAPL","MSFT")]。
谢谢。
解决方案
不要使用 sep 而是在粘贴中折叠:
tickers <- c("AAPL", "MSFT")
t1 = paste(tickers, sep = ",")
t1
[1] "AAPL" "MSFT"
t1 = paste(tickers, collapse = ",")
t1
[1] "AAPL,MSFT"
推荐阅读
- python-3.x - 如何使 Python 中的代码更高效,因为该程序会为大型输入数据集提供时间执行错误
- php - 如何让 jQuery 在返回之前等待 Ajax 调用完成
- c++ - 是 reinterpret_cast
(myTypePtr) 假设指向一个数组? - c++ - 如何将零填充的多维数组传递给 C++ 中的函数?
- javascript - React Router DOM 仅在需要时加载组件
- python - 用于合并特定行的 Pandas Dataframe 操作
- c# - 如何从 Business Central 获取数据?
- c# - Excel/VSTO:错误 0x80028018 仅在直接绑定到 interop.-provided 属性时
- python - 获取与语句匹配的数组中的任何元素
- python - 如何打印表格