Làm cách nào để trích xuất các phần tử từ danh sách lồng nhau chỉ bằng gói purrr? Trong trường hợp này, tôi muốn lấy một véc tơ của các chặn sau khi tách một data.frame. Tôi đã hoàn thành những gì tôi cần bằng cách sử dụng lapply(), nhưng tôi chỉ muốn sử dụng các hàm purrr package.Trích xuất các phần tử từ danh sách lồng nhau chỉ bằng các hàm từ gói 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
Tôi đã thử bản đồ() và at_depth() nhưng dường như không có gì phù hợp với tôi.
Bạn đã thử 'bản đồ' như thế nào? Nếu bạn xóa tên hàm 'lapply' và thay thế nó bằng' map' - cùng một đối số chính xác - nó hoạt động tốt. – Gregor
Tôi tìm thấy trang trợ giúp cho 'bản đồ' hữu ích ở đây. Có vẻ như bạn có thể thực hiện một số mã hóa ngắn gọn so với 'lapply'. Giống như 'map_dbl (c (1, 1))' để lập chỉ mục các danh sách lồng nhau. – aosmith
@Gregor. Aaaargh! Điều đó quá rõ ràng. Cảm ơn – hackR