首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rOpengov/mpg,循环通过VIN数字返回错误与单一使用?

rOpengov/mpg,循环通过VIN数字返回错误与单一使用?
EN

Stack Overflow用户
提问于 2016-12-13 18:03:23
回答 1查看 43关注 0票数 1

我正试图遍历mpg包中的fevehicle()函数,这是由以下提供的:

https://github.com/rOpenGov/mpg

我一直在尝试为函数提供多个vinids,甚至给函数在循环之间提供5秒的休息时间以防万一,但是我一直收到一个HTTP错误--即使只有一个,这个函数工作得很好。知道会是什么吗?以下是代码:

代码语言:javascript
运行
复制
#using a loop
vin = c("19UUA86209A000532", "19UUA86239A021598", "19UUA8F20CA037748", "19UUA8F21CA008002", "19UUA8F21CA017878")
for (i in vin) {
  library(mpg)
  print(i)
  print(substr(i, 13, 17))
  q = substr(i, 13, 17)
  z = feVehicle(q)
  Sys.sleep(5)
  z = t(unlist(z))

}

or
#using lapply to see a difference
lapply(vin, feVehicle)

两者都抛出以下错误:

代码语言:javascript
运行
复制
[1] "19UUA86209A000532"
[1] "00532"
failed to load HTTP resource
Error in t.default(unlist(z)) : argument is not a matrix
> lapply(vin, feVehicle)
failed to load HTTP resource
failed to load HTTP resource
failed to load HTTP resource
failed to load HTTP resource
failed to load HTTP resource    

但是,当我一次只在一个上运行它时,它工作得很好: mpg::feVehicle(00532)

代码语言:javascript
运行
复制
Vehicle data:
                                    value
atvType                            Diesel
barrels08              16.616739130434784
barrelsA08                            0.0
c240Dscr                             NULL
c240bDscr                            NULL
charge120                             0.0
charge240                             0.0
charge240b                            0.0
city08                                 21
city08U                               0.0
cityA08                                 0
cityA08U                              0.0
city
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-13 18:16:45

这是因为在您的单个示例中,您给出了一个数字,但是在循环中使用了一个字符:

代码语言:javascript
运行
复制
#using a loop
vin = c("19UUA86209A000532", "19UUA86239A021598", "19UUA8F20CA037748", "19UUA8F21CA008002", "19UUA8F21CA017878")
for (i in vin) {
  library(mpg)
  print(i)
  print(substr(i, 13, 17))
  q = substr(i, 13, 17)
  z = feVehicle(as.numeric(q))
  Sys.sleep(5)
  z = t(unlist(z))

}

1“19UA86209A000532”1 "00532“1”1“19 UUA86239A021598”1 "21598“1”1“19UA8F20CA037748”1 "37748“1”1“19UA8F21CA002”1“1 "08002”1 "19UUA8F21CA017878“1 "17878”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41127719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档