我正试图遍历mpg包中的fevehicle()函数,这是由以下提供的:
https://github.com/rOpenGov/mpg
我一直在尝试为函数提供多个vinids,甚至给函数在循环之间提供5秒的休息时间以防万一,但是我一直收到一个HTTP错误--即使只有一个,这个函数工作得很好。知道会是什么吗?以下是代码:
#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)两者都抛出以下错误:
[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)
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发布于 2016-12-13 18:16:45
这是因为在您的单个示例中,您给出了一个数字,但是在循环中使用了一个字符:
#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”
https://stackoverflow.com/questions/41127719
复制相似问题