#se llaman las librerias
print("Punto2a")
## [1] "Punto2a"
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)
library(pwr)
#Histograma y Grafica de Densidad
hist(brightness)

plot(density(brightness))

#Diagrama de Cajas
print("Punto 2b")
## [1] "Punto 2b"
boxplot(brightness,main="Diagrama de Cajas",ylab="Valores",col ="lightblue" )

#Datos atípicos
outliers <- boxplot.stats(brightness)$out
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
#Calculo del segundo dato atípico
outliers_ordenados <- sort(outliers)  
segundo_valor <-outliers_ordenados[2]
print("EL SGUNDO VALOR MÁS PEQUEÑO ES ")
## [1] "EL SGUNDO VALOR MÁS PEQUEÑO ES "
print(segundo_valor)
## [1] 2.28
print("2c")
## [1] "2c"
#Se quitan de la base de datos los atípicos
brightness_without <-brightness[!(brightness %in% outliers)]
print("Base de datos sin atípicos")
## [1] "Base de datos sin atípicos"
print(brightness_without)
##   [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
print("2.2")
## [1] "2.2"
print("a1")
## [1] "a1"
anova_resulta <- aov(UScereal$shelf ~ UScereal$mfr, data = UScereal)
summary(anova_resulta)
##              Df Sum Sq Mean Sq F value Pr(>F)
## UScereal$mfr  5   4.97  0.9946   1.461  0.216
## Residuals    59  40.17  0.6808
print("p=0.216 es mayor al nivel de significancia típico (α=0.05), no hay evidencia que indique que mfr afecte a shelf")
## [1] "p=0.216 es mayor al nivel de significancia típico (α=0.05), no hay evidencia que indique que mfr afecte a shelf"
print("a2")
## [1] "a2"
anova_result1 <- aov(UScereal$fat ~ UScereal$vitamins, data = UScereal)
summary(anova_result1)
##                   Df Sum Sq Mean Sq F value Pr(>F)
## UScereal$vitamins  2   8.49   4.244   1.593  0.212
## Residuals         62 165.17   2.664
print("Los niveles de vitamins no explican diferencias significativas en la variable dependiente.")
## [1] "Los niveles de vitamins no explican diferencias significativas en la variable dependiente."
print("a3")
## [1] "a3"
val1<-cor.test(UScereal$fat, UScereal$shelf, method = "pearson")
print(val1)
## 
##  Pearson's product-moment correlation
## 
## data:  UScereal$fat and UScereal$shelf
## t = 2.7342, df = 63, p-value = 0.008108
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.08885697 0.52767920
## sample estimates:
##       cor 
## 0.3256975
print("a4")
## [1] "a4"
val2<-cor.test(UScereal$carbo, UScereal$sugars, method = "pearson")
print(val2)
## 
##  Pearson's product-moment correlation
## 
## data:  UScereal$carbo and UScereal$sugars
## t = -0.32432, df = 63, p-value = 0.7468
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2819179  0.2051155
## sample estimates:
##         cor 
## -0.04082599
anova_result3 <- aov(UScereal$fibre ~ UScereal$mfr, data = UScereal)
summary(anova_result3)
##              Df Sum Sq Mean Sq F value Pr(>F)  
## UScereal$mfr  5  479.5   95.90   2.935 0.0197 *
## Residuals    59 1928.1   32.68                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
print("Los resultados sugieren que la variable Manufactura tiene un efecto significativo en la variable fibre")
## [1] "Los resultados sugieren que la variable Manufactura tiene un efecto significativo en la variable fibre"
print("a5")
## [1] "a5"
val4<-cor.test(UScereal$sodium,UScereal$sugars, method = "pearson")
print(val4)
## 
##  Pearson's product-moment correlation
## 
## data:  UScereal$sodium and UScereal$sugars
## t = 1.7154, df = 63, p-value = 0.09119
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.03442933  0.43284182
## sample estimates:
##       cor 
## 0.2112437
print("de acuerdo al P-valor, no existe evidencia sifuciete de una correlación entre ambas variables")
## [1] "de acuerdo al P-valor, no existe evidencia sifuciete de una correlación entre ambas variables"
print("2.3a")
## [1] "2.3a"
val5<-cor.test(mammals$body,mammals$brain, method = "pearson")
print(val5)
## 
##  Pearson's product-moment correlation
## 
## data:  mammals$body and mammals$brain
## t = 20.278, df = 60, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8926796 0.9599518
## sample estimates:
##       cor 
## 0.9341638
print("la relación es positiva y muy fuerte")
## [1] "la relación es positiva y muy fuerte"
print("2.3b")
## [1] "2.3b"
plot(mammals$body, mammals$brain, main = "Relación entre peso corporal y peso del cerebro",
     xlab = "Peso corporal", ylab = "Peso del cerebro", pch = 16)
