# Crear tabla comparativa
comparacion <- data.frame(
Aspecto = c("Definición", "Para qué", "Características principales"),
Paramétrica = c(
"Según la distribución de los datos, siendo que son datos con normalidad u homogeneidad de varianzas...",
"Permite inferencias precisas cuando los supuestos se cumplen.",
"Usa medias y varianzas; requiere datos en escala de intervalo o razón."
),
No_Paramétrica = c(
"Cuando los datos no siguen una distribución normal...",
"Se aplica cuando los datos no cumplen normalidad.",
"Puede trabajar con valores atípicos (outliers) porque se trabaja con rangos o frecuencias"
)
)
library(knitr)
kable(comparacion, caption = "Cuadro comparativo: Estadística Paramétrica vs No Paramétrica")
| Aspecto | Paramétrica | No_Paramétrica |
|---|---|---|
| Definición | Según la distribución de los datos, siendo que son datos con normalidad u homogeneidad de varianzas… | Cuando los datos no siguen una distribución normal… |
| Para qué | Permite inferencias precisas cuando los supuestos se cumplen. | Se aplica cuando los datos no cumplen normalidad. |
| Características principales | Usa medias y varianzas; requiere datos en escala de intervalo o razón. | Puede trabajar con valores atípicos (outliers) porque se trabaja con rangos o frecuencias |
a <- c(28,26,31,21,21,32,24,26,28,30,26,23,20,28,33,28,33,23,27,31,28,29,34,32,33)
library(moments)
skewness(a) # Coeficiente de asimetría
## [1] -0.3124437
kurtosis(a) # Curtosis
## [1] 2.094288
Resultado: Asimetría = 4.39 → desviación no normal.
qqnorm(a) # gráfico Q-Q
qqline(a, col=2) # línea de referencia en rojo
xb <- mean(a) # media
s <- sd(a) # desviación estándar
hist(a, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
# Kolmogorov-Smirnov
ks.test(a, "pnorm", mean = mean(a), sd = sd(a))
## Warning in ks.test.default(a, "pnorm", mean = mean(a), sd = sd(a)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: a
## D = 0.11939, p-value = 0.8683
## alternative hypothesis: two-sided
# Anderson-Darling
library(nortest)
ad.test(a)
##
## Anderson-Darling normality test
##
## data: a
## A = 0.40996, p-value = 0.3188
# Shapiro-Wilk
shapiro.test(a)
##
## Shapiro-Wilk normality test
##
## data: a
## W = 0.94766, p-value = 0.2219
Interpretación:
- KS: p = 0.8683 → puede ser no normal.
- AD: p = 0.3188 → puede ser normal.
- Shapiro-Wilk: p = 0.2219 → parece indicar normalidad.
Conclusión: La variable a aprueba ser normal.
b <- c(22,29,24,24,23,23,25,23,33,28,31,23,28,28,26,30,30,28,22,19,29,18,31,28,27)
library(moments)
skewness(b) # Coeficiente de asimetría
## [1] -0.2771581
kurtosis(b) # Curtosis
## [1] 2.293562
Resultado: Asimetría = -0.277 → considerado normal. Curtosis = 2.29 → puede ser normal.
qqnorm(b)
qqline(b, col=2)
Interpretación: El Q-Q plot sigue la línea roja, aunque algunos
puntos se desvían; sugiere posible normalidad.
xb <- mean(b)
s <- sd(b)
hist(b, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
Interpretación: El histograma indica que la variable
b es normal, ya que la curva se ajusta bien.
ks.test(b, "pnorm", mean = mean(b), sd = sd(b))
## Warning in ks.test.default(b, "pnorm", mean = mean(b), sd = sd(b)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: b
## D = 0.17, p-value = 0.4653
## alternative hypothesis: two-sided
library(nortest)
ad.test(b)
##
## Anderson-Darling normality test
##
## data: b
## A = 0.44321, p-value = 0.2639
shapiro.test(b)
##
## Shapiro-Wilk normality test
##
## data: b
## W = 0.96162, p-value = 0.4477
Interpretación:
- KS: p cercano a 0.5 → puede ser normal.
- AD: p = 0.2639 → puede ser normal.
- Shapiro-Wilk: p = 0.447 → indica normalidad.
Conclusión: La variable b cumple con ser normal.
c <- c(23,26,29,28,25,19,22,27,33,22,22,22,15,19,24,25,20,25,34,21,23,18,26,26,23)
library(moments)
skewness(c) # Coeficiente de asimetría
## [1] 0.4178281
kurtosis(c) # Curtosis
## [1] 3.289485
Resultado: Asimetría = 0.41 → dentro de rango normal. Curtosis = 3.28 → aceptable.
qqnorm(c)
qqline(c, col=2)
Interpretación: El Q-Q plot muestra que los puntos siguen la
línea roja, indicando normalidad.
xb <- mean(c)
s <- sd(c)
hist(c, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
Interpretación: El histograma indica que la variable
c es normal, ya que la curva roja se ajusta bien.
ks.test(c, "pnorm", mean = mean(c), sd = sd(c))
## Warning in ks.test.default(c, "pnorm", mean = mean(c), sd = sd(c)): ties should
## not be present for the one-sample Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: c
## D = 0.11348, p-value = 0.9043
## alternative hypothesis: two-sided
library(nortest)
ad.test(c)
##
## Anderson-Darling normality test
##
## data: c
## A = 0.31651, p-value = 0.5192
shapiro.test(c)
##
## Shapiro-Wilk normality test
##
## data: c
## W = 0.97045, p-value = 0.6566
Interpretación:
- KS: p > 0.05 → normal.
- AD: p aceptable → normal.
- Shapiro-Wilk: p > 0.05 → normal.
Conclusión: La variable c cumple con los criterios de normalidad.
d=c(28,28,25,25,25,30,27,28,29,28,25,28,27,28,30,25,28,28,28,30,27,25,25,28,30)
###Métodos análiticos
###Asímetria y curtosis, donde un valor de -1 y 1 es una ligera desviación
install.packages("moments")
## Warning: package 'moments' is in use and will not be installed
library(moments)
skewness(d) #Coeficiente de asímetria -0.16
## [1] -0.1602332
kurtosis(d) #Curtosis 1.93
## [1] 1.930972
###resultado indica muy leve desviación según valores de skewness y curtosis
### Métodos gráficos no formales – Variable d
#### Q-Q Plot
qqnorm(d) # gráfico Q-Q
qqline(d, col=2) # línea de referencia en rojo
Interpretación: Aunque los puntos siguen en parte la línea
roja, varios se desvían, lo que sugiere posible no normalidad.
xb <- mean(d) # media
s <- sd(d) # desviación estándar
hist(d, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
Interpretación: El histograma indica que la variable
d no es normal, ya que dos barras se salen de la curva
teórica.
##Pruebas formales test de normalidad, donde si dato es cercano a .05 se debe hacer otra #Kolmogorov-Smirnov ks.test(d,“pnorm”,mean= mean(d), sd=sd(d))
##AndersonDarling install.packages(“nortest”) library(nortest) ad.test(d)
##ShapiroWilk shapiro.test(d)
####En conclusión d) cumple no cumple con normalidad según los p-values obtenidos de anderson darling y shapiro wilk ######################################################## ############################
e=c(28,27,28,25,27,28,25,27,29,27,25,25,29,29,29,28,28,25,27,28,28,25,29,25,27)
###Métodos análiticos
###Asímetria y curtosis, donde un valor de -1 y 1 es una ligera desviación
install.packages("moments")
## Warning: package 'moments' is in use and will not be installed
library(moments)
skewness(e) #Coeficiente de asímetria de -0.35
## [1] -0.3554607
kurtosis(e) #Curtosis de 1.742
## [1] 1.742207
###resultado LEVE desviación según valores de skewness y curtosis
### Métodos gráficos no formales – Variable e
#### Q-Q Plot
qqnorm(e) # gráfico Q-Q
qqline(e, col=2) # línea de referencia en rojo
Interpretación: La variable e no sigue la
línea roja; varios puntos se desvían, lo que sugiere no
normalidad.
xb <- mean(e) # media
s <- sd(e) # desviación estándar
hist(e, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
Interpretación: El histograma indica que la variable
e no es normal, ya que varias barras se salen de la
curva teórica.
##Pruebas formales test de normalidad, donde si dato es cercano a .05 se debe hacer otra #Kolmogorov-Smirnov ks.test(e,“pnorm”,mean= mean(e), sd=sd(e))
##AndersonDarling install.packages(“nortest”) library(nortest) ad.test(e)
##ShapiroWilk shapiro.test(e)
####En conclusión e) cumple NO cumple con normalidad según los p-values obtenidos de Anderson dariling y shapiro wilk ######################################################## ##############
f=c(25,28,27,29,27,25,25,25,25,27,27,28,28,25,27,27,25,25,27,28,25,28,29,25,27)
###Métodos análiticos
###Asímetria y curtosis, donde un valor de -1 y 1 es una ligera desviación
install.packages("moments")
## Warning: package 'moments' is in use and will not be installed
library(moments)
skewness(f) #Coeficiente de asímetria de 0.10
## [1] 0.100246
kurtosis(f) #Curtosis de 1.63
## [1] 1.637435
###resultado de valores de skewness y curtosis parecen normales
### Métodos gráficos no formales – Variable f
#### Q-Q Plot
qqnorm(f) # gráfico Q-Q
qqline(f, col=2) # línea de referencia en rojo
Interpretación: La variable f no sigue la
línea roja; varios puntos se desvían, lo que sugiere no
normalidad.
xb <- mean(f) # media
s <- sd(f) # desviación estándar
hist(f, freq = FALSE, col = "blue",
xlab = "Balance", main = "",
xlim = c(xb - 4*s, xb + 4*s), ylim = c(0, .7))
curve(dnorm(x, mean = xb, sd = s), col = 2, lwd = 2, add = TRUE)
Interpretación: El histograma indica que la variable
f no es normal, ya que varias barras se salen de la
curva teórica.
##Pruebas formales test de normalidad, donde si dato es cercano a .05 se debe hacer otra #Kolmogorov-Smirnov ks.test(f,“pnorm”,mean= mean(f), sd=sd(f))
##AndersonDarling install.packages(“nortest”) library(nortest) ad.test(f)
##ShapiroWilk shapiro.test(f)
####En conclusión f) cumple NO cumple con normalidad según los p-values obtenidos #################################################3 ############################################## ######### EJERCICIO 3
A <- c(21,26,31,23,21,30,26,24,22,19)
B <- c(32,30,18,27,25,28,27,27,22,28)
C <- c(26,20,24,27,21,28,24,27,32,32)
D <- c(18,30,24,27,24,21,22,22,29,28)
valores <- c(A, B, C, D)
grupo <- factor(rep(c("A","B","C","D"), each=10))
datos <- data.frame(valores, grupo)
modelo <- aov(valores ~ grupo, data=datos)
summary(modelo)
## Df Sum Sq Mean Sq F value Pr(>F)
## grupo 3 34.9 11.62 0.74 0.535
## Residuals 36 565.9 15.72
Interpretación: El valor p = 0.535 > 0.05, por lo tanto no hay diferencias significativas entre los grupos.
boxplot(valores ~ grupo, data=datos,
col=c("lightblue","lightgreen","lightpink","lightyellow"),
main="Comparación de grupos A, B, C y D",
xlab="Grupos", ylab="Valores")
EJERCICIO 4
ciudad <- c("Cd. Guzmán","Contla","Zapotiltic","Mazamitla",
"Tamazula","Gómez Farías","Huescalapa","Sayula")
policias <- c(4,6,1,8,3,3,6,2)
delitos <- c(7,5,5,4,4,7,6,4)
datos <- data.frame(ciudad, policias, delitos)
correlacion <- cor(policias, delitos)
correlacion
## [1] -0.05911884
Interpretación: La correlación de Pearson es -0.059, muy cercana a 0, lo que indica que no hay correlación lineal entre policías y delitos.
plot(policias, delitos,
main="Relación entre policías y delitos",
xlab="Número de policías",
ylab="Número de delitos",
pch=19, col="blue")
# Añadir la línea de tendencia
abline(lm(delitos ~ policias), col="red", lwd=2)
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.