Globale Variablen in R.


Antworten:


173

Wie Christians Antwort mit assign()zeigt, gibt es eine Möglichkeit, sich im globalen Umfeld zuzuordnen. Eine einfachere, kürzere (aber nicht bessere ... bleiben Sie bei der Zuweisung) Methode ist die Verwendung des <<-Operators, dh

    a <<- "new" 

innerhalb der Funktion.


41
Dieser Ansatz wird tatsächlich nicht in einer globalen Umgebung gespeichert, sondern im übergeordneten Bereich. Manchmal ist der übergeordnete Bereich mit der globalen Umgebung identisch, in einigen Fällen mit vielen verschachtelten Funktionen jedoch nicht.
LunaticSoul

5
Warum wird assignbevorzugt <<-?
Jasha

4
@Jasha <<-durchsucht die Gehäusekette bis zur globalen Umgebung und weist der ersten gefundenen übereinstimmenden Variablen zu. Hypothetisch, wenn Sie eine Funktion f()in einem Verschluss verschachtelt g()und aexistiert in g(), dann unter Verwendung von a <<-in f()wird zuweisen ain g(), nicht auf die globale Umwelt. Oft ist dies jedoch das, was Sie wollen.
Bob

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.