UPDATE: 2021-09-24 23:14:01

はじめに

ここではデータ分析のための線形代数の章末問題をRで回答していきます。

表1.1が表すアンケートデータ

D <- matrix(c(1,3,1,1,4,5,26,
              1,2,1,3,1,3,22,
              2,3,1,1,1,5,27,
              1,2,2,1,1,5,34,
              1,2,2,2,3,2,28,
              3,4,1,1,3,5,20,
              4,1,2,3,4,4,18,
              4,4,1,2,4,4,30,
              2,3,2,4,2,4,23,
              1,2,2,1,4,1,32),
            nrow = 10, ncol = 7, byrow = TRUE)
colnames(D) <- paste0("Q", 1:7)
rownames(D) <- paste0("ID", 1:10)

# 1.1のアンケートデータ
D
##      Q1 Q2 Q3 Q4 Q5 Q6 Q7
## ID1   1  3  1  1  4  5 26
## ID2   1  2  1  3  1  3 22
## ID3   2  3  1  1  1  5 27
## ID4   1  2  2  1  1  5 34
## ID5   1  2  2  2  3  2 28
## ID6   3  4  1  1  3  5 20
## ID7   4  1  2  3  4  4 18
## ID8   4  4  1  2  4  4 30
## ID9   2  3  2  4  2  4 23
## ID10  1  2  2  1  4  1 32

3章の章末問題

3.1 以下のベクトルがあるとき、1から10の2つのベクトルが直交するかどうかを答えよ。ただし、2つのベクトルの間で、直交性が定義されていない場合は「定義されていない」と答えること。

\[ \begin{eqnarray} \boldsymbol{ s } =\left(\begin{array}{c} 2 \\ 1.5 \end{array}\right), \boldsymbol{ t } =\left(\begin{array}{c} 5 \\ 2 \end{array}\right), \boldsymbol{ v } =\left(\begin{array}{c} -3 \\ 4 \end{array}\right), \boldsymbol{ w } =\left(\begin{array}{c} 0 \\ 0 \end{array}\right), \boldsymbol{ a } =\left(\begin{array}{c} 2 \\ -5 \\ 0 \end{array}\right), \boldsymbol{ b } =\left(\begin{array}{c} 3 \\ 5 \\ -1 \end{array}\right), \boldsymbol{ c } =\left(\begin{array}{c} -5 \\ 3 \\ 0 \end{array}\right), \boldsymbol{ d } =\left(\begin{array}{c} 0 \\ 0 \\ 7 \end{array}\right) \end{eqnarray} \]

s <- c(2, 1.5)
t <- c(5, 2)
v <- c(-3, 4)
w <- c(0, 0)
a <- c(2, -5, 0)
b <- c(3, 5, -1)
c <- c(-5, 3, 0)
d <- c(0, 0, 7)

3.1.1 sとt

# 直交しない
s %*% t
##      [,1]
## [1,]   13
library(matlib)
xlim <- c(0, 5)
ylim <- c(0, 5)
plot(xlim, ylim, type = "n", xlab = "Dim1", ylab = "Dim2", asp = 1)
abline(v = 0, h = 0, col = "gray")
grid()
vectors(rbind(s, t), col = c("red", "blue"))

3.1.2 vとs

# 直交する
v %*% s
##      [,1]
## [1,]    0
xlim <- c(-5, 5)
ylim <- c(0, 5)
plot(xlim, ylim, type = "n", xlab = "X", ylab = "Y", asp = 1)
abline(v = 0, h = 0, col = "gray")
grid()
vectors(rbind(v, s), col = c("red", "blue"))

3.1.3 tとw

# 直交する
t %*% w
##      [,1]
## [1,]    0
xlim <- c(0, 5)
ylim <- c(0, 5)
plot(xlim, ylim, type = "n", xlab = "Dim1", ylab = "Dim2", asp = 1)
abline(v = 0, h = 0, col = "gray")
grid()
vectors(rbind(t, w), col = c("red", "blue"))

3.1.4 vとt

# 直交しない
v %*% t
##      [,1]
## [1,]   -7
xlim <- c(-5, 5)
ylim <- c(0, 5)
plot(xlim, ylim, type = "n", xlab = "Dim1", ylab = "Dim2", asp = 1)
abline(v = 0, h = 0, col = "gray")
grid()
vectors(rbind(v, t), col = c("red", "blue"))

