erwartete ich habe die folgende ListeDollar Operator als Funktionsargument für sapply funktioniert nicht wie
test_list=list(list(a=1,b=2),list(a=3,b=4))
und ich möchte a
alle Elemente mit Listenelementnamen extrahieren.
Ich kann dies tun über
sapply(test_list,`[[`,"a")
, die mir gibt das korrekte Ergebnis
#[1] 1 3
Wenn ich das gleiche mit Rs Dollar Operator $
versuchen, erhalte ich NULL
sapply(test_list,`$`,"a")
#[[1]]
#NULL
#
#[[2]]
#NULL
Allerdings, wenn ich es auf ein einzelnes Element vonverwende, Sie sollen
`$`(test_list[[1]],"a")
#[1] 1
Bin ich etwas offensichtlich hier fehlt?
Sehr interessante Antwort! Es zeigt im Grunde, dass bereits 'x =" a ";" $ "(test_list [[1]], x);' ein falsches Ergebnis ergibt. – cryo111
Ähnlich wie das, was Sie gesagt haben, "$" (test_list [[1]], a) ergibt "1", obwohl kein Objekt "a" definiert wurde. – cryo111