x[[1]]中出错:下标超出边界-R中的web刮片

x[[1]]中出错:下标超出边界-R中的web刮片,r,rvest,R,Rvest,我试图用R()重新创建这个Web垃圾数据的工作示例 但是,当我执行代码行all.h1b时,当您试图访问超出其边界的数组时,通常会出现此错误。 有时,当软件包版本不是最新的或过于最新时,也会发生这种情况。 我也在尝试代码,让我们看看它是否有效,或者我是否有同样的问题 试试这些变化 library(jsonlite) library(rvest) library(pbapply) library(data.table) json.cities<-paste0('http:/

我试图用R()重新创建这个Web垃圾数据的工作示例


但是,当我执行代码行
all.h1b时,当您试图访问超出其边界的数组时,通常会出现此错误。
有时,当软件包版本不是最新的或过于最新时,也会发生这种情况。
我也在尝试代码,让我们看看它是否有效,或者我是否有同样的问题

试试这些变化

library(jsonlite)
   library(rvest)
   library(pbapply) 
   library(data.table)
json.cities<-paste0('http://h1bdata.info/cities.php?term=', letters)
all.cities<-unlist(pblapply(json.cities,fromJSON))
city.year<-expand.grid(city=all.cities,yr=seq(2012,2016))
city.year$city<-urltools::url_encode(as.character(city.year$city))
city.year$city <- lapply(as.character(city.year$city), URLencode , reserved = TRUE)
all.urls<-paste0('http://h1bdata.info/index.php?em=&job=&city=', city.year[,1],'&year=', city.year[,2])
main<-function(url.x){
  x<-read_html(url.x)
  x<-html_table(x)
  x<-data.table(x[1])
  return(x)
  Sys.sleep(5)
}

all.h1b<-pblapply(all.urls, main)
library(jsonlite)
图书馆(rvest)
图书馆(pbapply)
库(数据表)

欢迎光临!你能写出
class(x)
str(x)
的输出吗?谢谢。对不起,我对R很陌生,所以请容忍我。你想让mew在什么时候使用
class(x)
str(x)`写R
class(x)
str(x)
,运行代码并告诉我们哪个是输出。
class(x)
[1]“numeric”
str(x)
num[1:100]0.597-0.323-0.199-0.47-0.335…好的,所以如果
x
是数值,你需要称它为
x[1]
而不是
x[[1]]
如果它是一个
列表,而不是
数字,则应使用该符号
library(jsonlite)
   library(rvest)
   library(pbapply) 
   library(data.table)
json.cities<-paste0('http://h1bdata.info/cities.php?term=', letters)
all.cities<-unlist(pblapply(json.cities,fromJSON))
city.year<-expand.grid(city=all.cities,yr=seq(2012,2016))
city.year$city<-urltools::url_encode(as.character(city.year$city))
city.year$city <- lapply(as.character(city.year$city), URLencode , reserved = TRUE)
all.urls<-paste0('http://h1bdata.info/index.php?em=&job=&city=', city.year[,1],'&year=', city.year[,2])
main<-function(url.x){
  x<-read_html(url.x)
  x<-html_table(x)
  x<-data.table(x[1])
  return(x)
  Sys.sleep(5)
}

all.h1b<-pblapply(all.urls, main)