當創建嵌套列表時,我認爲,列表元素有用的命名結構。我有一個列表清單,並且想要應用任何列表中包含的每個矢量的函數。 lapply
這樣做,但然後剝離列表的命名結構。我怎麼能lapply
嵌套列表的每個向量元素不剝離名稱?我嘗試傳遞索引,但似乎做同樣的事情(地帶名稱)。lapply over nested list並保留命名/結構
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]]))
控制檯輸出:
> 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"
期望的結果:
$n1
$n1$a
[1] "5"
$n1$b
[1] "foo5"
$n2
$n2$a
[1] "f"
$n2$b
[1] "ffoo"
@shujaa是我編輯,以反映您的評論 –