library(UsingR)
## Loading required package: MASS
## Loading required package: HistData
## Loading required package: Hmisc
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
## 
##     format.pval, units
library(MASS)
library(ggplot2)

2.1. Carga (o instala primero y luego carga) el paquete UsingR

#a. ¿Cuantos conjuntos de datos de trabajo contiene el paquete?
packageDescription("UsingR")
## Package: UsingR
## Version: 2.0-7
## Title: Data Sets, Etc. for the Text "Using R for Introductory
##         Statistics", Second Edition
## Author: John Verzani <verzani@math.csi.cuny.edu>
## Maintainer: John Verzani <verzani@math.csi.cuny.edu>
## Description: A collection of data sets to accompany the textbook "Using
##         R for Introductory Statistics," second edition.
## Depends: R (>= 2.15.0), MASS, HistData, Hmisc
## Suggests: zoo, ggplot2, vcd, lubridate, aplpack
## License: GPL (>= 2)
## LazyData: TRUE
## NeedsCompilation: no
## Packaged: 2022-01-10 19:16:26 UTC; jverzani
## Repository: CRAN
## Date/Publication: 2022-01-11 09:52:45 UTC
## Built: R 4.3.3; ; 2024-05-01 03:34:00 UTC; windows
## 
## -- File: C:/Users/Karol/AppData/Local/R/win-library/4.3/UsingR/Meta/package.rds
# Establecer el diseño de la grilla para mostrar los gráficos
par(mfrow=c(3, 2))

# Histograma para bumpers
hist(bumpers, main="Histograma de Bumpers", xlab="Valores", ylab="Frecuencia", col="lightblue")

# Boxplot para bumpers
boxplot(bumpers, main="Boxplot de bumpers")

#firstchi
data("firstchi")
hist(firstchi, main="Histograma de Firstchi", ylab="Valores",col="yellow")

# Boxplot para firstchi
boxplot(firstchi, main="Boxplot de firstchi")

#math
hist(math, main="Histograma de Math", xlab="Valores", ylab="Frecuencia", col="lightgreen")

#Boxplot math
data(math)
boxplot(math, main="Boxplot de Math", ylab="Valores", col = "lightyellow")

c) Estima visualmente las medias, medianas y desviaciones estándar de cada conjunto de datos y a continuación calcula los valores anteriores con las funciones adecuadas. ¿Qué gráfico resulta de mayor ayuda para la aproximación?

median(bumpers)
## [1] 2129
mean(bumpers)
## [1] 2122.478
sd(bumpers)
## [1] 798.4574
hist(bumpers, main="Histograma de Bumpers", xlab="Valores", ylab="Frecuencia", col="lightblue")

#Firstchi
median(firstchi)
## [1] 23
mean(firstchi)
## [1] 23.97701
sd(firstchi)
## [1] 6.254258
hist(firstchi, main="Histograma de Firstchi", ylab="Valores",col="yellow")

#Math
median(math)
## [1] 54
mean(math)
## [1] 54.9
sd(math)
## [1] 9.746264
hist(math, main="Histograma de Math", xlab="Valores", ylab="Frecuencia", col="lightgreen")

2.2. El conjunto de datos brightness contiene información sobre el brillo de 963 estrellas. a. Representa estos datos mediante un histograma y un gráfico de densidad superpuesto

data(brightness)
hist(brightness, probability = TRUE, col= "lightgreen")
lines(density(brightness), col="magenta3",lwd=3)

b) Representa gráficamente estos datos mediante un diagrama de caja (boxplot). ¿Dirias que los datos presentan “outliers”? Cuál es el segundo menor outlier?

# Supongamos que los datos de brillo de las estrellas están almacenados en el objeto 'brightness'

# Diagrama de caja (boxplot)
boxplot(brightness, col = "lightblue", main = "Diagrama de caja del brillo de estrellas", ylab = "Brillo")

# Identificar outliers
outliers <- boxplot(brightness, plot = FALSE)$out
print("Outliers:")
## [1] "Outliers:"
print(outliers)
##  [1] 12.31 11.71  5.53 11.28  4.78  5.13  4.37  5.04 12.43 12.04  4.55 11.55
## [13] 12.14 11.63  4.99 11.67  4.61 11.99 12.04  5.55 12.17 11.55 11.79 12.19
## [25]  2.07 11.65 11.73  2.28  5.42  3.88  5.54  5.29  5.01 11.55  4.89 11.80
## [37]  5.41  5.24
# Segundo menor outlier
outliers_sorted <- sort(outliers)
segundo_menor_outlier <- outliers_sorted[2]
print("Segundo menor outlier:")
## [1] "Segundo menor outlier:"
print(segundo_menor_outlier)
## [1] 2.28
  1. Estima visualmente las medias, medianas y desviaciones estándar de cada conjunto de datos y a continuación calcula los valores anteriores con las funciones adecuadas. ¿Qué gráfico resulta de mayor ayuda para la aproximación?
#A.
quantile(brightness)
##      0%     25%     50%     75%    100% 
##  2.0700  7.7025  8.5000  9.1300 12.4300
#Con esto elegimos las bisagras a usar y filtramos los valores del dataset de brightness que esten en ese rango de valores
brightness.sin=brightness[brightness > 7.702 & brightness < 9.130]
boxplot(brightness.sin, main="Brightness nuevo", col = "yellow")

2.3. El paquete MASS contiene la base de datos UScereal con información relativa a desayunos con cereales.

