Beim Erstellen von verschachtelten Listen hat R, was ich halte, hilfreiche Namensstruktur für die Elemente der Liste. Ich habe eine Liste von Listen und möchte eine Funktion jedes einzelnen Vektors anwenden, der in irgendeiner Liste enthalten ist. lapply
tut dies aber dann streift die Benennungsstruktur der Liste. Wie kann ich lapply
von jedem Vektorelement der verschachtelten Liste ohne die Namen strippen? Ich habe versucht, den Index zu übergeben, aber das scheint dasselbe zu tun (Strip-Namen).überlappende verschachtelte Liste und behalten Sie die Benennung/Struktur
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]]))
Konsolenausgabe:
> 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"
Gewünschtes Ergebnis:
$n1
$n1$a
[1] "5"
$n1$b
[1] "foo5"
$n2
$n2$a
[1] "f"
$n2$b
[1] "ffoo"
@shujaa zu vermeiden, ja bearbeitet ich deinen Kommentar –