Estoy buscando una forma más versátil para pasar de un data.frame a un array multidimensional.¿Cómo obtener un data.frame en una matriz multidimensional en R?
Me gustaría ser capaz de crear tantas dimensiones como sea necesario a partir de tantas variables en el marco de datos como desee.
Actualmente, el método debe adaptarse a cada data.frame, requiere subarriendo para formar un vector.
Me encantaría algo a lo largo de los métodos de fusión/fundición en plyr.
data<-data.frame(coord.name=rep(1:10, 2),
x=rnorm(20),
y=rnorm(20),
ID=rep(c("A","B"), each=10))
data.array<-array(dim=c(10, 2, length(unique(data$ID))))
for(i in 1:length(unique(data$ID))){
data.array[,1,i]<-data[data$ID==unique(data$ID)[i],"x"]
data.array[,2,i]<-data[data$ID==unique(data$ID)[i],"y"]
}
data.array
, , 1
[,1] [,2]
[1,] 1 1
[2,] 3 3
[3,] 5 5
[4,] 7 7
[5,] 9 9
[6,] 1 1
[7,] 3 3
[8,] 5 5
[9,] 7 7
[10,] 9 9
, , 2
[,1] [,2]
[1,] 2 2
[2,] 4 4
[3,] 6 6
[4,] 8 8
[5,] 10 10
[6,] 2 2
[7,] 4 4
[8,] 6 6
[9,] 8 8
[10,] 10 10
... ¿Tendría siempre 2 columnas numéricas y luego cero o más columnas de factores? – Tommy