Primero vamos a cargar la base de datos indicada en la tabla 4.6 del ejercicio 4.39
data <-read.table("T4-6.DAT", col.names = c("Indep", "Supp", "Benev", "Conform", "Leader","Gender","Socio"))
#(a) Examinar cada variable individualmente Se pide analizar
normalidad marginal (univariada).
Test Shapiro-Wilk.
Si p ≥ 0.05 → no se rechaza la normalidad para esa variable.
Si p < 0.05 → esa variable muestra evidencia de no ser normal.
apply(data[,1:5], 2, shapiro.test)
## $Indep
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.97486, p-value = 0.01617
##
##
## $Supp
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.97788, p-value = 0.03198
##
##
## $Benev
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.98387, p-value = 0.1269
##
##
## $Conform
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.98461, p-value = 0.15
##
##
## $Leader
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.96256, p-value = 0.001196
En esta prueba indica que “Benev”, “Conform” son las unicas variables que no se rechaza la normalidad, mientras que el resto de variables muestran evidencia de no ser normales.
#(b) Normalidad multivariada Utilizando una prueba royston se podrá
verificar si existe normalidad multivariada,
Si p ≥ 0.05 → los datos podrían provenir de una distribución normal
multivariada.
Si p < 0.05 → se rechaza la hipótesis de normalidad multivariada.
library(MVN)
mvn(data[,1:5],mvn_test ="royston")
## $multivariate_normality
## Test Statistic p.value Method MVN
## 1 Royston 23.208 <0.001 asymptotic ✗ Not normal
##
## $univariate_normality
## Test Variable Statistic p.value Normality
## 1 Anderson-Darling Indep 1.003 0.012 ✗ Not normal
## 2 Anderson-Darling Supp 1.210 0.004 ✗ Not normal
## 3 Anderson-Darling Benev 0.540 0.163 ✓ Normal
## 4 Anderson-Darling Conform 0.587 0.124 ✓ Normal
## 5 Anderson-Darling Leader 1.465 <0.001 ✗ Not normal
##
## $descriptives
## Variable n Mean Std.Dev Median Min Max 25th 75th Skew Kurtosis
## 1 Indep 130 15.669 5.895 15 3 31 11.25 19 0.432 2.670
## 2 Supp 130 17.077 4.185 18 6 27 14.00 20 -0.314 2.611
## 3 Benev 130 18.785 5.463 19 2 29 15.00 22 -0.302 2.829
## 4 Conform 130 15.500 5.748 16 1 27 11.25 19 -0.163 2.409
## 5 Leader 130 11.731 5.192 11 2 29 8.00 15 0.677 3.173
##
## $data
## Indep Supp Benev Conform Leader
## 1 27 13 14 20 11
## 2 12 13 24 25 6
## 3 14 20 15 16 7
## 4 18 20 17 12 6
## 5 9 22 22 21 6
## 6 18 15 17 25 9
## 7 12 18 29 18 4
## 8 10 19 21 10 16
## 9 8 23 23 19 9
## 10 21 11 17 9 16
## 11 15 16 16 12 19
## 12 9 20 29 14 7
## 13 16 22 24 17 4
## 14 14 19 17 18 15
## 15 13 26 23 17 5
## 16 13 20 22 18 5
## 17 18 17 11 23 14
## 18 15 24 15 8 15
## 19 18 22 24 11 6
## 20 18 18 17 24 7
## 21 9 16 27 18 9
## 22 25 17 15 14 14
## 23 9 21 21 18 4
## 24 28 17 19 12 7
## 25 18 18 26 14 6
## 26 25 13 11 20 6
## 27 6 16 22 23 15
## 28 25 13 18 9 15
## 29 4 23 27 16 8
## 30 17 7 19 22 12
## 31 13 14 16 20 16
## 32 14 16 21 19 10
## 33 17 12 22 19 12
## 34 14 16 19 18 13
## 35 10 19 23 23 3
## 36 8 21 16 20 10
## 37 15 12 15 23 11
## 38 8 22 18 15 9
## 39 9 17 29 20 10
## 40 9 14 23 21 12
## 41 21 16 22 11 11
## 42 12 18 19 18 8
## 43 18 20 13 13 17
## 44 10 14 28 20 10
## 45 15 11 22 25 9
## 46 20 14 14 9 17
## 47 7 14 23 17 23
## 48 22 17 11 15 11
## 49 18 21 15 8 15
## 50 7 14 24 24 14
## 51 13 17 19 24 8
## 52 15 20 17 19 10
## 53 15 19 29 17 2
## 54 7 21 21 25 8
## 55 29 16 8 12 18
## 56 14 16 23 22 9
## 57 15 19 12 15 14
## 58 19 17 21 18 5
## 59 9 14 21 18 17
## 60 25 6 19 11 25
## 61 10 18 22 18 12
## 62 16 18 19 21 10
## 63 12 14 21 27 9
## 64 12 21 19 17 10
## 65 18 22 14 8 23
## 66 15 12 15 19 17
## 67 8 15 25 17 16
## 68 7 23 29 14 8
## 69 15 16 14 18 15
## 70 10 19 22 15 14
## 71 10 11 28 18 9
## 72 20 10 14 27 13
## 73 27 13 19 4 17
## 74 29 21 11 4 13
## 75 16 13 9 16 22
## 76 3 20 25 20 8
## 77 12 17 9 14 21
## 78 19 27 12 6 7
## 79 22 17 21 11 9
## 80 20 11 23 18 7
## 81 15 21 21 14 8
## 82 12 12 28 25 5
## 83 26 18 9 1 19
## 84 26 22 16 5 14
## 85 12 17 10 15 20
## 86 22 12 18 14 14
## 87 19 20 17 15 11
## 88 22 24 9 11 10
## 89 23 15 14 14 11
## 90 9 19 18 21 6
## 91 15 12 12 17 21
## 92 15 20 20 10 11
## 93 16 19 19 16 7
## 94 11 20 22 13 11
## 95 14 7 20 14 19
## 96 13 11 26 9 22
## 97 21 13 18 19 14
## 98 12 19 20 7 14
## 99 22 22 14 13 4
## 100 21 21 21 5 9
## 101 17 19 25 10 14
## 102 14 18 12 12 17
## 103 16 19 14 12 15
## 104 24 9 2 20 23
## 105 21 18 18 8 8
## 106 11 11 24 27 9
## 107 28 23 11 6 10
## 108 13 19 24 19 4
## 109 17 19 20 8 6
## 110 14 20 21 13 7
## 111 31 10 6 7 21
## 112 19 20 12 4 18
## 113 10 19 22 11 11
## 114 10 22 26 9 10
## 115 18 15 19 17 9
## 116 18 20 8 6 17
## 117 13 19 24 17 12
## 118 18 24 16 12 10
## 119 20 13 18 23 7
## 120 16 21 19 12 13
## 121 9 19 19 19 12
## 122 10 15 20 22 10
## 123 13 22 14 12 9
## 124 22 10 17 14 18
## 125 16 18 16 8 16
## 126 10 11 26 17 10
## 127 14 12 14 11 29
## 128 19 11 23 18 13
## 129 27 19 22 7 9
## 130 10 17 22 22 8
##
## $subset
## NULL
##
## $outlierMethod
## [1] "none"
##
## attr(,"class")
## [1] "mvn"
En este caso p < 0.05, lo que indica que los 5 indicadores psicológicos no siguen una normalidad conjunta.
#(c) Transformacion Box–Cox para la normalidad
library(MASS)
library(nortest)
library(car)
## Cargando paquete requerido: carData
library(moments)
df<-as.data.frame(data[,1:5])
lambda_bc<-sapply(df, function(V) {
pt<-powerTransform(V ~ 1, family="bcPower")
pt$lambda})
lambda_bc
## Indep.Y1 Supp.Y1 Benev.Y1 Conform.Y1 Leader.Y1
## 0.5237726 1.3962619 1.2618757 1.0392663 0.3815471
df_bc <- as.data.frame(mapply(bcPower, df, lambda_bc))
names(df_bc) <- names(df)
univ_tests <- function(x) {
c(
SW = shapiro.test(x)$p.value,
AD = ad.test(x)$p.value,
CVM = cvm.test(x)$p.value,
KS_L = lillie.test(x)$p.value,
Pear = pearson.test(x)$p.value,
SF = sf.test(x)$p.value,
JB = jarque.test(x)$p.value)}
uni_orig <- t(sapply(df, univ_tests))
uni_bc <- t(sapply(df_bc, univ_tests))
round(uni_orig, 4)
## SW AD CVM KS_L Pear SF JB
## Indep 0.0162 0.0117 0.0248 0.0098 0.0000 0.0275 0.0984
## Supp 0.0320 0.0036 0.0027 0.0002 0.0001 0.0412 0.2287
## Benev 0.1269 0.1634 0.1380 0.0380 0.6698 0.1601 0.3431
## Conform 0.1500 0.1236 0.0923 0.0057 0.0000 0.2583 0.2916
## Leader 0.0012 0.0008 0.0011 0.0001 0.0010 0.0020 0.0064
round(uni_bc, 4)
## SW AD CVM KS_L Pear SF JB
## Indep 0.3965 0.3156 0.3653 0.1250 0.2211 0.4229 0.7866
## Supp 0.1050 0.0177 0.0143 0.0014 0.0001 0.1283 0.4800
## Benev 0.2733 0.3257 0.2986 0.1141 0.6698 0.4050 0.5716
## Conform 0.1611 0.1399 0.1065 0.0080 0.0000 0.2831 0.3010
## Leader 0.7276 0.3412 0.2314 0.0701 0.0588 0.6844 0.8208
Al aplicar de nuevo las pruebas de normalidad, se observó que algunas pruebas corrigieron la normalidad. Los tests de Shapiro–Wilk, Shapiro–Francia (SF) y Jarque–Bera (JB) dieron p-valores ≥ 0.05, es decir, no rechazaron la normalidad. Esto indica que tras la transformación, las distribuciones de esas variables se aproximaron lo suficiente a la normal en los test antes mencionados.