Khi tạo danh sách lồng nhau R có, những gì tôi xem xét, cấu trúc đặt tên hữu ích cho các yếu tố của danh sách. Tôi có một danh sách các danh sách và muốn áp dụng một hàm của mỗi vectơ đơn chứa trong bất kỳ danh sách nào. lapply
thực hiện điều này nhưng sau đó loại bỏ cấu trúc đặt tên của danh sách. Làm thế nào tôi có thể lapply
của mọi phần tử vectơ của danh sách lồng nhau mà không tước tên? Tôi đã cố gắng vượt qua chỉ số thay vào đó nhưng điều đó dường như làm điều tương tự (tên dải).lapply trên danh sách lồng nhau và giữ lại đặt tên/cấu trúc
TEST <- list(n1=list(a="5", b="65"), n2=list(a="f", b= "f6"))
TEST
lapply(TEST, function(x) gsub("6", "foo", x))
lapply(seq_along(TEST), function(i) gsub("6", "foo", TEST[[i]]))
điều khiển Output:
> TEST
$n1
$n1$a
[1] "5"
$n1$b
[1] "65"
$n2
$n2$a
[1] "f"
$n2$b
[1] "f6"
> lapply(TEST, function(x) gsub("6", "foo", x))
$n1
[1] "5" "foo5"
$n2
[1] "f" "ffoo"
kết quả mong muốn:
$n1
$n1$a
[1] "5"
$n1$b
[1] "foo5"
$n2
$n2$a
[1] "f"
$n2$b
[1] "ffoo"
@shujaa vâng tôi chỉnh sửa để phản ánh nhận xét của bạn –