##2.1. Carga (o instala primero y luego carga) el paquete UsingR
library(UsingR)
## Loading required package: MASS
## Loading required package: HistData
## Loading required package: Hmisc
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## Loading required package: ggplot2
##
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
##
## format.pval, units
##
## Attaching package: 'UsingR'
## The following object is masked from 'package:survival':
##
## cancer
##a) ¿Cuantos conjuntos de datos de trabajo contiene el paquete?
length(ls("package:UsingR"))
## [1] 150
##b) Representa gráficamente los datos contenidos en los conjuntos de datos (“datasets”) bumpers, firstchi, math con un histograma y/o un boxplot.
boxplot(bumpers)

boxplot(firstchi)

boxplot(math)

##) 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?
mean(bumpers)
## [1] 2122.478
mean(firstchi)
## [1] 23.97701
mean(math)
## [1] 54.9
median(bumpers)
## [1] 2129
median(firstchi)
## [1] 23
median(math)
## [1] 54
sd(bumpers)
## [1] 798.4574
sd(firstchi)
## [1] 6.254258
sd(math)
## [1] 9.746264
hist(mean(bumpers))

hist(mean(firstchi))

hist(mean(math))

hist(median(bumpers))

hist(median(firstchi))

hist(median(math))

hist(sd(bumpers))

hist(sd(firstchi))

hist(sd(math))

##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.
hist(brightness)
dx <- density(brightness)
lines(dx, lwd=2, col= "red")

plot(dx, lwd=2, col="red", main = "Densidad")

##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?
boxplot(brightness)

