Come estrarre gli elementi da un elenco nidificato utilizzando solo il pacchetto purrr? In questo caso voglio ottenere un vettore di intercettazioni dopo aver diviso un data.frame. Ho realizzato ciò di cui ho bisogno usando lapply(), ma mi piacerebbe usare solo le funzioni del pacchetto purrr.Estrarre elementi dall'elenco annidato utilizzando solo le funzioni del pacchetto purrr
library(purrr)
mtcars %>%
split(.$cyl) %>%
map( ~lm(mpg ~ wt, data = .)) %>% # shorthand NOTE: ~ lm
lapply(function(x) x[[1]] [1]) %>% # extract intercepts <==is there a purrr function for this line?
as_vector() # convert to vector
Ho cercato map() e at_depth(), ma nulla sembrava funzionare per me.
Come hai provato a 'map'? Se cancelli il nome della funzione 'lapply' e lo sostituisci con' map' - gli stessi stessi argomenti - funziona perfettamente. – Gregor
Ho trovato utile la pagina di aiuto per 'map'. Sembra che tu possa fare qualche codifica di scorciatoia rispetto a 'lapply'. Come 'map_dbl (c (1, 1))' per l'indicizzazione di elenchi annidati. – aosmith
@ Gregor. Aaaargh! Questo è troppo ovvio. Grazie – hackR