Хорошо, вот ситуация: У меня есть следующий список массивов:Замена элементов массивов в списке (R)
N <- c('A', 'B', 'C')
ll <- sapply(N, function(x) NULL)
ll <- lapply(ll, function(x) assign("x", array(0, dim = c(2,2)))) .
Теперь я хочу заменить, скажем, элемент в положении [1, 1] в этих массивах по заданной величине, скажем 10. Что я делаю, следуя этому вопросу here. То есть, я делаю следующее:
x <- lapply(ll, function(x) {x[1,1] <- 10}),
который должен сделать ха список из трех 2х2 массивов с [1,1] элемент, равный 10, а все остальные равны 0. Вместо этого, я м видя это:
> x <- lapply(ll, function(x) {x[2,1] <- 10})
> x
$A
[1] 10
$B
[1] 10
$C
[1] 10
Любые идеи о том, что здесь происходит?
* facepalm * Спасибо связка! –
Кстати, это также причина, по которой второе присваивание работает без вызова «присваивания», т. Е. 'Ll <- lapply (ll, function (x) array (0, dim = c (2,2)))? –