おすすめノイズキャンセリングヘッドホンはこちら
グラフ・分析

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

dplyr

パッケージを使うのすら初心者なんだけど

dplyrってどうやって使うんだっけ?

という方にdplyrの使い方をお伝えするよ。

Rにもともと入っているデータを使うので、データをダウンロードする必要もないですわ。

RStudioとこの記事を、交互に見るのが大変だよぉぉ

という方に向けて、次のコードを用意したよ。

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

dplyr関数ごとに分けたもの

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

パッケージ読み込み

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

他のインストール方法もあるわ。

データを見てみる

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

ToothGrowthデータを表示

head(ToothGrowth)

dplyr

len、supp、doseが列名です。

「ToothGrowth」というのは、ギニアピッグの歯の成長に対するビタミンCの効果を表しているよ。

意味わかんなくても大丈夫。あくまでdplyrの使い方。

もしデータの概要が気になるという方がいたら、このコードで見れるよ。

ヘルプ

?ToothGrowth

filterを使ってみる

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

ToothGrowthデータの中でsuppがVCであるもののデータを表示してみる。

suppがVCであるときのデータを表示してみるわ。イコールは二個だよ。

supp ==VC

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

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

dplyr

条件付きでfilterを使う

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

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

len >30 supp==OJ

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

dplyr

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

len > 20, dose == 1

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

dplyr

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

selectを使う

selectで必要な列を取り出す

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

lenだけを取り出す

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

dplyr

selectで列名を変える

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

lenをlength

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

dplyr

mutateを使う

mutateで列を追加する

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

dose2をデータに追加

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

dplyr

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

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

▼RStudioでファイルを作る

①File
②New file
③R Script

dplyrの使い方

dplyr入門
パイプ処理偏
#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言語に戻る

あわせて読みたい
R言語
【随時更新】ゼロから始めるR言語【2018/3/30日更新】RとRStudioのインストールからグラフ・図・分析、テキストマイニング、スクレイピングなどをやっていきます。ネットでRを勉強したい人は是非ご覧ください。...

    以上さぎのみや(@gumimomoko)でした。今日もあなたの毒を抜きました。少しは体が軽くなりましたか?

    Rに関する本

     

    ABOUT ME
    さぎのみや
    さぎのみや
    「物事の本質を見抜く」をテーマに発信している19才の理系大学生ブロガー。「R」・「本」・「行動経済学」のことを中心に発信中。グミは100種類以上食べてきました。アイコンは可愛いですけど、男です。お仕事依頼はTwitterからお願いします。 →Polcaで応援Amazonほしいものリスト
    おすすめ音楽アプリ「AWA」
    • 新たな音楽の扉が開く
    • 4300万楽曲
    • 最高の音質
    • 参加アーティスト多数

    今だけ有料プランが3か月無料です!

    詳しくみる