R Глобальные переменные


Глобальные переменные

Переменные, созданные вне функции, называются глобальными переменными.

Глобальные переменные могут использоваться всеми, как внутри функций, так и снаружи.

Пример

Создайте переменную вне функции и используйте ее внутри функции:

txt <- "awesome"
my_function <- function() {
  paste("R is", txt)
}

my_function()

Если вы создадите переменную с тем же именем внутри функции, эта переменная будет локальной и может использоваться только внутри функции. Глобальная переменная с тем же именем останется прежней, глобальной и с исходным значением.

Пример

Создайте переменную внутри функции с тем же именем, что и глобальная переменная:

txt <- "global variable"
my_function <- function() {
  txt = "fantastic"
  paste("R is", txt)
}

my_function()

txt # print txt

Если вы попытаетесь напечатать txt, он вернет « глобальную переменную », потому что мы печатаем txtвне функции.


Глобальный оператор присваивания

Обычно, когда вы создаете переменную внутри функции, эта переменная является локальной и может использоваться только внутри этой функции.

Чтобы создать глобальную переменную внутри функции, вы можете использовать глобальный оператор присваивания<<-

Пример

Если вы используете оператор присваивания <<-, переменная принадлежит глобальной области видимости:

my_function <- function() {
txt <<- "fantastic"
  paste("R is", txt)
}

my_function()

print(txt)

Кроме того, используйте глобальный оператор присваивания, если вы хотите изменить глобальную переменную внутри функции:

Пример

Чтобы изменить значение глобальной переменной внутри функции, обратитесь к переменной с помощью глобального оператора присваивания <<-:

txt <- "awesome"
my_function <- function() {
  txt <<- "fantastic"
  paste("R is", txt)
}

my_function()

paste("R is", txt)