Liste in eine Textdatei schreiben, Namen beibehalten, R

8

Ich möchte eine Liste in eine Textdatei schreiben und dabei die Namen beibehalten.

Dies ist vergleichbar mit R: Liste in eine Textdatei drucken aber mit Namen, die ich auch ausdrucken möchte, am Anfang jeder Zeile:

%Vor%

Irgendwelche Ideen?

Vielen Dank.

    
Jim Bo 24.11.2011, 19:13
quelle

4 Antworten

11

Die Funktion cat wird auf ein Gerät (standardmäßig Konsole) drucken und keine der üblichen Anmerkungen hinzufügen, aber sie kann keine Liste als Argument akzeptieren, also muss alles ein atomarer Vektor sein. Mit deparse( substitute()) gambit können Namen von Listen wiederhergestellt werden, die an eine Funktion übergeben wurden. Wenn Sie names(x) innerhalb der Funktion verwenden, kann der Name des ursprünglichen Arguments nicht wiederhergestellt werden.

%Vor%

Diese Version würde eine Datei ausgeben (und Sie könnten "\ t" ersetzen, wenn Sie Tabulatoren zwischen Namen und Werten haben wollten

%Vor%     
42- 24.11.2011, 20:04
quelle
6

Sie können einen Vektor der benötigten Strings mit:

erhalten %Vor%

Dann können Sie es mit write oder writeLines schreiben.

    
James 25.11.2011 11:09
quelle
0

Wenn Sie die Liste für die zukünftige Verwendung in R speichern möchten, berücksichtigen Sie das Paket rlist .

setzen:

%Vor%

Dann können Sie die Liste einschließlich Namen wiederherstellen mit:

%Vor%

". rds" gibt keine Textdatei, ist aber vollständig wiederherstellbar. ".yaml" gibt eine Textdatei, aber einige Datenstrukturen gehen beim erneuten Laden verloren. ".json" gibt fast das Beste von beiden, obwohl die Textdatei möglicherweise nicht so lesbar ist und verschachtelte Listenstrukturen vereinfacht werden können (z. B. wird list(1, 2, 3) zu einem Vektor 1:3 ).

    
Bazz 17.12.2015 10:18
quelle
0

@ 42 -

Um zur 42-Antwort hinzuzufügen (sollte ein Kommentar gewesen sein, aber dann konnte ich den Code nicht formatieren)

Ich musste auch die Namen der Elemente der Vektoren in der Liste drucken, also fügte ich diese Zeile über der cat-Anweisung wie folgt ein:

%Vor%

Ergebnis

%Vor%     
Marco Stamazza 12.06.2016 13:22
quelle

Tags und Links