abline(lm(mammals$brain ~ mammals$body), col = "red", lwd = 2)

print("2.3c")
## [1] "2.3c"
plot(log10(mammals$body), log10(mammals$brain),
     main = "Relación entre log(peso corporal) y log(peso del cerebro)",
     xlab = "Log(Peso corporal)", ylab = "Log(Peso del cerebro)", pch = 16)
abline(lm(log10(mammals$brain) ~ log10(mammals$body)), col = "red", lwd = 2) 

#se realiza una grafica de disperción, 
#los valores con logaritmos es para disminuir la escala del eje x

print("En la gráfica se observa un comportamiento lienal")
## [1] "En la gráfica se observa un comportamiento lienal"
print(2.4)
## [1] 2.4
# Graficar relaciones individuales
pairs(emissions[, c("GDP", "perCapita", "CO2")], 
      main = "Relaciones entre GDP, perCapita y CO2",
      pch = 16, col = "blue")

print("2.4a")
## [1] "2.4a"
em1<-cor.test(emissions$GDP,emissions$perCapita,method = "pearson")
print(em1)
## 
##  Pearson's product-moment correlation
## 
## data:  emissions$GDP and emissions$perCapita
## t = 2.3502, df = 24, p-value = 0.02732
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.05427105 0.70222969
## sample estimates:
##       cor 
## 0.4325303
print("Existe una correlación Moderada")
## [1] "Existe una correlación Moderada"
em2<-cor.test(emissions$GDP,emissions$CO2,method = "pearson")
print(em2)
## 
##  Pearson's product-moment correlation
## 
## data:  emissions$GDP and emissions$CO2
## t = 14.933, df = 24, p-value = 1.197e-13
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8906170 0.9776873
## sample estimates:
##       cor 
## 0.9501753
print("Hay una correlación positiva extremadamente fuerte y estadísticamente significativa entre GDP y CO2")
## [1] "Hay una correlación positiva extremadamente fuerte y estadísticamente significativa entre GDP y CO2"
em3<-cor.test(emissions$perCapita,emissions$CO2,method = "pearson")
print(em3)
## 
##  Pearson's product-moment correlation
## 
## data:  emissions$perCapita and emissions$CO2
## t = 1.4056, df = 24, p-value = 0.1726
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1248987  0.5991417
## sample estimates:
##       cor 
## 0.2757962
print("no se puede concluir que las variables tengan una relación lineal")
## [1] "no se puede concluir que las variables tengan una relación lineal"
print("2.4b")
## [1] "2.4b"
# Entrenar el modelo
model <- lm(CO2 ~ GDP + perCapita, data = emissions)
summary(model)
## 
## Call:
## lm(formula = CO2 ~ GDP + 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 *  
## GDP          8.406e-04  5.198e-05  16.172 4.68e-14 ***
## 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
par(mfrow = c(2, 2))
plot(model)

# Predicción con los datos existentes
emissions$predicted_CO2 <- predict(model)

