Jak napisać opis przypadku w r (z przykładem)


Instrukcja case to typ instrukcji, która cyklicznie przechodzi przez warunki i zwraca wartość, gdy pierwszy warunek zostanie spełniony.

Najłatwiejszym sposobem zaimplementowania instrukcji case w R jest użycie funkcji case_when() z pakietu dplyr :

 library (dplyr)

df %>% 
  mutate(new_column = case_when(
    col1 < 9 ~ ' value1 ',
    col1 < 12 ~ ' value2 ',
    col1 < 15 ~ ' value3 ',
    TRUE ~ ' Great '))

Ta konkretna funkcja sprawdza wartość w kolumnie o nazwie col1 i zwraca:

  • wartość1 ”, jeśli wartość w kolumnie1 jest mniejsza niż 9
  • wartość2 ”, jeśli wartość w kolumnie1 jest mniejsza niż 12
  • wartość3 ”, jeśli wartość w kolumnie2 jest mniejsza niż 15
  • wartość4 ”, jeśli żaden z poprzednich warunków nie jest spełniony

Należy pamiętać, że TRUE jest odpowiednikiem instrukcji „else”.

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: opis sprawy w R

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (player=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 points=c(6, 8, 9, 9, 12, 14, 15, 17, 19, 22))

#view data frame
df

   player points
1 1 6
2 2 8
3 3 9
4 4 9
5 5 12
6 6 14
7 7 15
8 8 17
9 9 19
10 10 22

Możemy użyć poniższej składni, aby napisać instrukcję case, która tworzy nową kolumnę o nazwie class , której wartości są określone przez wartości w kolumnie punktów :

 library (dplyr)

#create new column using case statement
df %>% 
  mutate(class = case_when(
    points < 9 ~ ' Bad ',
    points < 12 ~ ' OK ',
    points < 15 ~ ' Good ',
    TRUE ~ ' Great '))

   player points class
1 1 6 Bad
2 2 8 Bad
3 3 9 OK
4 4 9 OK
5 5 12 Good
6 6 14 Good
7 7 15 Great
8 8 17 Great
9 9 19 Great
10 10 22 Great

Instrukcja case sprawdziła wartość w kolumnie punktów i zwróciła:

  • Zły ”, jeśli wartość w kolumnie punktów była mniejsza niż 9
  • OK ”, jeśli wartość w kolumnie punktów była mniejsza niż 12
  • Dobrze ”, jeśli wartość w kolumnie punktów była mniejsza niż 15
  • Świetnie ”, jeśli żaden z powyższych warunków nie jest spełniony

Nowa kolumna nazywa się class , ponieważ taką nazwę podaliśmy w funkcji mutate() .

Dodatkowe zasoby

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

Jak używać instrukcji If z wieloma warunkami w R
Jak napisać zagnieżdżoną instrukcję If Else w R
Jak napisać swoją pierwszą funkcję tryCatch() w R

Dodaj komentarz

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