Disons que j'ai un vecteur dans R comme suit:
d<-seq(1,100)
Je veux remodeler ce vecteur en une matrice 10x10, afin d'avoir à la place ces données:
[,1] [,2] [,3] .. [,10]
1 2 3 .. 10
11 12 13 .. 20
21 22 23 .. 30
..
91 92 93 .. 100
J'ai essayé d'utiliser la fonction de remodelage, mais cela n'a pas fonctionné. Quelqu'un peut-il aider s'il vous plaît?
Tu peux faire
dim(d) <- c(10, 10)
d <- t(d)
ou
d <- matrix(d, nrow = 10, byrow = TRUE)
Si vous souhaitez convertir une liste prédéfinie en matrice (par exemple, une matrice 5 * 4), faites
yourMatrix <- matrix(unlist(yourList), nrow = 5, ncol = 4)
Il convient de noter que la matrice est créée par des colonnes, ce qui signifie que vos données seront remplies dans la matrice par des colonnes. Donc, si vous voulez la matrice créée par des lignes, utilisez simplement t () , comme
yourMatrix <- matrix(unlist(yourList), nrow = 4, ncol = 5) # exchanges the cols and rows
yourMatrix <- t(yourMatrix) # matrix transpose