Erstellen eines Baumdiagramms aus Tabulatortext in R

Ich möchte einen Baum / ein Flussdiagramm mit folgenden Daten erstellen, die ordnungsgemäß mit Registerkarten eingerückt sind:

Vertebrates
    fish
        goldfish
        clownfish
    amphibian
        frog
        toad
    reptiles
        snake
        lizard
        turtle
        tortoise
    birds
        sparrow
        crow
        parrot
    mammals
        dog
        cat
        horse
        whale

Wie kann ich diese Baumdaten in ein Flussdiagramm konvertieren (mit Pfeilen von oben nach unten oder von links nach rechts) (die richtige Position wird durch Zählen der Anzahl der Registerkarten in jeder Zeile bestimmt)? Ich glaube, es kann mit "Diagramm" -Paket durchgeführt werden (Diagrammflussdiagramm des Übergangs von Zuständen , http://cran.r-project.org/web/packages/diagram/index.html) konnte aber keine genauen Schritte herausfinden. Danke für Ihre Hilfe.

Eine grobe Probe der gewünschten Ausgabe ist unten angegeben. Es könnte Kästchen um Text geben.

BEARBEITEN: Es sollte idealerweise eine flexible Lösung sein, damit es funktioniert, wenn Ebenen hinzugefügt oder entfernt werden. Zum Beispiel 2 Arten von Spatzen hinzufügen:

Vertebrates         
    fish        
        goldfish    
        clownfish   
    amphibian       
        frog    
        toad    
    reptiles        
        snake   
        lizard  
        turtle  
        tortoise    
    birds       
        sparrow 
            house
            factory
        crow    
        parrot  
        crane   
    mammals     
        dog 
        cat 
        horse   
        whale   

dat  = structure(list(V1 = c("Vertebrates", NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA), V2 = c(NA, "fish", NA, NA, "amphibian", NA, NA, "reptiles", 
NA, NA, NA, NA, "birds", NA, NA, NA, NA, NA, NA, "mammals", NA, 
NA, NA, NA), V3 = c(NA, NA, "goldfish", "clownfish", NA, "frog", 
"toad", NA, "snake", "lizard", "turtle", "tortoise", NA, "sparrow", 
NA, NA, "crow", "parrot", "crane", NA, "dog", "cat", "horse", 
"whale"), V4 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, "house", "factory", NA, NA, NA, NA, NA, NA, NA, NA
)), .Names = c("V1", "V2", "V3", "V4"), class = "data.frame", row.names = c(NA, 
-24L))
> 

Antworten auf die Frage(1)

Ihre Antwort auf die Frage