Tôi gặp sự cố đơn giản nhưng không thể tìm thấy câu trả lời đơn giản cho nó. Tôi có các loại sau đây của danh sáchSắp xếp lại các yếu tố danh sách
my.list=list(a=c(1,2,3),random=1,list=matrix(1:10,nrow=2))
trong đó tôi muốn thay đổi thứ tự của các yếu tố danh sách (ở đây: 'a', 'danh sách' 'ngẫu nhiên' và) theo thứ tự của danh sách khác (' a', 'danh sách', 'ngẫu nhiên'), hoặc do một vector của tên danh sách: tên (my.other.list):
my.other.list=list(a=c(4,5,6),list=matrix(101:110,nrow=2),random=2)
nên mục tiêu là để có được danh sách này:
my.wanted.list=list(a=c(1,2,3),list=matrix(1:10,nrow=2),random=1)
Lưu ý rằng cả hai danh sách (my.list và my.other.list) đều có cùng tên danh sách, nd rằng những không thể được sắp xếp theo thứ tự bảng chữ cái hoặc như vậy.
Tôi tạo ra vòng lặp này:
my.wanted.list=list()
for(i in 1:length(my.list)){
my.wanted.list[[i]]=my.list[[names(my.other.list)[i]]]
}
names(my.wanted.list)=names(my.other.list)
Nhưng điều đó có vẻ như một giải pháp tiêu thụ cho một vấn đề dường như đơn giản thời gian. Đặc biệt nếu các danh sách lớn hơn. Vì vậy, có một cách đơn giản hơn để làm điều này?
Cảm ơn bạn.
còn về 'my.list [tên (my.other.list)]'? –