Comptage de lignes en fonction d'une variable

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

Biscond Margot
Messages : 4
Enregistré le : 27 Avr 2020, 08:59

Comptage de lignes en fonction d'une variable

Messagepar Biscond Margot » 27 Avr 2020, 09:24

Bonjour,

J'ai une base de données qui comprend une ligne par action, et un individu peut avoir plusieurs action. J'aimerai créer une variable qui me donnera la nombre d'action effectué par individu.
J'ai déjà fait

Code : Tout sélectionner

count(BL_IUT, "A7")
Ce qui m'a permis d'avoir le comptage pour chaque individu mais j'aimerai maintenant créer une variable avec ces données.

Merci beaucoup pour votre aide.

Margot

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: Comptage de lignes en fonction d'une variable

Messagepar Fred Santos » 27 Avr 2020, 09:34

Bonjour,
Je suis peut-être (sans doute) mal réveillé, mais c'est assez flou pour moi en l'état. Pourriez-vous poster un exemple minimal reproductible (voir ici) pour illustrer le propos, et voir concrètement ce que vous souhaitez ?

Biscond Margot
Messages : 4
Enregistré le : 27 Avr 2020, 08:59

Re: Comptage de lignes en fonction d'une variable

Messagepar Biscond Margot » 27 Avr 2020, 09:48

Merci pour votre réponse, je vais essayer de rendre ma question plus claire :

Code : Tout sélectionner

BL_IUT
    A7              A8
1    ABFXM112000   A40 
2    ABKSM091998   A59a
3    ABKSM091998   A59b
4    ABKSM091998   A59c 
5    ADJNM042000   A61
 


Voici ce que j'ai pour le moment... et j'aimerai avoir une variable qui me dit que mon ind "ABKSM091998" a effectué 3 actions par exemple. J'ai essayé avec la fonction aggregate mais je ne suis pas arrivée à ce que je voulais...

J'espère que c'est un peu plus clair...

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Comptage de lignes en fonction d'une variable

Messagepar Serge Rapenne » 27 Avr 2020, 09:59

bonjour,

peut être :

Code : Tout sélectionner

library(dplyr)
BL_IUT%>%group_by(A7)%>%summarise(n=n())


Serge

Biscond Margot
Messages : 4
Enregistré le : 27 Avr 2020, 08:59

Re: Comptage de lignes en fonction d'une variable

Messagepar Biscond Margot » 27 Avr 2020, 10:11

Serge,

merci pour votre réponse, j'avais réussi à faire ça avec la fonction count mais j'aimerai maintenant créer une variable de comptage pour pouvoir l'inclure par la suite dans mes modèles....

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Comptage de lignes en fonction d'une variable

Messagepar Serge Rapenne » 27 Avr 2020, 10:18

Code : Tout sélectionner

BL_IUT<-BL_IUT%>%group_by(A7)%>%summarise(n=n())

Serge

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Comptage de lignes en fonction d'une variable

Messagepar Mickael Canouil » 27 Avr 2020, 10:32

Bonjour,

vous étiez sur la bonne voie avec count.

Code : Tout sélectionner

BL_IUT <-  read.table(header = TRUE, text = 
"    A7              A8
1    ABFXM112000   A40 
2    ABKSM091998   A59a
3    ABKSM091998   A59b
4    ABKSM091998   A59c 
5    ADJNM042000   A61"
)

Code : Tout sélectionner

library("dplyr")

Code : Tout sélectionner

count(BL_IUT, "A7")
#> # A tibble: 1 x 2
#>   `"A7"`     n
#>   <chr>  <int>
#> 1 A7         5      

=> Ici, vous réalisez des comptages de la valeur "A7" (nouvellement créée ici) selon les éléments de BL_IUT.
BL_IUT dispose de 5 lignes, il y a donc 5 "A7".

Si on veut compter les modalités d'une colonne, il ne faut pas utiliser les guillemets, comme dans un dplyr::group_by()

Code : Tout sélectionner

count(BL_IUT, A7)
#> # A tibble: 3 x 2
#>   A7              n
#>   <chr>       <int>
#> 1 ABFXM112000     1
#> 2 ABKSM091998     3
#> 3 ADJNM042000     1      

Pour ajouter les comptages obtenus au jeu de données initiale sans "résumé" l'information, par exemple pour servir de pondération dans un modèle :

Code : Tout sélectionner

library("dplyr")
add_count(BL_IUT, A7)
#> # A tibble: 5 x 3
#>   A7          A8        n
#>   <chr>       <chr> <int>
#> 1 ABFXM112000 A40       1
#> 2 ABKSM091998 A59a      3
#> 3 ABKSM091998 A59b      3
#> 4 ABKSM091998 A59c      3
#> 5 ADJNM042000 A61       1    

Avec un nommage plus explicite à la place de "n" :

Code : Tout sélectionner

add_count(BL_IUTA7name "count_A7")
#> # A tibble: 5 x 3
#>   A7          A8    count_A7
#>   <chr>       <chr>    <int>
#> 1 ABFXM112000 A40          1
#> 2 ABKSM091998 A59a         3
#> 3 ABKSM091998 A59b         3
#> 4 ABKSM091998 A59c         3
#> 5 ADJNM042000 A61          1 


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Biscond Margot
Messages : 4
Enregistré le : 27 Avr 2020, 08:59

Re: Comptage de lignes en fonction d'une variable

Messagepar Biscond Margot » 27 Avr 2020, 12:38

Super, merci beaucoup pour vos réponses claires et rapides.
Grace à vous j'arrive enfin à faire ce que je voulais !!

Bonne journée à vous,

Margot


Retourner vers « Questions en cours »

Qui est en ligne

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