#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
