———————————————————————————-

Introducción

En esta publicación se presentan procedimientos para resolver temas referentes a programacion en R: Utilizamos el lenguaje R y mostramos su implementación paso a paso. Estos métodos son fundamentales en el estudio de Matrices y su aplicación en R permite realizar varios procedimientos,verificar resultados y comprender el comportamiento de matrices y su uso en programación. La programación con R ofrece una potente herramienta para trabajar con matrices, estructuras bidimensionales de datos organizadas en filas y columnas, que son fundamentales para tareas en álgebra lineal, análisis de datos y más. Los ejercicios de matrices en R permiten practicar la creación de estas estructuras, realizar operaciones matemáticas complejas como la suma, el producto interno o el cálculo de determinantes, y manipular datos de manera eficiente, sentando las bases para el análisis cuantitativo y la resolución de problemas computacionales. Se exponen conclusiones del trabajo.

Matrices en RStudio El comando que permite introducir matrices en RStudio es matrix(). Para construir una matriz B escribimos: B <−matrix(c(); ncol =; nrow =) Donde 𝑐() corresponde al vector de las entradas de la matriz A separadas por comas y siguiendo el orden de las columnas, además 𝑛𝑐𝑜𝑙 corresponde al número de columnas y 𝑛𝑟𝑜𝑤 el número de filas.

———————————————————————————-

Ejercicio 1

Considerando la siguiente matriz

\[ A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \\ 4 & 8 & 12 \end{pmatrix} \]

Planteamiento de problema

Usar el programa de RStudio para poder realizar la Matriz, que esta se pueda visualizar en el programa de la forma en la que el ejercio lo esta planteando. La digitacion de la Matriz en R es la siguiente:

Solución

Codigo en R:

# Primero se construye la matriz especificando el nUmero de columnas con ncol y de filas con nrow
A <- matrix(c(1,2,3,4,
              2,4,6,8,
              3,6,9,12),
            ncol = 3, nrow = 4)
# Procedemos a poner el nombre de nuestra matriz para verificar si esta realizada correctamente.
A
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    2    4    6
## [3,]    3    6    9
## [4,]    4    8   12

——————————————————————————–

Ejercicio 2

Introducir la matriz identidad de tamaño 4x4 en RStudio (sin usar un vector de 16 valores)

\[ A = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} \]

Planteamiento de problema

El problema es crear una matriz identidad de 4x4 en RStudio sin ingresar directamente los 16 valores. Esto implica el desafío de generar la matriz de manera más programática, utilizando el número de filas o vectores como guía, y aprovechando las funciones de R que permiten crear matrices a partir de otros objetos o mediante especificaciones de tamaño, como la función diag().

Solución

Codigo en R:

# Se aplica la función diag a la matriz que permite construir una array diagonal y se especifica el número filas.
I <- diag(4)
# Se hace el llamado a la matriz identidad para reflejar los 16 valores.
I
##      [,1] [,2] [,3] [,4]
## [1,]    1    0    0    0
## [2,]    0    1    0    0
## [3,]    0    0    1    0
## [4,]    0    0    0    1

——————————————————————————–

Ejercicio 3

Encontrar la matriz inversa de L, donde L se define como:

\[ L = \begin{pmatrix} 1 & 2 & -4 \\ -1 & -1 & 5 \\ 2 & 7 & -3 \\ \end{pmatrix} \]

usar el paquete matlib ……….

Planteamiento de problema

Determinar si una matriz de nombre (L) tiene inversa y, en caso afirmativo, calcularla usando RStudio. Esto se puede lograr primero verificando si el determinante de (L) es distinto de cero (ya que si es cero, la matriz no tiene inversa). Luego, se puede utilizar la función solve() o, para un resultado más directo en R, instalar y usar la función inv() del paquete matlib para obtener la matriz inversa.

Solución

Codigo en R:

# Se utiliza el paquete (matlib) para poder hacer una matriz inversa.
library(matlib)

# Se creara la matriz asignando numero de columnas y filas iguales.
L <- matrix(c(1, -1, 2,
              2, -1, 7,
              -4, 5, -3),
            nrow = 3, ncol = 3)

# Se determina la matriz inversa L
inv_L <- inv(L)

# Se observara el resultado.
inv_L
##       [,1]  [,2] [,3]
## [1,] -16.0 -11.0  3.0
## [2,]   3.5   2.5 -0.5
## [3,]  -2.5  -1.5  0.5

——————————————————————————–

Ejercicio 4

Suponga que se quiere ingresar una matriz con muchas entradas como la matriz P que se presenta a continuación.

\[ P = \begin{pmatrix} 1 & 2 & 3 & 0 & 2 \\ 2 & 4 & 6 & 0 & 3 \\ 3 & 6 & 9 & 0 & 5 \\ 4 & 8 & 12 & 0 & 7 \\ 5 & 10 & 15 & 5 & 11 \\ 6 & 12 & 18 & 5 & 13 \\ 7 & 14 & 21 & 5 & 17 \\ 8 & 16 & 24 & 5 & 19 \\ 9 & 18 & 27 & 5 & 23 \end{pmatrix} \]

hacerlo pero desde un archivo en excel.

