Когда я впервые запускаю приведенный ниже код, все в порядке. Но когда я что-то меняю в html_file %>%...
команде, например, комментируя tolower()
, я получаю следующую ошибку:
Error: target title failed.
diagnose(title)error$message:
external pointer is not valid
diagnose(title)error$calls:
1. └─html_file %>% html_nodes("h2") %>% html_text()
Код:
library(rvest)
library(drake)
some_string <- '
<div class="main">
<h2>A</h2>
<div class="route">X</div>
</div>
'
html_file <- read_html(some_string)
title <- html_file %>%
html_nodes("h2") %>%
html_text()
plan <- drake_plan(
html_file = read_html(some_string),
title = html_file %>%
html_nodes("h2") %>%
html_text() %>%
tolower()
)
make(plan)
Я нашел два возможных решения, но не в восторге от них.
1. Объедините оба шага в drake_plan
в один.
2. Используйте xml2::write_html()
и xml2::read_html()
, как предлагается здесь.
Есть ли лучший способ решить эту проблему? P.S. Проблема уже обсуждалась здесь, Форум Rstudio и на github.