3.1.5 tとa

# 定義されない

3.1.6 cとd

# 直交する
c %*% d
##      [,1]
## [1,]    0

3.1.7 bとc

# 直交する
b %*% c
##      [,1]
## [1,]    0

3.1.8 bとa

# 直交しない
b %*% a
##      [,1]
## [1,]  -19

3.1.9 wとd

# 定義されない

3.1.10 dとa

# 直交する
d %*% a
##      [,1]
## [1,]    0

3.2 1から12のベクトルの組が各々一次独立か一次従属かを答えよ。一次独立が定義されていない場合は「定義されていない」と答えること。

\[ \begin{eqnarray} (1) \left(\begin{array}{c} 0 \\ 0 \end{array}\right), (2) \left(\begin{array}{c} -4 \\ -3 \end{array}\right), (3) \left(\begin{array}{c} 1 \\ 4 \end{array}\right), \left(\begin{array}{c} -4 \\ 1 \end{array}\right), (4) \left(\begin{array}{c} 1 \\ 4 \end{array}\right), \left(\begin{array}{c} -2 \\ -8 \end{array}\right), (5) \left(\begin{array}{c} 1 \\ 4 \end{array}\right), \left(\begin{array}{c} -4 \\ 1 \end{array}\right), \left(\begin{array}{c} 3 \\ -3 \end{array}\right), (6) \left(\begin{array}{c} -3 \\ 2 \\ -2 \end{array}\right), \left(\begin{array}{c} 2 \\ 0 \\ 1 \end{array}\right) (7) \left(\begin{array}{c} -3 \\ 2 \\ -2 \end{array}\right), \left(\begin{array}{c} 2 \\ 0 \\ 1 \end{array}\right), \left(\begin{array}{c} 1 \\ -2 \\ 1 \end{array}\right), \\ (8) \left(\begin{array}{c} -3 \\ 2 \\ -2 \end{array}\right), \left(\begin{array}{c} 2 \\ 0 \\ 1 \end{array}\right), \left(\begin{array}{c} 0 \\ 0 \\ 0 \end{array}\right), (9) \left(\begin{array}{c} 1 \\ 4 \end{array}\right), \left(\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\right), (10) \left(\begin{array}{c} 4 \\ 5 \\ 0 \end{array}\right), \left(\begin{array}{c} 2 \\ 1 \\ 2 \end{array}\right), \left(\begin{array}{c} 3 \\ -2 \\ 1 \end{array}\right), (11) \left(\begin{array}{c} 4 \\ 5 \\ 0 \end{array}\right), \left(\begin{array}{c} 2 \\ 1 \\ 2 \end{array}\right), \left(\begin{array}{c} 3 \\ -2 \\ 1 \end{array}\right), \left(\begin{array}{c} 1 \\ -1 \\ 1 \end{array}\right), (12) \left(\begin{array}{c} 1.5 \\ -1 \\ 1 \end{array}\right), \left(\begin{array}{c} -3 \\ 2 \\ -2 \end{array}\right), \left(\begin{array}{c} 6 \\ -4 \\ 4 \end{array}\right) \end{eqnarray} \] ### 3.2.1 ゼロベクトル1つの組であり一次従属

3.2.2

非ゼロベクトル1つの組であり一次独立

3.2.3

一方が他方のスカラ倍ではなく一次独立

3.2.4

\[ -2 \left(\begin{array}{c} 1 \\ 4 \end{array}\right) = \left(\begin{array}{c} -2 \\ -8 \end{array}\right) \] であり一次従属。

3.2.5

2次ベクトル3つからなる組であり、一次従属

3.2.6

一方が他方のスカラ倍ではなく一次独立

3.2.7

\[ \left(\begin{array}{c} −3 \\ 2 \\ -2 \end{array}\right) = - \left(\begin{array}{c} 2 \\ 0 \\ 1 \end{array}\right) - \left(\begin{array}{c} 1 \\ -2 \\ 1 \end{array}\right) \] であり一次従属。

3.2.8

ゼロベクトルを含む組であり一次従属

3.2.9

定義されない

3.2.10

ランクが3であるため、一次独立。

m <- matrix(
  c(4, 2, 3,
    5, 1,-2,
    0, 2, 1),
  nrow = 3,
  ncol = 3,
  byrow = TRUE
)

