Básico 2024 | Aula 11

Arrays (Matrizes multidimensionais)

Encarte

Filosofia de publicação (Selo DC)

Apoio CEAC e UFSJ

Livro de Apoio

Usaremos Batista e Oliveira (2022):

Introdução

A ideia do objeto matriz multidimencional (ou array) é similar ao da matriz, a diferença é que agora é um vetor atômico de mais de duas dimensões. Vejamos,

> x <- 1:12; x # Criando um vetor atomico
 [1]  1  2  3  4  5  6  7  8  9 10 11 12
> attributes(x) # Verificando o atributo de x
NULL
> sloop::s3_class(x) #Classe do objeto x
[1] "integer" "numeric"

Criando um Array

> # Adicionando o atributo dim
> dim(x) <- c(2, 3, 2); x # 2 x 3 x 2 = 12 (Comp do vetor x)
, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

Criando um Array

> attributes(x) # Atributo de x
$dim
[1] 2 3 2
> sloop::s3_class(x) #classe do objeto
[1] "array"   "integer" "numeric"

Outra forma de criar um Array

> # Criando um array
> array(1:12, c(2, 3, 2))
, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

Indexação de Array

> x <- array(1:12, c(2, 3, 2)) # Criando um array
> x[1, 1, 1] # Acessando
[1] 1
> x[1, 1, 1] <- 10; x[, , 1] # Alterando
     [,1] [,2] [,3]
[1,]   10    3    5
[2,]    2    4    6

Obrigado

Sugestões, perguntas, críticas…

Referências

BATISTA, B. D. O.; OLIVEIRA, D. A. B. J. R básico. Ouro Branco, MG, Brasil: [s.n.], 2022.