Este documento contiene las instrucciones y enunciados asociados a la Prueba Especial Programada 2 (PEP2) del curso de Estadística Computacional. Con respecto a ello:
Como tesis, uno de los estudiantes de Ingeniería Civil Informática que oriento ha desarrollado una aplicación web, que permite a los jugadores(as) y organizadores(as) de torneos (1) usar servidores de Counter-Strike: Global Offensive (CS: GO) y (2) procesar datos con baja latencia y buen tickrate.
Como parte de la evaluación de la aplicación, el estudiante registró los tiempos de carga en segundos de la página de inicio de su aplicación y de otros sitios web, obteniendo los siguientes resultados.
=read.csv("datos_preg1.csv",sep=";",header=T)
datos
#-------------------------------
# PARTE 1
#-------------------------------
#Gráfico
=ggplot(datos, aes(source,landing_page)) + geom_boxplot(fill = "paleturquoise", color = "cadetblue4") +
glabs(x="Sitio web", y="Tiempos de carga - landing page") +
theme_bw() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) + theme(text = element_text(size = 12))
ggplotly(g)
=describeBy(datos$landing_page, datos$source, mat = F)
estadisticosprint(estadisticos)
##
## Descriptive statistics by group
## group: estudiante
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 44 4.08 0.62 3.97 3.97 0.33 3.32 6.9 3.58 2.62 8.39 0.09
## ------------------------------------------------------------
## group: otras webs
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 10 1.73 0.83 1.4 1.63 0.34 1.01 3.26 2.25 1.08 -0.6 0.26
#Evaluación de normalidad para los datos del estudiante
#Pruebas de hipótesis
=lillie.test(datos$landing_page[which(datos$source=="estudiante")])
t1a=shapiro.test(datos$landing_page[which(datos$source=="estudiante")])
t1bprint(t1a)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: datos$landing_page[which(datos$source == "estudiante")]
## D = 0.21449, p-value = 2.408e-05
print(t1b)
##
## Shapiro-Wilk normality test
##
## data: datos$landing_page[which(datos$source == "estudiante")]
## W = 0.7192, p-value = 7.594e-08
#QQPLOT2
qqnorm(datos$landing_page[which(datos$source=="estudiante")], pch = 19, col = "darkblue")
qqline(datos$landing_page[which(datos$source=="estudiante")])
#Los datos no son normales y existe diferencia entre los tiempos de carga con las otras web - para pior
=wilcox.test(landing_page~source,datos,paired = FALSE,exact=F)
resultadoprint(resultado)
##
## Wilcoxon rank sum test with continuity correction
##
## data: landing_page by source
## W = 440, p-value = 1.014e-06
## alternative hypothesis: true location shift is not equal to 0
#-------------------------------
# PARTE 2
#-------------------------------
#Dato que no son normales
=datos$landing_page[which(datos$source=="estudiante")]
x=wilcox.test(x,mu=10.3,alternative="less",exact=F)
resultadoprint(resultado)
##
## Wilcoxon signed rank test with continuity correction
##
## data: x
## V = 0, p-value = 3.934e-09
## alternative hypothesis: true location is less than 10.3
Durante la última clase revisamos la relación entre el gasto percápita en salud y la expectativa de vida en años de las personas que viven en los países de la Organización para la Cooperación y el Desarrollo Económicos (OCDE). Los datos utilizados correspondían al año 2015 fueron descargados desde el sitio Our world in data.
Para su facilidad, estos datos han sido organizados, tabulados y disponibilizados en este sitio, pudiendo ser graficados de la siguiente manera.
=read.csv("datos_preg2.csv",sep=";",header=T)
datos
=ggplot(datos,aes(Spend_health_US ,year_expectative,,label=Country)) +
graficogeom_point(aes(Spend_health_US,year_expectative),datos,color="darkblue",alpha=0.4) +
theme_bw() + xlab("Gasto percápita en salud ($US)") + ylab("Expectativa de vida en años") +
ggtitle("Expectativa de vida y Gasto percápita en salud ($US)") +
theme(plot.title = element_text(hjust = 0.5)) + geom_text(hjust=0.1, vjust=0.1)
ggplotly(grafico)
Para estos datos:
#--------------------------
#Regresión lineal
#--------------------------
= lm(year_expectative~Spend_health_US,datos)
fit_linear print(fit_linear)
##
## Call:
## lm(formula = year_expectative ~ Spend_health_US, data = datos)
##
## Coefficients:
## (Intercept) Spend_health_US
## 7.761e+01 6.715e-04
print(summary(fit_linear))
##
## Call:
## lm(formula = year_expectative ~ Spend_health_US, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.0440 -0.8353 0.2689 1.7005 3.2080
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.761e+01 9.545e-01 81.314 < 2e-16 ***
## Spend_health_US 6.715e-04 2.151e-04 3.122 0.00496 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.3 on 22 degrees of freedom
## Multiple R-squared: 0.307, Adjusted R-squared: 0.2755
## F-statistic: 9.747 on 1 and 22 DF, p-value: 0.004962
=ggplot(datos,aes(Spend_health_US ,year_expectative,,label=Country)) +
grafico_lrgeom_point(aes(Spend_health_US,year_expectative),datos,color="darkblue",alpha=0.4) +
theme_bw() + xlab("Gasto percápita en salud ($US)") + ylab("Expectativa de vida en años") +
ggtitle("Relación gasto percápita en salud ($US) y expectativa de vida para diferentes países") +
theme(plot.title = element_text(hjust = 0.5)) + geom_text(hjust=0.1, vjust=0.1) +
geom_smooth(method ="lm", formula = y ~ x,level=0.95)
ggplotly(grafico_lr)
#--------------------------
#Regresión logarítmica
#--------------------------
= nls(year_expectative ~a+b*log(Spend_health_US),data = datos, start = list(a=1,b=1))
fit_log print(summary(fit_log))
##
## Formula: year_expectative ~ a + b * log(Spend_health_US)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## a 55.7772 5.4121 10.306 6.96e-10 ***
## b 3.0205 0.6672 4.527 0.000167 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.988 on 22 degrees of freedom
##
## Number of iterations to convergence: 1
## Achieved convergence tolerance: 5.31e-08
$year_expectative_proy= 55.7772 + 3.0205 * log(datos$Spend_health_US)
datos
=ggplot(datos,aes(Spend_health_US ,year_expectative,,label=Country)) +
grafico_logrgeom_point(aes(Spend_health_US,year_expectative),datos,color="darkblue",alpha=0.4) +
theme_bw() + xlab("Gasto percápita en saluda ($US)") + ylab("Expectativa de vida en años") +
ggtitle("Relación gasto percápita en saluda ($US) y expectativa de vida para diferentes países") +
theme(plot.title = element_text(hjust = 0.5)) + geom_text(hjust=0.1, vjust=0.1) +
geom_line(aes(Spend_health_US,year_expectative_proy),datos,color="red",cex=1,alpha=0.5) +
geom_smooth(method ="gam", formula = y ~ log(x),level=0.95)
ggplotly(grafico_logr)
Los(as) autores(as) (Blanco-Cedres, Pérez Rancel, and Osuna 2005) realizaron un estudio descriptivo para identificar conocimientos sobre VIH/SIDA y conductas sexuales en adolescentes universitarios de distintos estratos socioeconómicos en la Gran Caracas, Venezuela. Para ello, aplicaron una encuesta que exploró diferentes aspectos: sociodemográficos, económicos, conocimiento sobre VIH/SIDA y conductas sexuales asociadas con el virus.
La muestra de estudiantes consideró dos universidades diferentes: Universidad Metropolitana (Unimet) y Universidad Central de Venezuela (UCV) distribuidos de la siguiente manera.
Sexo biológico estudiantado | UNIMET | UCV |
---|---|---|
Masculino | 69 | 97 |
Femenino | 43 | 59 |
Por otro lado, los ingresos mensuales de las familias del estudiantado siguieron la siguiente distribución.
Ingreso familiar x mes ($US) | UNIMET | UCV |
---|---|---|
Menor o igual a 1000 US | 31 | 80 |
Más de 1000 US | 81 | 76 |
#-----------------
# Muestra homogénea
#-----------------
= rbind(c(69,43),c(97,59))
tabla colnames(tabla) = c("UNIMET","UCV")
rownames(tabla) = c("Masculino","Femenino")
kable(tabla)
UNIMET | UCV | |
---|---|---|
Masculino | 69 | 43 |
Femenino | 97 | 59 |
print(chisq.test(tabla,correct=F))
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 0.0090591, df = 1, p-value = 0.9242
#-----------------
# Diferencias entre ingresos e universidad
#-----------------
= rbind(c(31,80),c(81,76))
tabla colnames(tabla) = c("UNIMET","UCV")
rownames(tabla) = c("Menor o igual a 1000 US","Más de 1000")
kable(tabla)
UNIMET | UCV | |
---|---|---|
Menor o igual a 1000 US | 31 | 80 |
Más de 1000 | 81 | 76 |
print(chisq.test(tabla,correct=F))
##
## Pearson's Chi-squared test
##
## data: tabla
## X-squared = 14.969, df = 1, p-value = 0.0001093