R: como usar a função which() com múltiplas condições
Você pode usar os seguintes métodos para usar a função which() com múltiplas condições em R:
Método 1: which() com múltiplas condições usando AND
new_df <- df[which(df$my_column >= 14 & df$my_column <= 25), ]
Método 2: which() com múltiplas condições usando OR
new_df <- df[which(df$my_column < 14 | df$my_column > 25), ]
Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados:
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'),
points=c(10, 13, 13, 15, 19, 22, 24, 25, 29, 35))
#view data frame
df
player points
1 to 10
2 B 13
3 C 13
4 D 15
5 E 19
6 F 22
7 G 24
8:25 a.m.
9 I 29
10 D 35
Exemplo 1: which() com múltiplas condições usando AND
O código a seguir mostra como usar a função which() para filtrar o quadro de dados para conter apenas linhas cujo valor na coluna de pontos seja maior ou igual a 14 e menor ou igual a 25:
#filter for players who score between 14 and 25 points
new_df <- df[which(df$points >= 14 & df$points <= 25), ]
#view results
new_df
player points
4 D 15
5 E 19
6 F 22
7 G 24
8:25 a.m.
Observe que o quadro de dados é filtrado para conter apenas linhas cujo valor na coluna de pontos é maior ou igual a 14 e menor ou igual a 25.
Observe que o operador & é usado como uma instrução “e” em R.
Exemplo 2: which() com múltiplas condições usando OR
O código a seguir mostra como usar a função which() para filtrar o quadro de dados para conter apenas linhas cujo valor na coluna de pontos seja menor que 14 ou maior que 25:
Caso contrário, atribui o valor “ruim”:
#filter for players who score less than 14 or greater than 25 points
new_df <- df[which(df$points < 14 | df$points > 25), ]
#view results
new_df
player points
1 to 10
2 B 13
3 C 13
9 I 29
10 D 35
Observe que o quadro de dados é filtrado para conter apenas linhas cujo valor na coluna de pontos seja menor que 14 ou maior que 25.
Observe que o | O operador é usado como uma instrução “ou” em R.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como usar a instrução If com múltiplas condições em R
Como escrever uma instrução If Else aninhada em R
Como escrever um loop For aninhado em R