boxplot.stats(brightness)$out
## [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
sort(boxplot.stats(brightness)$out)
## [1] 2.07 2.28 3.88 4.37 4.55 4.61 4.78 4.89 4.99 5.01 5.04 5.13
## [13] 5.24 5.29 5.41 5.42 5.53 5.54 5.55 11.28 11.55 11.55 11.55 11.63
## [25] 11.65 11.67 11.71 11.73 11.79 11.80 11.99 12.04 12.04 12.14 12.17 12.19
## [37] 12.31 12.43
seg.menor.outlier =sort(boxplot.stats(brightness)$out)[2]
seg.menor.outlier
## [1] 2.28
##c) Deseamos conservar los datos que de ninguna forma puedan ser considerados atípicos. Crea una nueva variable denominada brightness.sin que contenga tan solo los valores que se encuentren por encima de la primera bisagra y por debajo de la cuarta.
out_indices <- which(brightness %in% c(boxplot.stats(brightness)$out))
out_indices
## [1] 6 17 107 111 122 145 154 183 191 263 300 307 320 353 355 390 441 454 463
## [20] 475 522 548 560 569 676 730 736 744 759 763 811 812 839 896 908 909 928 948
brightness.sin = brightness[-c(out_indices)]
brightness.sin
## [1] 9.10 9.27 6.61 8.06 8.55 9.64 9.05 8.59 8.59 7.34 8.43 8.80
## [13] 7.25 8.60 8.15 11.03 6.53 8.51 7.55 8.69 7.57 9.05 6.28 9.13
## [25] 9.32 8.83 9.14 8.26 7.63 9.09 8.10 6.43 9.07 7.68 10.44 8.65
## [37] 7.46 8.70 10.61 8.20 6.18 7.91 9.59 8.57 10.78 7.31 9.53 6.49
## [49] 8.94 8.56 10.96 10.57 7.40 8.12 8.27 7.05 9.09 8.34 8.86 8.27
## [61] 6.36 8.08 11.00 8.55 7.83 8.79 8.33 10.42 8.26 8.97 6.90 9.93
## [73] 7.42 9.03 8.41 8.06 8.69 8.40 8.57 9.50 8.85 9.61 10.62 8.05
## [85] 7.80 5.71 7.87 7.64 7.66 8.68 8.12 10.10 8.67 10.46 9.87 9.48
## [97] 7.04 8.44 9.88 7.05 8.29 9.34 7.73 6.22 8.53 7.23 8.61 10.76
## [109] 8.93 7.95 7.46 8.60 8.55 9.20 6.82 8.29 6.83 7.21 5.58 8.70
## [121] 8.06 10.86 6.50 9.32 9.14 8.13 10.62 6.62 9.96 8.64 6.60 6.25
## [133] 7.83 10.03 9.04 8.47 7.33 8.66 10.35 8.96 8.49 11.26 8.15 7.04
## [145] 10.02 8.90 7.78 9.93 8.60 8.51 7.09 6.93 8.68 8.98 9.84 8.98
## [157] 7.98 10.16 8.86 8.58 9.56 9.24 9.63 5.80 9.05 8.45 8.86 7.84
## [169] 8.86 8.93 7.97 6.90 8.47 6.77 8.55 8.48 8.53 6.33 8.99 8.64
## [181] 9.55 8.74 8.16 9.46 5.70 7.62 8.95 8.97 8.94 7.24 10.32 8.24
## [193] 8.62 9.18 8.53 8.54 8.56 9.41 5.87 7.20 9.05 9.52 10.24 7.70
## [205] 8.17 7.29 9.26 7.94 8.42 8.56 7.52 7.74 8.85 9.01 7.17 9.04
## [217] 10.30 9.86 7.64 8.27 8.44 9.58 8.43 8.49 9.64 9.17 8.09 9.00
## [229] 6.25 8.56 10.81 8.76 7.76 7.82 7.90 8.52 9.73 9.19 8.10 8.75
## [241] 8.14 8.65 10.30 6.46 6.73 7.96 9.53 8.87 6.59 8.65 9.64 9.15
## [253] 9.04 8.42 8.09 9.06 8.09 8.18 8.77 7.36 9.16 8.82 11.14 6.24
## [265] 9.44 7.49 6.96 7.94 8.69 8.15 8.45 7.92 7.45 9.01 8.55 9.23
## [277] 9.16 7.90 8.68 7.78 8.21 8.11 8.29 7.89 9.67 8.24 6.80 8.18
## [289] 8.44 7.45 6.31 8.15 8.27 7.66 8.59 7.09 8.54 9.58 8.44 8.59
## [301] 8.01 8.29 9.62 7.26 7.91 9.45 8.19 8.93 7.65 8.53 7.38 8.56
## [313] 8.76 9.56 7.09 9.83 5.90 10.80 8.41 9.05 8.79 8.88 7.59 9.60
## [325] 10.66 8.55 8.11 9.44 9.60 5.78 10.66 6.38 8.80 7.79 8.60 7.77
## [337] 10.37 9.80 10.42 9.22 8.43 7.33 8.93 9.09 9.26 8.73 9.18 8.12
## [349] 9.26 8.94 6.11 9.13 7.90 9.34 7.13 10.82 7.46 8.72 7.02 9.08
## [361] 8.37 5.59 7.37 5.68 8.56 8.72 9.06 8.82 8.18 9.39 9.10 8.46
## [373] 9.15 8.28 8.18 7.93 9.21 6.09 8.31 7.83 8.72 6.61 6.25 7.82
## [385] 8.66 8.15 8.97 8.15 7.47 8.63 8.13 8.23 8.41 6.47 9.83 8.64
## [397] 7.73 8.64 8.94 8.84 6.32 5.80 8.97 7.53 7.41 7.80 8.14 6.71
## [409] 8.73 9.37 8.69 9.95 7.10 8.09 6.88 9.48 9.04 9.30 8.49 8.30
## [421] 7.95 7.08 6.93 8.38 8.56 8.78 7.42 8.26 7.71 6.91 9.16 8.99
## [433] 8.63 9.90 7.59 7.39 7.78 7.47 6.97 8.82 9.13 7.86 7.13 9.45
## [445] 8.78 7.23 9.73 7.36 7.36 8.47 9.37 6.99 8.20 8.36 8.22 9.91
## [457] 9.67 8.60 10.07 10.15 7.75 9.21 9.66 8.47 9.37 9.44 9.99 10.38
## [469] 7.51 8.91 7.45 9.57 8.99 8.58 6.90 7.55 7.93 9.71 9.57 8.55
## [481] 6.62 7.89 7.51 7.36 8.66 8.51 6.65 9.67 7.80 8.21 7.90 8.94
## [493] 9.82 8.69 8.57 8.89 5.98 7.92 7.60 8.22 5.70 8.75 6.93 7.97
## [505] 8.06 10.13 7.31 8.35 5.57 9.85 9.16 9.03 10.07 9.76 9.35 10.95
## [517] 8.87 6.68 9.69 8.05 10.30 6.07 8.51 7.71 8.56 8.26 8.62 10.92
## [529] 10.51 9.83 9.84 9.74 8.21 8.72 8.03 9.00 6.19 8.22 7.93 10.18
## [541] 8.98 9.13 6.91 8.79 8.23 10.24 8.83 7.62 8.96 10.41 8.97 9.61
## [553] 8.29 8.30 8.26 7.44 9.52 8.20 8.68 8.65 10.52 8.41 9.18 8.42
## [565] 8.86 7.92 10.97 8.85 9.31 10.28 7.56 7.88 7.99 8.23 8.52 9.14
## [577] 6.20 7.64 8.95 7.48 7.06 7.33 8.98 8.24 8.53 8.40 7.48 8.46
## [589] 9.29 8.57 8.70 8.50 8.37 6.87 7.50 7.39 8.19 7.56 8.37 7.39
## [601] 6.73 8.66 8.25 8.47 8.01 6.83 9.06 8.79 7.44 6.43 5.93 8.85
## [613] 9.86 8.55 7.66 7.82 9.08 10.10 8.21 8.85 7.79 7.58 7.85 7.18
## [625] 7.54 9.72 7.12 9.77 8.84 5.67 8.15 9.61 8.19 7.27 8.51 8.36
## [637] 10.00 8.74 6.18 10.26 10.16 8.31 8.58 7.04 8.81 5.99 8.22 9.86
## [649] 8.00 9.40 9.10 8.11 8.89 9.43 7.59 8.72 9.86 9.23 9.50 10.73
## [661] 7.59 7.41 9.26 7.78 7.76 8.94 8.95 6.41 6.11 7.76 7.38 6.21
## [673] 7.05 7.44 8.50 7.84 11.01 7.88 9.10 8.65 8.41 7.81 7.43 8.76
## [685] 7.58 9.55 6.82 10.24 6.24 7.31 10.52 9.27 7.13 9.14 8.48 8.57
## [697] 7.21 9.05 7.72 8.03 6.47 5.57 6.32 7.78 8.58 10.37 9.23 9.20
## [709] 6.93 9.32 7.11 9.79 8.21 8.42 7.05 9.26 8.77 9.25 9.30 10.63
## [721] 9.90 9.89 9.33 7.78 7.02 11.26 8.89 9.60 7.07 6.01 9.11 8.24
## [733] 8.97 8.59 7.17 7.94 7.27 9.59 7.94 8.52 7.59 9.17 8.08 9.80
## [745] 8.92 9.91 9.42 8.84 10.15 8.37 9.33 9.35 7.40 8.35 9.53 9.59
## [757] 10.05 8.57 8.48 8.43 8.45 8.84 11.18 8.64 8.42 6.34 7.93 8.36
## [769] 8.32 7.77 6.84 8.78 7.19 8.50 8.82 9.04 7.93 7.66 10.07 9.03
## [781] 8.13 7.51 9.08 7.10 7.88 9.40 9.06 8.38 10.65 7.77 8.50 8.61
## [793] 10.05 8.71 9.37 6.97 8.56 9.34 9.47 8.11 8.91 7.83 8.95 7.20
## [805] 9.37 5.84 9.81 9.27 9.50 9.32 8.92 8.38 7.74 8.60 9.49 8.35
## [817] 7.11 9.87 8.98 7.75 8.24 6.74 6.83 7.70 6.70 8.67 9.94 8.73
## [829] 9.63 6.66 8.29 8.47 8.16 8.97 7.51 8.97 8.55 5.84 7.85 8.68
## [841] 8.05 8.27 7.68 9.40 7.77 6.89 7.55 8.27 8.16 8.07 7.91 7.71
## [853] 10.16 8.41 8.88 9.64 7.93 7.78 8.90 8.55 9.15 10.86 9.08 7.44
## [865] 10.35 6.68 8.85 8.90 8.24 6.74 10.75 8.44 7.69 8.88 7.70 8.60
## [877] 8.44 9.50 9.03 7.15 7.95 8.23 9.81 8.48 9.33 8.97 8.08 7.47
## [889] 8.34 7.75 8.34 7.56 6.93 10.03 8.69 9.04 8.32 7.85 7.21 8.98
## [901] 7.09 8.85 9.21 8.61 7.91 7.47 8.65 8.53 9.92 8.09 7.06 8.45
## [913] 8.73 7.45 9.02 7.51 7.32 8.17 9.45 9.72 9.34 8.75 9.32 7.91
## [925] 7.49 6.53 6.18 8.69
boxplot(brightness.sin)

