MATRIISIt JA VEKTORIT
> x<-c(1,2,3,4,5)
>
> x
[1] 1 2 3 4 5
>
> x<-1:5
>
> x<-array(1:5,dim=c(5))
> x
[1] 1 2 3 4 5
> x<-array(c(1,2,3),dim=c(5))
> x
[1] 1 2 3 1 2
>
> x<-array(1:20,dim=c(4,5))
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20
> x<-matrix(1:20,nr=4,nc=5)
> x[,1]
[1] 1 2 3 4
> x[3,]
[1] 3 7 11 15 19
>
> x[,c(1,2)]
[,1] [,2]
[1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8
>
> i<-array(c(1:3,3:1),dim=c(3,2))
> i
[,1] [,2]
[1,] 1 3 [2,] 2 2 [3,] 3 1
> x[i]
[1] 9 6 3
> x[i]<-0
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 0 13 17 [2,] 2 0 10 14 18 [3,] 0 7 11 15 19 [4,] 4 8 12 16 20
>
> m1<-matrix(data=1,nr=2,nc=2)
> m1
[,1] [,2]
[1,] 1 1 [2,] 1 1
> m2<-matrix(data=2,nr=2,nc=2)
> m2
[,1] [,2]
[1,] 2 2 [2,] 2 2
> rbind(m1,m2) [,1] [,2]
[1,] 1 1 [2,] 1 1 [3,] 2 2 [4,] 2 2
> cbind(m1,m2) [,1] [,2] [,3] [,4]
[1,] 1 1 2 2
[2,] 1 1 2 2
>
> tulo<-rbind(m1,m2) %*% cbind(m1,m2)
> tulo
[,1] [,2] [,3] [,4]
[1,] 2 2 4 4 [2,] 2 2 4 4 [3,] 4 4 8 8 [4,] 4 4 8 8
>
> t(cbind(m1,m2)) [,1] [,2]
[1,] 1 1 [2,] 1 1 [3,] 2 2 [4,] 2 2
>
>
> diag(tulo) [1] 2 2 8 8
>
> diag(tulo)<-10
> tulo
[,1] [,2] [,3] [,4]
[1,] 10 2 4 4
[2,] 2 10 4 4 [3,] 4 4 10 8 [4,] 4 4 8 10
>
> diag(3)
[,1] [,2] [,3]
[1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1
>
> v<-c(10,20,30)
> diag(v)
[,1] [,2] [,3]
[1,] 10 0 0 [2,] 0 20 0 [3,] 0 0 30
>
> diag(3, nr=3, nc=5) [,1] [,2] [,3] [,4] [,5]
[1,] 3 0 0 0 0 [2,] 0 3 0 0 0 [3,] 0 0 3 0 0
>
>>
> a<-1:5
> b<-1:5
> ab<-a%o%b
> ab
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5 [2,] 2 4 6 8 10 [3,] 3 6 9 12 15 [4,] 4 8 12 16 20 [5,] 5 10 15 20 25
> ab<-outer(a,b, "*")
>
> outer(a,b,"+")
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 4 5 6 [2,] 3 4 5 6 7 [3,] 4 5 6 7 8 [4,] 5 6 7 8 9
[5,] 6 7 8 9 10
>
> outer(a,b,"==")
[,1] [,2] [,3] [,4] [,5]
[1,] TRUE FALSE FALSE FALSE FALSE [2,] FALSE TRUE FALSE FALSE FALSE [3,] FALSE FALSE TRUE FALSE FALSE [4,] FALSE FALSE FALSE TRUE FALSE [5,] FALSE FALSE FALSE FALSE TRUE
>
> 1+abs(outer(1:5,1:5,"-") + )
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5 [2,] 2 1 2 3 4 [3,] 3 2 1 2 3 [4,] 4 3 2 1 2 [5,] 5 4 3 2 1
> 0.5^abs(outer(1:5,1:5,"-")) [,1] [,2] [,3] [,4] [,5]
[1,] 1.0000 0.500 0.25 0.125 0.0625 [2,] 0.5000 1.000 0.50 0.250 0.1250 [3,] 0.2500 0.500 1.00 0.500 0.2500 [4,] 0.1250 0.250 0.50 1.000 0.5000
[5,] 0.0625 0.125 0.25 0.500 1.0000
>
> a<-matrix(c(2,8,2,-7,-9,-1,12,0,-16),nr=3,nc=3)
> a
[,1] [,2] [,3]
[1,] 2 -7 12 [2,] 8 -9 0 [3,] 2 -1 -16
> b<-c(4,7,-1)
> x<-solve(a,b)
> x
[1] 0.81967213 -0.04918033 0.16803279
> a %*% x [,1]
[1,] 4 [2,] 7 [3,] -1
>
> ai<-solve(a)
> ai %*% a
[,1] [,2] [,3]
[1,] 1.000000e+00 -2.220446e-16 -1.110223e-15 [2,] 5.551115e-17 1.000000e+00 -1.332268e-15 [3,] 6.938894e-18 3.122502e-17 1.000000e+00
>
> y<-c(1,1,2,2,3,3,3,2)
> x<-outer(1:8,0:2,"^")
> x
[,1] [,2] [,3]
[1,] 1 1 1 [2,] 1 2 4 [3,] 1 3 9 [4,] 1 4 16 [5,] 1 5 25 [6,] 1 6 36 [7,] 1 7 49 [8,] 1 8 64
> b<-solve(t(x) %*% x) %*% crossprod(x,y)
> b
[,1]
[1,] -0.33928571 [2,] 1.05357143 [3,] -0.08928571
> b<-lsfit(x,y)
Warning message:
X matrix was collinear in: lsfit(x, y)
> b
$coefficients
Intercept X1 X2 X3
-0.33928571 1.05357143 -0.08928571 0.00000000
$residuals
[1] 0.37500000 -0.41071429 -0.01785714 -0.44642857 0.30357143 0.23214286 0.33928571 -0.37500000
$intercept [1] TRUE
…
eigen(t(x) %*% x)
$values
[1] 8968.5279284 15.0539754 0.4180962
$vectors
[,1] [,2] [,3]
[1,] 0.02310321 -0.4370079 0.89916089 [2,] 0.14633204 -0.8882360 -0.43545812 [3,] 0.98896571 0.1416365 0.04342716
>
> eigen(t(x) %*% x)$values
[1] 8968.5279284 15.0539754 0.4180962
>
> t<-eigen(t(x) %*% x)$vectors
> l<-diag(eigen(t(x) %*% x)$values)
>
> t(x) %*% x [,1] [,2] [,3]
[1,] 8 36 204 [2,] 36 204 1296 [3,] 204 1296 8772
>
> t %*% l %*% t(t) [,1] [,2] [,3]
[1,] 8 36 204 [2,] 36 204 1296 [3,] 204 1296 8772
>