【2-4】Rで指定した列や行だけを取り出すselect関数、slice関数、filter関数を紹介しますRで集計やグラフ作成を行う場面は多くあります。その際、元の表から分析に使いたい列や行だけを抽出したり、「男性だけを取り出す」みたいに様々な条件にあった行だけを抽出することが必要になります。今回はRで指定した列や行だけを取り出すselect関数、slice関数、filter関数を紹介します。これらはtidyverseパッケージ内にあるdplyrパッケージの機能です。下のコードをまとめてスクリプトにコピペして実行してください。選択する列)select関数では縦の列を抽出します。"をつけなくてOK)。使わない列を選ぶこともできます。そのため以下の3つのコードは全て同じ結果になります。select(-3)head(data_A)列名で指定する場合は""で囲む必要はないですが、大文字や小文字など間違えないことが大切です。列番号の場合「何列目かなんてわからない...」ということもよくあります。応用1もし列名が連番なら:を使います。1番目〜5番目なら1:5と書きます。select(1:5)応用2もっと選びたい列があって1番目と5番目〜10番目と13番目を使いたい場合は以下になります。13)応用3インデックスという考え方で、選ぶ列番号を入れた変数を予め作成する方法があります。select(index)先にindexという変数名を作り、そこに指定する列を選びます。Rを紹介する本やサイトではindexやindという変数名で見かけることがありますが、もちろん好きな変数名で構いません。indexの便利なところはindexを変えるだけで、本体のコードは1つも変わらないところにあります。このような考え方は色々な場面で使われます。繰り返しの作業で効果を発揮します。選択する列)slice関数はselect関数の行バージョンです。条件で絞るのはslice関数でなく次に紹介するfilter関数になります。silce関数は10万桁あって処理に時間かかるから、いきなり全部使わず1000行だけ切り取って、プログラムが動くかどうかテストしてみようみたいな場合に使えます。他にも下のようなExcelをファイルを読み込むことになってしまい、1行目いらない!下の平均の行いらない!など切り取る列が決まってるときに使います。slice(2:7)はslice(-1,-8)でもOKです。条件1,条件2)filter関数は条件にあった行を抽出します。"靭帯損傷"))head(data_B)前回の記事でも出ましたが、条件を付ける場合は演算子を使います。使い方に自身がない場合はRで数値を複数のカテゴリーに分類するifelse関数、case_when関数、cut関数を紹介しますをご参照ください。複数の条件で絞る場合filter関数で複数条件の場合は3つ方法があります。条件1,条件2)という形式なので、カンマを使ってつなげることができます。%>%でつなぎ、filter関数を重ねるfilter関数は複数あって悪いことはないので、素直に%>%でつなげる方法ことも可能です。メリットとしてはとりあえずわかりやすいのと、考えた順にコードを追加できるところでしょうか。下のコードで1と同じ結果になります。つなぐこともできます。