[Résolu] Comparer des dataframes

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Anais Payen
Messages : 60
Enregistré le : 25 Fév 2019, 08:50

[Résolu] Comparer des dataframes

Messagepar Anais Payen » 04 Jan 2021, 15:25

Bonjour à tous,

Je suis actuellement dans une impasse que je n'arrive pas à formuler pour pouvoir trouver de l'aide en ligne. Je souhaiterais comparer deux dataframes, et connaitre pour le dataframe de référence, quelles sont les index de ligne et colonne des cases différentes.

Je vous donne un exemple pour illustrer :

Code : Tout sélectionner

df_ref <- data.frame(a =c(1,0,1), b = c(0,0,1), c= c(1,1,0), d=c(1,1,1))
df_compa <- data.frame(a =c(1,0,0), b = c(1,1,1), c= c(1,0,0), d=c(1,1,1))
diff_a<- sum(df_ref[,] & df_compa[,])
diff_b<- sum(df_ref[,] & !df_compa[,])
diff_c<- sum(!df_ref[,] & df_compa[,])

Diff_b me donne les valeurs 1 présentes dans le df_ref uniquement, mais je souhaiterais identifier plus facilement, et savoir qu'il s'agit de la valeur qui se situe en :
- ligne 3 colonne a et
- ligne 2 colonne c

Quelqu'un a déjà eu ce genre de problème?

Par avance, je vous remercie!
Bonne journée et bonne année :)

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Comparer des dataframes

Messagepar jean lobry » 04 Jan 2021, 16:52

Bonjour Anais,

est-ce que :

Code : Tout sélectionner

which(df_compa != df_ref, arr.ind = TRUE)

     row col
[1,]   3   1
[2,]   1   2
[3,]   2   2
[4,]   2   3

ressemble à ce que tu aimerais obtenir ?

Amicalement,

jean lobry

Anais Payen
Messages : 60
Enregistré le : 25 Fév 2019, 08:50

Re: Comparer des dataframes

Messagepar Anais Payen » 04 Jan 2021, 17:49

Bonjour Jean,

En fait je souhaiterais identifier les cases qui contiennent 1 dans le tableau de référence et 0 dans le df de comparaison ayant la même idexation, pour ensuite faire une somme par colonne.

Si je reprends mon exemple la ligne 3 colonne a contient un 1 dans le df_ref et un 0 dans le df_compa.
Je souhaiterai ensuite faire la somme de la colonne a pour ces différences.

Un exemple en photo sera peut-être plus parlant :
https://imgur.com/a/FzgqFRJ

Merci et bonne soirée

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Comparer des dataframes

Messagepar Pierre-Yves Berrard » 04 Jan 2021, 22:42

Bonsoir,

Code : Tout sélectionner

colSums(df_ref & !df_compa
?
PY

Anais Payen
Messages : 60
Enregistré le : 25 Fév 2019, 08:50

Re: Comparer des dataframes

Messagepar Anais Payen » 05 Jan 2021, 08:59

Bonsoir Pierre-Yves,

Comme toujours, vous réussissez à résoudre mes problèmes !

Merci


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité