Analyse des données qui se répètent sur une année

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

Betty Kuzondisa
Messages : 14
Enregistré le : 27 Juin 2018, 14:26

Analyse des données qui se répètent sur une année

Messagepar Betty Kuzondisa » 03 Juil 2018, 19:32

Bonjour,
J'ai besoin de votre aide, c'est une question vitale.
Je suis entrain de traiter une base des données des observations sur une année avec les mêmes personnes.
Exemple:monsieur x, son taux de glycémie du 1 janvier au 31 décembre.
Du coup son age 50 ans se répète 365 soit j'ai 365, 50 ans
La meme chose pour madame Y ou j'ai 365 fois 60 ans.
J'ai au total 45 personnes avec des observations qui se répètent sur une année.
Je veux calculer la moyenne d'age de ma population d'étude.
Comment dire à R de ne tenir compte que d'une information ou d'un seul age par personne et pas de 365 chiffres pour une même personne?
Comment formuler cette demande?
Est que je dois créer une nouvelle variable age2 qui soit un seul age par personne? si oui comment faire?
SVP aidez moi, je suis perdue!!!!!!! y a t'il une documentation ce genre d'analyse qui s'étalent dans le temps?
Merci beaucoup

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

Re: Analyse des données qui se répètent sur une année

Messagepar Serge Rapenne » 03 Juil 2018, 20:01

Bonjour,

voir les fonctions "unique" ou "duplicated"

Serge

Betty Kuzondisa
Messages : 14
Enregistré le : 27 Juin 2018, 14:26

Re: Analyse des données qui se répètent sur une année

Messagepar Betty Kuzondisa » 03 Juil 2018, 20:04

Merci serge, tu sais où je peux trouver la documentation sur ça en français?

Betty Kuzondisa
Messages : 14
Enregistré le : 27 Juin 2018, 14:26

Re: Analyse des données qui se répètent sur une année

Messagepar Betty Kuzondisa » 03 Juil 2018, 20:16

MONSIEUR SERGE RAPENNE,
Merci pour votre réponse,
le truc est que je ne veux utiliser la fonction duplicate que sur certaines colonnes exemples la colonne age, sexe,
pour n'avoir que l'age et le sexe de mes 45 personnes?

Et pas sur toute ma base des données??
Comment faire dans ce cas?

Petillon Alain
Messages : 5
Enregistré le : 03 Juil 2018, 08:58

Re: Analyse des données qui se répètent sur une année

Messagepar Petillon Alain » 04 Juil 2018, 07:43

Bonjour,

premièrement je pense qu'utiliser une fonction juste sur l'âge serait une erreur à moins que tu ait regardé que aucun des individus n'ait le même age que les autres. Sinon tu risque de supprimer un individu.

Code : Tout sélectionner

duplicated(df[c("age","nom","prenom"])


Ce code pourrait marcher pour gérer tout ce qui est duplication de tes lignes. Ca va te donner un vecteur de true et false que tu pourra utiliser pour extraire de ton dataframe original les lignes n'étant pas dupliqué.

Ensuite si comme tu le dis tous tes individus ont 365 observations et que tu souhaite juste calculer la moyenne de ta variable age. Tu peux le faire (365*50+365*60)/365*2 est égal à (50+60)/2

Donc faire la moyenne de la colonne age devrait te donner le bon résultat. Après fait attention car s'il manque une observation pour un des individus ta moyenne sera biaisé.

En espérant avoir sût t'aider.

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

Re: Analyse des données qui se répètent sur une année

Messagepar Serge Rapenne » 04 Juil 2018, 09:06

Bonjour,

avec "duplicated" :

Code : Tout sélectionner

#Creation d'un jeu de donnée bidon pour l'ex
dta<-data.frame(age=rep(c(15,20),each=3),nom=rep(c("toto","titi"),each=3),prenom=rep(c("A","B"),each=3))
 dta
  age  nom prenom
1  15 toto      A
2  15 toto      A
3  15 toto      A
4  20 titi      B
5  20 titi      B
6  20 titi      B
l_dup<-duplicated(paste0(dta$nom,dta$prenom)) #recherche des lignes avec nom, prenom déjà présent
 l_dup
[1] FALSE  TRUE  TRUE FALSE  TRUE  TRUE
mean(dta$age[!l_dup]) #calcul de la moyenne des ages
[1] 17.5


Plus facile avec "unique" :

Code : Tout sélectionner

dta_simplifie<-unique(dta)
dta_simplifie
  age  nom prenom
1  15 toto      A
4  20 titi      B
mean(dta_simplifie$age)
[1] 17.5


Serge


Retourner vers « Questions en cours »

Qui est en ligne

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