fbpx

Hola Mundo! En esta entrada vamos a estudiar qué son las matrices en R Studio. Así, vamos a:

  • Crear matrices en un script en R,
  • realizar operaciones aritméticas con matrices utilizando RStudio y
  • seleccionar elementos en una matriz.

Esta entrada viene acompañada de un video en YouTube que sigue un curso básico de R y RStudio. Además hay un código en R que puedes seguir con el video para poner el práctica los conceptos estudiados.

¿Por qué son importantes las matrices en R?

Si quieres hacer gráficas, tienes que saber que una matriz de dos columnas y una gráfica de dispersión son básicamente son lo mismo!

Para explicar cómo es esto, primero veamos que como se ve una matriz en el lenguaje R

matriz en r studio

Ahora, esto sería la gráfica de dispersión de esta matriz:

grafica de dispersion en r

Si observas, cada punto tiene coordenadas x e y. Los números que corresponden a cada coordenada están registrados en la matriz. Esta relación la puedes ver en la siguiente imagen con las flechitas:

matriz en r studio asignando elementos a matriz de dispersión en R

Por lo tanto, si no aprendes matrices, va a ser más difícil que entiendas como hacer una gráfica en R.

Qué son las matrices en R Studio?

De manera sencilla, ena matriz es una forma de acomodar los datos que tiene renglones o filas y columnas. Un sudoku es un ejemplo perfecto de lo que quiero decir con una matriz!

sudoku como ejemplo una matriz en r

Vale, para esta entrada vamos a trabajar solo con datos numéricos. Pero aplicaría lo mismo para matrices con datos tipo carácter o tipo lógico.

Utilizaremos como información la cantidad de películas hechas por warner, disney y fox en el periodo 2010-2018. Los datos los saqué de esta página.

Cómo hacer matrices en R Studio?

Una forma, es construir matrices combinando varios vectores. Si quieres saber más de vectores en R, puedes ver esta entrada.

Las matrices se crean con la función matrix(). Lo que va adentro de esta función es el contenido de la matriz y cuántas filas y columnas tiene la matriz.

funcion matrix en r studio

Además, podemos poner nombres a las columnas de la matriz con la función colname() y a las filas de la matriz con la función rowname().

En R, guardamos los vectores en el entorno de variables

# crear vectores para las columnas de la matriz
warner <- c(20, 20, 16, 17, 17, 22, 17, 18, 19)
disney <- c(11, 13, 11, 8, 12, 11, 12, 8, 10)
fox <- c(18, 15, 15, 15, 16, 17, 15, 13, 11)
# fuente https://www.the-numbers.com/market/

Para crear las matrices, utilizamos la función matrix(). Cambiamos los nombres con las funciones rowname() y colname(). Podemos ver el siguiente código:

# creando matriz a partir de vectores
peliculas <- matrix(c(warner, disney, fox),
                    nrow = 9,
                    ncol = 3)

# agregar nombres de columnas
colnames(peliculas) <- c('warner', 'disney', 'fox')

# agregar nombres de filas/renglones
rownames(peliculas) <- c('2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018')

# imprimir el contenido de la matriz
peliculas

Ya parece una tabla de verdad :D!

Como operar con matrices en R?

A veces, necesitamos modificar nuestras matrices con operaciones aritméticas básicas. Estamos hablando de sumas, restas, multiplicaciones y divisiones. Para ellos podemos ejecutar el siguiente código:

# resta 5 a la matriz
peliculas - 5

# sumar matriz consigo misma
peliculas + peliculas

# multiplicar la matriz consigo mismo
peliculas * peliculas

Sólo quiero dejar una NOTA IMPORTANTE aquí: Está multiplicación no es la multiplicación de matrices de álgebra lineal. Este tipo de operaciones sale del alcance de esta entrada. Pero, puedes hacer pruebas con %*% en lugar de * para multiplicar.

Cómo seleccionar elementos de una matriz en R?

Si queremos dominar los aspectos básicos de R, es importante saber seleccionar elementos específicos de una matriz. Digamos que queremos analizar solo los años… 2012, y 2013 de… disney y fox… qué se yo…

Esto de selección es como tomar solo ciertas celdas en una tabla de excel. Vamos paso a paso.

Selección de un elemento

En RStudio, podemos empezar seleccionando solo un elemento, para ello, escogemos una fila y una columna:

# seleccionar un elemento de la matriz
peliculas[3, 2]
peliculas['2012', 'disney']

Lo que en excel sería como

seleccionar un elemento de una matriz excel

Selección de más de un elemento

De manera similar, podemos escoger varios elementos y los escribimos como un vector. Como en el caso anterior, podemos combinar la posición en números o nombres. El código

# seleccionar más de un elemento de la matriz
peliculas[c(3,4), c(2,3)]
peliculas[c(3,4), c('disney', 'fox')]

El análogo en excel sería

seleccionar mas de un elemento de una matriz excel

Selección de una fila o renglón

Bien, si queremos seleccionar una fila específica escribimos el número o nombre de la fila o renglón y luego una coma.

# seleccionar una fila o renglón
peliculas[3,]
peliculas['2012',]

Lo mismo en excel

seleccionar una fila o renglón de una matriz excel

Selección de una columna

Por último, para seleccionar las columnas tenemos que escribir primero la coma y luego el número o nombre de la columna.

# seleccionar una columna
peliculas[, 2]
peliculas[, 'disney']

Lo que en excel haríamos con clicks así

seleccionar una columna de una matriz excel

No esta tan complicado verdad? Ya sé que en excel es mucho más fácil. Pero, también piensa que cuando dominemos el lenguaje R vamos a poder hacer muchas más cosas!

Excelente! Ya sabemos de matrices en R Studio

Bueno «todo» para un curso básico!

Espero que te vayas con la idea de que puedes hacer una matriz en R! y si te ha gustado, por favor mandaselo a esa persona que sabes que también quiere aprender estas cosas.

Te mando un saludo donde quiera que estés!