aggréger des variables et les regrouper

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

Fabrice Yaméogo
Messages : 24
Enregistré le : 22 Mar 2019, 10:09

aggréger des variables et les regrouper

Messagepar Fabrice Yaméogo » 22 Mar 2019, 11:04

Bonjour

je viens de m’inscrire sur le forum et je suis débutant sous R.

Je sollicite votre aide pour une question.

J'ai un tableau qui donne la répartition des individus selon leur groupe d'âge (0-2,3-5,6-10,etc).
Chaque ligne de mon tableau représente un IRIS.

[https://ibb.co/0qGj607]

Je souhaiterais faire la somme pour chaque groupe d'âge et les regrouper par IRIS. A la fin, je voudrais avoir un tableau avec
3 lignes et toutes mes variables qui se présentera comme suit:

IRIS 0_2 3_5 .. ..... 80etplus
440350111 10.09433
441140116 4.068226
441620806 13.710726

Je peux le faire colonne par colonne mais je ne sais pas comment le faire pour toutes les colonnes en une seule opération.

Pourriez-vous m'aider svp?

Merci d'avance.

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: aggréger des variables et les regrouper

Messagepar Eric Casellas » 22 Mar 2019, 13:30

Salut,

Pour pouvoir t'aider au mieux il faudrait que tu nous mette un exemple de code reproductible (voir : http://forums.cirad.fr/logiciel-R/viewtopic.php?f=1&t=7638) qui nous montre quels sont les objets que tu utilise et la fonction que tu applique sur tes colonnes pour l'instant.

Eric
Eric

Fabrice Yaméogo
Messages : 24
Enregistré le : 22 Mar 2019, 10:09

Re: aggréger des variables et les regrouper

Messagepar Fabrice Yaméogo » 22 Mar 2019, 14:34

Bonjour,
Merci pour le lien. Je vois mieux comment le forum fonctionne.

Voici le code pour avoir le même tableau que j'ai sur mon ordinateur

[
tab<-data.frame(IRIS=c("440350111", "440350111", "441140116", "441140116", "441620806","441620806","441620806","441620806","441620806"),"0_2"=c(4.348191, 5.746142,1.068271, 2.999955, 0.000000, 2.716229, 0.000000, 5.945850, 5.048647),
"3_5"=c(3.3481837,5.7461416,0.0000000,10.9998349,2.4448070, 2.7162286, 0.0000000,0.0000000,0.8414412),"6_10"=c(0.000000, 1.864124, 0.000000, 5.068211, 7.862539, 0.000000, 0.000000, 5.689154, 1.682882),
"11_14"=c(0.000000, 2.873071,10.236179,7.068181,0.000000,0.000000,0.000000,0.000000,0.000000),"15_17"=c(3.089637, 2.873071, 7.744967, 0.999985, 2.972925, 0.000000, 0.000000, 2.716229, 0.000000),
"18_24"=c(13.089708,2.873071,7.744967,6.068196,68.156736,0.000000,0.000000,2.972925,45.437824),
"25_29"=c(14.000099,2.873071,0.000000,3.999940,10.097294,2.716229,0.000000,2.972925,18.511706),
"30_39"=c(13.348255,12.424345,2.136543,7.999880,8.255379,2.716229,1.999996,5.689154,6.731529),
"40_54"=c(24.527563,6.678204,21.952217,12.136393,13.804393,3.025380,15.999969,11.635004,5.048647),
"55_64"=c(5.000036,7.275989,10.031017,7.676681,2.442809,3.025380,15.999969,2.444807,1.682882),
"65_79"=c(4.0000284,0.0000000,23.8915492,1.9999700,16.9156735,2.7162286,0.9999981,0.0000000,0.0000000),
"80_et_plus"=c(1.000007,0.000000,3.505890,0.000000,7.914994,0.000000,0.000000,0.000000,0.000000))


agenames<-c("IRIS","0_2","3_5","6_10","11_14","15_17","18_24","25_29","30_39","40_54","55_64","65_79","80_et_plus")
tab$IRIS<-as.character(tab$IRIS)
names(tab)<-agenames
]

#lorsque j'effectue le code suivant:
[
myBYout<-by(tab[c("0_2")],tab["IRIS"],sum,na.rm = TRUE)
]
myBYout
IRIS: 440350111
[1] 10.09433
------------------------------------------------------------------------------------------------
IRIS: 441140116
[1] 4.068226
------------------------------------------------------------------------------------------------
IRIS: 441620806
[1] 13.71073

j'obtiens ce que je veux pour la variable "0_2". Je ne sais pas comment le faire pour toutes les 12 variables de mon tableau en même temps

Merci
Fabrice

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: aggréger des variables et les regrouper

Messagepar Logez Maxime » 22 Mar 2019, 14:54

Bonjour,

Code : Tout sélectionner

aggregate(. ~ IRIS, tab, sum, na.rm = T)
Cordialement,
Maxime

Fabrice Yaméogo
Messages : 24
Enregistré le : 22 Mar 2019, 10:09

Re: aggréger des variables et les regrouper

Messagepar Fabrice Yaméogo » 22 Mar 2019, 15:17

Problème résolu
Merci beaucoup.
Cordialement
Fabrice


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité