複数の条件に基づいて r でデータ フレームをサブセット化する方法
次のメソッドを使用して、R の複数の条件に基づいてデータ フレームをサブ定義できます。
方法 1: 「OR」ロジックを使用してデータ フレームをサブセットする
df_sub <- subset(df, team == ' A ' | points < 20 )
この特定の例では、チーム列が「A」に等しい行、またはポイント列が 20 未満である行のデータ フレームをサブセット化します。
方法 2: 「AND」ロジックを使用してデータ フレームをサブセットする
df_sub <- subset(df, team == ' A ' & points < 20 )
この特定の例では、チーム列が「A」に等しく、ポイント列が 20 未満である行のデータ フレームをサブセット化します。
このチュートリアルでは、次のデータ フレームを使用して各メソッドを実際に使用する方法を説明します。
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
position=c('Guard', 'Guard', 'Forward',
'Guard', 'Forward', 'Forward'),
dots=c(22, 25, 19, 22, 12, 35))
#view data frame
df
team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35
例 1: 「OR」ロジックを使用したデータ フレームのサブセット
次のコードは、チーム列が「A」に等しい行、またはポイント列が 20 未満である行のデータ フレームをサブセット化する方法を示しています。
#subset data frame where team is 'A' or points is less than 20 df_sub <- subset(df, team == ' A ' | points < 20 ) #view subset df_sub team position points 1 A Guard 22 2 A Guard 25 3 A Forward 19 5 B Forward 12
サブセット内の各行のチーム列の値が「A」であるか、ポイント列の値が 20 未満です。
注: |記号はRの「OR」を表します。
この例では、 subset()関数に「OR」記号を 1 つだけ含めていますが、さらに多くの条件に基づいてサブセット化したいだけ含めることもできます。
例 2: 「AND」ロジックを使用したデータ フレームのサブセット
次のコードは、チーム列が「A」に等しく、ポイント列が 20 未満である行のデータ フレームをサブセット化する方法を示しています。
#subset data frame where team is 'A' and points is less than 20 df_sub <- subset(df, team == ' A ' & points < 20 ) #view subset df_sub team position points 3 A Forward 19
結果のサブセットには 1 行のみが含まれることに注意してください。
実際、チーム列の値が「A」で、ポイント列の値が 20 未満である行は 1 行だけです。
注:記号&はRの「AND」を表します。
この例では、 subset()関数に「AND」記号を 1 つだけ含めていますが、さらに多くの条件に基づいてサブセット化したいだけ含めることもできます。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。