R将列表转到数据框

时间:2018-01-21 16:25:13

标签: r list dataframe

我有一个网站抓取一些数据列表。

这是我使用的代码(感谢David Jankoski的想法):

> `x %>%
   html_nodes(".survey-row") %>%
   html_attr("data-url")
   list1 <- x
       [1] "http://catalog.ihsn.org/index.php/catalog/7118"
       [2] ...`   

此元素已

 `class "c('xml_document', 'xml_node')"`

我想将此列表(以及其他两个 - 与此非常相似)转换为数据框。 然而,我试过了

1。      list1.a <- as.data.frame(read_html(list1) %>% html_table(fill=TRUE))

2。       list.1.a <-do.call(rbind.data.frame, list1)

选项,但没有任何好结果,接收错误消息,如:

   1. `Error in UseMethod("read_xml") : 
   no applicable method for 'read_xml' applied to an object of class   "c('xml_document', 'xml_node')"

   2. Error in xi[[j]] : object of type 'externalptr' is not subsettable `

我试图在这里找到建议,但我抓住的那些显然是他们不能工作的。如果我没有注意到一些合适的问题/答案,我会道歉。

同样,我想在数据框中转换它以更好地管理数据,并最终通过可能运行的命令将它们合并到另一个更大的数据框中。足够快(例如,没有任何Sys.sleep()问题。 任何提示?

1 个答案:

答案 0 :(得分:0)

尝试以下方法 -

list_df <- purrr::map(.x = list1, .f = tibble::as_data_frame)

list_df元素应对应于数据框。