##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?
class(UScereal[,1])
## [1] "factor"
##b) Utiliza los datos de cereales para investigar algunas asociaciones entre sus variables: i. La relación entre manufacturer y shelf. ii. La relación entre fat y vitamins. iii. La relación entre fat y shelf. iv. La relación entre carbohydrates y sugars. v. La relación entre fibre y manufacturer. vi. La relación entre sodium y sugars.
colores = c("thistle","brown","darkolivegreen1","cadetblue3","skyblue","gold")
barplot(table(UScereal$mfr,UScereal$shelf), beside = T, col = colores, main = "Relación entre fabricante y estante",
xlab = "Estante de exhibición",ylab = "Cantidad x Fabricante")
legend("topright",c(levels(UScereal$mfr)),fill = colores)

ggplot(data = UScereal, aes(x = UScereal$fat,y = UScereal$vitamins)) + geom_point()
## Warning: Use of `UScereal$fat` is discouraged. Use `fat` instead.
## Warning: Use of `UScereal$vitamins` is discouraged. Use `vitamins` instead.

barplot(table(UScereal$fat,UScereal$shelf), beside = T,main = "Relación entre fat y shelf")

cor(UScereal$carbo,UScereal$sugars)
## [1] -0.04082599
plot(UScereal$carbo,UScereal$sugars)

