Jak podzielić ramkę danych na podzbiór w r na podstawie wielu warunków


Aby poddefiniować ramkę danych na podstawie wielu warunków w R, możesz użyć następujących metod:

Metoda 1: Podzbiór ramki danych przy użyciu logiki „OR”.

 df_sub <- subset(df, team == ' A ' | points < 20 )

Ten konkretny przykład podzieli ramkę danych na podzbiór dla wierszy, w których kolumna zespołu jest równa „A” lub kolumna punktów jest mniejsza niż 20.

Metoda 2: Podzbiór ramki danych przy użyciu logiki „AND”.

 df_sub <- subset(df, team == ' A ' & points < 20 )

W tym konkretnym przykładzie podzbiór ramki danych dla wierszy, w których kolumna zespołu jest równa „A” , a kolumna punktów jest mniejsza niż 20.

W tym samouczku wyjaśniono, jak w praktyce używać każdej metody z następującą ramką danych:

 #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

Przykład 1: Podzbiór ramki danych przy użyciu logiki „OR”.

Poniższy kod pokazuje, jak podzielić ramkę danych na podzbiór dla wierszy, w których kolumna zespołu jest równa „A” lub kolumna punktów jest mniejsza niż 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

Każdy z wierszy podzbioru ma wartość „A” w kolumnie zespołu lub wartość w kolumnie punktów mniejszą niż 20.

Uwaga : | symbol oznacza „OR” w R.

W tym przykładzie w funkcji subset() umieściliśmy tylko jeden symbol „OR”, ale moglibyśmy uwzględnić dowolną liczbę podzbiorów w oparciu o jeszcze większą liczbę warunków.

Przykład 2: Podzbiór ramki danych przy użyciu logiki „AND”.

Poniższy kod pokazuje, jak podzielić ramkę danych na podzbiór dla wierszy, w których kolumna zespołu jest równa „A” , a kolumna punktów jest mniejsza niż 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

Należy zauważyć, że powstały podzbiór zawiera tylko jeden wiersz.

Rzeczywiście, tylko w jednym wierszu wartość „A” w kolumnie drużyny i wartość w kolumnie punktów jest mniejsza niż 20.

Uwaga : symbol & oznacza „AND” w języku R.

W tym przykładzie w funkcji subset() umieściliśmy tylko jeden symbol „AND”, ale moglibyśmy uwzględnić dowolną liczbę podzbiorów w oparciu o jeszcze większą liczbę warunków.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak wybrać pojedyncze wiersze w ramce danych w R
Jak wybrać wiersze z wartościami NA w R
Jak wybierać wiersze na podstawie wartości wektorowych w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *