Como comparar três colunas em r (com exemplo)


Você pode usar a seguinte sintaxe básica para comparar os valores de três colunas em R:

 df$all_matching <- df$A == df$B & df$B == df$C

Esta sintaxe cria uma nova coluna chamada all_matching que retorna TRUE se todas as colunas tiverem valores correspondentes, caso contrário retorna FALSE .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: compare três colunas em R

Suponha que temos o seguinte quadro de dados em R com três colunas:

 #create data frame
df <- data. frame (A=c(4, 0, 3, 3, 6, 8, 7, 9, 12),
                 B=c(4, 2, 3, 5, 6, 4, 7, 7, 12),
                 C=c(4, 0, 3, 5, 5, 10, 7, 9, 12))

#view data frame
df

   ABC
1 4 4 4
2 0 2 0
3 3 3 3
4 3 5 5
5 6 6 5
6 8 4 10
7 7 7 7
8 9 7 9
9 12 12 12

Podemos usar o código a seguir para criar uma nova coluna chamada all_matching que retorna TRUE se todas as três colunas corresponderem em uma determinada linha e FALSE se não corresponderem:

 #create new column that checks if values in all three columns match
df$all_matching <- df$A == df$B & df$B == df$C

#view updated data frame
df

   ABC all_matching
1 4 4 4 TRUE
2 0 2 0 FALSE
3 3 3 3 TRUE
4 3 5 5 FALSE
5 6 6 5 FALSE
6 8 4 10 FALSE
7 7 7 7 TRUE
8 9 7 9 FALSE
9 12 12 12 TRUE

A nova coluna chamada all_matching indica se os valores nas três colunas correspondem ou não em uma determinada linha.

Por exemplo:

  • Todos os três valores correspondem na primeira linha, então TRUE é retornado.
  • Nem todos os valores correspondem na segunda linha, então FALSE é retornado.
  • Todos os três valores correspondem na terceira linha, então TRUE é retornado.

E assim por diante.

Se quiser retornar valores diferentes de TRUE e FALSE , você pode especificar esses valores em uma função ifelse() .

Por exemplo, podemos usar o seguinte código para retornar “Sim” se os valores em todas as três colunas corresponderem ou “Não” caso contrário:

 #create new column that checks if values in all three columns match
df$all_matching <- ifelse(df$A == df$B & df$B == df$C, ' Yes ', ' No ')

#view updated data frame
df

   ABC all_matching
1 4 4 4 Yes
2 0 2 0 No
3 3 3 3 Yes
4 3 5 5 No
5 6 6 5 No
6 8 4 10 No
7 7 7 7 Yes
8 9 7 9 No
9 12 12 12 Yes

A nova coluna agora retorna “Sim” ou “Não” em vez de TRUE ou FALSE .

Recursos adicionais

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

Como verificar se existe uma coluna no quadro de dados em R
Como verificar se a coluna contém uma string em R
Como adicionar coluna ao quadro de dados em R com base em outras colunas

Add a Comment

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