What is the matrix in programming?
Linear algebra is concerned primarily with mathematical systems of a particular vector space, linear mapping, and the algebraic representation of such function by matrices. Matrix theory occupies an important position in pure as well as applied mathematics. Now you learn to write a matrix in programming language R.
# Calculations on rows or columns of the matrix
> X <- matrix(rpois(20,1.5),nrow=4)
> X
[,1] [,2] [,3] [,4] [,5]
[1,] 3 1 3 2 3
[2,] 2 2 1 1 0
[3,] 0 0 1 0 2
[4,] 0 3 1 0 2
> rownames(X) <- rownames(X,do.NULL=FALSE,prefix="Trial.")
> X
[,1] [,2] [,3] [,4] [,5]
Trial.1 3 1 3 2 3
Trial.2 2 2 1 1 0
Trial.3 0 0 1 0 2
Trial.4 0 3 1 0 2
> # How to Change column name
> drug.names <- c("aspirin", "paracetamol", "nurofen", "hedex", "placebo")
> X
[,1] [,2] [,3] [,4] [,5]
Trial.1 3 1 3 2 3
Trial.2 2 2 1 1 0
Trial.3 0 0 1 0 2
Trial.4 0 3 1 0 2
> colnames(X) <- drug.names
> colnames(X)
[1] "aspirin" "paracetamol" "nurofen"
[4] "hedex" "placebo"
> X
aspirin paracetamol nurofen hedex placebo
Trial.1 3 1 3 2 3
Trial.2 2 2 1 1 0
Trial.3 0 0 1 0 2
Trial.4 0 3 1 0 2
Calculations on rows or columns of the matrix
> mean(X[,5])
[1] 1.75
> var(X[4,])
[1] 1.7
> rowSums(X)
Trial.1 Trial.2 Trial.3 Trial.4
12 6 3 6
> colSums(X)
aspirin paracetamol nurofen hedex
5 6 6 3
placebo
7
> rowMeans(X)
Trial.1 Trial.2 Trial.3 Trial.4
2.4 1.2 0.6 1.2
> colMeans(X)
aspirin paracetamol nurofen hedex
1.25 1.50 1.50 0.75
placebo
1.75
> apply(X,2,mean)
aspirin paracetamol nurofen hedex
1.25 1.50 1.50 0.75
placebo
1.75
> group=c("A","B","B","A")
> rowsum(X, group)
aspirin paracetamol nurofen hedex placebo
A 3 4 4 2 5
B 2 2 2 1 2
> tapply(X, list(group[row(X)], col(X)), sum)
1 2 3 4 5
A 3 4 4 2 5
B 2 2 2 1 2
> aggregate(X,list(group),sum)
Group.1 aspirin paracetamol nurofen hedex
1 A 3 4 4 2
2 B 2 2 2 1
placebo
1 5
2 2
> apply(X,2,sample)
aspirin paracetamol nurofen hedex placebo
[1,] 0 3 1 0 0
[2,] 3 0 1 2 3
[3,] 0 1 3 0 2
[4,] 2 2 1 1 2
> apply(X,2,sample)
aspirin paracetamol nurofen hedex placebo
[1,] 3 3 3 0 2
[2,] 0 0 1 2 2
[3,] 2 2 1 1 0
[4,] 0 1 1 0 3
How to adding rows and columns to the matrix
> X <- rbind(X,apply(X,2,mean))
> X
aspirin paracetamol nurofen hedex placebo
Trial.1 3.00 1.0 3.0 2.00 3.00
Trial.2 2.00 2.0 1.0 1.00 0.00
Trial.3 0.00 0.0 1.0 0.00 2.00
Trial.4 0.00 3.0 1.0 0.00 2.00
1.25 1.5 1.5 0.75 1.75

0 Comments