s<-seq(1,100,10)
s
## [1] 1 11 21 31 41 51 61 71 81 91
length(s)
## [1] 10
dim(s)<-c(2,5)
s
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 21 41 61 81
## [2,] 11 31 51 71 91
class(s)
## [1] "matrix" "array"
typeof(s)
## [1] "double"
d<-matrix(seq(1,100,10),nrow=2,byrow = T)
d
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 11 21 31 41
## [2,] 51 61 71 81 91
d1<-matrix(c(2,"nn","mm","dd"),ncol = 2)
d1
## [,1] [,2]
## [1,] "2" "mm"
## [2,] "nn" "dd"
d1[1,2]
## [1] "mm"
thismatrix <- matrix(c("apple", "banana", "cherry", "orange","grape", "pineapple", "pear", "melon", "fig"), nrow = 3, ncol = 3)
thismatrix
## [,1] [,2] [,3]
## [1,] "apple" "orange" "pear"
## [2,] "banana" "grape" "melon"
## [3,] "cherry" "pineapple" "fig"
new<-rbind(thismatrix,c("first","second","third"))
new
## [,1] [,2] [,3]
## [1,] "apple" "orange" "pear"
## [2,] "banana" "grape" "melon"
## [3,] "cherry" "pineapple" "fig"
## [4,] "first" "second" "third"
s1<-c(rep("dark",5),rep("light",5))
#s1
s2<-c("king", "queen", "pawn", "pawn", "knight", "bishop", "king", "rook", "pawn", "pawn")
chess<-c(s1,s2)
#chess
dim(chess)<-c(10,2)
#chess
colnames(chess)<-c("Player","Piece")
chess
## Player Piece
## [1,] "dark" "king"
## [2,] "dark" "queen"
## [3,] "dark" "pawn"
## [4,] "dark" "pawn"
## [5,] "dark" "knight"
## [6,] "light" "bishop"
## [7,] "light" "king"
## [8,] "light" "rook"
## [9,] "light" "pawn"
## [10,] "light" "pawn"
chess.mat<-matrix(chess,ncol=2,dimnames = list(NULL,c("Player","Piece")))
chess.mat
## Player Piece
## [1,] "dark" "king"
## [2,] "dark" "queen"
## [3,] "dark" "pawn"
## [4,] "dark" "pawn"
## [5,] "dark" "knight"
## [6,] "light" "bishop"
## [7,] "light" "king"
## [8,] "light" "rook"
## [9,] "light" "pawn"
## [10,] "light" "pawn"
c2<-cbind("Player"=s1,"Piece"=s2)
c2
## Player Piece
## [1,] "dark" "king"
## [2,] "dark" "queen"
## [3,] "dark" "pawn"
## [4,] "dark" "pawn"
## [5,] "dark" "knight"
## [6,] "light" "bishop"
## [7,] "light" "king"
## [8,] "light" "rook"
## [9,] "light" "pawn"
## [10,] "light" "pawn"
#chess
chess.t=t(chess)
chess.t
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## Player "dark" "dark" "dark" "dark" "dark" "light" "light" "light" "light"
## Piece "king" "queen" "pawn" "pawn" "knight" "bishop" "king" "rook" "pawn"
## [,10]
## Player "light"
## Piece "pawn"
turn <- c(3, 5, 2, 2, 7, 4, 6, 5, 2, 1)
chess.t=rbind(chess.t,"Turn"=turn)
chess.t
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## Player "dark" "dark" "dark" "dark" "dark" "light" "light" "light" "light"
## Piece "king" "queen" "pawn" "pawn" "knight" "bishop" "king" "rook" "pawn"
## Turn "3" "5" "2" "2" "7" "4" "6" "5" "2"
## [,10]
## Player "light"
## Piece "pawn"
## Turn "1"
chess=t(chess.t)
chess
## Player Piece Turn
## [1,] "dark" "king" "3"
## [2,] "dark" "queen" "5"
## [3,] "dark" "pawn" "2"
## [4,] "dark" "pawn" "2"
## [5,] "dark" "knight" "7"
## [6,] "light" "bishop" "4"
## [7,] "light" "king" "6"
## [8,] "light" "rook" "5"
## [9,] "light" "pawn" "2"
## [10,] "light" "pawn" "1"
chess[6,2]
## Piece
## "bishop"
#chess[,1:2]
#chess[,-3]
#chess[,c("Player","Piece")]
chess[1:5,]
## Player Piece Turn
## [1,] "dark" "king" "3"
## [2,] "dark" "queen" "5"
## [3,] "dark" "pawn" "2"
## [4,] "dark" "pawn" "2"
## [5,] "dark" "knight" "7"
chess[, 2,drop=F]
## Piece
## [1,] "king"
## [2,] "queen"
## [3,] "pawn"
## [4,] "pawn"
## [5,] "knight"
## [6,] "bishop"
## [7,] "king"
## [8,] "rook"
## [9,] "pawn"
## [10,] "pawn"
chess[,-2]
## Player Turn
## [1,] "dark" "3"
## [2,] "dark" "5"
## [3,] "dark" "2"
## [4,] "dark" "2"
## [5,] "dark" "7"
## [6,] "light" "4"
## [7,] "light" "6"
## [8,] "light" "5"
## [9,] "light" "2"
## [10,] "light" "1"
chess[-1,]
## Player Piece Turn
## [1,] "dark" "queen" "5"
## [2,] "dark" "pawn" "2"
## [3,] "dark" "pawn" "2"
## [4,] "dark" "knight" "7"
## [5,] "light" "bishop" "4"
## [6,] "light" "king" "6"
## [7,] "light" "rook" "5"
## [8,] "light" "pawn" "2"
## [9,] "light" "pawn" "1"
chess[2,c(1,3)]
## Player Turn
## "dark" "5"
chess
## Player Piece Turn
## [1,] "dark" "king" "3"
## [2,] "dark" "queen" "5"
## [3,] "dark" "pawn" "2"
## [4,] "dark" "pawn" "2"
## [5,] "dark" "knight" "7"
## [6,] "light" "bishop" "4"
## [7,] "light" "king" "6"
## [8,] "light" "rook" "5"
## [9,] "light" "pawn" "2"
## [10,] "light" "pawn" "1"
chess[7,3]<-3
chess[7,3]
## Turn
## "3"
chess
## Player Piece Turn
## [1,] "dark" "king" "3"
## [2,] "dark" "queen" "5"
## [3,] "dark" "pawn" "2"
## [4,] "dark" "pawn" "2"
## [5,] "dark" "knight" "7"
## [6,] "light" "bishop" "4"
## [7,] "light" "king" "3"
## [8,] "light" "rook" "5"
## [9,] "light" "pawn" "2"
## [10,] "light" "pawn" "1"
b.office<-c(171.5,292,281.6,460.6,139.3,288)
matrix.mat<-matrix(b.office,nrow = 3,byrow = T,
dimnames = list(c("The matr","Reloaded","Revolutions"),c("US","Worldwide")))
matrix.mat
## US Worldwide
## The matr 171.5 292.0
## Reloaded 281.6 460.6
## Revolutions 139.3 288.0
length(matrix.mat)
## [1] 6
matrix.scaled=matrix.mat/1000
matrix.scaled
## US Worldwide
## The matr 0.1715 0.2920
## Reloaded 0.2816 0.4606
## Revolutions 0.1393 0.2880
avg.margin<-matrix.mat-121
avg.margin
## US Worldwide
## The matr 50.5 171.0
## Reloaded 160.6 339.6
## Revolutions 18.3 167.0
budget<-matrix(c(63,150,150),nrow=3,ncol=2)
#budget
margin<-matrix.mat-budget
margin
## US Worldwide
## The matr 108.5 229.0
## Reloaded 131.6 310.6
## Revolutions -10.7 138.0
matrix.mat-c(63,150,150)
## US Worldwide
## The matr 108.5 229.0
## Reloaded 131.6 310.6
## Revolutions -10.7 138.0
v<-matrix(1:6,nrow=3)
v
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
matrix.multiplated=matrix.mat*v
matrix.multiplated
## US Worldwide
## The matr 171.5 1168
## Reloaded 563.2 2303
## Revolutions 417.9 1728
#matrix multiplication as itβs done in linear algebra #inner multiplication %*% #outer %o%
#excercise
?runif()
rand<-runif(12)
rand
## [1] 0.63367774 0.19445654 0.80148101 0.68056746 0.78310599 0.02820184
## [7] 0.26719058 0.55317992 0.82287122 0.72074338 0.75017291 0.55771358
m1<-matrix(rand,nrow = 3,byrow =T,dimnames=list(c("x","y","z"),c("uno","dos","tres","cuatro")))
m1
## uno dos tres cuatro
## x 0.6336777 0.19445654 0.8014810 0.6805675
## y 0.7831060 0.02820184 0.2671906 0.5531799
## z 0.8228712 0.72074338 0.7501729 0.5577136
m2=m1[1:2,1:2]
m2
## uno dos
## x 0.6336777 0.19445654
## y 0.7831060 0.02820184
#m3=m1-m2
m4<-m1[1:3,1:3]#can do m1[,-4]
m4
## uno dos tres
## x 0.6336777 0.19445654 0.8014810
## y 0.7831060 0.02820184 0.2671906
## z 0.8228712 0.72074338 0.7501729
#m1-m4
m5=m1[,"uno"]
m5
## x y z
## 0.6336777 0.7831060 0.8228712
m6=m1-m5
m6
## uno dos tres cuatro
## x 0 -0.4392212 0.16780327 0.04688972
## y 0 -0.7549041 -0.51591541 -0.22992607
## z 0 -0.1021278 -0.07269831 -0.26515763
#rnorm(n,mean,sd)
randExp<-rnorm(10,0,2)
randExp
## [1] 2.42784905 -0.38400467 3.09472727 -0.50729448 -0.08534979 1.58659084
## [7] 3.79950854 -1.54531666 0.23095735 2.76818546
rand2<-rnorm(12,0,1)
#rand2
mm1<-matrix(rand2,nrow = 3)
m1
## uno dos tres cuatro
## x 0.6336777 0.19445654 0.8014810 0.6805675
## y 0.7831060 0.02820184 0.2671906 0.5531799
## z 0.8228712 0.72074338 0.7501729 0.5577136
mm1
## [,1] [,2] [,3] [,4]
## [1,] 0.25352221 -0.1311910 -0.4831948 -0.2205702
## [2,] -0.03362631 -0.8860663 0.8450158 1.2067562
## [3,] 0.08140635 -0.1709769 -0.9629389 -0.2313886
c=m1*mm1
c
## uno dos tres cuatro
## x 0.16065138 -0.02551096 -0.3872714 -0.1501129
## y -0.02633296 -0.02498870 0.2257802 0.6675533
## z 0.06698694 -0.12323045 -0.7223707 -0.1290486
m1%*%t(mm1)#3*4 * 4*3 = 3*3
## [,1] [,2] [,3]
## x -0.40224390 1.3049334 -0.9109150
## y -0.05628516 0.8420119 -0.3263598
## z -0.37143355 0.6406357 -0.9076628
matrix.mat
## US Worldwide
## The matr 171.5 292.0
## Reloaded 281.6 460.6
## Revolutions 139.3 288.0
total<-colSums(matrix.mat)
rowSums(matrix.mat)
## The matr Reloaded Revolutions
## 463.5 742.2 427.3
average<-colMeans(matrix.mat)
rowMeans(matrix.mat)
## The matr Reloaded Revolutions
## 231.75 371.10 213.65
matrix.prelim<-rbind(matrix.mat,average,total)
matrix.prelim
## US Worldwide
## The matr 171.5000 292.0000
## Reloaded 281.6000 460.6000
## Revolutions 139.3000 288.0000
## average 197.4667 346.8667
## total 592.4000 1040.6000
#QUIZ8
a=1:60
a1<-matrix(a,6)
a1
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 7 13 19 25 31 37 43 49 55
## [2,] 2 8 14 20 26 32 38 44 50 56
## [3,] 3 9 15 21 27 33 39 45 51 57
## [4,] 4 10 16 22 28 34 40 46 52 58
## [5,] 5 11 17 23 29 35 41 47 53 59
## [6,] 6 12 18 24 30 36 42 48 54 60
#a1[,c(7:9)]
a1[,7:9]
## [,1] [,2] [,3]
## [1,] 37 43 49
## [2,] 38 44 50
## [3,] 39 45 51
## [4,] 40 46 52
## [5,] 41 47 53
## [6,] 42 48 54
M1<-matrix(runif(25,10,20),5)
M1
## [,1] [,2] [,3] [,4] [,5]
## [1,] 18.64009 19.78729 18.54140 12.92796 11.75507
## [2,] 14.48008 15.83602 13.66554 13.22068 10.54079
## [3,] 13.30746 16.47038 12.19897 13.45940 18.68944
## [4,] 11.42831 14.80473 16.44936 18.37861 10.57607
## [5,] 19.39106 19.56400 17.83421 17.42450 19.46308
M2<-matrix(rnorm(25,5,1),5)
M2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 3.472643 5.294560 5.131065 5.381936 5.352922
## [2,] 4.580244 5.034853 5.224985 3.093105 3.067797
## [3,] 4.721700 5.266283 4.478500 5.152996 5.624749
## [4,] 6.967890 5.758656 5.263340 4.673562 4.709319
## [5,] 5.811725 3.974215 6.484073 3.986313 4.919149
avg.M1<-colMeans(M1)
avg.M2<-colMeans(M2)
total.M1<-colSums(M1)
total.M2<-colSums(M2)
M1.avg=rbind(M1,avg.M1,total.M1)
#M1.avg
M2.avg<-rbind(M2,avg.M2,total.M2)
#M2.avg
r.avg.M1<-rowMeans(M1.avg)
#r.avg.M1
r.avg.M2<-rowMeans(M2.avg)
r.Total.M1<-rowSums(M1.avg)
r.Total.M2<-rowSums(M2.avg)
M1.avg<-cbind(M1.avg,r.avg.M1,r.Total.M1)
M1.avg
## r.avg.M1 r.Total.M1
## 18.64009 19.78729 18.54140 12.92796 11.75507 16.33036 81.65181
## 14.48008 15.83602 13.66554 13.22068 10.54079 13.54862 67.74311
## 13.30746 16.47038 12.19897 13.45940 18.68944 14.82513 74.12566
## 11.42831 14.80473 16.44936 18.37861 10.57607 14.32742 71.63708
## 19.39106 19.56400 17.83421 17.42450 19.46308 18.73537 93.67685
## avg.M1 15.44940 17.29248 15.73790 15.08223 14.20489 15.55338 77.76690
## total.M1 77.24701 86.46241 78.68949 75.41115 71.02445 77.76690 388.83451
M2.avg<-cbind(M2.avg,r.avg.M2,r.Total.M2)
M2.avg
## r.avg.M2 r.Total.M2
## 3.472643 5.294560 5.131065 5.381936 5.352922 4.926625 24.63313
## 4.580244 5.034853 5.224985 3.093105 3.067797 4.200197 21.00099
## 4.721700 5.266283 4.478500 5.152996 5.624749 5.048846 25.24423
## 6.967890 5.758656 5.263340 4.673562 4.709319 5.474553 27.37277
## 5.811725 3.974215 6.484073 3.986313 4.919149 5.035095 25.17548
## avg.M2 5.110840 5.065713 5.316393 4.457582 4.734787 4.937063 24.68532
## total.M2 25.554201 25.328566 26.581963 22.287912 23.673937 24.685316 123.42658
min(M1)
## [1] 10.54079
min(M2)
## [1] 3.067797
max(M1)
## [1] 19.78729
max(M2)
## [1] 6.96789
min(M1[,3])
## [1] 12.19897
min(M2[,3])
## [1] 4.4785
mean(M1)
## [1] 15.55338
mean(M2)
## [1] 4.937063
sd(M1)
## [1] 3.09811
sd(M2)
## [1] 0.9286223