如何用R语言映射代码?



我有一个标题。我的目录中的每一行都包含一个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)))

最新更新