A. INSTALACION DEL PROGRAMA

Primero entramos al sitio oficial para la descarga del programa R, para la descarga e instalacion correspondiente.

Link: R Project R_project

Lo segundo es entrar al sitio oficial para la descarga del programa Rstudio, para la descarga e instalacion correspondiente.

Link: Rstudio R_project

B. TRANSFORMANDO UN ARCHIVO COMANDO_1.R A .RMD

1. ESPACIO DE TRABAJO

La función getwd() en R se utiliza para obtener el directorio de trabajo actual. Este comando es útil para verificar en qué directorio estás trabajando actualmente en tu sesión de R.

getwd()           
## [1] "C:/Users/GL2/Downloads/R IMCA/TAREA 1"

En R, la función setwd() se utiliza para establecer el directorio de trabajo actual. Esto significa que todos los archivos que se leen o se escriben se buscarán en este directorio a menos que se especifique una ruta completa.

setwd("C:/Users/GL2/Downloads/R IMCA/TAREA 1")

2. OPERACIONES ARITMETICAS

En R, se puede usar las operaciones aritmeticas usuales como suma, diferencia, producto, divisiones, potenciacion, raiz, modulo, etc.

3 + 5                                # Suma
## [1] 8
8 - 5                                # Diferéncia
## [1] 3
7 * 9                                # Producto
## [1] 63
25 / 5                               # Division
## [1] 5
2^3                                  # Poténciacion
## [1] 8
sqrt(16)                             # Raízes cuadradas
## [1] 4
16^(1/4)                             # y otras
## [1] 2

En R, el orden de las operaciones aritméticas sigue la misma regla que en las matemáticas convencionales:

  • Paréntesis
  • Exponentes
  • Multiplicación y División
  • Adición y Sustracción

A continuacion se muestra unos ejemplos de uso de orden de las operaciones aritmeticas en R:

4+7 -3      #Primero se suma y luego la sutracion
## [1] 8
4*7-3       #Primero se multiplica, luego se sustrae
## [1] 25
-3 + 4 * 7  #Primero se multiplica, luego se adiciona
## [1] 25
-3+4        #Se adiciona un nuemero negativo con un numero positivo
## [1] 1
-3 + 4/2    #Primero se divide, luego se aadiciona al numero negtivo
## [1] -1
-(3+4)      #Primero se opera lo que esta dentro del parentesis,luego se cambia el signo
## [1] -7
-3 + (4/2)  #Primero se opera lo que esta en parentesis,luego se adiciona el numero negativo
## [1] -1
-(3 + 4)/2  #Se opera lo de parentesis, luego se hace la division
## [1] -3.5

3. ASICNACION A OBJETOS Y OPERACIONES BASICAS

En R, puedes asignar valores a variables con “<-” o con “=”. El símbolo “<-” se utiliza comúnmente para asignar valores a variables, pero “=” también se puede utilizar para el mismo propósito, aunque es menos común. Aquí tienes algunos ejemplos:

a = 7
a
## [1] 7
a <- 7; a
## [1] 7
a + 5
## [1] 12
b <- 13
c <- a * b; c
## [1] 91
e <- c / b + 5 ; e
## [1] 12
e <- c / (b + 5) ; e
## [1] 5.055556

4. CONJUNCION DE CARACTERES

nombre   <- "Pedro"
apellido <- "Ramirez"
completo <- paste(nombre, apellido); completo  # con espacio
## [1] "Pedro Ramirez"
completo <- paste(nombre, apellido, sep=""); completo # sin espacio
## [1] "PedroRamirez"
completo <- paste(nombre, apellido, sep=","); completo # con coma
## [1] "Pedro,Ramirez"
print('nombre + 5 ')
## [1] "nombre + 5 "

5. VARIABLES BOOLEANAS

En R, las variables booleanas se representan utilizando los valores TRUE o FALSE. Estos valores son útiles para realizar evaluaciones lógicas y controlar el flujo de ejecución de un programa.También es importante destacar que en R, TRUE y FALSE son palabras reservadas y no se pueden utilizar como nombres de variables. Sin embargo, puedes utilizar T y F como sinónimos de TRUE y FALSE respectivamente.

s <- TRUE; 
s
## [1] TRUE
s <- FALSE; 
s
## [1] FALSE
s <- a+b == 5; 
s
## [1] FALSE
s <- a+b != 5; 
s
## [1] TRUE
s <- !(a+b==5); 
s; 
## [1] TRUE
!s
## [1] FALSE

6. VECTORES Y OPERACIONES