#a. ¿Cuál es el tipo de datos de cada variable? 
data("UScereal")
str(UScereal)
## 'data.frame':    65 obs. of  11 variables:
##  $ mfr      : Factor w/ 6 levels "G","K","N","P",..: 3 2 2 1 2 1 6 4 5 1 ...
##  $ calories : num  212 212 100 147 110 ...
##  $ protein  : num  12.12 12.12 8 2.67 2 ...
##  $ fat      : num  3.03 3.03 0 2.67 0 ...
##  $ sodium   : num  394 788 280 240 125 ...
##  $ fibre    : num  30.3 27.3 28 2 1 ...
##  $ carbo    : num  15.2 21.2 16 14 11 ...
##  $ sugars   : num  18.2 15.2 0 13.3 14 ...
##  $ shelf    : int  3 3 3 1 2 3 1 3 2 1 ...
##  $ potassium: num  848.5 969.7 660 93.3 30 ...
##  $ vitamins : Factor w/ 3 levels "100%","enriched",..: 2 2 2 2 2 2 2 2 2 2 ...
#b) Utiliza los datos de cereales para investigar algunas asociaciones entre sus variables: 
#i. La relación entre manufacturer y shelf. 
table(UScereal$mfr,UScereal$shelf)
##    
##      1  2  3
##   G  6  7  9
##   K  4  7 10
##   N  2  0  1
##   P  2  1  6
##   Q  0  3  2
##   R  4  0  1
#ii. La relación entre fat y vitamins. 
table(UScereal$vitamins,UScereal$fat)
##           
##             0 0.6666667  1 1.1363636 1.3333333 1.4925373 1.6  2 2.6666667
##   100%      1         0  3         0         1         0   0  0         0
##   enriched 18         1  7         1         8         4   1  2         3
##   none      3         0  0         0         0         0   0  0         0
##           
##            2.9850746 3.030303  4  6 9.0909091
##   100%             0        0  0  0         0
##   enriched         4        2  4  1         1
##   none             0        0  0  0         0
#iii. La relación entre fat y shelf
table(UScereal$shelf,UScereal$fat)
##    
##      0 0.6666667  1 1.1363636 1.3333333 1.4925373 1.6  2 2.6666667 2.9850746
##   1 10         0  2         0         2         2   1  0         1         0
##   2  3         1  5         0         4         1   0  1         1         1
##   3  9         0  3         1         3         1   0  1         1         3
##    
##     3.030303  4  6 9.0909091
##   1        0  0  0         0
##   2        0  1  0         0
##   3        2  3  1         1
#iv.  La relación entre carbohydrates y sugars. 
table(UScereal$carbo,UScereal$sugars)
##           
##            0 0.8 1.769912 2 3 4 4.477612 5.681818 6 6.666667 7.462687 8.270677
##   10.52632 0   0        0 0 0 0        0        0 0        0        0        1
##   11       0   0        0 0 0 0        0        0 0        0        0        0
##   12       0   0        0 0 0 0        0        0 0        0        0        0
##   12.5     0   0        0 0 0 0        0        0 0        0        0        0
##   13       1   0        0 0 0 0        0        0 0        0        0        0
##   13.6     0   1        0 0 0 0        0        0 0        0        0        0
##   14       0   0        0 1 0 0        0        0 0        0        0        0
##   14.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   15       0   0        0 0 0 0        0        0 1        0        0        0
##   15.15152 0   0        0 0 0 0        0        0 0        0        0        0
##   15.33333 0   0        0 0 0 0        0        0 0        0        0        0
##   16       1   0        0 0 2 0        0        0 0        0        0        0
##   16.41791 0   0        0 0 0 0        0        0 0        0        0        0
##   17       0   0        0 0 1 0        0        0 0        0        0        0
##   17.04545 0   0        0 0 0 0        0        1 0        0        0        0
##   17.33333 0   0        0 0 0 0        0        0 0        0        0        0
##   17.5     0   0        0 0 0 0        0        0 0        0        0        0
##   17.91045 0   0        0 0 0 0        0        0 0        0        0        0
##   18.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   19.40299 0   0        0 0 0 0        0        0 0        0        1        0
##   20       0   0        0 0 1 0        0        0 0        0        0        0
##   20.35398 0   0        1 0 0 0        0        0 0        0        0        0
##   20.89552 0   0        0 0 0 0        0        0 0        0        0        0
##   21       0   0        0 1 2 0        0        0 0        0        0        0
##   21.21212 0   0        0 0 0 0        0        0 0        0        0        0
##   21.33333 0   0        0 0 0 0        0        0 0        0        0        0
##   22       0   0        0 0 2 0        0        0 0        0        0        0
##   22.38806 0   0        0 0 0 0        0        0 0        0        0        0
##   24       0   0        0 0 0 0        0        0 0        1        0        0
##   25.37313 0   0        0 0 0 0        1        0 0        0        0        0
##   26       0   0        0 0 0 0        0        0 0        0        0        0
##   26.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   27       0   0        0 0 0 0        0        0 0        0        0        0
##   28       0   0        0 0 0 1        0        0 0        0        0        0
##   28.35821 1   0        0 0 0 0        0        0 0        0        0        0
##   29.85075 1   0        0 0 0 0        0        0 0        0        0        0
##   30       0   0        0 0 0 0        0        0 0        0        0        0
##   31.34328 0   0        0 0 0 0        0        0 0        0        0        0
##   39.39394 0   0        0 0 0 0        0        0 0        0        0        0
##   68       0   0        0 0 0 0        0        0 0        0        0        0
##           
##            8.75 8.955224 10.447761 10.666667 11 12 12.121212 13 13.333333
##   10.52632    0        0         0         0  0  0         0  0         0
##   11          0        0         0         0  0  0         0  1         0
##   12          0        0         0         0  1  1         0  2         0
##   12.5        0        0         0         0  0  0         0  0         0
##   13          0        0         0         0  0  2         0  0         0
##   13.6        0        0         0         0  0  0         0  0         0
##   14          0        0         0         0  0  0         0  0         1
##   14.66667    0        0         0         0  0  0         0  0         1
##   15          0        0         0         0  0  0         0  0         0
##   15.15152    0        0         0         0  0  0         0  0         0
##   15.33333    0        0         0         0  0  0         0  0         1
##   16          0        0         0         0  0  0         0  0         0
##   16.41791    0        0         0         0  0  0         0  0         0
##   17          0        0         0         0  0  0         0  0         0
##   17.04545    0        0         0         0  0  0         0  0         0
##   17.33333    0        0         0         0  0  1         0  0         0
##   17.5        1        0         0         0  0  0         0  0         0
##   17.91045    0        1         0         0  0  0         0  0         0
##   18.66667    0        0         0         0  0  0         0  0         0
##   19.40299    0        0         0         0  0  0         0  0         0
##   20          0        0         0         0  0  1         0  0         0
##   20.35398    0        0         0         0  0  0         0  0         0
##   20.89552    0        0         0         0  0  0         0  0         0
##   21          0        0         0         0  0  0         0  0         0
##   21.21212    0        0         0         0  0  0         0  0         0
##   21.33333    0        0         0         1  0  0         0  0         0
##   22          0        0         0         0  0  0         0  0         0
##   22.38806    0        1         0         0  0  0         0  0         0
##   24          0        0         0         1  0  0         0  0         0
##   25.37313    0        0         0         0  0  0         0  0         0
##   26          0        0         0         0  0  0         0  0         0
##   26.66667    0        0         0         0  0  1         0  0         0
##   27          0        0         0         0  0  0         0  0         0
##   28          0        0         0         0  0  1         0  0         0
##   28.35821    0        0         0         0  0  0         0  0         0
##   29.85075    0        0         0         0  0  0         0  0         0
##   30          0        0         0         0  0  1         0  0         0
##   31.34328    0        0         1         0  0  0         0  0         0
##   39.39394    0        0         0         0  0  0         1  0         0
##   68          0        0         0         0  0  1         0  0         0
##           
##            13.432836 14 14.666667 14.925373 15.151515 16 17.045455 17.910448
##   10.52632         0  0         0         0         0  0         0         0
##   11               0  1         0         0         0  0         0         0
##   12               0  0         0         0         0  0         0         0
##   12.5             0  0         0         0         0  0         1         0
##   13               0  0         0         0         0  0         0         0
##   13.6             0  0         0         0         0  0         0         0
##   14               0  0         0         0         0  0         0         0
##   14.66667         0  0         0         0         0  0         0         0
##   15               0  1         0         0         0  0         0         0
##   15.15152         0  0         0         0         0  0         0         0
##   15.33333         0  0         0         0         0  0         0         0
##   16               0  0         0         0         0  1         0         0
##   16.41791         0  0         0         0         0  0         0         0
##   17               0  0         0         0         0  0         0         0
##   17.04545         0  0         0         0         0  0         0         0
##   17.33333         0  0         0         0         0  1         0         0
##   17.5             0  0         0         0         0  0         0         0
##   17.91045         0  0         0         1         0  0         0         0
##   18.66667         0  0         1         0         0  1         0         0
##   19.40299         0  0         0         0         0  0         0         0
##   20               0  1         0         0         0  0         0         0
##   20.35398         0  0         0         0         0  0         0         0
##   20.89552         0  0         0         0         0  0         0         1
##   21               0  0         0         0         0  1         0         0
##   21.21212         0  0         0         0         1  0         0         0
##   21.33333         0  0         0         0         0  0         0         0
##   22               0  0         0         0         0  0         0         0
##   22.38806         1  0         0         0         0  0         0         0
##   24               0  0         0         0         0  0         0         0
##   25.37313         0  0         0         0         0  0         0         0
##   26               0  1         0         0         0  0         0         0
##   26.66667         0  0         0         0         0  0         0         0
##   27               0  0         0         0         0  0         0         0
##   28               0  0         0         0         0  0         0         0
##   28.35821         0  0         0         0         0  0         0         0
##   29.85075         0  0         0         0         0  0         0         0
##   30               0  0         0         0         0  0         0         0
##   31.34328         0  0         0         0         0  0         0         0
##   39.39394         0  0         0         0         0  0         0         0
##   68               0  0         0         0         0  0         0         0
##           
##            18.181818 19.402985 20 20.895522
##   10.52632         0         0  0         0
##   11               0         0  0         0
##   12               0         0  1         0
##   12.5             0         0  0         0
##   13               0         0  0         0
##   13.6             0         0  0         0
##   14               0         0  0         0
##   14.66667         0         0  0         0
##   15               0         0  0         0
##   15.15152         1         0  0         0
##   15.33333         0         0  0         0
##   16               0         0  0         0
##   16.41791         0         0  0         1
##   17               0         0  0         0
##   17.04545         0         0  0         0
##   17.33333         0         0  0         0
##   17.5             0         0  0         0
##   17.91045         0         0  0         0
##   18.66667         0         0  0         0
##   19.40299         0         0  0         0
##   20               0         0  0         0
##   20.35398         0         0  0         0
##   20.89552         0         0  0         0
##   21               0         0  0         0
##   21.21212         0         0  0         0
##   21.33333         0         0  0         0
##   22               0         0  0         0
##   22.38806         0         0  0         0
##   24               0         0  0         0
##   25.37313         0         1  0         0
##   26               0         0  0         0
##   26.66667         0         0  0         0
##   27               0         0  1         0
##   28               0         0  0         0
##   28.35821         0         0  0         0
##   29.85075         0         0  0         0
##   30               0         0  0         0
##   31.34328         0         0  0         0
##   39.39394         0         0  0         0
##   68               0         0  0         0
options(max.print = 99999)  # Establece un valor alto
#v. La relación entre fibre y manufacturer. 
table(UScereal$mfr, UScereal$fibre)
##    
##     0 1 1.333333 1.6 2 2.666667 2.985075 3 3.409091 3.75 4 4.477612 5 5.970149
##   G 9 0        1   1 3        2        0 3        0    0 2        0 1        0
##   K 2 7        2   0 0        1        0 0        0    1 1        2 0        0
##   N 0 0        0   0 0        0        0 0        0    0 0        1 0        1
##   P 3 0        0   0 0        0        0 0        1    0 0        0 0        0
##   Q 2 1        0   0 0        0        1 0        0    0 1        0 0        0
##   R 2 0        1   0 0        0        0 0        0    0 0        1 0        1
##    
##     6.666667 7.462687 8 8.955224 9.090909 12 27.272727 28 30.30303
##   G        0        0 0        0        0  0         0  0        0
##   K        1        1 1        0        0  0         1  1        0
##   N        0        0 0        0        0  0         0  0        1
##   P        0        2 0        1        1  1         0  0        0
##   Q        0        0 0        0        0  0         0  0        0
##   R        0        0 0        0        0  0         0  0        0
#vi. La relación entre sodium y sugars. 
table(UScereal$sodium, UScereal$sugars)
##            
##             0 0.8 1.769912 2 3 4 4.477612 5.681818 6 6.666667 7.462687 8.270677
##   0         3   0        0 0 0 0        0        0 0        0        0        0
##   51.13636  0   0        0 0 0 0        0        0 0        0        0        0
##   90        0   0        0 0 0 0        0        0 0        0        0        0
##   93.33333  0   0        0 0 0 0        0        0 0        0        0        0
##   125       0   0        0 0 0 0        0        0 0        0        0        0
##   135.33835 0   0        0 0 0 0        0        0 0        0        0        1
##   140       0   0        0 0 0 0        0        0 0        0        0        0
##   159.09091 0   0        0 0 0 0        0        1 0        0        0        0
##   173.33333 0   0        0 1 0 0        0        0 0        0        0        0
##   180       0   0        0 0 0 0        0        0 0        0        0        0
##   186.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   190       0   0        0 0 0 0        0        0 0        0        0        0
##   200       0   0        0 0 3 0        0        0 0        0        0        0
##   212.38938 0   0        1 0 0 0        0        0 0        0        0        0
##   220       0   0        0 0 1 0        0        0 1        0        0        0
##   223.8806  0   0        0 0 0 0        0        0 0        0        0        0
##   226.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   227.27273 0   0        0 0 0 0        0        0 0        0        0        0
##   230       0   0        0 0 1 0        0        0 0        0        0        0
##   232       0   1        0 0 0 0        0        0 0        0        0        0
##   238.80597 0   0        0 0 0 0        0        0 0        0        0        0
##   240       0   0        0 0 0 0        0        0 0        0        0        0
##   253.33333 0   0        0 0 0 0        0        0 0        1        0        0
##   266.66667 0   0        0 0 0 0        0        0 0        0        0        0
##   270       0   0        0 0 0 0        0        0 0        0        0        0
##   280       1   0        0 0 1 0        0        0 0        0        0        0
##   283.58209 0   0        0 0 0 0        0        0 0        0        0        0
##   290       0   0        0 1 1 0        0        0 0        0        0        0
##   293.33333 0   0        0 0 0 0        0        0 0        0        0        0
##   298.50746 0   0        0 0 0 0        0        0 0        0        0        0
##   313.43284 0   0        0 0 0 0        0        0 0        0        1        0
##   320       0   0        0 0 1 0        0        0 0        0        0        0
##   328.35821 0   0        0 0 0 0        0        0 0        0        0        0
##   333.33333 0   0        0 0 0 1        0        0 0        0        0        0
##   340       0   0        0 0 0 0        0        0 0        0        0        0
##   343.28358 0   0        0 0 0 0        1        0 0        0        0        0
##   358.20896 0   0        0 0 0 0        0        0 0        0        0        0
##   373.33333 0   0        0 0 0 0        0        0 0        0        0        0
##   393.93939 0   0        0 0 0 0        0        0 0        0        0        0
##   680       0   0        0 0 0 0        0        0 0        0        0        0
##   787.87879 0   0        0 0 0 0        0        0 0        0        0        0
##            
##             8.75 8.955224 10.447761 10.666667 11 12 12.121212 13 13.333333
##   0            1        0         0         0  0  1         0  0         0
##   51.13636     0        0         0         0  0  0         0  0         0
##   90           0        0         0         0  0  1         0  0         0
##   93.33333     0        0         0         0  0  0         0  0         0
##   125          0        0         0         0  0  0         0  1         0
##   135.33835    0        0         0         0  0  0         0  0         0
##   140          0        0         0         0  0  1         0  0         0
##   159.09091    0        0         0         0  0  0         0  0         0
##   173.33333    0        0         0         0  0  0         0  0         0
##   180          0        0         0         0  0  1         0  2         0
##   186.66667    0        0         0         0  0  0         0  0         1
##   190          0        0         0         0  0  0         0  0         0
##   200          0        0         0         0  0  0         0  0         0
##   212.38938    0        0         0         0  0  0         0  0         0
##   220          0        0         0         0  1  0         0  0         0
##   223.8806     0        1         0         0  0  0         0  0         0
##   226.66667    0        0         0         0  0  1         0  0         0
##   227.27273    0        0         0         0  0  0         1  0         0
##   230          0        0         0         0  0  0         0  0         0
##   232          0        0         0         0  0  0         0  0         0
##   238.80597    0        0         0         0  0  0         0  0         0
##   240          0        0         0         0  0  0         0  0         1
##   253.33333    0        0         0         0  0  0         0  0         0
##   266.66667    0        0         0         1  0  0         0  0         0
##   270          0        0         0         0  0  1         0  0         0
##   280          0        0         0         1  0  1         0  0         0
##   283.58209    0        0         0         0  0  0         0  0         0
##   290          0        0         0         0  0  0         0  0         0
##   293.33333    0        0         0         0  0  0         0  0         0
##   298.50746    0        1         0         0  0  0         0  0         0
##   313.43284    0        0         0         0  0  0         0  0         0
##   320          0        0         0         0  0  0         0  0         0
##   328.35821    0        0         1         0  0  0         0  0         0
##   333.33333    0        0         0         0  0  0         0  0         1
##   340          0        0         0         0  0  0         0  0         0
##   343.28358    0        0         0         0  0  0         0  0         0
##   358.20896    0        0         0         0  0  0         0  0         0
##   373.33333    0        0         0         0  0  1         0  0         0
##   393.93939    0        0         0         0  0  0         0  0         0
##   680          0        0         0         0  0  1         0  0         0
##   787.87879    0        0         0         0  0  0         0  0         0
##            
##             13.432836 14 14.666667 14.925373 15.151515 16 17.045455 17.910448
##   0                 0  0         0         0         0  0         0         0
##   51.13636          0  0         0         0         0  0         1         0
##   90                0  0         0         0         0  0         0         0
##   93.33333          0  0         0         0         0  0         0         0
##   125               0  1         0         0         0  0         0         0
##   135.33835         0  0         0         0         0  0         0         0
##   140               0  0         0         0         0  0         0         0
##   159.09091         0  0         0         0         0  0         0         0
##   173.33333         0  0         0         0         0  0         0         0
##   180               0  0         0         0         0  1         0         0
##   186.66667         0  0         0         0         0  0         0         0
##   190               0  1         0         0         0  0         0         0
##   200               0  0         0         0         0  0         0         0
##   212.38938         0  0         0         0         0  0         0         0
##   220               0  0         0         0         0  0         0         0
##   223.8806          0  0         0         0         0  0         0         0
##   226.66667         0  0         0         0         0  0         0         0
##   227.27273         0  0         0         0         0  0         0         0
##   230               0  0         0         0         0  0         0         0
##   232               0  0         0         0         0  0         0         0
##   238.80597         0  0         0         1         0  0         0         0
##   240               0  0         0         0         0  0         0         0
##   253.33333         0  0         0         0         0  0         0         0
##   266.66667         0  0         1         0         0  0         0         0
##   270               0  0         0         0         0  0         0         0
##   280               0  2         0         0         0  2         0         0
##   283.58209         1  0         0         0         0  0         0         0
##   290               0  0         0         0         0  0         0         0
##   293.33333         0  0         0         0         0  1         0         0
##   298.50746         0  0         0         0         0  0         0         0
##   313.43284         0  0         0         0         0  0         0         0
##   320               0  0         0         0         0  0         0         0
##   328.35821         0  0         0         0         0  0         0         0
##   333.33333         0  0         0         0         0  0         0         0
##   340               0  0         0         0         0  0         0         0
##   343.28358         0  0         0         0         0  0         0         0
##   358.20896         0  0         0         0         0  0         0         1
##   373.33333         0  0         0         0         0  0         0         0
##   393.93939         0  0         0         0         0  0         0         0
##   680               0  0         0         0         0  0         0         0
##   787.87879         0  0         0         0         1  0         0         0
##            
##             18.181818 19.402985 20 20.895522
##   0                 0         0  0         0
##   51.13636          0         0  0         0
##   90                0         0  0         0
##   93.33333          0         0  1         0
##   125               0         0  0         0
##   135.33835         0         0  0         0
##   140               0         0  0         0
##   159.09091         0         0  0         0
##   173.33333         0         0  0         0
##   180               0         0  0         0
##   186.66667         0         0  0         0
##   190               0         0  0         0
##   200               0         0  0         0
##   212.38938         0         0  0         0
##   220               0         0  0         0
##   223.8806          0         1  0         0
##   226.66667         0         0  0         0
##   227.27273         0         0  0         0
##   230               0         0  0         0
##   232               0         0  0         0
##   238.80597         0         0  0         0
##   240               0         0  0         0
##   253.33333         0         0  0         0
##   266.66667         0         0  0         0
##   270               0         0  0         0
##   280               0         0  0         0
##   283.58209         0         0  0         0
##   290               0         0  0         0
##   293.33333         0         0  0         0
##   298.50746         0         0  0         1
##   313.43284         0         0  0         0
##   320               0         0  0         0
##   328.35821         0         0  0         0
##   333.33333         0         0  0         0
##   340               0         0  1         0
##   343.28358         0         0  0         0
##   358.20896         0         0  0         0
##   373.33333         0         0  0         0
##   393.93939         1         0  0         0
##   680               0         0  0         0
##   787.87879         0         0  0         0