# Comparar predicciones con valores reales
plot(emissions$CO2, emissions$predicted_CO2, 
     xlab = "CO2 real", ylab = "CO2 predicho", pch = 16, col = "green")
abline(0, 1, col = "red", lwd = 2)  # Línea ideal

print("2.4c")
## [1] "2.4c"
# Calcular la distancia de Cook
cooksd <- cooks.distance(model)

# Identificar las observaciones con una distancia de Cook alta
outliers <- which(cooksd > (4 / nrow(emissions)))  # Umbral común: 4/n

# Ver las observaciones identificadas como atípicas
emissions[outliers, ]
##                  GDP perCapita  CO2 predicted_CO2
## UnitedStates 8083000     29647 6750     6403.7201
## Japan        3080000     24409 1320     2357.2746
## Russia        692000      4727 2000      948.0306
# Eliminar los valores atípicos del conjunto de datos
emissions_clean <- emissions[-outliers, ]

# Ajustar nuevamente el modelo sin los valores atípicos
model_clean <- lm(CO2 ~ GDP + perCapita, data = emissions_clean)
summary(model_clean)  # Resumen del nuevo modelo
## 
## Call:
## lm(formula = CO2 ~ GDP + perCapita, data = emissions_clean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -357.01  -72.86  -17.64   44.02  519.82 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.056e+02  1.123e+02   1.831   0.0821 .  
## GDP          7.151e-04  8.823e-05   8.106 9.51e-08 ***
## perCapita   -1.083e-02  6.385e-03  -1.697   0.1053    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 189.5 on 20 degrees of freedom
## Multiple R-squared:  0.7699, Adjusted R-squared:  0.7469 
## F-statistic: 33.45 on 2 and 20 DF,  p-value: 4.166e-07
# Comparar los coeficientes y el ajuste de los modelos
summary(model)$r.squared  # R^2 del modelo original
## [1] 0.9253134
summary(model_clean)$r.squared  # R^2 del modelo ajustado
## [1] 0.7698695
# Graficar los residuos del nuevo modelo
par(mfrow = c(2, 2))

plot(model_clean)

print("2.5A")
## [1] "2.5A"
# Crear una nueva columna con el cambio de peso
anorexia$WeightChange <- anorexia$Postwt - anorexia$Prewt

# Calcular la media del cambio de peso para cada tratamiento
treatment_effectiveness <- aggregate(WeightChange ~ Treat, data = anorexia, mean)

# Ordenar para identificar el tratamiento más efectivo
treatment_effectiveness <- treatment_effectiveness[order(-treatment_effectiveness$WeightChange), ]
print(treatment_effectiveness)
##   Treat WeightChange
## 3    FT     7.264706
## 1   CBT     3.006897
## 2  Cont    -0.450000
# El tratamiento con la mayor media de cambio de peso es el más efectivo
print("El tratamiento con más efectivo es FT")
## [1] "El tratamiento con más efectivo es FT"
print("2.5B")
## [1] "2.5B"
# Contar los pacientes que ganaron y perdieron peso
weight_outcome <- table(ifelse(anorexia$WeightChange > 0, "Ganaron", "perdieron"))

print(weight_outcome)
## 
##   Ganaron perdieron 
##        42        30
print("2,6A")
## [1] "2,6A"
# Generar dos vectores de 50 datos aleatorios
set.seed(123)  # Para reproducibilidad
vector1 <- rnorm(50, mean = 0, sd = 1)
vector2 <- rnorm(50, mean = 2, sd = 1)

# Ver los primeros valores de los vectores generados
head(vector1)
## [1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499
head(vector2)
## [1] 2.253319 1.971453 1.957130 3.368602 1.774229 3.516471
# Prueba de normalidad usando Shapiro-Wilk
shapiro_test_vector1 <- shapiro.test(vector1)
shapiro_test_vector2 <- shapiro.test(vector2)

