Namenlistenelemente in R

Ich habe in letzter Zeit einige Arbeiten mit einigen großen, komplexen Listen durchgeführt und ein überraschendes Verhalten festgestellt (zumindest für mich), hauptsächlich im Zusammenhang mit der Zuweisung von Namen zu einer Liste. Ein einfaches Beispiel:

Fil <- list(
a = list(A=seq(1, 5, 1), B=rnorm(5), C=runif(5)), 
b = list(A="Cat", B=c("Dog", "Bird"), C=list("Squirrel", "Cheetah", "Lion")),
c = list(A=rep(TRUE, 5), B=rep(FALSE, 5), C=rep(NA, 5)))

filList <- list()

for(i in 1:3){
  filList[i] <- Fil[i]
  names(filList)[i] <- names(Fil[i])
}
identical(Fil,filList)
[1] TRUE

aber

for(i in 1:3){
  filList[i] <- Fil[i]
  names(filList[i]) <- names(Fil[i])
}
identical(Fil,filList)
[1] FALSE

Ich denke, der Hauptgrund, warum es mich verwirrt, ist die Form der linken Seite des erstennamesie @ -Zeile in der ersten for-Schleife muss sich von der auf der rechten Seite unterscheiden, damit sie funktioniert. Ich hätte gedacht, dass diese gleich sein sollten. Kann mir das bitte jemand erklären?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage