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 .