Ändern der Standardumgebung für die Zuweisung neuer Variablen

8

Ich möchte oft viele Variablen in einer Umgebung unter der globalen Umgebung erstellen. Dies kann leicht mit dem Argument envir bis sys.source geschehen - wenn alle Variablen, die von der Datei erstellt wurden, in die man geht, in eine einzige Umgebung gehen sollen.

Aber ich arbeite normalerweise mit einer Datei, die Gruppen von Variablen erstellt. Ein Set sollte in eine Umgebung, ein anderes Set in eine andere Umgebung und so weiter gehen. Ich möchte diese Datei nicht in mehrere Dateien aufteilen und dann mehrere Aufrufe an sys.source machen.

Stattdessen möchte ich einen Befehl, mit dem ich die Standardumgebung für die Zuweisung neuer Variablen ändern kann. Zum Beispiel:

%Vor%

Aber setDefaultEnvironment ist kein echter Befehl.

Gibt es irgendeinen sicheren Weg, solche Dinge in R zu tun?

    
user697473 25.05.2012, 18:42
quelle

4 Antworten

4

Die Funktion evalq wertet das erste Argument in einer angegebenen Umgebung aus, sodass Sie Ihre neue Umgebung erstellen und dann die Zuweisungen in evalq umbrechen können.

    
Greg Snow 25.05.2012, 20:22
quelle
10

Es ist am besten explizit zu sein: das Ändern globaler Staaten ist gefährlich. Also:

%Vor%

erledigt die Arbeit sauber und ohne großen Aufwand, während die betroffene Umgebung gut sichtbar dargestellt wird.

    
whuber 25.05.2012 21:31
quelle
8

Vielleicht kann jemand dies verbessern und den Variablennamen nicht mehr angeben:

%Vor%

Aber das fühlt sich irgendwie albern an. Vielleicht benutzen Sie einfach assign direkt? Mehr tippen vielleicht, aber es macht was du willst mit weniger Gefahr.

    
joran 25.05.2012 19:16
quelle
0

Anstatt die Umgebung zu ändern, können Sie einfach alle Variablen in einer Liste speichern.

%Vor%     
xm1 23.11.2016 12:22
quelle

Tags und Links