plot(UScereal$mfr,UScereal$fibre)

cor(UScereal$sodium,UScereal$sugars)
## [1] 0.2112437
ggplot(data = UScereal,aes(UScereal$sodium,UScereal$sugars)) + geom_point()
## Warning: Use of `UScereal$sodium` is discouraged. Use `sodium` instead.
## Warning: Use of `UScereal$sugars` is discouraged. Use `sugars` instead.

##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?
pairs(mammals$body ~ mammals$brain)

cor(mammals$body,mammals$brain)
## [1] 0.9341638
##b) Representa los datos mediante la instrucción plot
plot(mammals$body,mammals$brain)

##c) Transforma los datos mediante la función log y repite el estudio. ¿Cómo cambian los resultados?
pairs(log(mammals$body)~log(mammals$brain))

cor(log(mammals$body),log(mammals$brain))
## [1] 0.9595748
plot(log(mammals$body),log(mammals$brain))

##2.5. Enlaza la base de datos emissions del paquete UsingR.
##a) Estudia la relación entre las variables GDP (Gross Domestic Product), perCapita (pues eso) y CO2 (Emisiones de CO2) de cada pais.
pairs(emissions)

cor(emissions)
## GDP perCapita CO2
## GDP 1.0000000 0.4325303 0.9501753
## perCapita 0.4325303 1.0000000 0.2757962
## CO2 0.9501753 0.2757962 1.0000000
##b) Construye un modelo de regresión para predecir las emisiones de CO2 a partir de cada una de las variables.
r_lineal= lm(emissions$CO2 ~ emissions$GDP + emissions$perCapita, data = emissions)
summary(r_lineal)
##
## Call:
## lm(formula = emissions$CO2 ~ emissions$GDP + emissions$perCapita,
## data = emissions)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1037.3 -167.4 10.8 153.2 1052.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.100e+02 2.044e+02 2.495 0.0202 *
## emissions$GDP 8.406e-04 5.198e-05 16.172 4.68e-14 ***
## emissions$perCapita -3.039e-02 1.155e-02 -2.631 0.0149 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 382.8 on 23 degrees of freedom
## Multiple R-squared: 0.9253, Adjusted R-squared: 0.9188
## F-statistic: 142.5 on 2 and 23 DF, p-value: 1.102e-13
plot(emissions$GDP+emissions$perCapita,emissions$CO2)
abline(r_lineal,col = "darkblue")
## Warning in abline(r_lineal, col = "darkblue"): only using the first two of 3
## regression coefficients

