Ejercicio 1 de Estadística Computacional USACH

Lucas Mesías

Desafio 1:

var1 = 4
var2 = 3
bool1 = TRUE
bool2 = FALSE
vect = c(1, 2, 3, 4)
exp(var1)
## [1] 54.59815
var1 ^ var2
## [1] 64
var1 %% var2
## [1] 1
var1 == var2
## [1] FALSE
var1 != var2
## [1] TRUE
var1 > var2
## [1] TRUE
var1 < var2
## [1] FALSE
bool1 && bool2
## [1] FALSE
bool1 || bool2
## [1] TRUE
mean(vect)
## [1] 2.5
max(vect)
## [1] 4

Desafio 2:

Factor Los factores se utilizan para clasificar datos, siendo los niveles del factor las distintas clasificaciones. Además se usa para economizar memoria, almacenando internamente cada valor numéricamente.

# se crea el vector con datos
color = c("r", "b", "g", "b", "g", "r", "b")

# se usa la función factor, se introduce el vector con los datos, los niveles y
# la etiqueta para el nombre completo de las categorías
color = factor(color, levels=c("r", "g", "b"), labels = c("rojo", "verde", "azul"))
color
## [1] rojo  azul  verde azul  verde rojo  azul 
## Levels: rojo verde azul
# las etiquetas aparecen en los resultados estadísticos generados
table(color)
## color
##  rojo verde  azul 
##     2     2     3

Tablas Importar un archivo CSV

n_tabla = read.table("datos.csv", header=TRUE, sep=",")
# Mostrar tabla
n_tabla
##   country followers mentions retweets
## 1  BRASIL      6166   19.600      145
## 2 ECUADOR      2884   11.875      146
## 3  MEXICO       123   13.750      130
## 4 ECUADOR      2214   12.475      136
# Mostrar columna específica
n_tabla$country
## [1] "BRASIL"  "ECUADOR" "MEXICO"  "ECUADOR"
# Crear una tabla para una columna
table(n_tabla$country)
## 
##  BRASIL ECUADOR  MEXICO 
##       1       2       1
# Obtener nombres de la tabla
dimnames(n_tabla)
## [[1]]
## [1] "1" "2" "3" "4"
## 
## [[2]]
## [1] "country"   "followers" "mentions"  "retweets"

Coersión

# Transformar datos
variable = 12.45
as.integer(variable)
## [1] 12
# Transformar conjuntos de datos
matriz = matrix(c(2,3,4,5), nrow=2)
matriz
##      [,1] [,2]
## [1,]    2    4
## [2,]    3    5
as.vector(matriz)
## [1] 2 3 4 5
as.data.frame(matriz)
##   V1 V2
## 1  2  4
## 2  3  5

Desafio 3:

Mensajes de victoria/derrota.

win_msg = function()
{
  cat("Ganaste")
}

lose_msg = function()
{
  cat("Perdiste")
}

Mostrar en pantalla las opciones escogidas, donde:

show_options = function(user_i, bot_i)
{
  val = switch(user_i, "Piedra", "Papel", "Tijera")
  cat("Usuario: ")
  cat(val)
  cat("\t\t")
  val = switch(bot_i, "Piedra", "Papel", "Tijera")
  cat("Bot: ")
  cat(val)
  cat("\n")
}

Función principal, se toma la entrada del usuario y se genera la jugada del bot.


desafio3 = function()
{
  cat("1. Piedra\n2. Papel\n3. Tijera\n")
  user_input = readline("Escriba su opción: ")
  user_input = as.integer(user_input)
  bot_input = sample(1:3, 1)
  
  show_options(user_input, bot_input)
  
  if (user_input == bot_input)
  {
    cat("Empate\n")
  }
  if (user_input == 1)
  {
    if (bot_input == 2)
      lose_msg()
    if (bot_input == 3)
      win_msg()
  }
  
  if (user_input == 2)
  {
    if (bot_input == 3)
      lose_msg()
    if (bot_input == 1)
      win_msg()
  }
  
  if (user_input == 3)
  {
    if (bot_input == 1)
      lose_msg()
    if (bot_input == 2)
      win_msg()
  }
}

Desafio 4:

Dataset “ChickWieght”

# Cargar datos
data(ChickWeight)
head(ChickWeight)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1

Este conjunto de datos es un registro del peso de polluelos en distintas dietas, a lo largo de varios días. Se puede usar para observar cuál de las recetas experimentales amuenta o disminuye el peso de los polluelos.

Fuentes del dataset: “Crowder, M. and Hand, D. (1990), Analysis of Repeated Measures, Chapman and Hall (example 5.3)

Hand, D. and Crowder, M. (1996), Practical Longitudinal Data Analysis, Chapman and Hall (table A.2)

Pinheiro, J. C. and Bates, D. M. (2000) Mixed-effects Models in S and S-PLUS, Springer.”

Variables: * Weight Peso en gramos del polluelo, es un valor métrico cuantitativo de ratio y continuo * Time Tiempo en días desde el nacimiento del polluelo, es un valor métrico cuantitativo de ratio y continuo * Chick Número identificador del polluelo, es un valor cualitativo ordinal * Diet Número identificador de las dietas experimentales, es un valor cualitativo ordinal

Función Resumen

summary(ChickWeight)
##      weight           Time           Chick     Diet   
##  Min.   : 35.0   Min.   : 0.00   13     : 12   1:220  
##  1st Qu.: 63.0   1st Qu.: 4.00   9      : 12   2:120  
##  Median :103.0   Median :10.00   20     : 12   3:120  
##  Mean   :121.8   Mean   :10.72   10     : 12   4:118  
##  3rd Qu.:163.8   3rd Qu.:16.00   17     : 12          
##  Max.   :373.0   Max.   :21.00   19     : 12          
##                                  (Other):506

Se muestra un resumen autogenerado por R, el cual interpreta los datos sin contexto, ya que el tiempo en días se analiza y se presentan resultados que no aportan información útil, o el identificador de los polluelos, indicando las veces que se repite dicho indicador.

Luego, en las columnas de peso y dieta se analizan correctamente los datos, en el peso nos muestra distintas propiedades de la muestra (mínimos, promedios, cuartiles, etc), y la cantidad de polluelos que recibieron cada dieta.

Este resumen no nos ayuda a analizar los datos correctamente, ya que el propósito que se pretende obtener de estos es conocer el efecto de las dietas sobre el peso de los pollos.

Función graficar

plot(ChickWeight)

Se muestra la intersección de todos los datos de la tabla de dos en dos, nuevamente, ninguno de los gráficos es útil para la investigación que los datos proponen.

El gráfico de peso/dieta no toma en cuenta el tiempo, es decir, no podemos diferenciar el efecto de las dietas a lo largo del tiempo, no sabemos si un incremento de peso ocurre en los primeros días o en los últimos días, solo sabemos que la dieta 3 produce algunos polluelos con más peso, pero no sabemos si son diferentes polluelos o es un único polluelo que ganó mucho peso.

El resto de gráficos no aportan información legible, ya que este análisis requiere de más de 2 variables a la vez, siendo la más importante, el peso del polluelo a lo largo del tiempo, según cada dieta.