Producto cruzado de matrices en R (2 ejemplos) | Funciones crossprod y tcrossprod

Se el primero en calificar

En este tutorial de R , aprenderá a calcular productos cruzados de matrices mediante las funciones crossprod y tcrossprod .

El tutorial consta de estos bloques de contenido:

Aquí está el proceso paso a paso…

Creación de datos de ejemplo

El primer paso es crear algunos datos que podemos usar en los ejemplos más adelante:

my_mat <- matrix ( 1 : 9 , nrow =  3 )                # Crear matriz de ejemplo 
my_mat                                         # Imprimir matriz de ejemplo

tabla 1 matriz matriz producto cruzado

La Tabla 1 muestra que nuestros datos de ejemplo se componen de tres filas y tres columnas.

A continuación, también tenemos que crear un vector de ejemplo:

my_vec <-  1 : 3                                  # Crear vector de ejemplo 
my_vec                                         # Imprimir vector de ejemplo 
# [1] 1 2 3

Nuestro vector contiene tres enteros.

Ejemplo 1: Producto cruzado usando la función crossprod()

En el Ejemplo 1, explicaré cómo calcular el producto vectorial de una matriz y un vector.

Para esto, podemos aplicar la función crossprod como se muestra en el siguiente código R:

my_crossprod1 <- crossprod ( my_mat, my_vec )     # Aplicar función 
crossprod my_crossprod1                                  # Imprimir producto cruzado

tabla 2 matriz matriz producto cruzado

Como se muestra en la Tabla 2, el código de programación R anterior ha creado un nuevo objeto de matriz que contiene el producto cruzado de nuestros objetos de matriz y vector.

Tenga en cuenta que la función t y el operador %*% también se pueden usar para calcular una matriz de productos cruzados, pero la función crossprod suele ser más rápida y eficiente.

Sin embargo, comparemos el resultado de la función t y el operador %*% con la función crossprod:

my_crossprod2 <- t ( my_mat )  %*% my_vec          # Función t() & operador %*% 
my_crossprod2                                  # Imprimir producto cruzado

tabla 3 matriz matriz producto cruzado

El resultado de la sintaxis anterior se muestra en la Tabla 3: Hemos creado exactamente el mismo resultado que con la función crossprod.

Ejemplo 2: Producto cruzado de transposición de matriz usando la función tcrossprod()

Similar a la función crossprod, podemos aplicar la función tcrossprod para calcular el producto cruzado de una matriz transpuesta.

Supongamos que queremos calcular el producto vectorial de la transpuesta de una matriz. Luego, podemos aplicar el código como se muestra a continuación:

my_tcrossprod1 <- tcrossprod ( my_mat )           # Aplicar la función 
tcrossprod my_tcrossprod1                                 # Imprime el producto cruzado de la transposición de la matriz

tabla 4 matriz matriz producto cruzado

Después de ejecutar el código de programación R anterior, se ha creado la matriz con el resultado tcrossprod que se muestra en la Tabla 4.

La función tcrossprod también es una alternativa más rápida a la expresión proporcionada por la función t y el operador %*%.

Sin embargo, usemos este código alternativo también:

my_tcrossprod2 <- my_mat %*% t ( my_mat )         # %*% operador & función t() 
my_tcrossprod2                                 # Imprime el producto cruzado de la transposición de la matriz

tabla 5 matriz matriz producto cruzado

Después de ejecutar la sintaxis R anterior, se ha creado la misma matriz que después de aplicar el comando tcrossprod.

Video, recursos adicionales y resumen

En caso de que necesites más explicaciones sobre los ejemplos de esta página, puedes echar un vistazo al siguiente vídeo que he publicado en mi canal de YouTube. En el video, explico los códigos R de este artículo en una sesión en vivo.

El video de YouTube se agregará pronto.

Además, es posible que desee leer los otros tutoriales de RStudio en mi sitio web.

Resumen: este artículo ha ilustrado cómo aplicar las funciones crossprod y tcrossprod en la programación R. Si tienes más preguntas, no dudes en hacérmelo saber en la sección de comentarios.

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

En esta página, ilustraré cómo dibujar etiquetas de gráficos de facetas en la parte inferior de cada panel en el…