R

【R言語】dplyrパッケージの使い方

この記事は約4分で読めます。

 

今回はRでデータ処理を効率的に行うのを手助けしてくれるパッケージの一つであるdplyrパッケージの使い方を紹介していきます。この記事ではざっくりとした説明で、詳しく知りたい方はこちらの本に書いてあるので是非どうぞ

 

 

 

 

パッケージのインストールと読み込み

>install.packages(“dplyr”)

>library(dplyr)

 

 

www.dmjtmj-stock.com

 

 

内臓データの呼び出し

> head(ToothGrowth)
len supp dose
1 4.2 VC 0.5
2 11.5 VC 0.5
3 7.3 VC 0.5
4 5.8 VC 0.5
5 6.4 VC 0.5
6 10.0 VC 0.5

 

 

>?オブジェクト名で確認すると、このデータは60匹のネズミにビタミンCを与えた場合の歯の長さを図ったデータだそうです。

 

 

条件を満たすものの抽出

> ToothGrowth[ToothGrowth$supp==”OJ”,]
len supp dose
31 15.2 OJ 0.5
32 21.5 OJ 0.5
33 17.6 OJ 0.5
34 9.7 OJ 0.5

 

これはsuppの列でOJと書いてあるデータを抽出しろという意味になります。==は等しいを意味し、,はカンマ前が行、カンマ後が列を示しています。[行,列]というイメージです。
 
 
この場合、カンマ後を空欄にして]で閉じることでOJと書いてある列の行を全部取り出せということになります。
 
 

他にもsubset()を使って抽出する方法もあります。subsetの場合は

 

>subset(ToothGrowth,supp==”OJ”)

 

まあ単一条件の場合ならこの書き方でもいいのですが、もし、性別が女で身長が160以下で体重が50kg以下みたいな複数条件で抽出したい場合は、この書き方だととても汚くなってしまいます。

 

 

そのため複数条件で抜き出すときは%>%演算子を使うのがオススメです。パイプ処理というやつです。

 

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

 

 

 

・データ操作に必須の関数一覧

 

 

・ filter()

また列の数値が〇〇以上などの指定した条件で抽出をかけたい場合は filter()が有効です。長さが25以上でdoseが1以上のデータを抽出したい時はこんな感じです。

 

>ToothGrowth %>% filter(length > 25, dose == 1)

 

 

・mutate()

 データフレーム内の値を操作したいときはmutateを使います。mutateで新たに列を追加することができます。今回はlengthの長さをインチ表記にしたlen2という列を新たに作ります。

 

> ToothGrowth %>% mutate(len2 = length * 0.039) %>% head()

 

 

またデータを上書きしたいとき、dplyrでは%<>%演算子で上書きが可能となります。

 

>library(magrittr)
>ToothGrowth %<>% mutate(len = length * 0.039) %>% head()

 

 

dplyrには他にも、arrannge()やgroupby()など便利な関数がたくさんあります、dplyrについては使う機会があればまたメモします。

 

 

 

追記:Rで株価や決算書のデータを処理・分析したい方はこちらの本がとてもオススメです。


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました