Workshop introdução a linguagem R - Prof. Thiago Marques

Aprofundando em Matrizes

Construção de matrizes,operações aritméticas e lógicas

A=matrix(c(5,0,2,3,7,8),byrow=T,nrow = 3)
B=matrix(c(4,3,1,1,2,0),byrow=T,nrow = 3)

X=A-B
X[X>-3] #Elementos da matriz maiores que -3
## [1] 1 1 5 2 8
X[X%%2 == 0]  #Elementos da matriz que são pares
## [1] 2 8
X=3*A+B
diag(2) #Criando uma matriz diagonal
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1

Transposição de matrizes, simetrias e produtos

t(A)
##      [,1] [,2] [,3]
## [1,]    5    2    7
## [2,]    0    3    8
isSymmetric(A)## verificando se B é uma matriz simétrica ( Ela é igual a sua transposta? )
## [1] FALSE
C=matrix(c(0,2,-3,-2,0,-1,3,1,0),byrow=T,nrow=3)
t(C)==-C       ## É uma matriz anti-simétrica?
##      [,1] [,2] [,3]
## [1,] TRUE TRUE TRUE
## [2,] TRUE TRUE TRUE
## [3,] TRUE TRUE TRUE
#A %*% B        #O produto de A e B existe?
D = matrix(c(3,6,2,4),byrow=T,nrow=2)
A %*% D
##      [,1] [,2]
## [1,]   15   30
## [2,]   12   24
## [3,]   37   74

Cálculo de determinantes, inversas, padronização, nomeação e adição de dimensões

det(D)  #Calculando o determinante
## [1] 0
E=matrix(c(4,3,1,1),byrow=T,nrow = 2)
det(E)         #Calculando o determinante
## [1] 1
solve(E)       # Inversa da matriz L ( L %*%  X = I)
##      [,1] [,2]
## [1,]    1   -3
## [2,]   -1    4
cbind(D, c(1, 2))  #Adicionando coluna
##      [,1] [,2] [,3]
## [1,]    3    6    1
## [2,]    2    4    2
rbind(D, c(1, 2))  #Adicionando linha
##      [,1] [,2]
## [1,]    3    6
## [2,]    2    4
## [3,]    1    2
rownames(D)=c("A","B") # nomeando linhas
colnames(D)=c("A","B") # nomeando colunas
scale(D) #padronizando uma matriz no R (Tirando a média e dividindo pelo desvio)
##            A          B
## A  0.7071068  0.7071068
## B -0.7071068 -0.7071068
## attr(,"scaled:center")
##   A   B 
## 2.5 5.0 
## attr(,"scaled:scale")
##         A         B 
## 0.7071068 1.4142136
cbind( (D[,1]-mean(D[,1]) )/sd(D[,1]),(D[,2]-mean(D[,2]) )/sd(D[,2])) #padronizando na mão
##         [,1]       [,2]
## A  0.7071068  0.7071068
## B -0.7071068 -0.7071068