제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")