v <- c(1,2,3);  # come se construye un vector
v
## [1] 1 2 3
c(1,2,3) + c(4,5,6)
## [1] 5 7 9
c(1,2,3) * c(4,5,6)
## [1]  4 10 18
w <- c(4,5,6)
v + w
## [1] 5 7 9
z = c(-1.45, sqrt(7), 2^5, sin(1.5))
z
## [1] -1.450000  2.645751 32.000000  0.997495
-z
## [1]   1.450000  -2.645751 -32.000000  -0.997495
w + z
## Warning in w + z: longitud de objeto mayor no es múltiplo de la longitud de uno
## menor
## [1]  2.550000  7.645751 38.000000  4.997495
za <- c(1,2,3,4,5,6); za
## [1] 1 2 3 4 5 6
za <- c(v,w); za
## [1] 1 2 3 4 5 6
w + za
## [1]  5  7  9  8 10 12
vc <- c("uno","dos","tres"); vc        # vector de caracteres
## [1] "uno"  "dos"  "tres"
str(vc); typeof(vc); length(vc)
##  chr [1:3] "uno" "dos" "tres"
## [1] "character"
## [1] 3
vn <- numeric(length=5); w             # definiciones sin valores
## [1] 4 5 6
wc <- character(length=4); wc
## [1] "" "" "" ""
r  <- rep(1,5); r                      # vector con valores repetidos
## [1] 1 1 1 1 1
f  <- rep(NA,6); f                     # vector con valores faltantes
## [1] NA NA NA NA NA NA
s  <- seq(1:6); s                      # valore en secuencia
## [1] 1 2 3 4 5 6
s  <- seq(from=5,to=25,by=5); s
## [1]  5 10 15 20 25

7. MATRICES

En R, una matriz es una estructura de datos bidimensional que contiene elementos del mismo tipo. Puedes pensar en una matriz como una colección rectangular de elementos organizados en filas y columnas.

Para la creacion de una matriz de nrow filas y ncol columnas, se usara el comando: \[matrix(secuencia, nrow=... , ncol=... )\]

# matrizes 
m <- matrix(c(3,4,2,1,5,7),nrow = 2,ncol=3);
m
##      [,1] [,2] [,3]
## [1,]    3    2    5
## [2,]    4    1    7
m <- matrix(c(3,4,2,1,5,7),nrow = 2,ncol=3,byrow = FALSE);
m
##      [,1] [,2] [,3]
## [1,]    3    2    5
## [2,]    4    1    7
n <- matrix(c(3,4,2,1,5,7),nrow = 2,ncol=3,byrow = TRUE); 
n
##      [,1] [,2] [,3]
## [1,]    3    4    2
## [2,]    1    5    7
dim(m); dim(n)
## [1] 2 3
## [1] 2 3
d <- c(1,2,3,4,5,6,7,8);
dm <- matrix(d,nrow=2,ncol=4); 
dm
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
t(dm) # trasposición
##      [,1] [,2]
## [1,]    1    2
## [2,]    3    4
## [3,]    5    6
## [4,]    7    8
str(dm); str(t(dm))
##  num [1:2, 1:4] 1 2 3 4 5 6 7 8
##  num [1:4, 1:2] 1 3 5 7 2 4 6 8
m + n 
##      [,1] [,2] [,3]
## [1,]    6    6    7
## [2,]    5    6   14
m*n
##      [,1] [,2] [,3]
## [1,]    9    8   10
## [2,]    4    5   49
#m%*%n # producto filas por columnas
dim(m); dim(n)
## [1] 2 3
## [1] 2 3
m
##      [,1] [,2] [,3]
## [1,]    3    2    5
## [2,]    4    1    7
t(m)%*%n
##      [,1] [,2] [,3]
## [1,]   13   32   34
## [2,]    7   13   11
## [3,]   22   55   59
m%*%t(n)
##      [,1] [,2]
## [1,]   27   48
## [2,]   30   58
m[1,2]; m[2,c(2:3)]
## [1] 2
## [1] 1 7
m[2,]; m[,2]
## [1] 4 1 7
## [1] 2 1
m[,c(1,3)]
##      [,1] [,2]
## [1,]    3    5
## [2,]    4    7


8. LISTAS

En R, puedes crear listas utilizando la función list(). Las listas en R pueden contener elementos de diferentes tipos de datos, como vectores, matrices, data frames, u otras listas.

L         <- list(); L
## list()
L$a       <- a; L
## $a
## [1] 7
L$b       <- b; L
## $a
## [1] 7
## 
## $b
## [1] 13
L$suma    <- 2*a+3*b; L
## $a
## [1] 7
## 
## $b
## [1] 13
## 
## $suma
## [1] 53
L$martriz <- dm; L
## $a
## [1] 7
## 
## $b
## [1] 13
## 
## $suma
## [1] 53
## 
## $martriz
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
str(L)
## List of 4
##  $ a      : num 7
##  $ b      : num 13
##  $ suma   : num 53
##  $ martriz: num [1:2, 1:4] 1 2 3 4 5 6 7 8
a         <- 29; L
## $a
## [1] 7
## 
## $b
## [1] 13
## 
## $suma
## [1] 53
## 
## $martriz
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
L$a       <- 29; L
## $a
## [1] 29
## 
## $b
## [1] 13
## 
## $suma
## [1] 53
## 
## $martriz
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
L$b; L[[2]]
## [1] 13
## [1] 13


