Tôi có danh sách sau đây của danh sách:Giải nén tất cả các giá trị từ danh sách liệt kê với cùng tên vector
list_1 <- list(a = 2, b = 3)
list_2 <- list(a=c(5,6), b= c(2,3))
list_3 <- list(a=c(10,5,8,1), b=c(9,6,2,9))
list_4 <- list(a=c(2,5,58), b=c(69,6,23))
mylist <- list(list_1, list_2, list_3, list_4)
names(mylist)<- c("list_1", "list_2", "list_3", "list_4")
Bây giờ những gì tôi muốn là để trích xuất tất cả các a và giá trị b từ danh sách và lưu chúng hoặc là một data.frame với những cái tên danh sách tương ứng như một cột ID như:
[ID] [a] [b]
[1] list_1 2 3
[2] list_2 5 2
[3] list_2 6 3
[4] list_3 10 9
[5] list_3 5 6
[6] list_3 8 2
[7] list_3 1 9
[8] list_4 2 69
[9] list_4 5 6
[10] list_4 58 23
hoặc là biến, chẳng hạn rằng a
chứa tất cả một giá trị, b
chứa tất cả các giá trị b, và ID
chứa danh sách các ID tương ứng:
[a]
2 5 6 10 5 8 1 2 5 58
[b]
3 2 3 9 6 2 9 69 6 23
[ID]
"list_1" "list_2" "list_2" "list_3" "list_3" "list_3" "list_3" "list_4" "list_4" "list_4"
Tôi đã thử phương pháp thứ hai với vòng lặp for nhưng không thể sửa đổi để lưu trữ kết quả mong muốn. Nhưng ngay cả khi tôi có thể xoay xở điều đó, tôi không biết làm cách nào để giải quyết vấn đề ID. Nó sẽ là tuyệt vời nếu các giải pháp có thể là một chung, bởi vì tôi có nhiều danh sách như vậy có độ dài khác nhau.