Sto cercando un modo più versatile per passare da un data.frame a un array multidimensionale.Come ottenere un data.frame in una matrice multidimensionale in R?
Mi piacerebbe essere in grado di creare quante più dimensioni necessarie da quante più variabili nel frame di dati, come desiderato.
Attualmente, il metodo deve essere adattato a ogni data.frame, richiede il subaffitto per formare un vettore.
Mi piacerebbe qualcosa lungo i metodi di fusione/fusione in 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
... avresti sempre 2 colonne numeriche e quindi zero o più colonne di fattori? – Tommy