Использование "глобальных" переменных в функции, заданной для применения. Мы могли их видеть, но не могли назначать значения

Рассмотрим следующий R-код:

i <- 10
j <- 0
m <- matrix(c(1,2,3,4,5,6), nrow = 3, ncol = 2, byrow = TRUE)
apply(m, 1, function(x) {
 if(i > 0)
  j<-1 
  else 
   j<-2 
 return <- i
})

Внутри функции мы можем прочитать содержимое переменной i, но мы не можем манипулировать содержимым переменной j? Но когда мы сможем читать переменные внутри функции, я ожидал бы, что мы можем назначить им новые значения? Так может кто-нибудь объяснить, что здесь происходит?

0 ответов

Другие вопросы по тегам