Variáveis ​​globais em R


Respostas:


174

Como a resposta de Christian nos assign()programas, existe uma maneira de atribuir no ambiente global. Uma maneira mais simples, mais curta (mas não melhor ... fique com a atribuição) é usar o <<-operador, ou seja,

    a <<- "new" 

dentro da função.


41
Essa abordagem, na verdade, não salva no ambiente global, mas no escopo pai. Às vezes, o escopo pai será o mesmo do ambiente global, embora, em alguns casos, com muitas funções aninhadas, não seja.
LunaticSoul

5
Por que é assignpreferido <<-?
21419 Jasha

4
O @Jasha <<-pesquisará a cadeia de gabinetes até o ambiente global e atribuirá a primeira variável correspondente que encontrar. Hipoteticamente, se você tem uma função f()aninhada em um fechamento g()e aexiste em g(), o uso de a <<-in f()será atribuído a ain g(), não ao ambiente global. Muitas vezes, porém, é isso que você deseja.
Bob

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.