Odp.: jak używać instrukcji if z wieloma warunkami
Możesz użyć następujących metod, aby utworzyć nową kolumnę w R za pomocą instrukcji JEŻELI z wieloma warunkami:
Metoda 1: Instrukcja if z wieloma warunkami przy użyciu OR
df$new_var <- ifelse(df$var1>15 | df$var2>8, " value1 ", " value2 ")
Metoda 2: Instrukcja if z wieloma warunkami przy użyciu AND
df$new_var <- ifelse(df$var1>15 & df$var2>8, “ value1 ”, “ value2 ”)
Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującą ramką danych:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(8, 8, 10, 13, 17, 19, 22, 25),
assists=c(5, 10, 9, 6, 8, 10, 11, 12))
#view data frame
df
team points assists
1 to 8 5
2 to 8 10
3 to 10 9
4 to 13 6
5 B 17 8
6 B 19 10
7 B 22 11
8 B 25 12
Przykład 1: Instrukcja if z wieloma warunkami z użyciem OR
Poniższy kod pokazuje, jak utworzyć nową kolumnę o nazwie ocena , która przypisuje „dobrą” wartość, jeśli kolumna punktów jest większa niż 15 lub kolumna asyst jest większa niż 8.
W przeciwnym razie przypisuje wartość „zły”:
#create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 | df$assists>8, " good ", " bad ")
#view updated data frame
df
team points assists rating
1 A 8 5 bad
2 to 8 10 good
3 A 10 9 good
4 A 13 6 bad
5 B 17 8 good
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good
Każdy gracz otrzymuje wartość „dobry” lub „zły” w nowo utworzonej kolumnie ocen .
Zauważ, że | Operator jest używany jako instrukcja „lub” w języku R.
Przykład 2: Instrukcja if z wieloma warunkami z użyciem AND
Poniższy kod pokazuje, jak utworzyć nową kolumnę o nazwie ocena , która przypisuje „dobrą” wartość, jeśli kolumna punktów jest większa niż 15 , a kolumna asyst jest większa niż 8.
W przeciwnym razie przypisuje wartość „zły”:
#create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 & df$assists>8, “ good ”, “ bad ”)
#view updated data frame
df
team points assists rating
1 A 8 5 bad
2 A 8 10 bad
3 A 10 9 bad
4 A 13 6 bad
5 B 17 8 bad
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good
Każdy gracz otrzymuje wartość „dobry” lub „zły” w nowo utworzonej kolumnie ocen .
Należy zauważyć, że operator & jest używany jako instrukcja „i” w języku R.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:
Jak napisać zagnieżdżoną instrukcję If Else w R
Jak napisać zagnieżdżoną pętlę For w R