我有一个标题。我的目录中的每一行都包含一个url和一个名称。我想映射到这个代码中的每一行,并将完整的行传递给一个函数(scrape_function)。
pagelist
# A tibble: 10 × 2
href text
<chr> <chr>
1 /page-one.html page name
2 /page-two.html page 2 name
3 /page-three.html page 3 name
4 /page-four.html page 4 name
5 /page-five.html page 5 name
... etc ...
我该怎么做?我认为像map_dfr
这样的东西可能会起作用,但在下面的代码中,我得到了一个错误Error:
xmust be a string of length 1
。我如何将整行传递给函数?
pagelist %>%
map_dfr(function(x) { scrape_function(x) } )
如果函数接受两个参数,即'href'和'text',则可以使用map2
library(dplyr)
library(purrr)
library(tidyr)
pagelist %>%
mutate(out = map2(href, text, ~ scrape_function(.x, .y))) %>%
unnest(out)
如果需要接受两个以上的参数,则使用pmap
pagelist %>%
mutate(out = pmap(across(everything()), ~ scrape_function(..1, ..2, ..3)))