条件に一致する行を抽出するR言語の方法
R言語では、指定した条件を満たす行を示す論理ベクトルを使用し、それらの行を取り出すことが可能です。一般的な方法は次のとおりです。
- 例えば、データフレーム`df`があり、列`x`の値が5より大きい行を抽出したい場合、次のコードを使用できます。論理演算子(==、>、<、>=、<=、!= など)を使用して条件判断を行い、その結果を論理ベクトルに保持します。
condition <- df$x > 5
- 論理ベクトルでインデックス付けし、条件を満たす行を抽出します。例として、前述の条件変数conditionを使用してdf内の条件を満たす行を抽出するには、次のコードを使用できます。
df_filtered <- df[condition, ]
条件を満たす行を含むdf_filteredという新しいデータフレームが作成されます。
- 条件判定とインデックス抽出を一行のコードで結合して、条件を満たす行を取り出すことができます。例えば、dfの列xが5より大きい行を直接抽出するには、下記を使用できます。
df_filtered <- df[df$x > 5, ]
上記の方法での条件判定は、単一の条件でも、複数の条件を組み合わせて行えることに注意。例えば、論理演算子(&&:and, ||:orなど)を用いることで、複数の条件を組み合わせて判定できます。
df_filtered <- df[df$x > 5 & df$y == "A", ]
このコードはdfの列xが5よりも大きく、列yが”A”と等しい行を抽出します。
お役に立てれば幸いです。