2.4. El conjunto de datos mammals contiene datos sobre la relación entre peso corporal y peso del cerebro.

#a. ¿Cuál es la correlación lineal entre estas variables? 
data(mammals)
cor(mammals$body, mammals$brain)
## [1] 0.9341638
#b. Representa los datos mediante la instrucción plot
plot(mammals, main="Mammals", col = "lightgreen")

#c) Transforma los datos mediante la función log y repite el estudio. ¿Cómo cambian los resultados?
plot(log(mammals), main="Mammals con funcion Log", col = "orange")

2.5. Enlaza la base de datos emissions del paquete UsingR.

# Supongamos que 'emissions' es un conjunto de datos que contiene las variables GDP, perCapita y CO2 de cada país.

# Cargar o definir los datos de emisiones (asegúrate de cargar o definir correctamente los datos)
# Ejemplo: 
# emissions <- read.csv("ruta_del_archivo/emissions.csv")

# Calcular la matriz de correlación
correlation_matrix <- cor(emissions[, c("GDP", "perCapita", "CO2")])

# Ver la matriz de correlación
print(correlation_matrix)
##                 GDP perCapita       CO2
## GDP       1.0000000 0.4325303 0.9501753
## perCapita 0.4325303 1.0000000 0.2757962
## CO2       0.9501753 0.2757962 1.0000000
# Ahora puedes crear gráficos de caja o cualquier otro tipo de visualización que desees utilizando los datos de 'emissions'
# Por ejemplo, para crear un boxplot de todas las variables en 'emissions', podrías usar algo como:
boxplot(emissions, col = c("red", "green", "blue"))

