5.11.15

Matrices

Creación de Matrices

Las matrices son objetos estructurales con una colección datos en una disposición rectangular, tienen dos dimensiones y son de una clase. 

Es común almacenar los datos en matrices. podemos crear matrices con diferentes funciones
Con la función de dimensión llamada dim(), que crea una matriz a partir de un vector
> a<-21:30               # creamos el vector
> a
 [1] 21 22 23 24 25 26 27 28 29 30
> dim(a)<-c(2,5)         # dim() el 2 número de filas y el 3 numero de columnas
> a                      # a cambia de un vector a una matriz 2x5
     [,1] [,2] [,3] [,4] [,5]
[1,]   21   23   25   27   29
[2,]   22   24   26   28   30



Otra manera de hacer matrices es utilizando las funciones cbind(rbind(), lo cual construye una matriz a partir de dos o más vectores. cbind(utiliza los vectores como columnas y rbind(utiliza los vectores como filas.
> a<-1:5
> b<-seq(10,19,2)
> c<-5:1
> cbind(a,b,c)
     a b c
[1,] 1 10 5
[2,] 2 12 4
[3,] 3 14 3
[4,] 4 16 2
[5,] 5 18 1
> rbind(a,b,c)
  [,1] [,2] [,3] [,4] [,5]
a   1    2    3    4    5
b  10   12   14   16   18
c   5    4    3    2    1

En ocasiones tenemos vectores de tamaños diferentes, y queremos crear una matrices, lo que pasara es que los vectores pequeños repetirán los valores hasta igualar al más grande, mostrando una advertencia.
> rbind(a,b,c,d)
  [,1] [,2] [,3] [,4] [,5] [,6]
a    1    2    3    4    5    1
b   10   12   14   16   18   10
c    5    4    3    2    1    5
d    0    2    4    6    8   10
Warning message: In rbind(a, b, c, d) : number of columns of result is not a multiple of vector length (arg 1)
> cbind(a,b,c,d)
     a  b c  d
[1,] 1 10 5  0
[2,] 2 12 4  2
[3,] 3 14 3  4
[4,] 4 16 2  6
[5,] 5 18 1  8
[6,] 1 10 5 10
Warning message: In cbind(a, b, c, d) : number of rows of result is not a multiple of vector length (arg 1)

La principal manera de hacer matrices, es utilizar la funcion con el mismo nombre , apartir de datos o un vector.

> matrix(1:20,5,4)             # por default se ordena por columnas
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20
> matrix(1:20,5,4,byrow = T)   # para ordenar por filas, con el argumento byrow
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12
[4,]   13   14   15   16
[5,]   17   18   19   20

Para colocar nombres a los encabezado de las filas y columnas, utilizamos las funciones rownames()
y  colnames(respectivamente.

> matriz<-matrix(1:20,4,5)
> materias<-c("Historia","Algebra","Latin","Calculo")
> estudiantes<-c("Juan","Pedro","Norma","Brenda","Claudia")
> rownames(matriz)<-materias
> colnames(matriz)<-estudiantes
> matriz
         Juan Pedro Norma Brenda Claudia
Historia    1     5     9     13      17
Algebra     2     6    10     14      18
Latin       3     7    11     15      19
Calculo     4     8    12     16      20


Con esto terminamos de ver las matrices. Continua aprendiendo y nos vemos en el próximo post.

                                                                                                                             

No hay comentarios.:

Publicar un comentario