Jak filtrować tabelę danych w r (z przykładami)


Do filtrowania wierszy z tabeli danych w R można użyć następujących metod:

Metoda 1: Filtruj wiersze na podstawie jednego warunku

 dt[col1 == ' A ', ]

Metoda 2: Filtruj wiersze zawierające wartość na liście

 dt[col1 %in% c(' A ', ' C '), ]

Metoda 3: Filtruj wiersze, dla których spełniony jest jeden z kilku warunków

 dt[col1 == ' A ' | col2 < 10 , ]

Metoda 4: Filtruj wiersze, w których spełnionych jest wiele warunków

 dt[col1 == ' A ' & col2 < 10 , ]

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce z następującą tabelą danych w R:

 library (data.table)

#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data table
dt

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24
5: C 95 34 28

Przykład 1: Filtruj wiersze na podstawie warunku

Poniższy kod pokazuje, jak filtrować tylko wiersze, których wartość w kolumnie zespołu jest równa „A”:

 #filter for rows where team is A
dt[team == ' A ', ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24

Przykład 2: Filtruj wiersze zawierające wartość na liście

Poniższy kod pokazuje, jak filtrować tylko wiersze, których wartość w kolumnie zespołu jest równa „A” lub „C”:

 #filter for rows where team is A or C
dt[team %in% c(' A ', ' C '), ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: C 95 34 28

Powiązane: Jak używać operatora %in% w R (z przykładami)

Przykład 3: Filtruj wiersze, dla których spełniony jest jeden z kilku warunków

Poniższy kod pokazuje, jak filtrować tylko wiersze, których wartość w kolumnie zespołu jest równa „A” lub wartość w kolumnie punktów jest mniejsza niż 90:

 #filter for rows where team is A or points < 90
dt[team == ' A ' | points < 90 , ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24

Uwaga : | Operator oznacza „OR” w R.

Przykład 4: Filtruj wiersze, w których spełnionych jest wiele warunków

Poniższy kod pokazuje, jak filtrować tylko wiersze, w których wartość w kolumnie zespołu jest równa „A” , a wartość w kolumnie punktów jest mniejsza niż 90:

 #filter for rows where team is A and points < 90
dt[team == ' A ' & points < 90 , ]

   team points assists rebounds
1: A 86 31 24

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

Dodatkowe zasoby

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

Jak filtrować wektor w R
Jak usunąć linie z zerami w R
Jak usunąć puste linie z ramki danych w R

Dodaj komentarz

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