Como subconjunto de um quadro de dados em r com base em múltiplas condições


Você pode usar os seguintes métodos para subdefinir um quadro de dados com base em múltiplas condições em R:

Método 1: quadro de dados de subconjunto usando lógica “OR”

 df_sub <- subset(df, team == ' A ' | points < 20 )

Este exemplo específico criará um subconjunto do quadro de dados para linhas onde a coluna da equipe é igual a “A” ou a coluna de pontos é menor que 20.

Método 2: quadro de dados de subconjunto usando lógica “AND”

 df_sub <- subset(df, team == ' A ' & points < 20 )

Este exemplo específico criará um subconjunto do quadro de dados para linhas onde a coluna da equipe é igual a “A” e a coluna de pontos é menor que 20.

Este tutorial explica como usar cada método na prática com o seguinte quadro de dados:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Forward'),
                 dots=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35

Exemplo 1: Quadro de dados de subconjunto usando lógica “OR”

O código a seguir mostra como criar um subconjunto do quadro de dados para linhas em que a coluna da equipe é igual a “A” ou a coluna de pontos é menor que 20:

 #subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == ' A ' | points < 20 )

#view subset
df_sub

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
5 B Forward 12

Cada uma das linhas do subconjunto tem um valor “A” na coluna da equipe ou um valor na coluna de pontos menor que 20.

Nota : O | o símbolo representa “OU” em R.

Neste exemplo, incluímos apenas um único símbolo “OR” na função subset() , mas poderíamos incluir quantos quisermos subconjunto com base em ainda mais condições.

Exemplo 2: Quadro de dados de subconjunto usando lógica “AND”

O código a seguir mostra como criar um subconjunto do quadro de dados para linhas em que a coluna da equipe é igual a “A” e a coluna de pontos é menor que 20:

 #subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == ' A ' & points < 20 )

#view subset
df_sub

  team position points
3 A Forward 19

Observe que o subconjunto resultante contém apenas uma linha.

Na verdade, apenas uma linha tem um valor “A” na coluna de equipes e um valor na coluna de pontos inferior a 20.

Nota : O símbolo & representa “AND” em R.

Neste exemplo, incluímos apenas um único símbolo “AND” na função subset() , mas poderíamos incluir quantos quisermos subconjunto com base em ainda mais condições.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como selecionar linhas únicas em um quadro de dados em R
Como selecionar linhas com valores NA em R
Como selecionar linhas com base em valores vetoriais em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *