Matrices

 Code:
Matrices:

m <- matrix(nrow=2,ncol=3)

m

dim(m)

attributes(m)


m <- matrix(c(1,2,3,4,5,6))

m

dim(m)

attributes(m)


m <- matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)

m <- matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,byrow = TRUE)

m <- matrix(1:6)

m <- matrix(1:6,nrow=2,ncol=3)

m <- matrix(1:6,nrow=2,ncol=3,byrow = TRUE)

m <- c(1,2,3,4,5,6)

m

dim(m) <- c(2,3)

m

dim(m) <- c(3,2)

m


m <- matrix(c(2,3,4,0,1,2,-1,-2,-3,5,4,3),nrow=4,ncol=3,byrow = TRUE)

m

dim(m)

nrow(m)

ncol(m)

prod(dim(m))

length(m)


Using Diag Function 

m <- matrix(4,3,3)

m

m <- diag(1,3,3)

m

m <- diag(5,3,3)

m

m <- diag(1:5)

m

Naming Row and Column 

m <- matrix(c(2,3,4,0,1,2,-1,-2,-3,5,4,3),nrow=4,ncol=3,byrow = TRUE)

m

rownames(m) <- c(1,2,3,4)

colnames(m) <- c('A','B','C')

m

m[,'A']


Indexing in Matrix 

A <- matrix(c(2,3,4,0,1,2,-1,-2,-3,5,4,3),nrow=4,ncol=3,byrow = TRUE)

print(A)

A[1,2]

A[3,1]

A[,1]

A[3,]

A[nrow(A),]

A[,ncol(A)]

A[,-2]

A[-3,]

A[3,3]=14

A

A <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow = TRUE)

A

A[1:3,1:2]

A[1:3,-3]

A[,1:2]

A[,-3]

A[-2,1:2]

A[c(1,3),1:2]

A[c(1,3),c(1,2)]

A[1:2,-2]


A <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow = TRUE)

print(A)

A = A[,-2] #deleting a Colomn

A

A <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow = TRUE)

print(A)

A = A[-2,] #deleting a Row

A

A <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow = TRUE)

A

diag(A)


Row and Column Binding 

A <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow = TRUE)

print(A)

C <- rbind(A,c(10,11,12))

C

B <- matrix(c(10,11,12),nrow=1,ncol=3,byrow = TRUE)

C <- rbind(A,B)

C

C <- cbind(A,c(10,11,12))

C

#B <- matrix(c(10,11,12),nrow=3,ncol=1,byrow = TRUE) #Dimension Inconsistency

B <- matrix(c(10,11,12),nrow=3,ncol=1,byrow = TRUE)

C <- cbind(A,B)

C


Matrix Operations

A <- matrix(c(1,2,3,4,5,6,8,9,1), nrow=3, ncol=3, byrow=TRUE)

B <- matrix(c(3,1,3,4,2,1,5,1,2), nrow=3, ncol=3, byrow=TRUE)

A

B

A+B

A-B

A*B

A%*%B  # Matrix Multiplication

A <- matrix(c(4,9,16,25), nrow=2, ncol=2, byrow=TRUE)

B <- matrix(c(2,3,4,5), nrow=2, ncol=2, byrow=TRUE)

A/B  #Element wise division not inverse of matrix

A <- matrix(c(4,9,16,25), nrow=2, ncol=2, byrow=TRUE)

t(A) # Transpose of Matrix A

solve(A) # Inverse of Matrix

det(A) # determinant of Matrix


A%*%solve(A) #the result is identity

all.equal(solve(A) %*% A, diag(2))

identical(solve(A) %*% A, diag(2))


 

 


Comments

Popular posts from this blog

Probability: Binomial Distribution

Probability: Normal Distribution

Hypothesis testing