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