Wie erstelle ich eine Liste in R aus zwei Vektoren (einer wären die Schlüssel, der andere die Werte)?

Ich habe zwei Vektoren und möchte eine Liste in R erstellen, in der ein Vektor die Schlüssel und der andere die Werte sind. Ich dachte, dass ich die Antwort in meinen Büchern oder beim Durchstöbern leicht finden würde und erwartete eine Lösung wie beim Hinzufügen von Namen zu einem Vektor (names (v) <- names_vector), aber ich scheiterte.

Ich habe mir zwei mögliche Lösungen ausgedacht, aber keine davon erscheint mir elegant. R ist nicht meine Hauptprogrammiersprache, aber ich gehe davon aus, dass es eine bessere Lösung geben sollte, wenn R so pragmatisch ist (so etwas wie list (keys = x, values ​​= y)).

Meine Lösung 1: die klassische Loop-Lösung:

    > xx <- 1:3
    > yy <- letters1:3
    > zz =list()
    >for(i in 1:length(yy)) {zz[[yy[i]]]<-xx[i]}

meine Lösung 2: indirekter Pfad durch benannte Vektoren:

    > names(xx) <- letters[1:3]
    > as.list(xx)

Scheint, dass ich eine Lösung habe, aber meine Vektoren haben 1 Million oder mehr Elemente und ich mache mir nicht nur Sorgen um den Codierungsstil (wichtig für mich), sondern auch um die Effizienz (aber ich weiß nicht, wie man Profile in R erstellt). Gibt es einen angemesseneren Weg, dies zu tun? Ist es eine gute Praxis, die genannte Vektorkombination zu verwenden?

[[UPDATE]] Meine Anwendungen, wahrscheinlich habe ich die Frage zu stark vereinfacht, um sie reproduzierbar zu machen. Ich wollte den Elementen einer Liste Namen geben. Ich habe zuerst names () ausprobiert, aber anscheinend habe ich etwas falsch gemacht und es hat nicht funktioniert. Daher habe ich die falsche Vorstellung, dass names () nicht mit Listen funktioniert. Aber sie tun tatsächlich so, wie es die akzeptierte Antwort zeigt

Antworten auf die Frage(5)

Ihre Antwort auf die Frage