Introdução às matrizes em R

Como sabemos, matrizes são os objetos que podem armazenar duas ou mais que dados bidimensionais. Em R, Matriz tem o mesmo conceito, criado usando a função array (). Aqui os dados são armazenados em matrizes, linhas e colunas de formulário. Para acessar um elemento específico da matriz, é necessário especificar o índice da linha, o índice da coluna e o nível da matriz.

Matrizes freqüentemente usadas em R, é um tipo especial de matriz 2-D.

Representação pictórica: Vector, Matrix, Array

  • Matriz unidimensional referida como vetor.
  • Matriz bidimensional referida como matriz.

Sintaxe:

Aqui está a sintaxe da matriz:

Array_NAME <- array (data, dim = (row_Size, column_Size, matrices, dimnames)

  • data - Data é um vetor de entrada que é alimentado na matriz.
  • matrizes - refere-se à dimensionalidade das matrizes. A matriz em R pode ser matrizes multidimensionais.
  • row_Size - row_Size representa o número de linhas que uma matriz compreenderá.
  • column_Size - column_Size representa o número de colunas das quais uma matriz será composta.
  • dimnames - Este campo se for para alterar os nomes padrão de linhas e colunas para o desejo / preferência do usuário.

Propriedades:

  • É homogêneo. Isso significa que ele pode armazenar o mesmo tipo de dados.
  • Armazena dados na memória contígua
  • Elementos da matriz podem ser acessados ​​sabendo o número do índice.

Como criar uma matriz em R?

Abaixo estão diferentes cenários sobre como criar uma matriz em r da seguinte maneira:

Cenário 1:

Vamos criar uma matriz que seria matrizes 3 × 4. Aqui 3 serão remar e 4 serão colunas, as matrizes serão uma. Como nossas etapas iniciais, vamos manter dimnames = NULL (que é um valor padrão, se nada for especificado).

Esta é uma matriz unidimensional

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))

Resultado:

Para verificar se a matriz finalmente criada foi criada ou não.

Depois que a matriz é criada:

Resultado

A função "classe" pode ajudá-lo com isso.

classe (resultado)

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
class(Result)

Resultado:

Para verificar o produto da dimensão da matriz, pode-se usar a função: length.

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
length(Result)

Resultado:

Cenário 2:

Vamos criar a mesma matriz que seria matrizes 3 × 4. Aqui, novamente, 3 serão uma linha e 4 serão colunas, mas as matrizes serão duas. Vamos manter dimnames = NULL (que é um valor padrão, se nada for especificado).

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 2)))

Resultado:

Cenário 3:

Vamos criar a mesma matriz que seria matrizes 3 × 4. Aqui, novamente, 3 serão linhas e 4 serão colunas, mas as matrizes serão duas. Vamos ver os valores atribuídos a dimnames.

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names ))

Resultado:

Agora somos bons em criar uma matriz de qualquer dimensionalidade. Vamos agora focar na maneira de acessar qualquer elemento em uma matriz.

Como criar uma matriz de elementos de acesso no R?

Abaixo estão diferentes elementos de acesso sobre como criar uma matriz em r da seguinte maneira:

Cenário 1:

Digamos que temos a mesma matriz em R:

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))

Resultado:

Agora, precisamos acessar a terceira linha, a terceira coluna da segunda matriz no array.

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(3, 3, 2)

Resultado:

Para resumir isso, colchetes são usados ​​para indicar um índice. Para especificar o índice em matrizes, existem quatro opções disponíveis: números inteiros positivos, números negativos, valores lógicos, nomes de elementos

Cenário 2:

É necessário acessar toda a matriz do 1º array:

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1)

Resultado:

Operação de matriz diferente com exemplos

Esta seção fornece informações sobre várias operações realizadas em matrizes para obter vários resultados.

1. Adição e subtração:

A matriz multidimensional deve ser convertida na matriz unidimensional para ser adicionada ou subtraída.

  • Adição:

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) + result(,, 2))

Resultado:

  • Subtração:

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) - result(,, 2))

Resultado:

2. Cálculos no elemento Array

Um nome de função apply () ajuda a aplicar qualquer operação entre os elementos da matriz.

Sintaxe:

apply(x, margin, fun)

Aqui x é uma matriz, a margem aqui se refere a linhas ou colunas.

  • MARGIN = 1 para operação em linha
  • MARGIN = 2 para operação em colunas
  • MARGEM = c (1, 2) para ambos.

Diversão é a função aplicada aos elementos da matriz do quadro de dados. Podem ser as funções padrão que fazem parte do R ou funções personalizadas (definidas pelo usuário)

Exemplo 1:

Linha Wise R Code:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, sum)

Resultado:

Coluna Wise - Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 2, sum)

Resultado:

Isso fornece a saída no formato vetorial, que contém a soma das colunas individuais. Aqui "soma" é a função R padrão.

Exemplo 2:

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, function(x) x+10)

Resultado:

Isso fornece a saída da mesma dimensão. O importante a ser observado aqui é que aplicamos a função definida pelo usuário. Essa função é muito útil e poderosa ao resolver problemas do mundo real. A função aplicada também é base para outras funções complexas, como lapply (), rapply (), etc.

3. Verifique a matriz

Verifique a matriz se o objeto é uma matriz ou não. O nome da função is.array () é uma função primitiva que permite fazer isso. Dá saída em termos Verdadeiro ou Falso

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) is.array(result)

Resultado:

4. Verifique o tamanho da matriz

Conhecer a dimensionalidade, várias linhas, colunas da matriz ajuda a fatiar e cortar os dados. Aqui estão algumas funções para fazer isso: dim, nrow, ncol

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
result <- array(c(vector1, vector2), dim = c(3, 4, 2))
print(result)
dim(result)
nrow(result)
ncol(result)

Resultado:

5. Verifique os nomes das linhas e colunas

Para saber os nomes de linhas, colunas e nomes de dimensões de uma matriz. Abaixo está a implementação mostrada.

Código R:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
rownames(result)
colnames(result)
dimnames(result)

Resultado:

Conclusão:

Ao analisar o conteúdo acima, você terá uma compreensão clara das matrizes em R. R é uma linguagem estatística, e matrizes são objetos de dados usados ​​com frequência. Isso significa que trabalhar com diversas operações como adicionar, subtrair, aplicar etc. com uma matriz em qualquer aplicativo agora será uma tarefa fácil para você.

Artigos recomendados

Este foi um guia para Matriz em R. Aqui discutimos uma introdução a Matrizes em R, propriedades de R, como criar uma matriz em R e alguns exemplos de exemplos. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Instalar R
  2. Matrizes VBA
  3. Tipos de dados no MATLAB
  4. VBA ArrayList
  5. Matrizes em PHP

Categoria: