Bestimmen Sie die Verschachtelungstiefe in R?

8

Gibt es einen einfachen Weg (d. h. eine Funktion), um den Grad der Verschachtelung in der Liste zu bestimmen? Ich weiß, dass es str gibt, das verwendet werden kann, um diese Information zu erhalten. Aber gibt es etwas, das einfach das Ergebnis zurückgibt? Und kann ich eine solche Funktion verwenden, um die Namen aller Ebenen von Alist (rekursiv) zu erhalten?

    
Matt Bannert 17.11.2012, 17:21
quelle

3 Antworten

11

Eine kleine rekursive Funktion kann dies für Sie tun:

%Vor%

Wenn du package:testthat hast, hier ist ein Testset:

%Vor%

Entschuldigung für die Verwendung von Kleinbuchstaben L in Variablennamen. Lesbarkeit fehlgeschlagen.

    
Spacedman 17.11.2012, 18:52
quelle
2

Wenn alle Elemente benannt sind, können Sie dies verwenden (aus dem Code von unlist ):

%Vor%     
Roland 17.11.2012 17:37
quelle
-1

Sie können jetzt depth() aus dem purrr -Paket verwenden!

Hinweis: Derzeit ist die Funktion Teil der Entwicklungsversion von purrr , wird aber Teil der offiziellen CRAN-Version, sobald das Paket einen Versions-Bump bekommt

    
Manuel S 24.04.2017 15:58
quelle

Tags und Links