#b) Construye un modelo de regresión para predecir las emisiones de CO2 a partir de cada una de las variables. 
# Modelo de regresión para GDP
model_gdp <- lm(CO2 ~ GDP, data = emissions)
summary(model_gdp)  # Resumen del modelo
## 
## Call:
## lm(formula = CO2 ~ GDP, data = emissions)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1107.35   -81.47   -32.69   126.33  1438.79 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.043e+01  9.441e+01   0.216     0.83    
## GDP         7.815e-04  5.233e-05  14.933  1.2e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 427.4 on 24 degrees of freedom
## Multiple R-squared:  0.9028, Adjusted R-squared:  0.8988 
## F-statistic:   223 on 1 and 24 DF,  p-value: 1.197e-13
# Modelo de regresión para perCapita
model_perCapita <- lm(CO2 ~ perCapita, data = emissions)
summary(model_perCapita)  # Resumen del modelo
## 
## Call:
## lm(formula = CO2 ~ perCapita, data = emissions)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1088.4  -681.4  -317.7    80.5  5479.7 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)
## (Intercept) -223.99167  686.10910  -0.326    0.747
## perCapita      0.05040    0.03586   1.406    0.173
## 
## Residual standard error: 1318 on 24 degrees of freedom
## Multiple R-squared:  0.07606,    Adjusted R-squared:  0.03757 
## F-statistic: 1.976 on 1 and 24 DF,  p-value: 0.1726