R(m)
## [1] 3

3.2.11

3次ベクトル4つからなる組であり一次従属。

3.2.12

ランクが1であるため、一次従属。

m <- matrix(
  c(1.5,-3, 6,-1, 2,-4,
    1,-2, 4),
  nrow = 3,
  ncol = 3,
  byrow = TRUE
)

R(m)
## [1] 1

3.3 問題3.2の1から12について一次独立なベクトルの最大個数を求めよ。

この問題の回答は行なわない。

3.4 以下のベクトルについて、1から5に答えよ。

\[ \begin{eqnarray} \boldsymbol{ a } =\left(\begin{array}{c} 2 \\ 2 \end{array}\right), \boldsymbol{ b } =\left(\begin{array}{c} -1 \\ -1 \end{array}\right), \boldsymbol{ c } =\left(\begin{array}{c} -3 \\ 4 \end{array}\right), \boldsymbol{ d } =\left(\begin{array}{c} -1 \\ 6 \end{array}\right), \boldsymbol{ f } =\left(\begin{array}{c} 3 \\ -4 \end{array}\right), \boldsymbol{ g } =\left(\begin{array}{c} 0 \\ 0 \end{array}\right) \end{eqnarray} \]

3.4.1 E1を張る3つのベクトルからなる組を6つのベクトルから選べ。

\(\boldsymbol{a},\boldsymbol{b},\boldsymbol{g}\)または\(\boldsymbol{c},\boldsymbol{f},\boldsymbol{g}\)

3.4.2 E1を張る2つのベクトルからなる組を6つのベクトルから選べ。ただしゼロベクトルを含まないものとする。

\(\boldsymbol{a},\boldsymbol{b}\)または\(\boldsymbol{c},\boldsymbol{f}\)

3.4.3 fを含むE2の基底を6つのベクトルから選べ。

\(\boldsymbol{f},\boldsymbol{a}\)\(\boldsymbol{f},\boldsymbol{b}\)\(\boldsymbol{f},\boldsymbol{d}\)

3.4.4 E2の規定となる2つのベクトルからなる組を、6つのベクトルから選べ。ただし、bを含まないこと。

\(\boldsymbol{a},\boldsymbol{c},\boldsymbol{d},\boldsymbol{f}\)から選んだ2つのベクトルの組み合わせ、ただし、\(\boldsymbol{c},\boldsymbol{f}\)の組み合わせは除く。

3.4.5 ベクトルあを含む2つのベクトルからなるベクトルの組で、一次従属な組を2組選べ。

\(\boldsymbol{a},\boldsymbol{b}\)および\(\boldsymbol{a},\boldsymbol{g}\)

セッション情報

sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] ja_JP.UTF-8/ja_JP.UTF-8/ja_JP.UTF-8/C/ja_JP.UTF-8/ja_JP.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] matlib_0.9.5
## 
## loaded via a namespace (and not attached):
##  [1] zip_2.1.1         Rcpp_1.0.6        highr_0.8         cellranger_1.1.0 
##  [5] compiler_4.0.3    pillar_1.6.2      forcats_0.5.1     tools_4.0.3      
##  [9] digest_0.6.27     jsonlite_1.7.2    evaluate_0.14     lifecycle_1.0.0  
## [13] tibble_3.1.3      pkgconfig_2.0.3   rlang_0.4.10      openxlsx_4.2.3   
## [17] crosstalk_1.1.1   curl_4.3          yaml_2.2.1        haven_2.3.1      
## [21] xfun_0.24         rio_0.5.16        stringr_1.4.0     knitr_1.33       
## [25] vctrs_0.3.8       htmlwidgets_1.5.3 systemfonts_1.0.2 hms_1.0.0        
## [29] data.table_1.13.6 R6_2.5.0          textshaping_0.3.5 fansi_0.4.2      
## [33] readxl_1.3.1      rgl_0.107.10      foreign_0.8-80    rmarkdown_2.6    
## [37] carData_3.0-4     car_3.0-10        magrittr_2.0.1    htmltools_0.5.1.1
## [41] ellipsis_0.3.2    MASS_7.3-53       abind_1.4-5       xtable_1.8-4     
## [45] ragg_1.1.3        utf8_1.1.4        stringi_1.5.3     crayon_1.4.0