Как я могу full_join список список списка фреймов данных - PullRequest
0 голосов
/ 25 января 2020

Я прочитал несколько URL-адресов с сайта и теперь у меня есть список списка фреймов данных (tbl). Теперь мне нужно полностью объединить эти списки фреймов данных в один фрейм данных.


library(xml2)
library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(purrr)
library(rvest)
#> 
#> Attaching package: 'rvest'
#> The following object is masked from 'package:purrr':
#> 
#>     pluck


url <- file.path(str_c("https://amx.am/en/9/trading/10/instruments", '?page=', 1:3))
#> Error in str_c("https://amx.am/en/9/trading/10/instruments", "?page=", : could not find function "str_c"

tbl <- lapply(url, read_html) %>% lapply(html_table)
#> Error in UseMethod("read_xml"): no applicable method for 'read_xml' applied to an object of class "name"

Создано в 2020-01-25 с помощью пакета prepx (v0.3.0)

1 Ответ

1 голос
/ 25 января 2020

Каждая url имеет несколько таблиц, поэтому для их объединения вы можете использовать

library(rvest)
library(purrr)
library(dplyr)

map(url, ~read_html(.x) %>% html_table) %>%
   flatten() %>%
   bind_rows()

Или, если вы хотите full_join их вместе, мы можем сделать это с помощью reduce

map(url, ~read_html(.x) %>% html_table) %>%
  flatten() %>%
  reduce(full_join))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...