La fonction melt(), qui fait partie du package reshape2, permet de regrouper les différentes parties d’un array dans un data.frame.
library(reshape)
a <- array(c(1:11, NA), c(2,2,3),dimnames=list(NULL, NULL, c("A","B","C")))
a
, , A
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , B
[,1] [,2]
[1,] 5 7
[2,] 6 8
, , C
[,1] [,2]
[1,] 9 11
[2,] 10 NA
melt(a, na.rm = TRUE) #On fusionne A, B et C
#na.rm permet d'enlever les "NA" du jeu de données
melt(a,na.rm = TRUE, varnames=c("abscisses","ordonnées","variables"))
#On fait la même chose mais cette fois en attribuant aux colonnes les noms que l'on désire
On obtient :
melt(a,na.rm = TRUE, varnames=c("abscisses","ordonnées","variables"))
abscisses ordonnées variables value
1 1 1 A 1
2 2 1 A 2
3 1 2 A 3
4 2 2 A 4
5 1 1 B 5
6 2 1 B 6
7 1 2 B 7
8 2 2 B 8
9 1 1 C 9
10 2 1 C 10
11 1 2 C 11