# Imprimir los resultados de la prueba
shapiro_test_vector1
## 
##  Shapiro-Wilk normality test
## 
## data:  vector1
## W = 0.98928, p-value = 0.9279
shapiro_test_vector2
## 
##  Shapiro-Wilk normality test
## 
## data:  vector2
## W = 0.99073, p-value = 0.9618
print("para los vectores que sacó inicialmente presentó un p-valor superior a 0.05 lo que indica que se comportan como normal")
## [1] "para los vectores que sacó inicialmente presentó un p-valor superior a 0.05 lo que indica que se comportan como normal"
print("2.6B")
## [1] "2.6B"
# Prueba t de Student para determinar diferencias significativas entre los dos vectores
t_test_result <- t.test(vector1, vector2)

# Imprimir los resultados de la prueba t
t_test_result
## 
##  Welch Two Sample t-test
## 
## data:  vector1 and vector2
## t = -11.532, df = 97.951, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -2.475449 -1.748561
## sample estimates:
##  mean of x  mean of y 
## 0.03440355 2.14640827
print("para los primeros valores presentados en los vectores se evidenció diferencias significativas entre sus medias t=2.2e-16")
## [1] "para los primeros valores presentados en los vectores se evidenció diferencias significativas entre sus medias t=2.2e-16"
print("2.7A")
## [1] "2.7A"
# Generar un vector de 50 datos de una distribución normal univariada
set.seed(123)  # Para reproducibilidad
normal_vector <- rnorm(50, mean = 0, sd = 1)

# Generar un vector de 50 datos de una distribución normal bivariada
# Creamos una matriz de varianzas y covarianzas
mu <- c(0, 0)  # medias
sigma <- matrix(c(1, 0.5, 0.5, 1), nrow = 2)  # varianzas y covarianzas
bivariate_data <- mvrnorm(50, mu = mu, Sigma = sigma)

# Extraer los dos vectores univariados del bivariado (primer y segundo componente)
bivariate_vector1 <- bivariate_data[, 1]
bivariate_vector2 <- bivariate_data[, 2]

# Ver los primeros datos generados
head(normal_vector)
## [1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499
head(bivariate_vector1)
## [1]  0.57458355 -0.15316407  0.08621903  1.35901565  0.28028587  1.33581593
head(bivariate_vector2)
## [1] -0.1358230  0.1037196 -0.1604728  1.0114730 -0.6713327  1.2907882
# Realizar la prueba de normalidad Shapiro-Wilk
shapiro_test_normal <- shapiro.test(normal_vector)
shapiro_test_bivariate1 <- shapiro.test(bivariate_vector1)
shapiro_test_bivariate2 <- shapiro.test(bivariate_vector2)

# Mostrar los resultados de las pruebas
shapiro_test_normal
## 
##  Shapiro-Wilk normality test
## 
## data:  normal_vector
## W = 0.98928, p-value = 0.9279
shapiro_test_bivariate1
## 
##  Shapiro-Wilk normality test
## 
## data:  bivariate_vector1
## W = 0.98574, p-value = 0.8028
shapiro_test_bivariate2
## 
##  Shapiro-Wilk normality test
## 
## data:  bivariate_vector2
## W = 0.97922, p-value = 0.5197
print("segun la prueba los datos si siguen una distribución normal ")
## [1] "segun la prueba los datos si siguen una distribución normal "
print("2.7B")
## [1] "2.7B"
# Realizar la prueba t de Student entre los vectores univariados
t_test_normal_bivariate1 <- t.test(normal_vector, bivariate_vector1)
t_test_normal_bivariate2 <- t.test(normal_vector, bivariate_vector2)

