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