Jak napisać zagnieżdżoną instrukcję if else w r (z przykładami)


Funkcji ifelse() w bazie R można używać do pisania szybkich instrukcji if-else. Ta funkcja używa następującej składni:

ifelse(test, tak, nie)

Złoto:

  • test: test logiczny
  • tak: Wartość zwracana, jeśli test logiczny ma wartość True
  • nie: Wartość zwracana, jeśli test logiczny ma wartość Fałsz

W tym samouczku wyjaśniono, jak używać tej funkcji do pisania instrukcji if else oraz zagnieżdżonych instrukcji if else w języku R przy użyciu następującej ramki danych:

 #create data frame
df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'),
                 points = c(4, 7, 8, 8, 8, 9, 12),
                 rebounds = c(3, 3, 4, 4, 6, 7, 7))

#view data frame
df

  team points rebounds
1 to 4 3
2 to 7 3
3 B 8 4
4 B 8 4
5 B 8 6
6 C 9 7
7 D 12 7

Przykład 1: Jak napisać podstawową instrukcję if else

Poniższy kod pokazuje, jak utworzyć nową kolumnę w ramce danych, której wartość jest oparta na wartości kolumny „zespół”:

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ')

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 bad
4 B 8 4 bad
5 B 8 6 bad
6 C 9 7 bad
7 D 12 7 bad

Ta prosta instrukcja ifelse każe R wykonać następujące czynności:

  • Jeśli wartość w kolumnie drużyny to „A”, przyznaj graczowi ocenę „doskonały”.
  • W przeciwnym razie przegapisz gracza „biednego”.

Przykład 2: Jak napisać zagnieżdżoną instrukcję If Else

Poniższy kod pokazuje, jak utworzyć nową kolumnę w ramce danych, pisząc zagnieżdżoną instrukcję if else:

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ', ' bad '))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 bad
7 D 12 7 bad

Ta zagnieżdżona instrukcja ifelse mówi R, aby wykonał następujące czynności:

  • Jeśli wartość w kolumnie drużyny to „A”, przyznaj graczowi ocenę „doskonały”.
  • W przeciwnym razie, jeśli wartość w kolumnie drużyny to „B”, przyznaj graczowi ocenę „OK”.
  • W przeciwnym razie przegapisz gracza „biednego”.

Przykład 3: Jak napisać dłuższe zagnieżdżone instrukcje if else

Poniższy kod pokazuje, jak utworzyć nową kolumnę w ramce danych, pisząc jeszcze dłuższą zagnieżdżoną instrukcję if else:

 #create new column in data frame
df$rating <- ifelse (df$team == ' A ', ' great ',
               ifelse (df$team == ' B ', ' OK ',
                 ifelse (df$team == ' C ', ' decent ', ' bad ')))

#view data frame
df

  team points rebounds rating
1 A 4 3 great
2 A 7 3 great
3 B 8 4 OK
4 B 8 4 OK
5 B 8 6 OK
6 C 9 7 decent
7 D 12 7 bad

Ta zagnieżdżona instrukcja ifelse mówi R, aby wykonał następujące czynności:

  • Jeśli wartość w kolumnie drużyny to „A”, przyznaj graczowi ocenę „doskonały”.
  • W przeciwnym razie, jeśli wartość w kolumnie drużyny to „B”, przyznaj graczowi ocenę „OK”.
  • W przeciwnym razie, jeśli wartość w kolumnie drużyny to „C”, przyznaj graczowi ocenę „Przyzwoity”.
  • W przeciwnym razie przegapisz gracza „biednego”.

Pamiętaj, że możesz używać tego dokładnego wzorca do pisania zagnieżdżonych instrukcji ifelse tak długo, jak chcesz.

Więcej samouczków dotyczących języka R można znaleźć tutaj .

Dodaj komentarz

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