dummiesパッケージ 
1 
@weda_654
自己紹介 
 Twitter ID : @weda_654 
 勤務先: Google MapとAWSの会社 
 お仕事: データ分析をやっています 
2 
(社会人1年目) 
 近況: 会社の自分の席が正式になくなる 
(デスクレス)
dummiesパッケージをつかうと 
概要 
かんたんにダミー変数がつくれるらしいから 
とりあえず使ってみた 
3
ダミー変数とは 
4 
 ある1個の変数がm個のカテゴリーを持つとき,これ 
をm個の変数D1,D2,…,Dmで表したもの. 
 例: 血液型 
A,B,O,ABの4つのカテゴリー 
↓ 
変数A,変数B,変数O,変数ABの4つの変数 
(変数A,変数B,変数Oの3つの変数でも表現は可能)
いままでのダミー変数作成 
data.frameから対象ベクトルを抜き出す 
なんやかんやする 
data.frameに結合+列名の修正 
_人人人人人人人_ 
> めんどい! < 
 ̄Y^Y^Y^Y^Y^Y ̄ 
5
なんやかんや 
6 
tmp <- function(vec){ 
result <- NULL 
items <- unique(vec) 
for(i in items){ 
dummy <- ifelse(vec %in% i, 1, 0) 
result <- cbind(result, dummy) 
} 
return(result) 
}
dummy関数 
 ベクトルからダミー変数を生成 
install.packages(“dummies”) 
library(dummies) 
blood <- c("A", "AB", "B", "A", "O", "A") 
d.blood <- dummy(blood) 
表1 : 実行結果 
bloodA bloodAB bloodB bloodO 
1 0 0 0 
0 1 0 0 
0 0 1 0 
1 0 0 0 
0 0 0 1 
1 0 0 0 
7
dummy.data.frame関数(1) 
 data.frame内の質的変数(文字列・順序なし因子)列 
からダミー変数を生成 
 irisデータで試してみる 
• irisデータには質的変数Speciesがある 
d.iris <- dummy.data.frame(iris, sep=“:”) 
rdm <- sample(1:nrow(d.iris), 10) 
d.iris[rdm, ] 
8
dummy.data.frame関数(2) 
表2 : ダミー変数を追加したirisデータ 
Sepal.Length Sepal.Width Petal.Length Petal.Width Species:setosa Species:versicolor Species:virginica 
5 3.3 1.4 0.2 1 0 0 
4.9 2.4 3.3 1 0 1 0 
5 2.3 3.3 1 0 1 0 
5.5 2.6 4.4 1.2 0 1 0 
5.6 2.8 4.9 2 0 0 1 
6.7 3 5.2 2.3 0 0 1 
6 2.7 5.1 1.6 0 1 0 
5.4 3 4.5 1.5 0 1 0 
6.7 2.5 5.8 1.8 0 0 1 
5.7 3 4.2 1.2 0 1 0 
 生成→結合(置換)をひとまとめにできる 
9
get.dummy, which.dummy 
 get.dummy 
• 生成したダミー変数を表示する 
 which.dummy 
• 生成したダミー変数の列番号を表示する 
10
11 
より良いダミー変数生成ライフ?を 
もっとイケてる生成方法があったら 
教えて下さい!

Dummiesパッケージ

Editor's Notes

  • #4 それ以上でも、それ以下でもない 無味無臭なLT
  • #5 性別とかもよくきくのでは
  • #6 きっと、みなさんはこんな非効率なことをしてはいないと思いますが… 忘れたそばからやってくる
  • #11 関数はこれだけ もっと詳しく知りたい方はhelpをみましょう