Voici ma question du jour :
J'ai le jeu de données bidon suivante :
Code : Tout sélectionner
> bidon
Fact1 Fact2 repet valeur
1 A C 1 1
2 A C 1 3
3 A C 2 5
4 A C 2 4
5 A D 3 5
6 A D 3 7
7 A D 4 2
8 A D 4 4
9 B C 5 10
10 B C 5 4
11 B C 6 0
12 B C 6 5
13 B D 7 6
14 B D 7 3
15 B D 8 5
16 B D 8 3
Je veux calculer les moyennes et SD de chaque répétition pour les deux facteurs:
Code : Tout sélectionner
> resultat=aggregate(valeur~Fact1:Fact2:repet,FUN=function(x) c(mean(x), sd(x)),data=bidon)
> resultat
Fact1 Fact2 repet valeur.1 valeur.2
1 A C 1 2.0000000 1.4142136
2 A C 2 4.5000000 0.7071068
3 A D 3 6.0000000 1.4142136
4 A D 4 3.0000000 1.4142136
5 B C 5 7.0000000 4.2426407
6 B C 6 2.5000000 3.5355339
7 B D 7 4.5000000 2.1213203
8 B D 8 4.0000000 1.4142136
So far, so good.
Je ne suis pas satisfait des labels des colonnes créées, et je voulais naïvement les changer avec names() (ou colnames()). Ce n'est pas possible, car la dimension de ce dataframe n'est pas 8x5.
Code : Tout sélectionner
> dim(resultat)
[1] 8 4
Les deux dernières colonnes sont combinées.
Code : Tout sélectionner
> resultat[,4]
[,1] [,2]
[1,] 2.0 1.4142136
[2,] 4.5 0.7071068
[3,] 6.0 1.4142136
[4,] 3.0 1.4142136
[5,] 7.0 4.2426407
[6,] 2.5 3.5355339
[7,] 4.5 2.1213203
[8,] 4.0 1.4142136
Et, du coup, changer juste le label de la colonne 4 change d'un coup les deux dernières :
Code : Tout sélectionner
> names(resultat)[4]="moyenne"
> resultat
Fact1 Fact2 repet moyenne.1 moyenne.2
1 A C 1 2.0000000 1.4142136
2 A C 2 4.5000000 0.7071068
3 A D 3 6.0000000 1.4142136
4 A D 4 3.0000000 1.4142136
5 B C 5 7.0000000 4.2426407
6 B C 6 2.5000000 3.5355339
7 B D 7 4.5000000 2.1213203
8 B D 8 4.0000000 1.4142136
Quelqu'un aurait une astuce pour changer les noms des deux dernières colonnes séparément ?
D'avance merci pour toute aide sur ce point.
Et bonnes fêtes ! Eric.