Como subconjunto de um quadro de dados por lista de valores em r


Você pode usar um dos seguintes métodos para subdefinir um quadro de dados por uma lista de valores em R:

Método 1: Use Base R

 df_new <- df[df$my_column %in% vals,]

Método 2: use dplyr

 library (dplyr)

df_new <- filter(df, my_column %in% vals)

Método 3: use data.table

 library (data.table)

df_new <- setDT(df, key=' my_column ')[J(vals)]

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (team=c('A', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 22, 35, 34, 20, 28, 30, 18),
                 assists=c(4, 10, 11, 12, 12, 8, 6, 10))

#view data frame
df

  team points assists
1 to 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10

Método 1: subconjunto de quadro de dados por lista de valores na base R

O código a seguir mostra como criar um subconjunto do quadro de dados para que ele contenha apenas linhas com um valor “A” ou “C” na coluna da equipe :

 #define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- df[df$team %in% vals,]

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

O quadro de dados resultante contém apenas linhas que possuem um valor “A” ou “C” na coluna Equipe .

Observe que usamos funções R básicas neste exemplo, portanto não tivemos que carregar nenhum pacote adicional.

Método 2: subconjunto de dataframe por lista de valores em dplyr

O código a seguir mostra como criar um subconjunto do quadro de dados para conter apenas linhas com um valor “A” ou “C” na coluna da equipe usando a função filter() do pacote dplyr :

 library (dplyr)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- filter(df, team %in% vals)

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

O quadro de dados resultante contém apenas linhas que possuem um valor “A” ou “C” na coluna Equipe .

Método 3: subconjunto do dataframe por lista de valores em data.table

O código a seguir mostra como criar um subconjunto do quadro de dados para conter apenas linhas com um valor “A” ou “C” na coluna da equipe usando funções no pacote data.table :

 library (data.table)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- setDT(df, key=' team ')[J(vals)]

#view results
df_new

   team points assists
1: A 12 4
2: C 20 12
3: C 28 8
4: C 30 6

O quadro de dados resultante contém apenas linhas que possuem um valor “A” ou “C” na coluna Equipe .

Relacionado: Como usar o operador% in% em R (com exemplos)

Recursos adicionais

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

Como subconjunto de um quadro de dados por níveis de fator em R
Como subdefinir por um intervalo de datas em R
Como traçar um subconjunto de um quadro de dados em R

Add a Comment

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