Variabili globali in R


Risposte:


174

Come assign()mostra la risposta di Christian con gli spettacoli, c'è un modo di assegnare nell'ambiente globale. Un modo più semplice, più breve (ma non migliore ... attenersi con l'assegnazione) consiste nell'utilizzare l' <<-operatore, ad es

    a <<- "new" 

all'interno della funzione.


41
Questo approccio in realtà non si salva nell'ambiente globale, ma invece nell'ambito genitore. A volte l'ambito padre sarà lo stesso dell'ambiente globale, sebbene in alcuni casi con molte funzioni nidificate non lo sarà.
LunaticSoul,

5
Perché è assignpreferito <<-?
Jasha,

4
@Jasha <<-cercherà la catena di recinti fino all'ambiente globale e assegnerà alla prima variabile corrispondente che trova. Ipoteticamente, se si ha una funzione f()nidificata in una chiusura g()ed aesiste in g(), l'utilizzo di a <<-in f()assegnerà a ain g(), non all'ambiente globale. Spesso, questo è quello che vuoi, comunque.
Bob,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.