2.6. La base de datos MASS posee la siguiente base de datos: “anorexia” que contiene el cambio de peso en pacientes femeninas la cual posee 72 filas y 3 columnas.

# Cargar o definir los datos de anorexia (asegúrate de cargar o definir correctamente los datos)
# Ejemplo: 
# data(anorexia)

# Visualizar los primeros registros de los datos
head(anorexia)
##   Treat Prewt Postwt
## 1  Cont  80.7   80.2
## 2  Cont  89.4   80.1
## 3  Cont  91.8   86.4
## 4  Cont  74.0   86.3
## 5  Cont  78.1   76.1
## 6  Cont  88.3   78.1
# Crear un histograma con colores
hist(anorexia, col = "skyblue", main = "Distribución de datos de anorexia")

mean_anorexia=aggregate(anorexia[,2:length(anorexia)], by=list(anorexia$Treat), FUN = mean)
mean_anorexia["diferencia"]=mean_anorexia$Postwt - mean_anorexia$Prewt
mean_anorexia[mean_anorexia$diferencia == max(mean_anorexia$diferencia),]
##   Group.1    Prewt   Postwt diferencia
## 3      FT 83.22941 90.49412   7.264706
#b. ¿Cuantos pacientes ganaron y cuantos perdieron peso?
anorexia["diferencia"]=anorexia$Postwt - anorexia$Prewt

