r - 当我使用 sapply 时,“parse_url(url) 中的错误:length(url) == 1 is not TRUE”
问题描述
我创建了一个调用 API 的函数,但是长度(url)有问题。我将代码简化如下以显示问题:
library(jsonlite)
library(httr)
df<-data.frame("names"=c("20523717759","20555589574"))
calling<- function(x){
url1<-paste("https://api.sunat.cloud/ruc/",x,sep = "", collapse = NULL)
url1
res<- GET(url1)
}
sapply(df,calling)
我有下一个错误:
Error in parse_url(url) : length(url) == 1 is not TRUE
回溯是这样的:
13.
stop(simpleError(msg, call = if (p <- sys.parent(1L)) sys.call(p)))
12.
stopifnot(length(url) == 1)
11.
parse_url(url)
10.
is.url(url)
9.
stopifnot(is.url(url))
8.
build_url(parse_url(url)[c("scheme", "hostname", "port")])
7.
handle_name(url)
6.
handle_find(url)
5.
handle_url(handle, url, ...)
4.
GET(url1)
3.
FUN(X[[i]], ...)
2.
lapply(X = X, FUN = FUN, ...)
1.
sapply(df, calling)
如何更改我的函数“调用”以应用于我的 df ?谢谢!
解决方案
在这里,我们可能需要提取 'names' 列,然后使用
sapply(df$names, calling)
推荐阅读
- jms - QPID JMS 心跳 / Keepalive
- php - 对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。=> Cors/Laravel
- ios - UICollectionview 带有动态数据的自定义布局
- android - 在 Ionic 4 中控制的 android 默认后退按钮
- javascript - discord.js 不播放音频文件
- django - 如何更改基于 URL 返回的查询集
- gradle - 在本地运行 Azure Pipeline Gradle 任务
- matlab - matlab 应用程序设计器下拉\带有复选框的列表框
- html - 在行内块列中居中段落
- python-3.x - 让用户只输入整数