emissions$CO2
## [1] 6750 1320 1740 550 675 540 2000 700 370 480 240 400 145 75 80
## [16] 54 75 125 420 75 56 160 150 76 85 63
CO2_predict <- predict(r_lineal,emissions)
plot(emissions$GDP+emissions$perCapita,CO2_predict)

CO2_predict
## UnitedStates Japan Germany France UnitedKingdom
## 6403.720110 2357.274571 1328.457202 939.412260 915.510264
## Italy Russia Canada Spain Australia
## 888.117914 948.030553 418.174003 551.546727 203.695487
## Netherlands Poland Belgium Sweden Austria
## 137.905405 524.997147 3.295727 57.168681 6.260516
## Switzerland Portugal Greece Ukraine Denmark
## -65.251059 177.533136 235.468677 538.782254 -82.034073
## Norway Romania CzechRepublic Finland Hungary
## -213.820805 449.888660 273.235200 -5.729292 353.120804
## Ireland
## 59.239930
cor(emissions$CO2,CO2_predict)
## [1] 0.9619321
##c) Identifica los outliers y prueba de ajustar el modelo de nuevo sin ellos.
boxplot(emissions)

boxplot.stats(emissions$CO2)$out
## [1] 6750 1320 1740 2000
out_emisiones <- which(emissions$CO2 %in% c(boxplot.stats(emissions$CO2)$out))
out_emisiones
## [1] 1 2 3 7
CO2.sin.out = emissions$CO2[-c(out_emisiones)]
CO2.sin.out
## [1] 550 675 540 700 370 480 240 400 145 75 80 54 75 125 420 75 56 160 150
## [20] 76 85 63
GDP.sin.out = emissions$GDP[-c(out_emisiones)]
perCapita.sin.out = emissions$perCapita[-c(out_emisiones)]
r_lineal2<- lm(CO2.sin.out ~ GDP.sin.out + perCapita.sin.out, data = emissions)
summary(r_lineal2)
##
## Call:
## lm(formula = CO2.sin.out ~ GDP.sin.out + perCapita.sin.out, data = emissions)
##
## Residuals:
## Min 1Q Median 3Q Max
## -130.88 -63.84 -32.27 16.79 334.38
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.233e+02 7.202e+01 3.101 0.00588 **
## GDP.sin.out 4.912e-04 6.989e-05 7.028 1.09e-06 ***
## perCapita.sin.out -8.525e-03 4.114e-03 -2.072 0.05209 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 121.4 on 19 degrees of freedom
## Multiple R-squared: 0.7225, Adjusted R-squared: 0.6933
## F-statistic: 24.73 on 2 and 19 DF, p-value: 5.142e-06
plot(GDP.sin.out + perCapita.sin.out,CO2.sin.out)
abline(r_lineal2,col = "red")
## Warning in abline(r_lineal2, col = "red"): only using the first two of 3
## regression coefficients

CO2.sin.out
## [1] 550 675 540 700 370 480 240 400 145 75 80 54 75 125 420 75 56 160 150
## [20] 76 85 63
CO2_predict_sin_out <- predict(r_lineal2,emissions)
## Warning: 'newdata' had 26 rows but variables found have 22 rows
plot(GDP.sin.out + perCapita.sin.out,CO2_predict_sin_out)

