Rのパッケージであるdplyrの使い方が知りたい
という悩みを解決します。この記事では以下のコードを用意しました。
- 関数ごとに分けたもの(実行しなくても理解できる)
- 具体的な説明とコードを書いたもの(実行するのがおすすめ)
dplyrについて理解を深めるきっかけになれれば幸いです。
dplyr関数ごとに分けたもの
dplyrのインストールと読み込み
install.packages(“dplyr”)
library(dplyr)
データを見てみる
今回はRにもともと入っているデータを使うので、ダウンロードする必要はありません。
head(ToothGrowth)
len、supp、doseが列名です。
「ToothGrowth」というのは、ギニアピッグの歯の成長に対するビタミンCの効果を表しています。意味わかんなくても大丈夫。もしデータの概要が気になるという方がいたら、このコードでみれます。
?ToothGrowth
filterを使ってみる
列名の一部を指定して取り出す
ToothGrowthデータの中でsuppがVCであるもののデータを表示してみます。suppがVCであるときのデータを表示します。イコールは二個です。
ToothGrowth %>% filter(supp == “VC”) %>% head()
filterでデータの取得する部分を指定しているね。
条件付きでfilterを使う
列名だけでなく、5以上とか20以上とか数値を指定することができます。
lenが30より上,suppがOJのものを取り出す。
ToothGrowth %>% filter(len > 30, supp == “OJ”)
lenが20より上,doseが1のものを取り出す。
ToothGrowth %>% filter(len > 20, dose == 1)
数値のときは""はいらない。文字列のときは""は必要。
selectを使う
selectで必要な列を取り出す
列名がlenのものを取り出します。
ToothGrowth %>% select(len) %>% head()
selectで列名を変える
列名を変えることもできるわ。列名lenをlengthにしてみます。
ToothGrowth %>% select(length = len) %>% head()
mutateを使う
mutateで列を追加する
doseに10をかけたdose2という列名を追加していくわ。10をかけた理由とかないけどね。
ToothGrowth %>% mutate(dose2 = dose * 10) %>% head()
dplyrの具体的な説明とコードを書いたもの
こっちは、この記事とRStudioなどを交互に見る必要ないバージョンです。Rstudioなどのファイルにコピペして使ってください。RStudioでファイルを作ります。
- File
- New file
- R Script
#dplyrは、データフレームを効率的に処理できるもの
#パッケージのインストールと読み込み
install.packages(“dplyr”)
library(dplyr)
##Rにもともと入っているデータ(ToothGrowth)を使う
#head()でデータの上から5行を表す
head(ToothGrowth)
##ToothGrowthはギニアピッグの歯の成長に対するビタミンCの効果
#説明を深く知りたいときは「?データ名」で説明が見れる ?ToothGrowth
##データには歯の長さ(len)、ビタミンCの種類(supp)VCかOJか、ビタミンCの量(dose) #Formatってところにあるよ
###filter
##ToothGrowthデータの中でsuppがVCであるもののデータを表示
#suppがOJであるときのデータを表示してみる
ToothGrowth %>% filter(supp == “VC”) %>% head()
ToothGrowthデータの中でsuppがOJであるもののデータを表示
#suppがOJであるときのデータを表示してみる
ToothGrowth %>% filter(supp == “OJ”) %>% head()
#filterでデータの取得する部分を表しているような感じ
##条件付きfilterを利用する
#lenが30より上,suppがVC
ToothGrowth %>% filter(len > 30, supp == “OJ”)
#lenが20より上,doseが1
ToothGrowth %>% filter(len > 20, dose == 1)
###select
##selectで必要な列を取り出す
#lenだけを取りだす
ToothGrowth %>% select(len) %>% head()
##selectで列名を変えることもできる
#列名lenをlengthにする
ToothGrowth %>% select(length = len) %>% head()
##mutate
#列を追加することが出来る(*はかけると同じ)
ToothGrowth %>% mutate(dose2 = dose * 10) %>% head()
###番外編
##magrittrパッケージを使えば、列名を上書きできる
install.packages(magrittr) library(magrittr)
#列を上書きすることができる
#上書きすることのできる%<>%を使う
ToothGrowth %<>% mutate(dose = dose * 10) %>% head() ToothGrowth
まとめ:dplyrを簡単に使えましたか?
- データがないときはRに付属してあるデータを使う
- 説明した関数は↓
- filter
- select
- mutate
以上、Rのパッケージであるdplyrの最低限知っておくべき使い方でした。
UdemyでもR言語について学べます。一度目を通してみてください。
コメント