R, изменить элемент в массиве, что находится в списке - PullRequest
0 голосов
/ 11 марта 2020

У меня есть такой список:

l<-list(array1,array2,array3)

Я хочу изменить один элемент в первом массиве, моя первая мысль была такая:

list[1][1,1,1]<-2

Но это не работает, потому что проблема измерения.

Что я могу сделать?

Спасибо за помощь.

1 Ответ

0 голосов
/ 11 марта 2020

Вы должны использовать [[]] для доступа к элементам в списке, например,

l[[1]][1,1,1] <- 2

Пример

array1 <- array(1,c(1,2,3))
array2 <- array(3,c(2,1,3))
array3 <- array(5,c(2,3,1))
l<-list(array1,array2,array3)

> l
[[1]]
, , 1

     [,1] [,2]
[1,]    1    1

, , 2

     [,1] [,2]
[1,]    1    1

, , 3

     [,1] [,2]
[1,]    1    1


[[2]]
, , 1

     [,1]
[1,]    3
[2,]    3

, , 2

     [,1]
[1,]    3
[2,]    3

, , 3

     [,1]
[1,]    3
[2,]    3


[[3]]
, , 1

     [,1] [,2] [,3]
[1,]    5    5    5
[2,]    5    5    5

и l[[1]][1,1,1] <- 2 даст вам

> l
[[1]]
, , 1

     [,1] [,2]
[1,]    2    1

, , 2

     [,1] [,2]
[1,]    1    1

, , 3

     [,1] [,2]
[1,]    1    1


[[2]]
, , 1

     [,1]
[1,]    3
[2,]    3

, , 2

     [,1]
[1,]    3
[2,]    3

, , 3

     [,1]
[1,]    3
[2,]    3


[[3]]
, , 1

     [,1] [,2] [,3]
[1,]    5    5    5
[2,]    5    5    5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...