記事の目的
データを整理する際にとても使えるライブラリである「dplyr」についていくつか解説します!
ここに乗せているソースコードは、コピペで全部再現できます。
目次
No. | 目次 | 説明 |
1 | ライブラリと使用するデータ | dplyr / iris |
2 | sample_n | データからランダムにいくつか抽出 |
3 | select | 条件に合う"列"抽出 |
4 | filter | 条件に合う"行"抽出 |
5 | group_by+summarise | グループごとに統計量などを抽出 |
6 | mutate | データをいじって新しい列を追加 |
7 | arrange | 並び替え( 昇順 , 降順 ) |
8 | rename | カラムの名前変更 |
1. ライブラリと使用するデータ
libraryはもちろんdplyrです!
データはirisのデータセットを使用します。
library(dplyr)
iris %>% head()
2. sample_n (データからランダムにいくつか抽出)
iris %>% sample_n(5)
3. select (条件に合う"列"抽出)
iris %>% select(Sepal.Length) %>% sample_n(5)
4. filter (条件に合う"行"抽出)
# 種類を確認 (uniqueはdplyr関係ないです。)
iris$Species %>% unique()
# 種類で指定
iris %>% filter(Species=="versicolor") %>% sample_n(5)
# 数値で指定
iris %>% filter(Sepal.Length>6.5) %>% sample_n(5)
5. group_by+summarise (グループごとに統計量などを抽出)
iris %>% group_by(Species) %>%
summarise(Sepal縦の長さの平均=mean(Sepal.Length),
Sepal横の長さの合計=sum(Sepal.Width))
6. mutate (データをいじって新しい列を追加)
# 足し算の列を追加
iris %>% mutate(Sepal縦と横の合計=Sepal.Length+Sepal.Width) %>%
sample_n(5)
# クラスを数字に変換
# ifelse(条件,条件がTRUEのときの値,条件がFALSEのときの値)
iris %>% mutate(class=ifelse(Species=="setosa",1,
ifelse(Species=="versicolor",2,3))) %>%
sample_n(5)
7. arrange (並び替え)
# 昇順
iris %>% arrange(Sepal.Length) %>% head(5)
# 降順
iris %>% arrange(desc(Sepal.Length)) %>% head(5)
8. rename (カラムの名前変更)
iris %>% rename(種類=Species) %>% sample_n(5)