Rによる行と列の選択方法、列の追加方法
1)インポート時の行選択
# 上から数行を読み込まない場合、skipが使える
d <- read_csv("filename.csv", skip=4)
2)分析時の行選択
d <- d %>% filter()
# gender=1の人だけ選ぶ
d <- d %>% filter (gender == 1)
# gender=1の人だけ除外
d <- d %>% filter (gender != 1)
# gender=1 かつ class=1の人だけ選ぶ
d <- d %>% filter (gender == 1 & class == 1)
# gender=1 またはclass=1の人だけ選ぶ
d <- d %>% filter (gender == 1 | class == 1)
# gender=1 でない人かつ class=1の人だけ選ぶ
d <- d %>% filter (gender != 1 & class == 1)
3)列の選択・並び替え
d <- d %>% select()
d <- d %>% arrange()
# 指定した列のみ残す
d <- d %>% select(age, sex)
d <- d %>% arrange(age, sex)
# 指定した列のみ削除する
d <- d %>% select(-age, -sex)
d <- d %>% arrange(-age, -sex)
# 引数に書いた順番で列は並び替えられる
d <- d %>% select(sex, age)
d <- d %>% arrange(sex, age)
# 変数名ではなく、列番号でも同じ操作ができる
d <- d %>% select(1,2) #指定した列を残す
d <- d %>% arrange(1,2)
d <- d %>% select(-1,-2) #指定した列を削除
d <- d %>% arrange(-1,-2)
d <- d %>% select(2,1) #並び替え
d <- d %>% arrange(2,1)
4)列を操作して変数を追加
# HeightとWeightの平均を求めて合成変数を作る方法は
①mutate()
②rowMean()
③apply()
①mutate()
# mutat(新しい列名=計算式)
d <- d %>% mutate(Ave=(Height+Weight)/2)
②rowMean()
# rowMeans(平均を出したい列を指定)
d$Ave <- NA # 計算に先立って、計算結果を格納する空の列を追加
d$Ave <- rowMeans(d[,c(1,2)])
d$Ave <- rowMeans(d[,1:2])
③apply()
# apply(平均を出したい列, 1, 関数)
d$Ave <- apply(d[,c(1,2)],1,mean)
d$Ave <- apply(d[,1:2],1,mean)