Извлекать первый элемент списка при очистке html-таблиц с помощью rvest

#r #rvest #purrr

#r #rvest #мурлыканье

Вопрос:

Я успешно собрал таблицу с этой веб-страницы, используя приведенный ниже rvest код:

 march19 <- read_html("http://mcsafetyfeed.org/incidents.php?date=2019-03-19")

march19_df <- march19 %>% 
  html_nodes("table") %>% 
  html_table(header = TRUE)
  

Если у вас есть 2 секунды, пожалуйста, запустите этот код, чтобы извлечь таблицу ( march19_df ). Вместо публикации dput таблицы, которая составляет около 1 миллиона строк, я бы предпочел сохранить глаза читателя

Результирующая таблица представляет собой список из 1 элемента, который включает таблицу в качестве фрейма данных. Я хотел бы извлечь этот элемент, и пробовал это безрезультатно:

march19_df %>% map(1)

Это просто дает мне все даты, тогда как я хочу извлечь фрейм данных из списка.

Комментарии:

1. Может быть, добавить %>% magrittr::extract2(1) в конец?

2. Или %>% `[[`(1) , или %>% pluck(1) который, как я нахожу, требует меньше ввода (pluck находится в purrr, поэтому я обычно загружаю его, в отличие от magrittr, который я редко делаю)

3. %>% [[ (1) сработало! Но, pluck не работает… Интересно, есть ли функция, которая делает %>% [[ (1) @CalumYou … На самом деле, я только что попробовал решение @joran, и оно тоже работает!

4. Или %>% as.data.frame() также должно сработать

5. magrittr::extract2() это точно, `[[`() но purrr::pluck() немного отличается. purrr Установлены ли вы и подключены ли?