C. TRABAJANDO EN RMARKDOWN

Incluir también dos vectores (3,5,9,2.45,7) y (1,2,-10.32,4,7), sumarlos, hacer la diferencia, el producto, la división, y el producto escalar.

#Suma de vectores
c(3,5,9,2.45,7)+c(1,2,-10.32,4,7)
## [1]  4.00  7.00 -1.32  6.45 14.00
#Sustracion de vectores
c(3,5,9,2.45,7)-c(1,2,-10.32,4,7)
## [1]  2.00  3.00 19.32 -1.55  0.00
#Division de vectores
c(3,5,9,2.45,7)/c(1,2,-10.32,4,7)
## [1]  3.000000  2.500000 -0.872093  0.612500  1.000000
#Producto escalar de vectores
c(3,5,9,2.45,7)*c(1,2,-10.32,4,7)
## [1]   3.00  10.00 -92.88   9.80  49.00


Construir tres matrices, dos 3×4y otra 4×2, sumar y hacer el producto de las primeras, así como la potencia.

# Creacion de las matrices A y B de dimension 3,4
A <- matrix(sample(1:(12), 12, replace = FALSE), nrow = 3, ncol = 4)
B <- matrix(sample(1:(12), 12, replace = FALSE), nrow = 3, ncol = 4)
# Creacion de las matrices C de dimension 4,2
C <- matrix(sample(1:(8), 8, replace = FALSE), nrow = 4, ncol = 2)
#mostrando matriz A
A
##      [,1] [,2] [,3] [,4]
## [1,]    7   12    4   11
## [2,]    3    6    9    5
## [3,]   10    2    1    8
#mostrando matriz B
B
##      [,1] [,2] [,3] [,4]
## [1,]    9    5   10    2
## [2,]   11    7   12    1
## [3,]    3    6    4    8
#mostrando matriz C
C
##      [,1] [,2]
## [1,]    3    5
## [2,]    6    4
## [3,]    1    2
## [4,]    7    8

Calculando la suma, producto y la potencia entre las matrices A y B.

#Suma de matrices
A+B
##      [,1] [,2] [,3] [,4]
## [1,]   16   17   14   13
## [2,]   14   13   21    6
## [3,]   13    8    5   16
#Multiplicacion de matrices punto a punto
A*B
##      [,1] [,2] [,3] [,4]
## [1,]   63   60   40   22
## [2,]   33   42  108    5
## [3,]   30   12    4   64
#Elevar una matriz a otra matriz punto a punto
A^B
##          [,1]   [,2]         [,3]     [,4]
## [1,] 40353607 248832      1048576      121
## [2,]   177147 279936 282429536481        5
## [3,]     1000     64            1 16777216

Los posibles resultados entre la matriz por fila y columnas sera: A%\(*\)%C, A%\(*\)%t(B), B%\(*\)%t(A), A%\(*\)%t(A), B%\(*\)%t(B), C%\(*\)%t(C), t(A)%\(*\)%A, t(B)%\(*\)%B, t(C)%\(*\)%C.

#multiplicacion de matrices A%*%C
A%*%C
##      [,1] [,2]
## [1,]  174  179
## [2,]   89   97
## [3,]   99  124
#multiplicacion de matrices A%*%t(B)
A%*%t(B)
##      [,1] [,2] [,3]
## [1,]  185  220  197
## [2,]  157  188  121
## [3,]  126  144  110
#multiplicacion de matrices B%*%t(A)
B%*%t(A)
##      [,1] [,2] [,3]
## [1,]  185  157  126
## [2,]  220  188  144
## [3,]  197  121  110
#multiplicacion de matrices A%*%t(A)
A%*%t(A)
##      [,1] [,2] [,3]
## [1,]  330  184  186
## [2,]  184  151   91
## [3,]  186   91  169
#multiplicacion de matrices B%*%t(B)
B%*%t(B)
##      [,1] [,2] [,3]
## [1,]  210  256  113
## [2,]  256  315  131
## [3,]  113  131  125
#multiplicacion de matrices C%*%t(C)
C%*%t(C)
##      [,1] [,2] [,3] [,4]
## [1,]   34   38   13   61
## [2,]   38   52   14   74
## [3,]   13   14    5   23
## [4,]   61   74   23  113
#multiplicacion de matrices t(A)%*%A
t(A)%*%A
##      [,1] [,2] [,3] [,4]
## [1,]  158  122   65  172
## [2,]  122  184  104  178
## [3,]   65  104   98   97
## [4,]  172  178   97  210
#multiplicacion de matrices t(B)%*%B
t(B)%*%B
##      [,1] [,2] [,3] [,4]
## [1,]  211  140  234   53
## [2,]  140  110  158   65
## [3,]  234  158  260   64
## [4,]   53   65   64   69
#multiplicacion de matrices t(C)%*%C
t(C)%*%C
##      [,1] [,2]
## [1,]   95   97
## [2,]   97  109