Desafío 1:

Ejemplos con diferentes operadores matemáticos.

elem1 = 43
elem2 = 35
  1. Suma
elem1 + elem2
## [1] 78
  1. Resta
elem1 - elem2
## [1] 8
  1. Multiplicación
elem1 * elem2
## [1] 1505
  1. División
elem1 / elem2
## [1] 1.228571
  1. Potencia
elem1 ^ elem2
## [1] 1.48387e+57
  1. Módulo
elem1 %% elem2
## [1] 8
  1. División entera
elem1 %/% elem2
## [1] 1
  1. Raíz cuadrada
sqrt(elem1)
## [1] 6.557439
  1. Logaritmo en base 2
log2(elem2)
## [1] 5.129283
  1. Tangente
tan(elem1)
## [1] -1.498387

Desafío 2:

Ejemplo con las estructuras de datos, en el siguiente orden,

Datos a usar, representando el nivel socioeconomico de profesores de una universidad.

nombres = c("Diego", "Alejandro", "Emanuel", "José", "Macarena", "Nicolás", "David", "Matías", "Elena")
nivel_economico = c("IR", "R", "IR", "P", "MR", "MP", "P", "IR", "P")

Se pasan los niveles socioeconomicos a una estructura de datos “factor”, dado que estas poseen variables categóricas las cuales permiten dividir a los usuarios bajo un criterio, que en este caso, es el nivel socioeconomico.

nivel_economico_factor = factor(nivel_economico, ordered = TRUE, levels = c("MP", "P", "IR", "R", "MR"), labels = c("Muy pobre", "Pobre", "I. Regular", "Rico", "Muy rico"))
nivel_economico_factor
## [1] I. Regular Rico       I. Regular Pobre      Muy rico   Muy pobre  Pobre     
## [8] I. Regular Pobre     
## Levels: Muy pobre < Pobre < I. Regular < Rico < Muy rico

Ahora se pasan los datos a una estructura de datos “data frame”.

nivel_economico_estudiantes = data.frame(Nombres = nombres, Nivel_economico = nivel_economico_factor)
nivel_economico_estudiantes
##     Nombres Nivel_economico
## 1     Diego      I. Regular
## 2 Alejandro            Rico
## 3   Emanuel      I. Regular
## 4      José           Pobre
## 5  Macarena        Muy rico
## 6   Nicolás       Muy pobre
## 7     David           Pobre
## 8    Matías      I. Regular
## 9     Elena           Pobre

Ahora, se hace uso de una tabla de frecuencia, con la cantidad de niveles socioeconomicos por cada categoría. Las cuales serán mostradas de más rico a más pobre.

cantidad_nivel = table(nivel_economico_estudiantes$Nivel_economico)
cantidad_nivel
## 
##  Muy pobre      Pobre I. Regular       Rico   Muy rico 
##          1          3          3          1          1

Desafío 3:

PPT = function(jugada){
  # Funcion que permite jugar piedra papel o tijeras con una simulación de CPU
  # Entrada: Un string que corresponde a la jugada que realizó el usuario
  # Salida: String que indica al jugador si; ganó, perdió o hizo una jugada invalida
  jugadas_disponibles = c("PIEDRA", "PAPEL", "TIJERAS")
  jugada = toupper(jugada)
  jugadaElegida = match(jugada, jugadas_disponibles)
  if(is.na(jugadaElegida)){
    return ("La jugada elegida no es válida")
  }
  # Simularemos una CPU que jugará contra el jugador
  # A través de una función "random" con la cual elegirá su jugada
  jugadaRandom = sample(1:3, 1)
  jugadaCPU = jugadas_disponibles[jugadaRandom]
  final = paste("CPU:", jugadaCPU, "\nJUGADOR: ", jugada)
  if(jugadaElegida == jugadaRandom){
    final = paste(final, "\nEL JUGADOR EMPATÓ")
  }
  else if((jugadaElegida + 1) %% 3 == jugadaRandom){
    final = paste(final, "\nPERDIÓ EL JUGADOR")
  }
  else{
    final = paste(final, "\nGANÓ EL JUGADOR")
  }
  return(final)
}
cat(PPT("TIJERAS"))
## CPU: PIEDRA 
## JUGADOR:  TIJERAS 
## PERDIÓ EL JUGADOR

Desafio 4:

Se utilizan los datos del conjunto de datos chickwts

data("chickwts")
chickwts
##    weight      feed
## 1     179 horsebean
## 2     160 horsebean
## 3     136 horsebean
## 4     227 horsebean
## 5     217 horsebean
## 6     168 horsebean
## 7     108 horsebean
## 8     124 horsebean
## 9     143 horsebean
## 10    140 horsebean
## 11    309   linseed
## 12    229   linseed
## 13    181   linseed
## 14    141   linseed
## 15    260   linseed
## 16    203   linseed
## 17    148   linseed
## 18    169   linseed
## 19    213   linseed
## 20    257   linseed
## 21    244   linseed
## 22    271   linseed
## 23    243   soybean
## 24    230   soybean
## 25    248   soybean
## 26    327   soybean
## 27    329   soybean
## 28    250   soybean
## 29    193   soybean
## 30    271   soybean
## 31    316   soybean
## 32    267   soybean
## 33    199   soybean
## 34    171   soybean
## 35    158   soybean
## 36    248   soybean
## 37    423 sunflower
## 38    340 sunflower
## 39    392 sunflower
## 40    339 sunflower
## 41    341 sunflower
## 42    226 sunflower
## 43    320 sunflower
## 44    295 sunflower
## 45    334 sunflower
## 46    322 sunflower
## 47    297 sunflower
## 48    318 sunflower
## 49    325  meatmeal
## 50    257  meatmeal
## 51    303  meatmeal
## 52    315  meatmeal
## 53    380  meatmeal
## 54    153  meatmeal
## 55    263  meatmeal
## 56    242  meatmeal
## 57    206  meatmeal
## 58    344  meatmeal
## 59    258  meatmeal
## 60    368    casein
## 61    390    casein
## 62    379    casein
## 63    260    casein
## 64    404    casein
## 65    318    casein
## 66    352    casein
## 67    359    casein
## 68    216    casein
## 69    222    casein
## 70    283    casein
## 71    332    casein

Este conjunto de datos entrega el peso de los pollos luego de seis semanas de haber nacido y el suplemento alimenticio que se les dió durante su crecimiento. Los pollitos recién nacidos se distribuyeron aleatoriamente en seis grupos y cada grupo recibió un suplemento alimenticio diferente. Estos datos se utilizaron para determinar cuál era el suplemento alimenticio más efectivo, en pro de lograr el peso promedio mayor entre los seis grupos de pollos luego de las seis semanas.

summary(chickwts)
##      weight             feed   
##  Min.   :108.0   casein   :12  
##  1st Qu.:204.5   horsebean:10  
##  Median :258.0   linseed  :12  
##  Mean   :261.3   meatmeal :11  
##  3rd Qu.:323.5   soybean  :14  
##  Max.   :423.0   sunflower:12

En la tabla entregada se puede observar que la función summary entrega la cantidad de pollos alimentados con cada alimento, y de además mostrar el menor peso registrado, el primer cuartil, la mediana de los datos entregados, el tercer cuartil y el mayor peso registrado.

plot(chickwts)

El gráfico generado presenta la relación entre el peso de los pollitos y el complemento alimenticio que se le suministró a cada uno.