Objekt mit Variable mit Objektnamen speichern [duplizieren]

8

Ich frage mich, wie einfach es ist, ein Objekt in R zu speichern, indem Sie eine Variable objectName mit dem Namen des Objekts verwenden, das gespeichert werden soll. Ich möchte das zum einfachen Speichern von Objekten, mit ihrem Namen im Dateinamen.

Ich habe versucht, get zu verwenden, aber ich habe es nicht geschafft, das Objekt mit dem ursprünglichen Objektnamen zu speichern.

Beispiel:

Wenn ich das Objekt "temp" habe, das ich im Verzeichnis "dataDir" speichern möchte. Ich gebe den Namen des Objekts in die Variable "objectName" ein.

Versuch 1:

%Vor%

Dies hat nicht funktioniert, weil R versucht, ein Objekt namens get(objectName) anstelle des Ergebnisses dieses Aufrufs zu speichern. Also habe ich folgendes versucht:

Versuch 2:

%Vor%

Das hat offensichtlich nicht funktioniert, weil R das Objekt mit dem Namen "object" und nicht mit dem Namen "temp" speichert. Nach dem Laden habe ich eine Kopie von "object" anstelle von "temp". (Ja, mit den gleichen Inhalten ... aber das ist nicht was ich will :)). Also dachte ich, es sollte etwas mit Zeigern sein. So versuchte folgendes:

Versuch 3:

%Vor%

Gleiches Ergebnis wie Versuch 2. Aber ich bin mir nicht sicher, ob ich das mache, was ich denke.

Was ist die Lösung dafür?

    
FBE 18.06.2012, 13:55
quelle

2 Antworten

13

Versuchen Sie save(list=objectName, file=paste(objectName, '.Rdata', sep='') ) .

Der Schlüssel ist, dass das list Argument zu save eine Liste von Zeichenketten nimmt, die die Namen der zu speichernden Objekte sind (und nicht die tatsächlichen Objekte, die durch ... übergeben wurden).

    
Greg Snow 18.06.2012, 19:17
quelle
1

Ich fand deine Beispiele schwer zu verstehen, aber ich kann mir zwei Möglichkeiten vorstellen, was du willst. Entweder möchten Sie den Dateinamen als objectName.RData oder temp.RData speichern. Hier ist, wie Sie beide tun:

%Vor%

Alle Ihre Versuche geben einen Fehler zurück, weil Sie get falsch aufgerufen haben. Es hätte get('objectName') sein sollen, aber wenn du darüber nachdenkst, würde dir das genau das gleiche wie objectName bringen.

    
nograpes 18.06.2012 15:11
quelle

Tags und Links