# Mostrar los resultados de la prueba t
t_test_normal_bivariate1
## 
##  Welch Two Sample t-test
## 
## data:  normal_vector and bivariate_vector1
## t = -1.144, df = 97.56, p-value = 0.2554
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.5998292  0.1611493
## sample estimates:
##  mean of x  mean of y 
## 0.03440355 0.25374350
t_test_normal_bivariate2
## 
##  Welch Two Sample t-test
## 
## data:  normal_vector and bivariate_vector2
## t = 0.19346, df = 97.46, p-value = 0.847
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.3199824  0.3891034
## sample estimates:
##    mean of x    mean of y 
##  0.034403549 -0.000156937
print("no se puede concluir que haya diferencias significativas entre las medias")
## [1] "no se puede concluir que haya diferencias significativas entre las medias"
print("2.8A")
## [1] "2.8A"
# Generar un vector de 100 datos aleatorios de una distribución normal
set.seed(123)  # Para asegurar que los resultados sean reproducibles
data1 <- rnorm(100, mean = 0, sd = 1)

# Mostrar el histograma del primer conjunto de datos
hist(data1, main = "Histograma de data1", xlab = "Valores", col = "lightblue", border = "black")

print("2.8B")
## [1] "2.8B"
# Generar un segundo vector de 100 datos aleatorios de una distribución normal
data2 <- rnorm(100, mean = 0, sd = 1)

# Mostrar el histograma del segundo conjunto de datos
hist(data2, main = "Histograma de data2", xlab = "Valores", col = "lightgreen", border = "black")

print("2.8C")
## [1] "2.8C"
# Resumen estadístico de ambos conjuntos de datos
summary(data1)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -2.30917 -0.49385  0.06176  0.09041  0.69182  2.18733
summary(data2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -2.0532 -0.8011 -0.2258 -0.1075  0.4678  3.2410
print("2.9")
## [1] "2.9"
# Instalar el paquete pwr si no está instalado
if (!require(pwr)) install.packages("pwr")
library(pwr)

# Cálculo del tamaño de la muestra necesario para detectar una diferencia significativa
result <- pwr.t.test(d = 5/10, sig.level = 0.05, power = 0.80, type = "two.sample")

# Mostrar el resultado
result
## 
##      Two-sample t test power calculation 
## 
##               n = 63.76561
##               d = 0.5
##       sig.level = 0.05
##           power = 0.8
##     alternative = two.sided
## 
## NOTE: n is number in *each* group
print("Los datos aquí mostrados son aleatorios ya que aún no tengo datos reales")
## [1] "Los datos aquí mostrados son aleatorios ya que aún no tengo datos reales"
# Generar datos de ejemplo para casos de malaria y temperatura
set.seed(123)  # Para que los resultados sean reproducibles
casos_malaria <- sample(1:1000, 100, replace = TRUE)  # Casos de malaria (números aleatorios entre 1 y 1000)
temperatura <- rnorm(100, mean = 30, sd = 5)  # Temperatura (números aleatorios con media 30 y desviación estándar 5)

# Crear el data frame
datos_malaria <- data.frame(casos_malaria, temperatura)

# Ver el data frame
head(datos_malaria)  # Mostramos las primeras 6 filas 
##   casos_malaria temperatura
## 1           415    36.14196
## 2           463    31.38012
## 3           179    24.75512
## 4           526    27.39565
## 5           195    38.11601
## 6           938    24.64966
# Calcular la correlación entre casos de malaria y temperatura
correlacion <- cor(datos_malaria$casos_malaria, datos_malaria$temperatura)

# Mostrar el resultado de la correlación
print(correlacion)
## [1] 0.0874031
print("la correlación entre los casos de malaria y la temperatura es positiva pero muy debil")
## [1] "la correlación entre los casos de malaria y la temperatura es positiva pero muy debil"
# Agregar una línea de regresión lineal al gráfico
plot(datos_malaria$casos_malaria, datos_malaria$temperatura,
     main = "Diagrama de Dispersión: Casos de Malaria vs Temperatura",
     xlab = "Casos de Malaria", ylab = "Temperatura (°C)",
     pch = 19, col = "blue")
abline(lm(temperatura ~ casos_malaria, data = datos_malaria), col = "red")  # Línea de regresión en rojo