Planteamiento de problema

El problema es cómo ingresar una matriz de gran tamaño desde un archivo de Excel a RStudio de forma eficiente para su análisis. Esto se complica debido al volumen de datos, lo que hace que la introducción manual sea tediosa e improductiva, por lo que se debe recurrir a la importación de datos desde un archivo.

Solución

Codigo en R:

#  Se debe cargar el paquete
library(readxl)
# Se debe copiar la ruta de la consola y darle una variable
P <- as.matrix(read_excel("C:/Users/stali/Downloads/matrizP.xlsx",
                          col_names = FALSE))
# Se verifica la respuesta llmando a la variable P
P
##       ...1 ...2 ...3 ...4 ...5
##  [1,]    1    2    3    0    2
##  [2,]    2    4    6    3    0
##  [3,]    3    6    9    0    5
##  [4,]    4    8   12    0    7
##  [5,]    5   10   15    5   11
##  [6,]    6   12   18    5   13
##  [7,]    7   14   21    5   17
##  [8,]    8   16   24    5   19
##  [9,]    9   18   27    5   23

———————————————————————————-

Ejercicio 5

Resolver el siguiente sistema de ecuaciones usando R:

Anlice el siguiente sistema de ecuación lineal: \[ \begin{cases} x + 5y = 7 \\ -2x - 7y = -5 \end{cases} \]

se puede usar el comando solve.

Planteamiento de problema

Primero el problema consiste en identificar las variables desconocidas, traducir las ecuaciones dadas en forma lineal y organizarlas en una matriz de coeficientes (a) y un vector de constantes (b) para usar la función solve().

Solución

Codigo en R:

  # Matriz de coeficientes (POR COLUMNAS)
  A <- matrix(c(1, -2,    # columna 1
                5, -7),   # columna 2
              ncol = 2)
  
  # Vector de términos independientes
  b <- c(7, -5)
  
  # Resolver el sistema A x = b
  solucion <- solve(A, b)
  
  solucion
## [1] -8  3

———————————————————————————-

Ejercicio 6

Realice el determinate de la siguiente matriz, la solución manual se adjunta, usted debe realizarlo por R, puede usar la funcion det y comprobar los resultados.

\[ A = \begin{pmatrix} 1 & 4 & 9 \\ 7 & 2 & 5 \\ 6 & 8 & 3 \end{pmatrix} \]

\[ |A| = 1 \cdot 2 \cdot 3 \\ + 4 \cdot 5 \cdot 6 \\ + 7 \cdot 8 \cdot 9 \\ - 9 \cdot 2 \cdot 6 \\ - 4 \cdot 7 \cdot 3 \\ - 5 \cdot 8 \cdot 1 \\ = 6 + 120 + 504 \\ - 108 - 84 - 40 \\ = 398 \]

Planteamiento de problema

El problema consiste en calcular el determinante de una matriz específica utilizando la función det() en el software estadístico R (RStudio) para verificar el resultado de una solución manual previamente proporcionada. El planteamiento requiere crear la matriz en R, aplicar la función det() y luego comparar el resultado con el obtenido manualmente.

Solución

Codigo en R:

# Crear la matriz A
A <- matrix(
  c(1, 7, 6,   # Primera columna
    4, 2, 8,   # Segunda columna
    9, 5, 3),  # Tercera columna
  ncol = 3,
  nrow = 3
)

# Mostrar la matriz
A
##      [,1] [,2] [,3]
## [1,]    1    4    9
## [2,]    7    2    5
## [3,]    6    8    3
# Calcular el determinante
det(A)
## [1] 398

———————————————————————————-

Ejercicio 7

Realizar en R la transpuesta de la matriz propuesta a continuación:

\[ A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} \quad A^T = \begin{bmatrix} 1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9 \end{bmatrix} \]

Planteamiento de problema

El problema es la necesidad de crear una función en R para obtener la matriz transpuesta a partir de una matriz original, lo que implica intercambiar sus filas por columnas. El problema se puede resolver utilizando la función t() en RStudio para transformar la matriz propuesta, donde las filas se convierten en columnas y las columnas en filas.

Solución

Codigo en R:

  # Crear la matriz A
  A <- matrix(
    c(1, 4, 7,   # Primera columna
      2, 5, 8,   # Segunda columna
      3, 6, 9),  # Tercera columna
    ncol = 3,
    nrow = 3
  )

# Mostrar la matriz original
A
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9
# Obtener la transpuesta
t(A) 
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9

——————————————————————————–

Concluciones

Las operaciones con matrices en RStudio son una herramienta poderosa y eficiente para el análisis de datos, ya que permiten manipular grandes cantidades de información de manera sencilla y aplicar operaciones complejas como la multiplicación. Si bien RStudio ofrece un entorno intuitivo y funciones específicas como matrix(), cbind(), y rbind() para crear y combinar matrices, para análisis avanzados y más allá de lo básico se puede requerir el uso de paquetes adicionales como el paquete Matrix. Dominar estas operaciones es fundamental para tareas como el modelado estadístico, el aprendizaje automático y la visualización de datos. Con esto lograremos obtener las siguientes destrezas: