Desafío 1

Para este desafío, se crean 10 ejemplos de uso de operadores aritméticos.

División entera: Para realizar una división entera, se utiliza el siguiente código:

16%%4

Secuencia de números: Para obtener una secuencia de números, se utiliza el siguiente código:

1:12

Secuencia de números invertida: Para obtener una secuencia de números invertidos:

15:1

Secuencia de números 2: Otra forma de generar una secuencia de números, es usando el comando seq().

secuencia = seq(1:20)
secuencia

Calcular la Raíz cuadrada: Para obtener la raíz cuadrada de un número utilizamos sqrt()

y = 25
sqrt(y)

Calcular el promedio: Ejemplo de cálculo de un promedio de notas

a=50
b=45
c=66

promedio = (a+b+c)/3
cat(paste("El promedio de notas es de:", promedio))

Calculator el exponential: Para obtener el exponencial de un número se usa el operador exp()

var = 2
exp(var)

Resta: Para realizar una resta usa el operador “-”.

res <- 25-12
cat(paste("El resultado de restar 25 y 12 es:", res))

Potencia: Para representar una potencia usa el operador “^”.

pot = 4^2
print(pot)

Cálculo mixto: Ejemplo de cálculo mixto de operadores aritméticos.

resultado= (33+4+6)/7
print(resultado)

Desafío 2

En este desafío, se muestra un ejemplo de uso de tipos de estructuras de datos (tabla). Para ello se crea una tabla con diferentes tipos de datos.

Tabla de datos con valores booleanos:

nFila <- c(1,2,3,4)
color <- c("rojo","blanco", "rojo", "azul")
aprobado <- c(TRUE,TRUE,TRUE,FALSE)
datos <- data.frame(nFila, color, aprobado)
names(datos) <- c("ID","Color","Aprobado") # cabeceras

datos
  ID  Color Aprobado
1  1   rojo     TRUE
2  2 blanco     TRUE
3  3   rojo     TRUE
4  4   azul    FALSE

Desafío 3

Para este desafío, se nos pide crear una función en R que permita jugar al cachipún (piedra, papel o tijera), entre un jugador y la máquina. Esta función recibe como argumento de entrada la opción del jugador y simula a través de un proceso aleatorio, la elección de la máquina.

Para el desarrollo de este algoritmo, se declaran las siguientes variables:

jugada: variable que representa la opción elegida por el jugador, está fija en la función para realizar el ejemplo, pero se puede cambiar en el código.

opciones: Variable que almacena una lista con las opciones que puede elegir tanto la máquina como el jugador, estas pueden ser: piedra, papel o tijera. Cualquier otra opción no se acepta.

opc_jugador: Esta variable recibe la opción que se designa por código en la variable jugada.

opcion_pc: Esta variable recibe de forma aleatoria un valor entre las tres opciones del juego.

Código de la función:

jugada = "papel"

jugar_cachipun <- function(jugada){
  opciones <- c("piedra", "papel", "tijera")
  
  opc_jugador <- tolower(readline())
  
  if (!(opc_jugador %in% opciones)){
    return("La elección no es válida")
  }

  opcion_pc <- sample(opciones, 1)
  cat("La máquina eligió:", opcion_pc, "\n")
 
  if (opcion_pc == opc_jugador){                
    print("Empate\n")
  } 
  else if (opc_jugador == "piedra" & opcion_pc == "tijera" | 
           opc_jugador == "papel" & opcion_pc == "piedra" |
           opc_jugador == "tijera" & opcion_pc == "papel"){
    print("Ganaste\n")
  }
  else { 
    print("Perdiste\n")
  }
}

jugar_cachipun(jugada)

Donde la siguiente instrucción de código, obliga a que lo ingresado en el parametro “jugada” esté en minúsculas.

opc_jugador <- tolower(readline())

El siguiente bloque de código comprueba que la opción seleccionada, esté dentro de las opciones permitidas para el juego.

if (!(opc_jugador %in% opciones)){
    return("La elección no es válida")
  }

A continuación, la primera línea de código, realiza la elección aleatoria de la jugada de la máquina, y la segunda línea de código concatena un mensaje y el valor de la variable que contiene la elección de la máquina.

opcion_pc <- sample(opciones, 1)
  cat("La máquina eligió:", opcion_pc, "\n")

El extracto del siguiente código, corresponde a la evaluación entre las opciones seleccionada por ambos jugadores, donde la sentencia if, verifica el empate, la setencia else if, verifica que gana el jugador y la sentencia else, verifica que el jugador perdió

if (opcion_pc == opc_jugador){
    print("Empate\n")
  } 
  else if (opc_jugador == "piedra" & opcion_pc == "tijera" |
           opc_jugador == "papel" & opcion_pc == "piedra" |
           opc_jugador == "tijera" & opcion_pc == "papel"){
    print("Ganaste\n")
  }
  else {
    print("Perdiste\n")
  }
}

Y por último, la instrucción siguiente, corresponde a la llamada la función con su argumento de entrada.

jugar_cachipun(jugada)

Desafío 4

Se seleccionó el dataset “cars” para abordar el desafío planteado en el punto 4 de este laboratorio, el cual involucra un experimento que consta de 50 observaciones con dos variables. Este conjunto de datos proporciona información sobre a velocidad de los automóviles del experimento y la distancia que recorren antes de detenerse.

Es importante tener en cuenta que este estudio se realizó en la década de 1920. Los datos utilizados en este análisis provienen del artículo “Methods of Correlation Analysis” ublicado en 1930 por Ezekiel, M., que sirve como fuente de datos.

Las variables que podemos observar en este experimento son:

Velocidad (speed): Esta variable representa la velocidad que lleva el automóvil en el experimento, puede tomar valores de 0 a 25 mph. Su unidad de medidad es millas por hora (mph) y es del tipo numérico.

Distancia (dist): Esta variable indica la distancia recorrida por el automóvil desde que comienza a frenar hasta lograr su detención. Su unidad de medida en es pies (ft).

Incluyendo Tabla de datos

Al utilizar la función summary() en el dataset de cars, se obtiene información detallada sobre el experimento, incluyendo los valores mínimos y máximos de velocidad y distancia obtenidos durante el estudio.

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Incluyendo Gráfico de los datos anteriores

Al utilizar la función plot() en el dataset cars, se puede observar el gráfico de disperción de las variables del estudio. Esto proporciona una visión general de los datos y permite apreciar las características del experimento en términos de las velocidades y distancias registradas.

Referencias

Se realizó busqueda de recursos adicionales para el desarrollo de éste laboratorio en:

Villalobos Cid, M., Giglio Gutierrez, J., (2023). Introducción a la Estadística Computacional y uso de R. Uvirtual. https://uvirtual.usach.cl/moodle/mod/resource/view.php?id=1465156

Balbuena, V., (6 de julio de 2019). Recrear el juego de piedra papel o Tijera en Python. Youtube. https://www.youtube.com/watch?v=gqeTkDKjokw