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