CO2_predict_sin_out
## 1 2 3 4 5 6 7 8
## 680.88253 654.25862 646.06437 365.61631 399.04321 238.03584 206.78744 299.22605
## 9 10 11 12 13 14 15 16
## 141.55107 141.31414 126.49820 106.00521 168.25755 181.41829 263.30493 88.55427
## 17 18 19 20 21 22
## 51.07759 235.63791 185.49960 104.74791 198.02424 112.19471
cor(CO2.sin.out,CO2_predict_sin_out)
## [1] 0.8499957
boxplot(emissions$CO2)

boxplot(CO2.sin.out)

##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.
##a) ¿Que Tipo de tratamiento más efectivo?
pos_pesos <- which(anorexia$Postwt>anorexia$Prewt)
casos_exito = anorexia[c(pos_pesos),]
mejor_tratamiento = which.max(table(casos_exito$Treat))
mejor_tratamiento = c(paste(names(mejor_tratamiento),": ",max(table(casos_exito$Treat))," casos exitosos"))
table(casos_exito$Treat)
##
## CBT Cont FT
## 18 11 13
mejor_tratamiento
## [1] "CBT : 18 casos exitosos"
##b) ¿Cuantos pacientes ganaron y cuantos perdieron peso?
pos_perdida_peso <- which(anorexia$Postwt<anorexia$Prewt)
casos_fracaso = anorexia[c(pos_perdida_peso),]
ganaron_peso = length(pos_pesos)
ganaron_peso
## [1] 42
perdieron_peso = nrow(casos_fracaso)
perdieron_peso
## [1] 29
##c) Grafique el punto b de forma adecuada
barplot(c(ganaron_peso,perdieron_peso), main = "Pacientes que ganaron y que perdieron peso",
ylab = "Cantidad de pacientes", col = c("darkorange","skyblue"))
legend("topright", legend = c(paste("Ganaron peso: ",ganaron_peso),paste("Perdieron peso: ",perdieron_peso)),
fill = c("darkorange","skyblue"))

##2.7. La base de datos MASS posee la siguiente base de datos: “Melanoma” que contiene 205 pacientes con melanomas y 7 columnas.
##a) Obtenga el número de fallecidos por Melanoma y otras causas.
fallecidos = nrow(Melanoma[Melanoma$status==1,]) + nrow(Melanoma[Melanoma$status==3,])
fallecidos
## [1] 71
##b) Determine la presencia y ausencia de Melanoma.
colores = c("dimgrey","coral","pink")
pie(table(Melanoma$status),labels = c(nrow(Melanoma[Melanoma$status==1,]),nrow(Melanoma[Melanoma$status==2,]),
nrow(Melanoma[Melanoma$status==3,])),main = "Presencia y ausencia de Melanoma en una base de datos de 205 personas", col = colores)
legend("topright",c(paste(1,": MuertexMelanoma"),paste(2,": Vivo"),paste(3,": MuertexOtras causas")),fill = colores)

##c) ¿Que Relación entre tamaño de tumor y muerte?
Melanoma1 = Melanoma
s1 <- which((Melanoma1$status==1))
s2 <- which((Melanoma1$status==2))
s3 <- which((Melanoma1$status==3))
Melanoma1$status = replace(Melanoma1$status,s3,1)
Melanoma1$status = replace(Melanoma1$status,s2,0)
c(paste("Correlación entre el tamaño del tumor y estado del paciente: ",cor(Melanoma1$thickness,Melanoma1$status),3))
## [1] "Correlación entre el tamaño del tumor y estado del paciente: 0.314179811783222 3"
##d) Grafique el punto b de forma adecuada.
remplazo = replace(Melanoma1$status,Melanoma1$status==0,"Vivos")
remplazo = replace(remplazo,Melanoma1$status==1,"Fallecidos")
boxplot(Melanoma1$thickness~remplazo, main = "Relación entre tamaño de tumor y muerte",
ylab = "Tamaño del tumor (mm)",xlab = "Estado del paciente")

