제1장 연습문제

M <- matrix(c(17, 19, 21, 31, 27, 23, 26, 16, 15, 11, 14, 16), nrow=3)
M
##      [,1] [,2] [,3] [,4]
## [1,]   17   31   26   11
## [2,]   19   27   16   14
## [3,]   21   23   15   16
rowSums(M)
## [1] 85 76 75
a1. <- rowSums(M)[1]
a2. <- rowSums(M)[2]
a3. <- rowSums(M)[3]
c(a1., a2., a3.)
## [1] 85 76 75
c(a1. = a1., a2. = a2., a3. = a3.)
## a1. a2. a3. 
##  85  76  75
M.row <- c(a1., a2., a3.)
M.row
## [1] 85 76 75
names(M.row) <- c("a1.", "a2.", "a3.")
M.row
## a1. a2. a3. 
##  85  76  75
colSums(M)
## [1] 57 81 57 41
a.1 <- colSums(M)[1]
a.2 <- colSums(M)[2]
a.3 <- colSums(M)[3]
a.4 <- colSums(M)[4]
c(a.1, a.2, a.3, a.4)
## [1] 57 81 57 41
c(a.1 = a.1, a.2 = a.2, a.3 = a.3, a.4 = a.4)
## a.1 a.2 a.3 a.4 
##  57  81  57  41
M.col <- c(a.1, a.2, a.3, a.4)
M.col
## [1] 57 81 57 41
names(M.col) <- paste("a.",1:4, sep="")
M.col
## a.1 a.2 a.3 a.4 
##  57  81  57  41
sum(M.row)
## [1] 236
sum(M.col)
## [1] 236
sum(M)
## [1] 236
a.. <- sum(M)
a..
## [1] 236
names(a..) <- "a.."
a..
## a.. 
## 236
M[1, 1]
## [1] 17
M[2, 2]
## [1] 27
M[3, 3]
## [1] 15
c1 <- matrix(c(1, 2, 3, 1, 2, 3), ncol=2)
M[c1]
## [1] 17 27 15
sum(M[c1])
## [1] 59
rep(1:3, times=2)
## [1] 1 2 3 1 2 3
c2 <- matrix(rep(1:3, 2), ncol=2)
M[c2]
## [1] 17 27 15
rep(1:3, each=2)
## [1] 1 1 2 2 3 3
c3 <- matrix(rep(1:3, each=2), ncol=2, byrow=TRUE)
M[c3]
## [1] 17 27 15
M[, -2]
##      [,1] [,2] [,3]
## [1,]   17   26   11
## [2,]   19   16   14
## [3,]   21   15   16
rowSums(M[, -2])
## [1] 54 49 52
M[-2, -3]
##      [,1] [,2] [,3]
## [1,]   17   31   11
## [2,]   21   23   16
sum(M[-2, -3])
## [1] 119
A <- matrix(c(-1, 3, 11, -6, 17, 13, -9, -8, 9, 10, 0, 1, -2, 2, -3, 4, 3, 6, 2, 5), ncol=5)
A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   -1   17    9   -2    3
## [2,]    3   13   10    2    6
## [3,]   11   -9    0   -3    2
## [4,]   -6   -8    1    4    5
a1. <- rowSums(A)[1]
a.3 <- colSums(A)[3]
c(a1. = a1., a.3 = a3.)
## a1. a.3 
##  26  75
sum(A[-4, 2])
## [1] 21
sum(A[-2, 5])
## [1] 10
sum((rowSums(A)[3:4])^2)
## [1] 17
a.. <- sum(A)
names(a..) <- "a.."
a..
## a.. 
##  57
A[-2, -c(1, 4)]
##      [,1] [,2] [,3]
## [1,]   17    9    3
## [2,]   -9    0    2
## [3,]   -8    1    5
sum(A[-2, -c(1, 4)])
## [1] 20
A[4, 1:3]
## [1] -6 -8  1
prod(A[4, 1:3])
## [1] 48
A[1:4, 4]
## [1] -2  2 -3  4
prod(A[1:4, 4])
## [1] 48
A[, 1] %*% A[, 4]
##      [,1]
## [1,]  -49
20 * a..
##  a.. 
## 1140
A2<-A
A2[, c(1, 3, 5)] <- -A2[, c(1, 3, 5)]
A2
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1   17   -9   -2   -3
## [2,]   -3   13  -10    2   -6
## [3,]  -11   -9    0   -3   -2
## [4,]    6   -8   -1    4   -5
sum(A2)
## [1] -29
(A[2, -3]-A[4, -3]) %*% (A[2, -3]-A[4, -3])
##      [,1]
## [1,]  527
B <- A[2:4, 3:5]
B
##      [,1] [,2] [,3]
## [1,]   10    2    6
## [2,]    0   -3    2
## [3,]    1    4    5
C <- A[c(2, 4), c(1, 3, 5)]
C
##      [,1] [,2] [,3]
## [1,]    3   10    6
## [2,]   -6    1    5
i.minus.j <- rbind(1:(-2), 2:(-1)) 
i.minus.j
##      [,1] [,2] [,3] [,4]
## [1,]    1    0   -1   -2
## [2,]    2    1    0   -1
A[2:3, 1:4]
##      [,1] [,2] [,3] [,4]
## [1,]    3   13   10    2
## [2,]   11   -9    0   -3
D <- A[2:3, 1:4] + i.minus.j
D
##      [,1] [,2] [,3] [,4]
## [1,]    4   13    9    0
## [2,]   13   -8    0   -4
i <- 3:5
3^i
## [1]  27  81 243
sum(3^i)
## [1] 351
k <- 2:7
2^k
## [1]   4   8  16  32  64 128
sum(2^k)
## [1] 252
r <- 1:5
sum(r)
## [1] 15
s <- c(1, 3:5)
s*(s+1)
## [1]  2 12 20 30
sum(s*(s+1))
## [1] 64
s2 <- c(s, 6)
sum(s2*(s2+1))
## [1] 106
i <- 1:4
prod(2^i)
## [1] 1024
j <- 1:2
k <- 2*j - 1
sapply(1:3, "^", k)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    1    8   27
apply(sapply(1:3, "^", k), 2, prod)
## [1]  1 16 81
sum(apply(sapply(1:3, "^", k), 2, prod))
## [1] 98
D1 <- diag(1:4)
D1
##      [,1] [,2] [,3] [,4]
## [1,]    1    0    0    0
## [2,]    0    2    0    0
## [3,]    0    0    3    0
## [4,]    0    0    0    4
D2 <- diag(3^(1:4-2))
D2
##           [,1] [,2] [,3] [,4]
## [1,] 0.3333333    0    0    0
## [2,] 0.0000000    1    0    0
## [3,] 0.0000000    0    3    0
## [4,] 0.0000000    0    0    9
D3 <- D1 + D2
D3
##          [,1] [,2] [,3] [,4]
## [1,] 1.333333    0    0    0
## [2,] 0.000000    3    0    0
## [3,] 0.000000    0    6    0
## [4,] 0.000000    0    0   13
D4 <- diag(1:4 + 3^(1:4-2))
D4
##          [,1] [,2] [,3] [,4]
## [1,] 1.333333    0    0    0
## [2,] 0.000000    3    0    0
## [3,] 0.000000    0    6    0
## [4,] 0.000000    0    0   13
save.image(file="chap_01.rda")
#savehistory(file="chap_01.Rhistory")