UNIVERSIDAD CENTRAL DEL ECUADOR

                            Facultad de Ciencias Económicas

                        Colaborador Ing. Francisco Valverde PhD
               
                      

R y R STUDIO

R es un software que fue diseñado para hacer análisis estadísticos y gráficas y es un software de libre acceso. RStudio es un entorno de desarrollo integrado para el lenguaje de programación R, dedicado a la computación estadística y gráficos. Incluye una consola, editor de sintaxis que apoya la ejecución de código, así como herramientas para el trazado, la depuración y la gestión del espacio de trabajo. está disponible para Windows, Mac y Linux o para navegadores conectados a RStudio Server o RStudio Server Pro (Debian / Ubuntu, RedHat / CentOS, y SUSE Linux).

EJERCICIOS EN R

Ejercicio 1 : Considerando la siguiente matriz. La digitación de las entradas de la matriz en Rstudio

Matriz

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

Solución y ejecución de ejercicios

La función matrix genera una matriz en RStudio o R base, pasando como input un vector numérico, de caracteres o lógico.
La función ncol() devuelve el número de columnas de una matriz. La función nrow() devuelve el número de filas de una matriz.

Primera forma

matriz_A<-matrix(c(1,2,3,2,4,6,3,6,9,4,8,12),nrow = 4, ncol=3, byrow = T )
matriz_A
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    2    4    6
## [3,]    3    6    9
## [4,]    4    8   12

Segunda forma

Vectores asignados
j<-c(1,2,3)
q<-c(2,4,6)
k<-c(3,6,9)
l<-c(4,8,12)

matriz_A<-matrix(c(j,q,k,l),nrow = 4, ncol=3, byrow = T)
matriz_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)

\[ Matriz \ I = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \]

La función diag() en lenguaje R se usa para construir una matriz diagonal.
Ejecución
diag(4)
##      [,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:

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

La función matrix genera una matriz en RStudio o R base, pasando como input un vector numérico, de caracteres o lógico.
La función ncol() devuelve el número de columnas de una matriz. La función nrow() devuelve el número de filas de una matriz.
library(matlib)
Función solve(): La función en lenguaje R se usa para resolver ecuaciones algebraicas lineales.
Ejecución
matriz_L<-matrix(c(1,2,-4,-1,-1,5,2,7,-3),nrow = 3, ncol=3, byrow = T )
matriz_L
##      [,1] [,2] [,3]
## [1,]    1    2   -4
## [2,]   -1   -1    5
## [3,]    2    7   -3
print(("LA INVERSA DE LA MATRIZ ES: "))
## [1] "LA INVERSA DE LA MATRIZ ES: "
inversa<-print(solve(matriz_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.

Matriz

\[P =\left(\begin{array}{cc}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{array}\right)\]

# Cargamos la libreria

library(readxl)

# Buscamos la direccion del archivo

 file.choose()
## [1] "C:\\Users\\POINT\\OneDrive\\Documentos\\KEVIN RMARKDOWN\\Matriz P.xlsx"
# Luego de ver en consola guardamos la direccion en una variable

ruta_excel <- "C:\\Users\\POINT\\OneDrive\\Documentos\\KEVIN RMARKDOWN\\Matriz P.xlsx"

# Importamos los datos del archivo de excel con la funci?n read_excel
# asignandole a una variable esta funci?n nos permite escoger en que hoja 
#y celdas especificamente esta la informacion en el archivo.

 matrizp <- read_excel(ruta_excel, sheet = 'Hoja1', range = 'C4:G13')
## New names:
## * `` -> ...1
## * `` -> ...2
## * `` -> ...3
## * `` -> ...4
## * `` -> ...5
# Finalmente visualizamos la matriz en la consola

 matrizp
## # A tibble: 9 x 5
##    ...1  ...2  ...3  ...4  ...5
##   <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     1     2     3     0     2
## 2     2     4     6     0     3
## 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
# Tambien podemos visualizarla usando el comando View

 View(matrizp)

Ejercicio 5: Resolver el siguiente sistema de ecuaciones usando R:

\[\left\lbrace \begin{array}{ll} x+5y=7 \newline -2x-7y=-5 \end{array} \right.\]

Ejecución
# Creamos la primera matriz donde vamos a colocar los coeficientes, 
# es decir, los valores antes del igual

m1<- matrix(c(1,-2,5,-7), nrow= 2)

# Visualizamos la primera matriz creada

m1
##      [,1] [,2]
## [1,]    1    5
## [2,]   -2   -7
# Creamos la  segunda matriz donde vamos a colocar las constantes,
# es decir, los valores despu?s del igual

m2<- matrix(c(7,-5))

# Visualizamos la segunda matriz creada

m2
##      [,1]
## [1,]    7
## [2,]   -5
# Creamos una nueva variable asignandole el proceso de la funcion solve para
# resolver sistemas de ecuaciones lineales El primer parametro sera
#la primera matriz y el segundo par?metro sera la segunda matriz

m3<- solve(m1,m2)

# Podemos seleccionar cada dato seg?n su posici?n y asignarlo a su variable 
#correspondiente

x<- m3[1,1]
y<- m3[2,1]

# Finalmente visualizamos los valores de las variables encontradas

x
## [1] -8
y
## [1] 3
# Ahora si deseamos una mejor visualizacion renombramos sus filas por 
# el nombre de la variable encontrada, en su respectivo orden

rownames(m3)<- c("x=", "y=")

# Visualizamos el resultado

m3
##    [,1]
## x=   -8
## y=    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. Resultado = 398

Matriz original

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

La función matrix genera una matriz en RStudio o R base, pasando como input un vector numérico, de caracteres o lógico.
La función ncol() devuelve el número de columnas de una matriz. La función nrow() devuelve el número de filas de una matriz.
Ejecución
A <- matrix(c( 1,4,9,7,2,5,6,8,3), nrow = 3, byrow = T)
A
##      [,1] [,2] [,3]
## [1,]    1    4    9
## [2,]    7    2    5
## [3,]    6    8    3
det(A)
## [1] 398

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

Matriz original

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

Matriz transpuesta

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

La función matrix genera una matriz en RStudio o R base, pasando como input un vector numérico, de caracteres o lógico.
La función ncol() devuelve el número de columnas de una matriz. La función nrow() devuelve el número de filas de una matriz.
Ejecución
matri_A<-matrix(c(1,2,3,4,5,6,7,8,9),nrow = 3, ncol=3, byrow = T )
matri_A
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9
print(paste0( "LATRANSPUESTA DE LA MATRIZ ES: "));print(t(matri_A))
## [1] "LATRANSPUESTA DE LA MATRIZ ES: "
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9