vacio - transformar variables en r
Cómo convertir un vector en una matriz en R? (2)
Solo usa la matrix
:
matrix(vec,nrow = 7,ncol = 7)
Una ventaja de utilizar la matrix
lugar de simplemente alterar el atributo de dimensión como señala Gavin, es que puede especificar si la matriz se rellena por fila o columna utilizando el argumento de byrow
en la matrix
.
Tengo un vector con 49 valores numéricos. Quiero tener una matriz numérica 7x7 en su lugar.
¿Hay algún tipo de declaración de conversión automática conveniente que pueda usar, o tengo que hacer 7 asignaciones de columnas separadas de los subconjuntos de vectores correctos a una nueva matriz? Espero que haya algo así como el opuesto de c(myMatrix)
, con la opción de dar la cantidad de filas y / o columnas que quiero tener, por supuesto.
Una matriz es realmente solo un vector con un atributo dim
(para las dimensiones). Entonces puedes agregar dimensiones a vec
usando la función dim()
y vec
será una matriz:
vec <- 1:49
dim(vec) <- c(7, 7) ## (rows, cols)
vec
> vec <- 1:49
> dim(vec) <- c(7, 7) ## (rows, cols)
> vec
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 8 15 22 29 36 43
[2,] 2 9 16 23 30 37 44
[3,] 3 10 17 24 31 38 45
[4,] 4 11 18 25 32 39 46
[5,] 5 12 19 26 33 40 47
[6,] 6 13 20 27 34 41 48
[7,] 7 14 21 28 35 42 49