Como usar a função setdiff em r (com exemplos)


A função setdiff() em R pode ser usada para encontrar as diferenças entre dois conjuntos. Esta função usa a seguinte sintaxe:

definir diferença(x,y)

Ouro:

  • x, y: vetores ou quadros de dados contendo uma sequência de elementos

Este tutorial fornece vários exemplos de uso prático desta função.

Exemplo 1: Setdiff com vetores numéricos

O código a seguir mostra como usar setdiff() para identificar todos os valores no vetor a que não aparecem no vetor b :

 #definevectors
a <- c(1, 3, 4, 5, 9, 10)
b <- c(1, 2, 3, 4, 5, 6)

#find all values in a that do not occur in b
setdiff (a,b)

[1] 9 10

Existem dois valores que aparecem no vetor a que não aparecem no vetor b : 9 e 10 .

Se invertermos a ordem dos vetores na função setdiff() , podemos identificar todos os valores no vetor b que não aparecem no vetor a :

 #find all values in b that do not occur in a
setdiff (b,a)

[1] 2 6

Existem dois valores que aparecem no vetor b que não aparecem no vetor a : 2 e 6 .

Exemplo 2: Setdiff com vetores de caracteres

O código a seguir mostra como usar setdiff() para identificar todos os valores no vetor char1 que não aparecem no vetor char2 :

 #define character vectors
char1 <- c('A', 'B', 'C', 'D', 'E')
char2 <- c('A', 'B', 'E', 'F', 'G')

#find all values in char1 that do not occur in char2
setdiff (char1, char2)

[1] “C” “D”

Exemplo 3: Setdiff com quadros de dados

O código a seguir mostra como usar setdiff() para identificar todos os valores em uma coluna do quadro de dados que não aparecem na mesma coluna de um segundo quadro de dados:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 94, 104))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 98, 99))

#find differences between the points columns in the two data frames
setdiff (df1$points, df2$points)

[1] 94 104

Podemos ver que os valores 94 e 104 aparecem na coluna de pontos do primeiro quadro de dados, mas não na coluna de pontos do segundo quadro de dados.

Recursos adicionais

Como somar colunas específicas em R
Como somar linhas específicas em R
Como realizar correspondência parcial de strings em R

Add a Comment

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