##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.
##a) ¿Cual es el número de niños y niñas?
table(babyboom$gender)
##
## girl boy
## 18 26
##b) ¿Cual es la cantidad de niños nacidos en las primeras 12h?
print("Niños nacidos en las primeras 12 horas ")
## [1] "Niños nacidos en las primeras 12 horas "
babyboom[babyboom$clock.time<= 708,]
## 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
primeros_nacidos = nrow(babyboom[babyboom$clock.time<708,])
primeros_nacidos
## [1] 9
##c) ¿Cuantos niños nacieron por debajo de 3000gr?
print("Niños con pesos menores a 3000gr: ")
## [1] "Niños con pesos menores a 3000gr: "
ninos_bajo_peso= nrow(babyboom[babyboom$gender=='boy' & babyboom$wt<3000,])
ninos_bajo_peso
## [1] 4
##d) ¿Relación entre peso por debajo de 3000gr y sexo?
barplot(table(babyboom$gender,babyboom$wt<3000),beside = T,col = c("pink","darkolivegreen"),xlab="Género",ylab="cantidad")

##e) ¿Grafique el promedio de pesos total, de niños y de niñas de forma adecuada?
p_ninos = median(babyboom$wt[babyboom$gender=='boy'])
p_ninos
## [1] 3404
p_ninas = median(babyboom$wt[babyboom$gender=='girl'])
p_ninas
## [1] 3381
boxplot(babyboom$wt,ylab = "Peso (gr)",main = "Promedio de pesos total (niños y niñas)")
points(p_ninos, col = "skyblue", pch = 15)
points(p_ninas, col = "tomato", pch = 15)
legend(x = "topleft", legend = c(paste("Niños: ",p_ninos),paste("Niñas: ",p_ninas)), fill = c("skyblue", "tomato"),title = "Promedio de pesos total: ")

##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.
##a) Determine en número de contagios por estado.
table(Aids2$state,Aids2$T.categ)
##
## hs hsid id het haem blood mother other
## NSW 1539 50 28 18 30 70 3 42
## Other 204 4 12 8 6 5 2 8
## QLD 186 7 4 5 4 15 1 4
## VIC 536 11 4 10 6 4 1 16
##b) ¿Cuanto es el número de fallecidos?
table(Aids2$status)
##
## A D
## 1082 1761
N_fallecidos = Aids2[Aids2$status=='D',]
print(paste("Cantidad de personas fallecidas: ",length(N_fallecidos$status)))
## [1] "Cantidad de personas fallecidas: 1761"
##c) ¿Cual es la relación entre sexo y tipo de transmisión?
table(Aids2$sex,Aids2$T.categ)
##
## hs hsid id het haem blood mother other
## F 1 0 20 20 0 37 4 7
## M 2464 72 28 21 46 57 3 63
barplot(table(Aids2$sex,Aids2$T.categ),beside = T,col = c("pink","darkgreen"),xlab="Tipo de transmición por sexos",ylab="cantidad")
legend("topright",levels(Aids2$sex),fill = c("pink","darkgreen"))

relacion_F_trans = Aids2[Aids2$sex=='F',]
barplot(table(relacion_F_trans$sex=='F',relacion_F_trans$T.categ),
main = "Relación entre mujeres y tipo de transmisión",ylab = "Cantidad de pacientes")

relacion_M_trans = Aids2[Aids2$sex=='M',]
barplot(table(relacion_M_trans$sex=='M',relacion_M_trans$T.categ),
main = "Relación entre hombres y tipo de transmisión",ylab = "Cantidad de pacientes")

##d) ¿Grafique de forma adecuada los tipos de transmisión?
colores = c("Red","skyblue","blueviolet","tomato","darkgreen","thistle","darkorange","gold")
pie(table(Aids2$T.categ),col = colores,labels = table(Aids2$T.categ),
main = "Cantidad y tipos de transmisión")
legend("topright",legend = levels(Aids2$T.categ),fill = colores)

table(Aids2$T.categ)
##
## hs hsid id het haem blood mother other
## 2465 72 48 41 46 94 7 70