subset関数とfilter関数:データをフィルタリングする方法とは?【R備忘録】

Rでデータをフィルタリングする際に使用される代表的な関数に、subset()関数とfilter()関数があります。これらの関数はどちらも特定の条件に基づいてデータを抽出するために使用されますが、いくつかの違いがあります。このブログ記事では、これらの関数の基本的な使い方と違いについて説明します。

スポンサーリンク

1. subset関数の使い方

subset()関数は、データフレームやベクトルから特定の条件に合致する部分を抽出するために使用されます。以下の例では、mtcarsデータセットからmpg(燃費)が20以上の行を抽出します。

# subset関数の基本的な使用例
subset(mtcars, mpg >= 20)

さらに、必要に応じて特定の列だけを抽出することもできます。

# 特定の列を抽出
subset(mtcars, mpg >= 20, select = c(mpg, hp, gear))
スポンサーリンク

2. filter関数の使い方

filter()関数は、dplyrパッケージに含まれている関数で、データフレームを条件に基づいてフィルタリングする際に使用されます。filter()関数はパイプ操作(%>%)と組み合わせて使うことが多く、コードの読みやすさが向上します。以下の例では、mtcarsデータセットからmpgが20以上の行を抽出します。

# filter関数の基本的な使用例
library(dplyr)
mtcars %>% filter(mpg >= 20)

filter()関数は複数の条件を組み合わせることができ、AND条件やOR条件を使用してさらに細かいフィルタリングが可能です。

# 複数条件のフィルタリング
mtcars %>% filter(mpg >= 20, hp >= 100)
スポンサーリンク

3. subset関数とfilter関数の違い

subset()関数は基本Rに組み込まれているため、追加のパッケージをインストールする必要がありません。一方、filter()関数はdplyrパッケージの一部であり、データの操作や変換を簡単に行うための機能が豊富に揃っています。

以下のポイントで使い分けると良いでしょう:

  • シンプルなデータ抽出が必要な場合:subset()
  • パイプ操作を多用するデータ分析や複数条件のフィルタリングが必要な場合:filter()
スポンサーリンク

4. まとめ

Rでは、subset()関数とfilter()関数を使用してデータを効率的にフィルタリングできます。どちらの関数も特定の条件に基づいてデータを抽出するために役立ちますが、用途や目的に応じて使い分けることが重要です。

 

コメント

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