6
章.
表
タ
操作
わ わ 解析 タ 表 タチ い .R う 表 タ タ
フ ム いうタイプ タ形式 使 表 . タフ ム 説明 前 ,
く似 タ形式 あ 行列 マ ックス 説明 .
行列
操作
R , ベク タ 作 , 行列 タ 作 .例えば,2行3列行列
2×3行列 作 ,以 う .
> matrix(1:6, 2, 3)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
ベク 1:6 ,2行 3列 行列 変換 ,行数=2 列数=3 指定 .実 ,
例 ベク 成分 6個 ,行数 指定 け 十分 .
> matrix(1:6, 2) # 行数 け指定
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
例 ,ベク 1:6 行方向 入 行 ,列方向 入 い場合
”byrow=F” いう プシ ン 付け . ,byrow いう , 行方向 入 いく
> matrix(1:6, 2, byrow=F)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
行列 う 計算 ,ベク う . 2 行列 作 , 変数A
変数B 代入 .
> A = matrix(1:6, 2)
> B = matrix(7:12, 2)
> A
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> B
[,1] [,2] [,3]
[1,] 7 9 11
[2,] 8 10 12
使 行列A B 四則演算 以 う .
> A + B
[,1] [,2] [,3]
[1,] 8 12 16
[2,] 10 14 18
> B – A
[,1] [,2] [,3]
[1,] 6 6 6
> A*B
[,1] [,2] [,3]
[1,] 7 27 55
[2,] 16 40 72
> B/A
[,1] [,2] [,3]
[1,] 7 3.0 2.2
[2,] 4 2.5 2.0
ベク 時 く,掛け算 割 算 ,普通 数学 計算 違い,成分 掛け算 割
算 注意 く い.
今 数値型ベク け 行列 ,文字列型 タ ,論理値型 タ
ベク .一方,因子型 タ ベク 使わ い ,行列 普
通 無理 行列 , 文字列型 タ け .
> C = matrix(c(“a”,”b”,”c”,”d”), 2) #文字列型 タ
> C
[,1] [,2]
[1,] "a" "c"
[2,] "b" "d"
> D = matrix(c(T,F,T,F), 2) #論理値型 タ
> D
[,1] [,2]
[1,] TRUE TRUE
[2,] FALSE FALSE
行列 転置 行 列 入 替え ,関数t(行列) 使い 転置transpose 頭文
> t(A)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
> t(C)
[,1] [,2]
[1,] "a" "b"
[2,] "c" "d"
ほ 行列 タ い 色々 操作 ,ほ 説明 タ
フ ム , 説明 省略 .
行列
転置
⇒
t(
行列
)
タフ
ム
作
方
行列 ,数値 け,文字列 け,論理値 け 成分 持 . ,
時 一緒 成分 . , タフ ム いうタイプ
タ 使い . タフ ム 以 う ベク タ 組 合わ 作 .
> Sex = c(“M”, “M”, “F”, “F”)
> Age = c(18, 18, 18, 19)
> Ht = c(170, 175, 160, 165)
> data = data.frame(Sex, Age, Ht)
> data
Sex Age Ht
1 M 18 170
3 F 18 160
4 F 19 165
タフ
ム
,行列
拡張
,色々
タイプ
成分
取
タフ
ム
行
列
前
見
タ ,行 コ1列 列 タ 1列 前 い い . 見
以 う .
> rownames(data) # 行 row=行
[1] "1" "2" "3" "4"
> colnames(data) # 列 column=列
[1] "Sex" "Age" "Ht"
タ
列
タ
1
列
取
出
大 く3 方法 あ . タ 入 変数 data ,(1) data$Ht 方法,
(2) 変数Ht 3列目 あ 使 data[ ,3] 方法,(3) data[ , Ht ] 方法
.
> data$Ht
> data[ ,3]
> data[ ,”Ht”]
[1] 170 175 160 165
タ
行
コ
1
列
取
出
行 取 出 ,列 取 出 方 う (1) 方法 い ,2 通 方法 あ .
変数 2 (2行目 変数 2 ) 使 data[ 2 , ] 2
方法 あ .
> data[2, ]
> data[“2”, ]
Sex Age Ht
2 M 18 175
列
取
出
⇒
data$
列
, data[ ,
列番号
], data[ ,
列
]
行
取
出
⇒
data[
行番号
, ], data[
行
, ]
複数
列
行
取
出
例えば,性別Sex 身長Ht 2列 取 出 述 (1) $ 使 方法 使え ,(2)
変数Sex 年齢Ht 1列目 3列目 あ 使 data[ , c(1, 3)] 方
法 ,(3) 変数 使 data[ ,c( Sex , Ht )] 方法 あ .
A
B
C
1
2
data[2, ]
3
4
data[ , B]
5
> data[ ,c(1 3)]
> data[ ,c(“Sex”,”Ht”)]
Sex Ht
1 M 170
2 M 175
3 F 160
4 F 165
複数 行 取 出 基本的 ,例えば,2番目 4番目 被験者 タ 取 出
,(2) 2列目 4列目 あ 使 data[c(2, 4), ] 方法 ,(3) 被験者 2
4 使 data[c( 2 , 4 ), ] 方法 2 あ . 注 偶然,被験者
行 ,例えば2番目 4番目 行 ◯ , △ ,data[c( ◯ ,
△ ), ] .
> data[c(2, 4), ]
> data[c(“2”, “4”), ]
Sex Age Ht
2 M 18 175
4 F 19 165
条件
合う行
タ
取
出
い ,列 行 指定 ,特定 列 行 抜 取 . ,例え
ば, 身長170cm以 人 タ 抜 出 う ,条件 合う タ 抜 出 ,統計
計算 う行わ . う ば う ?
,条件 あ 身長 列data$Ht 中 170cm以 う , 身長>=170
ば良 .
> data$Ht >= 170
[1] TRUE TRUE FALSE FALSE
,表 1番目 2番目 人 身長170cm以 あ わ .
> data[c(T, T, F, F), ] # T = TRUE, F = FALSE
Sex Age Ht
1 M 18 170
2 M 18 175
,TRUE/FALSE 論理式 使 行 絞 込 ば良い .行 選ぶ場合 ,[○,
△] ○側 指定 式 書く 注意 く い.
以 う TRUE/FALSE 自力 書く 大変 . , 論理式c(T, T, F, F)
data$Ht>=170 いう条件式 作 . , 論理式 代わ , 条
件式 [○,△] ○側 入 ば, 条件 満 行 選ば .
> data[data$Ht>=170, ]
Sex Age Ht
1 M 18 170
2 M 18 175
以 , 条件式 作 . , 条件 当 行 抜 出
タ[○,△] ○側 条件式 書けば良い .