##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