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)



いいなと思ったら応援しよう!