Aggregate et quartiles

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

Bertrand Vassor
Messages : 46
Enregistré le : 18 Sep 2017, 10:18

Aggregate et quartiles

Messagepar Bertrand Vassor » 20 Oct 2017, 10:55

Bonjour,

Pour obtenir le summary d'un data frame par aggregation j'ai exécuté le code suivant :

df.30 <- aggregate(tt01~timemn, data= df, FUN = "summary")
df.30 <- cbind(df.30,df.30$tt01)
df.30$tt01 <- NULL


la ligne 1 du code me retourne :

Code : Tout sélectionner

timemn          tt01
10                  3.98
20                  10.02
30                  11.24


La valeur retournée est celle du premier quartile. En fouillant j'ai compris qu'en fait c'était un data frame et non une variable avec une seule valeur qui était derrière la valeur, d'où ligne 2 du code, pour disposer dans un même tableau des temps et des 6 valeurs issues du summary
Mais il y a deux colones en double ce qui donne :

Code : Tout sélectionner

timemn          tt01          1er QT ....
10                  3.98         3.98
20                  10.02       10.02
30                  11.24       11.24


Afin de supprimer la colonne en double, j'exécute la ligne 3 du code.

Le tout fonctionne, mais je pense qu'il y a une façon plus efficace d'y arriver. Quelle serait-elle ?

Merci bien
B

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

Re: Aggregate et quartiles

Messagepar Pierre-Yves Berrard » 20 Oct 2017, 12:05

Bonjour,

Je ne saisis pas pourquoi seul le premier quartile apparaît dans la sortie d'aggregate...

Quand je teste :

Code : Tout sélectionner

aggregate(data = iris, Sepal.Length ~ Species, FUN = summary)

L'ensemble des résultats de summary est bien calculé.

Code : Tout sélectionner

     Species Sepal.Length.Min. Sepal.Length.1st Qu. Sepal.Length.Median Sepal.Length.Mean Sepal.Length.3rd Qu.
1     setosa             4.300                4.800               5.000             5.006                5.200
2 versicolor             4.900                5.600               5.900             5.936                6.300
3  virginica             4.900                6.225               6.500             6.588                6.900
  Sepal.Length.Max.
1             5.800
2             7.000
3             7.900
PY

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

Re: Aggregate et quartiles

Messagepar Serge Rapenne » 20 Oct 2017, 12:35

Bonjour,

pour compléter la réponse de Pierre-Yves, pour pouvoir faire des tests plus complets, il faudrait fournir tt01, de préférence en copiant la sortie de dput(tt01) ou à minima dput(tt01[1:10,]) si tt01 est trop gros.

Serge

Bertrand Vassor
Messages : 46
Enregistré le : 18 Sep 2017, 10:18

Re: Aggregate et quartiles

Messagepar Bertrand Vassor » 20 Oct 2017, 18:45

Bonsoir,
Merci bien pour vos réponses.
voici ce que j'obtiens :

Code : Tout sélectionner

       timemn     tt01.Min.       tt01.1st Qu.   tt01.Median     tt01.Mean      tt01.3rd Qu.       tt01.Max.
1           0         3.985           23.660          31.140        33.580           35.520        76.470
2          10         3.283           23.750          31.450        35.330           36.670        77.590
3          20         2.581           25.910          33.080        39.950           57.100        75.500
4          30         1.879           30.980          50.170        49.200           72.000        72.720
5          40         1.178           36.870          71.840        58.650           72.200        72.680
6          50         0.476           70.180          72.120        62.780           72.200        72.700
7          60         6.819           72.060          72.180        66.520           72.240        73.480
8          70        14.620           72.120          72.190        68.750           72.240        72.630
9          80        17.250           72.140          72.190        70.610           72.240        73.520
10         90        29.260           72.140          72.200        71.400           72.250        73.620


Merci bien.
B

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

Re: Aggregate et quartiles

Messagepar Pierre-Yves Berrard » 25 Oct 2017, 20:16

Je crois que j'ai compris le problème : en affichant juste dans la console, on a bien toutes les colonnes, par contre en affectant à un objet, seule la première colonne est conservée*.

*edit : en fait une matrice est stockée dans la deuxième colonne.

D'où une première solution un peu tirée par les cheveux :

Code : Tout sélectionner

df.30 <- aggregate(tt01 ~ timemn, data = df, FUN = summary)
res <- cbind(timemn = df.30[[1]], as.data.frame(df.30[[2]]))
PY

GOUH PINABEY Nathaniel
Messages : 1
Enregistré le : 23 Oct 2017, 23:40

Re: Aggregate et quartiles

Messagepar GOUH PINABEY Nathaniel » 25 Oct 2017, 20:48

Bonsoir la famille!!!je suis trés heureux d'etre parmis vous. Je tiens à vous signaler que je viens juste de commencer d'apprendre ce logiciel,donc je m'excuse d'avance pour certaines questions que vous trouverez peut etre ridicule!

Bertrand Vassor
Messages : 46
Enregistré le : 18 Sep 2017, 10:18

Re: Aggregate et quartiles

Messagepar Bertrand Vassor » 26 Oct 2017, 08:58

Bonjour Pierre Yves,

Je partage complètement le diagnostic de l'objet affecté à la seconde colonne (diag que j'avais maladroitement exprimé initialement - désolé).
J'ai essayé la solution rapidement mais je n'ai toujours que 2 colones affichées. Je regarderai plus sérieusement semaine prochaine après mon retour.

En tout cas merci.
BV
@ Nathaniel : je pense que ce billet n'est pas au bon endroit ;-)


Retourner vers « Questions en cours »

Qui est en ligne

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