Использование "глобальных" переменных в функции, заданной для применения. Мы могли их видеть, но не могли назначать значения
Рассмотрим следующий 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? Но когда мы сможем читать переменные внутри функции, я ожидал бы, что мы можем назначить им новые значения? Так может кто-нибудь объяснить, что здесь происходит?