Creando matrices con la función matrix()

Podemos crear matrices en R con la función matrix(). La función matrix() acepta el argumento nrow para especificar el número de renglones y columnas que tendrá la matriz.Podemos crear matrices de diferentes combinaciones de datos, por ejemplo 2x2, 3x3, 3x2, etc. Para crear una matriz de 2x2 hacemos lo siguiente:

a<-c(1,2)
b<-c(3,4)
c<-matrix(c(a,b),nrow=2)
c
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4

También podemos crear una matriz de datos de 4x2. Para determinar los nombres de las columnas utilizamos el argumento colnames y para el nombre de las filas el argumento rownames

d<-c(1,2,3,4)
e<-c(5,6,7,8)
f<-matrix(c(d,e),nrow=4)
colnames(f)=c("Columna A","Columna B")
rownames(f)=c("Fila uno","Fila dos","Fila tres","Fila cuatro")
f
##             Columna A Columna B
## Fila uno            1         5
## Fila dos            2         6
## Fila tres           3         7
## Fila cuatro         4         8

Creando matrices con la función cbind()

Para crear una matriz por columnas usamos la función cbind() para unir vectores, usando cada uno como una columna.

g<-c(10,11,12)
h<-c(13,14,15)
i<-c(16,17,18)
j<-cbind(g,h,i)
colnames(j)<-c("Columna g","Columna h", "Columna i")
rownames(j)<-c("Fila I","Fila II","Fila III")
j
##          Columna g Columna h Columna i
## Fila I          10        13        16
## Fila II         11        14        17
## Fila III        12        15        18

Tambien podemos hacer una matriz por columnas de manera más rapida.

matriz<-cbind(número=c(23,785,856),color=c("rosa","azul","blanco"),ciudad=c("CDMX","Dubai","Berlin"))
matriz
##      número color    ciudad  
## [1,] "23"   "rosa"   "CDMX"  
## [2,] "785"  "azul"   "Dubai" 
## [3,] "856"  "blanco" "Berlin"

Creando matrices con la función rbind()

Ahora haremos una matriz por renglones. Para esta parte utilizaremos la función rbind() para unir vectores, usando cada uno como un renglón.

k<-c("fresa","rosa","amarillo")
l<-c("naranja","trébol","azul")
m<-c("sandía","aloe","verde")
n<-rbind(k,l,m)
colnames(n)<-c("Frutas","Plantas","Colores")
rownames(n)<-c("Fila k","Fila l", "fila m")
n
##        Frutas    Plantas  Colores   
## Fila k "fresa"   "rosa"   "amarillo"
## Fila l "naranja" "trébol" "azul"    
## fila m "sandía"  "aloe"   "verde"

Creando arreglos con la función array()

Cuando se tiene una matriz con varias capaz es necesario utilizar la función array() para poder mantener un orden.

ñ<-cbind(c(145,323,589),c(159,852,56),c(753,456,231))
o<-cbind(c(278,452,656),c(7856,412,563),c(741,963,987))
arreglo<-array(c(ñ,o),dim = c(3,3,2))
arreglo
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]  145  159  753
## [2,]  323  852  456
## [3,]  589   56  231
## 
## , , 2
## 
##      [,1] [,2] [,3]
## [1,]  278 7856  741
## [2,]  452  412  963
## [3,]  656  563  987

Para cambiar los nombres de las columnas y filas solo se necesitan las funciones colnames() y rownames().

colnames(arreglo)<-c("X","Y","Z")
rownames(arreglo)<-c("I","II","III")
arreglo
## , , 1
## 
##       X   Y   Z
## I   145 159 753
## II  323 852 456
## III 589  56 231
## 
## , , 2
## 
##       X    Y   Z
## I   278 7856 741
## II  452  412 963
## III 656  563 987

Arreglo por columnas.

p<-cbind(c("blaco","azul","rosa"),c(20,22,18),c("oso","perro","gato"))
q<-cbind(c("morado","naranja","rojo"),c(21,23,19),c("cocodrilo","delfin","tigre"))
r<-array(c(p,q),dim = c(3,3,2))
colnames(r)<-c("Color","Edad","Animal")
rownames(r)<-c("Valeria","Adriana","Hebert")
r
## , , 1
## 
##         Color   Edad Animal 
## Valeria "blaco" "20" "oso"  
## Adriana "azul"  "22" "perro"
## Hebert  "rosa"  "18" "gato" 
## 
## , , 2
## 
##         Color     Edad Animal     
## Valeria "morado"  "21" "cocodrilo"
## Adriana "naranja" "23" "delfin"   
## Hebert  "rojo"    "19" "tigre"

Arreglo por filas.

s<-rbind(c("blaco",20,"oso"),c("azul",22,"perro"),c("rosa",18,"gato"))
t<-rbind(c("morado",21,"cocodrilo"),c("naranja",23,"delfin"),c("rojo",19,"tigre"))
u<-array(c(s,t),dim = c(3,3,2))
colnames(u)<-c("Color","Edad","Animal")
rownames(u)<-c("Valeria","Adriana","Hebert")
u
## , , 1
## 
##         Color   Edad Animal 
## Valeria "blaco" "20" "oso"  
## Adriana "azul"  "22" "perro"
## Hebert  "rosa"  "18" "gato" 
## 
## , , 2
## 
##         Color     Edad Animal     
## Valeria "morado"  "21" "cocodrilo"
## Adriana "naranja" "23" "delfin"   
## Hebert  "rojo"    "19" "tigre"

A continución se muestra un video explicativo sobre este código

Para más información sobre las matrices en R, consultar el siguiente video.