【超入門dplyr】Rのパッケージであるdplyrの最低限知っておくべき使い方

Rのパッケージであるdplyrの使い方が知りたい

という悩みを解決します。この記事では以下のコードを用意しました。

  • 関数ごとに分けたもの(実行しなくても理解できる)
  • 具体的な説明とコードを書いたもの(実行するのがおすすめ)

dplyrについて理解を深めるきっかけになれれば幸いです。

目次

dplyr関数ごとに分けたもの

dplyrのインストールと読み込み

install.packages(“dplyr”)
library(dplyr)

データを見てみる

今回はRにもともと入っているデータを使うので、ダウンロードする必要はありません。

head(ToothGrowth)
dplyr

len、supp、doseが列名です。

「ToothGrowth」というのは、ギニアピッグの歯の成長に対するビタミンCの効果を表しています。意味わかんなくても大丈夫。もしデータの概要が気になるという方がいたら、このコードでみれます。

?ToothGrowth

filterを使ってみる

列名の一部を指定して取り出す

ToothGrowthデータの中でsuppがVCであるもののデータを表示してみます。suppがVCであるときのデータを表示します。イコールは二個です。

ToothGrowth %>% filter(supp == “VC”) %>% head()

filterでデータの取得する部分を指定しているね。

dplyr

条件付きでfilterを使う

列名だけでなく、5以上とか20以上とか数値を指定することができます。

lenが30より上,suppがOJのものを取り出す。

ToothGrowth %>% filter(len > 30, supp == “OJ”)
dplyr

lenが20より上,doseが1のものを取り出す。

ToothGrowth %>% filter(len > 20, dose == 1)
dplyr

数値のときは""はいらない。文字列のときは""は必要。

selectを使う

selectで必要な列を取り出す

列名がlenのものを取り出します。

ToothGrowth %>% select(len) %>% head()
dplyr

selectで列名を変える

列名を変えることもできるわ。列名lenをlengthにしてみます。

ToothGrowth %>% select(length = len) %>% head()
dplyr

mutateを使う

mutateで列を追加する

doseに10をかけたdose2という列名を追加していくわ。10をかけた理由とかないけどね。

ToothGrowth %>% mutate(dose2 = dose * 10) %>% head()
dplyr

dplyrの具体的な説明とコードを書いたもの

こっちは、この記事とRStudioなどを交互に見る必要ないバージョンです。Rstudioなどのファイルにコピペして使ってください。RStudioでファイルを作ります。

  1. File
  2. New file
  3. 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言語について学べます。一度目を通してみてください。

Rに関する本

この記事が気に入ったら
フォローしてね!

プロフィール背景画像
さぎのみやの画像
さぎのみや
編集者/超書手

コメント

コメントする

CAPTCHA


目次
閉じる