『【RStudio】RStudioを使う』シリーズでは、RStudioを使ってデータの統計処理、グラフの描画をしていきます。
第七弾の今回は、「dplyrでデータフレームを操作する」をしていきます。
読み込んだcsvファイルや、data.frame関数で作ったデータフレームをグラフを描くため、検定をするために加工するときには、"tidyverse"パッケージの"dplyr"パッケージを使います。
"dplyr"でよく使う関数を順次まとめて行きます。
dplyrで新しい列を挿入する〜mutate関数の使い方
mutate関数とは?
データセットに新しく変数(列)を追加する関数。元々ある変数(列)の書き換えもできます。
"dplyr"で最もよく使われる関数の一つです。
mutate関数の使い方
mutate関数の基本的な形は、
mutate関数を使った例として、データの二倍の値を入れた列を作ってみましょう。
作ったベクトルをmutate関数を使って列として追加する
元々データフレームにある値を操作するだけではなく、別に作ったベクトルを列として追加することができます。
(※作ったベクトルとデータフレームの行数が同じじゃないとエラーが出るので注意が必要です)
今回は、"macro"という文字列を挿入したいデータフレームの行数だけ繰り返したベクトルを作って、"method"という名前の列を挿入して見たいと思います。
文字列や数字を繰り返しをするための関数は"rep"です。
rep関数を使ってデータフレームの行数だけ"macro"という文字列を繰り返した列を挿入して見ましょう。
パイプ演算子を使って挿入してみる
"tidyverse"パッケージでは、パイプ演算子(%>%)というものを使うととても簡単にコードを書けるようになります。
プログラミングを本格的にやるわけではないので、簡単な使い方だけ知っておく程度で良いでしょう。
「パイプ演算子(%>%)」とは、演算子の左側にあるものを右側の関数の第一引数に受け渡すものです。
...と文字で書かれてもよくわからないかと思うので、実際に使って見ましょう。
短いコードだとパイプ演算子のどこが便利なのかよくわかりませんが、長くなるとその恩恵がわかるようになってきます。
参考文献
dplyrで特定の行だけ抽出する〜filter関数の使い方
作ったデータフレームの中で特定の条件だけを解析したい場合は、filter関数を使って抽出してくることができます。
filter関数の使い方は...
実際に使って見ましょう。
今回は、「マクロで解析した結果の薬剤投与した群のデータだけピックアップする」としましょう。
「データフレームmacroの"condition"列が"treated"のものだけを抽出する」場合は、
今回は文字列で抽出してきましたが、値が〇〇以上、〇〇以下、〇〇と同値などfilter関数は数値データにも使えます。
例えば...
「データフレームmacroの中で"count"が100より大きいもの抽出する」場合は
等号・不等号で数値の範囲を指定することができます。
さらに、複数の条件に対しても使えます。
「データフレームmacroの中で"count"が75よりも大きくて、"control"のものを抽出する」場合は
参考文献
パイプ演算子を使って複数の関数を同時に使う
最後に、パイプ演算子(%>%)の便利な使い方について簡単にまとめて行きます。
パイプ演算子はmutate関数のところでご紹介したように、左側の変数を右側の第一引数に引き渡す役割がありました。
mutate関数を使って新しい行を作ってからfilter関数で"condition"行が"treated"のものだけを抽出してくる場合は、
となります。