Wie extrahiere ich Werte aus der einheitlichen Liste in R?

8

Wie bekomme ich beispielsweise einen Vektor für das Alter jeder Person in der Liste people unten:

%Vor%

Gibt es ein Äquivalent eines Python-Listenverständnisses oder etwas mit dem gleichen Effekt?

    
c00kiemonster 02.08.2011, 03:57
quelle

4 Antworten

15

Sie können sapply verwenden:

%Vor%     
tflutre 02.08.2011, 04:01
quelle
6

Angesichts der von Ihnen angegebenen Datenstruktur würde ich sapply verwenden:

%Vor%

Sie werden jedoch feststellen, dass die Ergebnisse Zeichendaten sind.

%Vor%

Ein Ansatz wäre, im Aufruf von sapply auf as.numeric() oder as.integer() zu drücken.

Alternativ - wenn Sie Flexibilität haben, wie Sie die Daten an erster Stelle speichern, kann es sinnvoll sein, sie als Liste von data.frame s zu speichern:

%Vor%

Wenn Sie so weit gehen, sollten Sie auch einen einzigen data.frame für alle Ihre Daten in Betracht ziehen:

%Vor%

Es mag einen anderen Grund geben, warum Sie diesen Ansatz nicht beim ersten Mal in Erwägung gezogen haben ...

    
Chase 02.08.2011 04:11
quelle
1
%Vor%

Ausgabe:

  

[1] 23 35 20 31 26

    
PeterVermont 04.03.2017 14:59
quelle
0

Alternativ zur apply -Familie gibt es @ Hadleys purrr -Paket , das die map_ -Funktionen für diese Art anbietet von der Arbeit.

(Es gibt ein paar Unterschiede zur apply -Familie, die zum Beispiel hier .)

OPs Beispiel:

%Vor%

Der Ansatz sapply :

%Vor%

Und der map Ansatz:

%Vor%

Natürlich sind sie identisch:

%Vor%     
symbolrush 29.01.2018 16:22
quelle

Tags und Links