#Total que ganaron peso:
ganaron=length(anorexia[anorexia$diferencia > 0,"diferencia"])

#Total que perdieron peso:
perdieron=length(anorexia[anorexia$diferencia < 0,"diferencia"])
# Crear un vector con los datos de personas que ganaron y perdieron peso
ganaron <- 80  # Por ejemplo, asumiendo que 80 personas ganaron peso
perdieron <- 60  # Por ejemplo, asumiendo que 60 personas perdieron peso

# Calcular los porcentajes
total <- ganaron + perdieron
porcentaje_ganaron <- ganaron / total * 100
porcentaje_perdieron <- perdieron / total * 100

# Etiquetas
labels_ganaron <- paste("Ganaron (", round(porcentaje_ganaron), "%)", sep = "")
labels_perdieron <- paste("Perdieron (", round(porcentaje_perdieron), "%)", sep = "")

# Colores
col_ganaron <- c("orangered", "gray")
col_perdieron <- c("gray", "palegreen")

# Graficar ambas categorías en un solo gráfico de pastel
par(mfrow = c(1, 2))  # Dividir la ventana gráfica en dos

# Gráfico de personas que ganaron peso
pie(c(ganaron, total - ganaron), labels = c(labels_ganaron, ""), col = col_ganaron, main = "Personas que ganaron peso")

