Variables globales en R

Respuestas:

174

Como assign()muestra la respuesta de Christian con , hay una manera de asignar en el entorno global. Una manera más simple, más corta (pero no mejor ... seguir con la asignación) es usar el <<-operador, es decir

    a <<- "new" 

dentro de la función.

Dirk Eddelbuettel
fuente
41
Este enfoque en realidad no se guarda en el entorno global, sino en el ámbito primario. A veces, el ámbito primario será el mismo que el entorno global, aunque en algunos casos con muchas funciones anidadas no lo será.
LunaticSoul
55
¿Por qué se assignprefiere <<-?
Jasha
44
@Jasha <<-buscará en la cadena de recintos hasta el entorno global y asignará a la primera variable coincidente que encuentre. Hipotéticamente, si tiene una función f()anidada en un cierre g()y aexiste en g(), entonces el uso de a <<-in f()asignará a ain g(), no al entorno global. Sin embargo, a menudo esto es lo que quieres.
Bob