Respuestas:
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.
assign
prefiere <<-
?
<<-
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 a
existe en g()
, entonces el uso de a <<-
in f()
asignará a a
in g()
, no al entorno global. Sin embargo, a menudo esto es lo que quieres.
Encontré una solución sobre cómo establecer una variable global en una publicación de la lista de correo a través de asignar :
a <- "old"
test <- function () {
assign("a", "new", envir = .GlobalEnv)
}
test()
a # display the new value