# Gráfico de personas que perdieron peso
pie(c(perdieron, total - perdieron), labels = c(labels_perdieron, ""), col = col_perdieron, main = "Personas que perdieron peso")

pie(c(ganaron, perdieron), labels = c("Ganaron","Perdieron"), col = c("orangered","palegreen"),main = "Personas que ganaron/perdieron peso")

2.7. La base de datos MASS posee la siguiente base de datos: “Melanoma” que contiene 205 pacientes con melanomas y 7 columnas

#a) Obtener el número de fallecidos por Melanoma y otras causas.
fallecidos_melanoma <- length(Melanoma[Melanoma$status == 1 | Melanoma$status == 3, "status"])
fallecidos_melanoma  # Muestra el número de fallecidos por Melanoma
## [1] 71
#b) Determinar la presencia y ausencia de Melanoma.
presencia_melanoma <- table(Melanoma[, "ulcer"])
presencia_melanoma  # Muestra la tabla de presencia y ausencia de Melanoma
## 
##   0   1 
## 115  90
#c) ¿Cuál es la relación entre el tamaño del tumor y la muerte?
relacion_tumor_muerte <- table(Melanoma$thickness, Melanoma$status)
relacion_tumor_muerte  # Muestra la tabla de relación entre tamaño del tumor y muerte
##        
##          1  2  3
##   0.1    0  1  0
##   0.16   0  6  1
##   0.24   0  1  0
##   0.32   1  5  0
##   0.48   0  4  0
##   0.58   0  1  0
##   0.64   0  4  0
##   0.65   0  8  2
##   0.81   3  8  0
##   0.97   2  9  0
##   1.03   0  1  0
##   1.13   0  4  0
##   1.29   0 14  2
##   1.34   1  1  0
##   1.37   0  1  0
##   1.45   0  2  1
##   1.53   0  1  0
##   1.62   3  8  1
##   1.76   1  0  0
##   1.78   0  2  0
##   1.94   2  8  0
##   2.1    1  2  0
##   2.24   1  0  0
##   2.26   3  2  0
##   2.34   1  0  0
##   2.42   1  0  0
##   2.58   3  6  0
##   2.74   0  1  0
##   2.9    0  2  1
##   3.06   1  1  0
##   3.22   2  7  1
##   3.54   5  3  0
##   3.56   1  0  0
##   3.87   3  3  0
##   4.04   1  0  0
##   4.09   0  1  0
##   4.19   2  0  0
##   4.51   1  0  0
##   4.82   0  1  0
##   4.83   1  1  0
##   4.84   3  1  1
##   5.16   2  1  0
##   5.48   1  1  0
##   5.64   0  1  0
##   5.8    2  0  0
##   6.12   0  1  1
##   6.44   1  0  0
##   6.76   0  0  1
##   7.06   1  1  0
##   7.09   0  2  0
##   7.41   1  0  0
##   7.73   1  1  0
##   7.89   0  1  0
##   8.06   0  1  0
##   8.38   0  1  0
##   8.54   0  0  1
##   9.66   0  1  0
##   12.08  1  0  0
##   12.24  0  1  0
##   12.56  0  0  1
##   12.88  1  1  0
##   13.85  1  0  0
##   14.66  1  0  0
##   17.42  1  0  0
#d) Grafique el punto b de forma adecuada.
# Calcular la presencia y ausencia de Melanoma
presencia <- length(Melanoma[Melanoma$ulcer == 1, "ulcer"])
ausencia <- length(Melanoma[Melanoma$ulcer == 0, "ulcer"])

# Crear un vector con los resultados para usarlo en las gráficas
resultados <- c(presencia, ausencia)

# Graficar en un gráfico de barras
barplot(resultados, col = c("lightsalmon", "lightskyblue"), 
        legend.text = c("Presencia", "Ausencia"), 
        main = "Presencia y Ausencia de Melanoma",
        xlab = "Condición",
        ylab = "Cantidad")

# Graficar en un gráfico de pastel
pie(resultados, labels = c("Presencia", "Ausencia"),
    col = c("lightsalmon", "lightskyblue"),
    main = "Presencia y Ausencia de Melanoma")

# Graficar en un gráfico de columnas
barplot(resultados, col = c("lightsalmon", "lightskyblue"), 
        legend.text = c("Presencia", "Ausencia"), 
        main = "Presencia y Ausencia de Melanoma",
        xlab = "Condición",
        ylab = "Cantidad",
        horiz = TRUE)  # Gráfico de columnas horizontales

#2.8. La base de datos UsingR posee la siguiente base de datos: “babyboom” que contiene la estadística de nacimiento de 44 bebes en un periodo de 24 horas con peso y sexo, con 4 columnas.

