Um array é uma estrutura de dados que pode armazenar dados multidimensionais. Em R, arrays são objetos que podem guardar dados em duas ou mais dimensões. Por exemplo, matrizes quadradas podem conter duas linhas e duas colunas e a dimensão pode chegar a cinco. Arrays armazenam valores de um mesmo tipo de dado. Os dados podem ter mais de uma dimensão, com linhas, colunas e profundidade.
Criação de um array
A função array() cria um array a partir de um vetor (números) e das dimensões ("dim") passadas como argumento.
Veja o exemplo abaixo, em que dois vetores chamados 'array1' e 'array2' são criados.
vector1 = c (5,10,15,20)
vector2 = c (25,30,35,40,45,50,55,60)Tecnologia
Você pode usar os dois vetores acima como entrada de um array com dimensão 4 * 4, criando duas matrizes (dados dimensionais).
final = array (c (array1, array2),dim =c(4,4,3))print(final)Tecnologia
Vamos renomear nosso array para "Arr1" e "Arr2" usando "matrix.names". Além disso, os nomes das linhas serão ("row1","row2") e os nomes das colunas serão ("column1","column2","column3"), respectivamente. A dimensão da matriz é 2 linhas por 3 colunas.
array1 = c (9,18)
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1","Arr2")
final = array (c (array1,array2), dim=c (2,3,2), dimnames=list(c.names, r.names, m.names))print(final)Tecnologia
A saída do código acima aparece abaixo, com duas linhas e três colunas. Note também que os valores nas colunas se repetem quando chegam ao fim:
Um array é composto por elementos em várias dimensões, e cada elemento pode ser acessado para operações. Os elementos podem ser indexados usando '[]'. Em arrays do tipo matriz, com linhas e colunas, a indexação é feita por: mat[linha, coluna]
Veja o exemplo a seguir, em que o array contém a entrada vetorial de 1 a 9. Há três linhas e três colunas, com valores de 1 a 9. O 'c.names)' define os novos nomes de coluna com os vetores ('c1', 'c2', 'c3') e 'r.names' define os novos nomes de linha ('r1', 'r2', 'r3').
a1= c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")
arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list(c.names, r.names, m.names))print(arr)Tecnologia
Você pode acessar toda a matriz 'arr' com a sintaxe 'arr[ , ,1]', que indica incluir todas as linhas e colunas (separadas por vírgulas). O 1 indica a primeira camada do array a ser extraída.
'apply()' faz parte dos pacotes de R e inclui várias funções que ajudam a escrever código de forma mais simples e eficiente. No exemplo abaixo, ela é usada para calcular somas em dois arrays.
A sintaxe de apply() é: apply(x, margin, function)
Os argumentos indicam: x: um array ou dados bidimensionais (matrizes). margin: indica onde aplicar a função: c(1) para linhas, c(2) para colunas, e c(1,2) para linhas e colunas. function: função interna do R ou definida pelo usuário a ser aplicada aos dados.
Vamos criar um vetor 'array1' de tamanho três e 'array2' de tamanho seis com o código a seguir.
Explore as expressões regulares no R, por que elas são importantes, as ferramentas e funções para trabalhar com elas, os padrões comuns de regex e como usá-las.
Um array é uma estrutura de dados que pode armazenar dados multidimensionais. Em R, arrays são objetos que podem guardar dados em duas ou mais dimensões. Por exemplo, matrizes quadradas podem conter duas linhas e duas colunas e a dimensão pode chegar a cinco. Arrays armazenam valores de um mesmo tipo de dado. Os dados podem ter mais de uma dimensão, com linhas, colunas e profundidade.
Criação de um array
A função array() cria um array a partir de um vetor (números) e das dimensões ("dim") passadas como argumento.
Veja o exemplo abaixo, em que dois vetores chamados 'array1' e 'array2' são criados.
Você pode usar os dois vetores acima como entrada de um array com dimensão 4 * 4, criando duas matrizes (dados dimensionais).
A saída do código acima é a seguinte:
Vamos renomear nosso array para "Arr1" e "Arr2" usando "matrix.names". Além disso, os nomes das linhas serão ("row1","row2") e os nomes das colunas serão ("column1","column2","column3"), respectivamente. A dimensão da matriz é 2 linhas por 3 colunas.
A saída do código acima aparece abaixo, com duas linhas e três colunas. Note também que os valores nas colunas se repetem quando chegam ao fim:
Indexação em um array
Um array é composto por elementos em várias dimensões, e cada elemento pode ser acessado para operações. Os elementos podem ser indexados usando '[]'. Em arrays do tipo matriz, com linhas e colunas, a indexação é feita por:
mat[linha, coluna]Veja o exemplo a seguir, em que o array contém a entrada vetorial de 1 a 9. Há três linhas e três colunas, com valores de 1 a 9. O 'c.names)' define os novos nomes de coluna com os vetores ('c1', 'c2', 'c3') e 'r.names' define os novos nomes de linha ('r1', 'r2', 'r3').
A saída do código acima é:
Perceba que as matrizes de 1 a 9 foram geradas em formato 3 x 3 (linhas x colunas), e os nomes de linhas e colunas foram alterados.
Vamos ver como extrair elementos do array com os exemplos a seguir.
7
A saída do código acima é 7. Em 'arr[1,3,1]', pegamos a linha 1, coluna 3, na primeira "camada" do array 'arr'.
1
A saída do código acima é 1.
O código acima retorna o seguinte, extraindo 2 linhas, 2 colunas, na primeira camada do array 'arr':
O código acima retorna o seguinte, com todos os elementos presentes:
O código acima gera a seguinte saída e também imprime c1, c2, c3.
O código acima gera a seguinte saída e também imprime r1, r2, r3.
Criação e soma de matrizes
Vamos criar duas matrizes chamadas mat1 e mat2 a partir de 'arr[ , ,1]', copiando todas as linhas e colunas de 'arr'.
Some as matrizes 'mat1' e 'mat2' e guarde o resultado em final. A saída também é impressa.
A saída abaixo mostra que cada linha e coluna de mat1 e mat2 foram somadas elemento a elemento.
apply()
'apply()' faz parte dos pacotes de R e inclui várias funções que ajudam a escrever código de forma mais simples e eficiente. No exemplo abaixo, ela é usada para calcular somas em dois arrays.
A sintaxe de apply() é:
apply(x, margin, function)Os argumentos indicam:
x: um array ou dados bidimensionais (matrizes).
margin: indica onde aplicar a função: c(1) para linhas, c(2) para colunas, e c(1,2) para linhas e colunas.
function: função interna do R ou definida pelo usuário a ser aplicada aos dados.
Vamos criar um vetor 'array1' de tamanho três e 'array2' de tamanho seis com o código a seguir.
Veja abaixo como 'array()' recebe os vetores 'array1' e 'array2' com dimensão de 3 linhas, 3 colunas e cria 2 matrizes armazenadas em 'my.Array'.
O código acima gera a seguinte saída, em que duas matrizes 3 x 3 (linhas x colunas) são criadas.
Em seguida, 'apply()' é usada para calcular a soma das duas matrizes por coluna.
Note acima o uso de c(2) para a margem: os elementos de 'my.Array' são somados por coluna para obter a saída a seguir.
Por fim, 'apply()' é usada para calcular a soma das duas matrizes por linha.
Note acima o uso de c(1) para a margem: os elementos de 'my.Array' são somados por linha para obter a saída a seguir.
Parabéns
Parabéns, você chegou ao fim deste tutorial!
Você aprendeu sobre arrays em R, como criá-los e indexá-los com exemplos, além de criar e somar matrizes e usar a função apply().
Se quiser aprender mais sobre R, faça o curso Introduction to R da DataCamp.
Referências:
R-Arrays
R Array Function and Create Array in R