DS講座 tidyverse講座

【R前処理講座22】{dplyr} arrange, distinct, accross:その他便利関数 【tidyverse】

こんにちは,shun(@datasciencemore)です!!

今回は,今まで紹介したものよりは頻度は低いけど,知っていると便利な関数を紹介していきたいと思います.
これらを知っているとより前処理力が向上しますよ~

今回のデータは,みんな大好き,daimondsを使用していきます.

1.ソート arrange

arrangeは指定した列をソートします.
デフォルトは昇順にソートしますが,descをつけることによって降順にソートすることもできます.

昇順,降順ってなんですか?

昇順:値を小さい順番に並べること

降順:値を大きい順番に並べること

だよ

具体例を見てみましょう.

1.1.昇順にソート

 

depth列が上から昇順にソートされていますね.

1.2.降順にソート

 

descを列名にくっつけてあげると,降順にソートしてくれます.
depth列を見ると,確かに降順になっていますね!

1.3.複数列でソート

複数列をソートすることもできます.便利!!

 

2.重複削除 distinct

distinctは,指定した列の重複を削除してくれます. 

2.1.単数列の重複削除

2.2.複数列の重複削除

複数列を指定することも可能です.

2.3.重複削除 他の列も残す

引数.keep_allで指定列以外を残すかどうかを決定します.
TRUEにすると指定列以外も残します.
デフォルトはFALSEです.

.keep_all = TRUEにした場合,指定列以外列の値は,指定列で最初に現れる行の値となります.

 

3.列処理 across

acrossは,列と処理内容を指定することで,列に処理内容を適用することができます.
rowwiseの列版というイメージです.

具体例を見ていきましょう.

 

ちょっと難しいけど,慣れると便利ですね.

acrossは,最近できたばかりで歴史が浅いので,今後文法が変わってくる可能性があります.
ただ,上述のイメージ図の列を指定して,その列ごとに処理するという根本は覆らないため,このイメージは覚えておいてください.

まとめ

今回は,便利関数である3つについてやりました.

  1. ソート arrange
  2. 重複削除 distinct
  3. 列処理 across

これらを使いこなせるとより前処理が楽になりますよ~

それじゃ,お疲れ様でした!!

-DS講座, tidyverse講座