data(babyboom)
head(babyboom)
##   clock.time gender   wt running.time
## 1          5   girl 3837            5
## 2        104   girl 3334           64
## 3        118    boy 3554           78
## 4        155    boy 3838          115
## 5        257    boy 3625          177
## 6        405   girl 2208          245
#a. ¿Cual es el número de niños y niñas?
aggregate(babyboom[,"gender"], by = list(babyboom[,"gender"]), FUN = length)
##   Group.1  x
## 1    girl 18
## 2     boy 26
#b) ¿Cual es la cantidad de niños nacidos en las primeras 12h?
babyboom[(babyboom$clock.time / 60) <= 12,]
##    clock.time gender   wt running.time
## 1           5   girl 3837            5
## 2         104   girl 3334           64
## 3         118    boy 3554           78
## 4         155    boy 3838          115
## 5         257    boy 3625          177
## 6         405   girl 2208          245
## 7         407   girl 1745          247
## 8         422    boy 2846          262
## 9         431    boy 3166          271
## 10        708    boy 3520          428
length(babyboom[(babyboom$clock.time / 60) <= 12,"gender"])
## [1] 10
#c. ¿Cuantos niños nacieron por debajo de 3000gr?
babyboom[babyboom$wt < 3000,]
##    clock.time gender   wt running.time
## 6         405   girl 2208          245
## 7         407   girl 1745          247
## 8         422    boy 2846          262
## 13        814   girl 2576          494
## 18       1133    boy 2902          693
## 19       1209    boy 2635          729
## 29       1742   girl 2184         1062
## 31       1825   girl 2383         1105
## 40       2104    boy 2121         1264
#d. ¿Relación entre peso por debajo de 3000gr y sexo?
genders <- babyboom[babyboom$wt < 3000,]
table(genders$gender,genders$wt)
##       
##        1745 2121 2184 2208 2383 2576 2635 2846 2902
##   girl    1    0    1    1    1    1    0    0    0
##   boy     0    1    0    0    0    0    1    1    1
#e) ¿Grafique el promedio de pesos total, de niños y de niñas de forma adecuada?
aggregate(babyboom$wt, by = list(babyboom[,"gender"]), FUN = mean)
##   Group.1        x
## 1    girl 3132.444
## 2     boy 3375.308
# Calcular el promedio de pesos por género
promedio_peso <- aggregate(babyboom$wt, by = list(babyboom$gender), FUN = mean)

# Graficar el promedio de pesos por género
barplot(promedio_peso$x, names.arg = promedio_peso$Group.1, 
        col = c("lightblue", "pink"),
        main = "Promedio de pesos por género",
        xlab = "Género",
        ylab = "Peso (gr)")

2.9. La base de datos UsingR posee la siguiente base de datos: “Aids2” que contiene la estadística de 2843 pacientes con sida con 4 columnas.

data(Aids2)
head(Aids2)
##   state sex  diag death status T.categ age
## 1   NSW   M 10905 11081      D      hs  35
## 2   NSW   M 11029 11096      D      hs  53
## 3   NSW   M  9551  9983      D      hs  42
## 4   NSW   M  9577  9654      D    haem  44
## 5   NSW   M 10015 10290      D      hs  39
## 6   NSW   M  9971 10344      D      hs  36
#a. Determine en número de contagios por estado.
aggregate(Aids2$state, by=list(Aids2[,"state"]), FUN=length)
##   Group.1    x
## 1     NSW 1780
## 2   Other  249
## 3     QLD  226
## 4     VIC  588
#b. ¿Cuanto es el número de fallecidos?
totalMuertos=Aids2[Aids2$status == "D",]
length(totalMuertos$state)
## [1] 1761
# Instalar y cargar el paquete ggplot2 si aún no lo has hecho
barplot(table(Aids2$T.categ), main = "Tipos de Transmision", xlab = "Tipo de Transmision", ylab = "Numero de Pacientes", col = rainbow(length(unique(Aids2$T.categ))))

2.10. La base de datos UsingR posee la siguiente base de datos: “crime” que contiene la tasa de crímenes de 50 estados de los E.E.U.U en los años 1983 y 1993, posee 3 columnas: Estado (no marcado), y1983, y1993. Se requiere un informe con los siguientes puntos.

data(crime)
head(crime)
##            y1983  y1993
## Alabama    416.0  871.7
## Alaska     613.8  660.5
## Arizona    494.2  670.8
## Arkansas   297.7  576.5
## California 772.6 1119.7
## Colorado   476.4  578.8
#a. La tasa total en 1993 fue mayor o menor que en 1983.
mean(crime$y1993)
## [1] 606.8294
mean(crime$y1983)
## [1] 437.5196
 # Podemos observar que la tasa en 1993 fue mayor que la de 1983

# Calcular la media de las tasas en 1993 y 1983
tasa_1993 <- mean(crime$y1993)
tasa_1983 <- mean(crime$y1983)

# Crear un vector con los datos de las tasas
tasas <- c(tasa_1993, tasa_1983)

# Crear un vector con los años correspondientes
años <- c("1993", "1983")

# Graficar las tasas en un gráfico de barras
barplot(tasas, names.arg = años, col = c("lightblue", "lightgreen"),
        main = "Comparación de tasas en 1993 y 1983",
        xlab = "Año",
        ylab = "Tasa")

#b. Qué estado presenta la mayor tasa de crímenes en cada año
crime[crime$y1993 == max(crime$y1993),]
##     y1983  y1993
## DC 1985.4 2832.8
crime[crime$y1983 == max(crime$y1983),]
##     y1983  y1993
## DC 1985.4 2832.8

El estado DC presenta la mayor tasa de crímenes en cada año

#c. Que estado presenta la mayor tasa de crimen acumulado en ambos años.
crime["acumulado"]=crime$y1983 + crime$y1993
crime[crime$acumulado == max(crime$acumulado),]
##     y1983  y1993 acumulado
## DC 1985.4 2832.8    4818.2

#El estado DC presenta la mayor tasa de crimen acumulado en ambos años

#d. Gráfica el punto b de forma adecuada.
library(ggplot2)

# Crear el gráfico con ggplot2 y agregar color a las barras
ggplot(crime, aes(x = row.names(crime), y = acumulado, fill = factor(acumulado))) +
  geom_bar(stat = "identity") +
  labs(title = "Acumulado de tasas de criminalidad por año",
       x = "Año",
       y = "Acumulado") +
  theme_minimal()