“Ejercicio 1”
library(stargazer) #La primera línea de código carga la biblioteca stargazer. Esta biblioteca proporciona una forma sencilla de crear tablas de resumen elegantes y legibles para modelos de regresión y otros tipos de análisis estadísticos.
##
## Please cite as:
## Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
modelo_ejercicio<-lm(formula = price~lotsize+sqrft+bdrms, data=hprice1) #La segunda línea de código ajusta un modelo de regresión lineal múltiple a los datos de hprice1. El modelo incluye lotsize, sqrft y bdrms como variables predictoras, y price como variable respuesta. La sintaxis formula = price~lotsize+sqrft+bdrms especifica esta relación funcional. El resultado del modelo se almacena en un objeto llamado modelo_ejercicio.
stargazer(modelo_ejercicio, title = "Estadistico de Hprice1", type = "text") #La tercera línea de código genera una tabla de resumen para el modelo utilizando la función stargazer(). Se proporciona el modelo modelo_ejercicio como argumento a la función. La opción title = "Estadistico de Hprice1" establece el título de la tabla, y type = "text" indica que se desea una tabla de texto en lugar de una tabla en formato HTML o LaTeX.
##
## Estadistico de Hprice1
## ===============================================
## Dependent variable:
## ---------------------------
## price
## -----------------------------------------------
## lotsize 0.002***
## (0.001)
##
## sqrft 0.123***
## (0.013)
##
## bdrms 13.853
## (9.010)
##
## Constant -21.770
## (29.475)
##
## -----------------------------------------------
## Observations 88
## R2 0.672
## Adjusted R2 0.661
## Residual Std. Error 59.833 (df = 84)
## F Statistic 57.460*** (df = 3; 84)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Ejericio 2
2.1
library(fitdistrplus) # Esta línea carga la biblioteca stargazer en la sesión de R. stargazer es una biblioteca que ayuda a crear tablas y resúmenes descriptivos de modelos de regresión.
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:wooldridge':
##
## cement
## Loading required package: survival
fit_normal<-fitdist(data = modelo_ejercicio$residuals,distr = "norm") # sta línea ajusta un modelo de regresión lineal utilizando la función lm() de R. La fórmula especifica la relación entre la variable dependiente price y las variables independientes lotsize, sqrft y bdrms. hprice1 es el conjunto de datos utilizado para ajustar el modelo. El modelo ajustado se almacena en el objeto modelo_ejercicio.
plot(fit_normal) # Esta línea crea una tabla que resume los resultados del modelo de regresión ajustado utilizando la función stargazer(). El argumento modelo_ejercicio especifica el modelo a incluir en la tabla. title es el título de la tabla y type especifica el tipo de salida que se desea (en este caso, una tabla de texto).

2.2 Prueba Jarque Bera
library(tseries) #Esta línea carga el paquete "tseries", que es una biblioteca de funciones para el análisis de series de tiempo en R.
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
prueba_JB<-jarque.bera.test(modelo_ejercicio$residuals) #Esta línea realiza una prueba de bondad de ajuste para comprobar si los residuos del modelo de ejercicio se ajustan a una distribución normal. La función jarque.bera.test es parte del paquete "tseries" y toma como argumento los residuos del modelo (guardados en modelo_ejercicio$residuals). El resultado de la prueba se almacena en un objeto llamado prueba_JB.
prueba_JB
##
## Jarque Bera Test
##
## data: modelo_ejercicio$residuals
## X-squared = 32.278, df = 2, p-value = 9.794e-08
library(fastGraph) # Esta línea carga el paquete "fastGraph", que es una biblioteca de funciones para crear gráficos en R.
alpha_sig<-0.05 # Esta línea establece el nivel de significancia de la prueba en un 5% y lo guarda en un objeto llamado alpha_sig.
JB<-prueba_JB$statistic # Esta línea extrae el estadístico de la prueba de bondad de ajuste de la variable prueba_JB y lo guarda en un objeto llamado JB.
gl<-prueba_JB$parameter # Esta línea extrae el número de grados de libertad de la prueba de bondad de ajuste de la variable prueba_JB y lo guarda en un objeto llamado gl.
VC<-qchisq(1-alpha_sig,gl,lower.tail = TRUE) # Esta línea calcula el valor crítico de la prueba de chi-cuadrado usando la función qchisq (que es la función inversa de la distribución de chi-cuadrado) del paquete "stats". Los argumentos son el nivel de significancia (calculado previamente como 1-alpha_sig), los grados de libertad (gl) y la cola inferior (lower.tail = TRUE). El valor crítico se almacena en un objeto llamado VC.
shadeDist(JB,ddist = "dchisq",
parm1 = gl,
lower.tail = FALSE,xmin=0,
sub=paste("VC:",round(VC,2)," ","JB:",round(JB,2))) # Esta línea dibuja un gráfico que muestra la distribución de la estadística de prueba (chi-cuadrado), junto con el valor observado (JB) y el valor crítico (VC). La función shadeDist es parte del paquete "fastGraph" y toma como argumentos la estadística de prueba (JB), el tipo de distribución (ddist = "dchisq" para la distribución chi-cuadrado), los grados de libertad (parm1 = gl), la cola inferior (lower.tail = FALSE), el valor mínimo para el eje x (xmin=0) y una etiqueta para el gráfico (sub=paste("VC:",round(VC,2)," ","JB:",round(JB,2))).

2.3 Prueba de Kolmogorov Smirnov - Lilliefors.
library(dplyr) # Carga el paquete dplyr para manipulación de datos, que proporciona una gramática para manipular tablas de datos.
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
##
## select
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(gt) # Carga el paquete gt para visualización de tablas, que proporciona una forma fácil de crear tablas atractivas y personalizables.
library(gtExtras) # Carga el paquete gtExtras que ofrece herramientas adicionales para la manipulación de tablas con gt.
##
## Attaching package: 'gtExtras'
## The following object is masked from 'package:MASS':
##
## select
residuos<-modelo_ejercicio$residuals # Crea un objeto llamado residuos que almacena los residuos del objeto modelo_ejercicio. Los residuos son las diferencias entre los valores reales y los valores ajustados por el modelo, y se utilizan para evaluar la calidad del modelo.
residuos %>%
as_tibble() %>% # Convierte el objeto residuos en un tibble (una tabla de datos simplificada) para poder manipular los datos con el paquete dplyr.
mutate(posicion=row_number()) %>% # Agrega una columna llamada posicion que indica la posición de cada residuo en la tabla.
arrange(value) %>% # Ordena los residuos de menor a mayor en función de sus valores.
mutate(dist1=row_number()/n()) %>% # Agrega una columna llamada dist1 que indica la posición relativa de cada residuo, normalizada por el número total de residuos.
mutate(dist2=(row_number()-1)/n()) %>% # Agrega una columna llamada dist2 que indica la posición relativa de cada residuo, normalizada por el número total de residuos y ajustada en una unidad.
mutate(zi=as.vector(scale(value,center=TRUE))) %>% # Agrega una columna llamada zi que indica la puntuación z de cada residuo, estandarizándolos con media cero y varianza uno.
mutate(pi=pnorm(zi,lower.tail = TRUE)) %>% # Agrega una columna llamada pi que indica la probabilidad acumulada de cada residuo, basándose en su puntuación z y la distribución normal estándar.
mutate(dif1=abs(dist1-pi)) %>% # Agrega una columna llamada dif1 que indica la diferencia absoluta entre la posición relativa de cada residuo y su probabilidad acumulada.
mutate(dif2=abs(dist2-pi)) %>% # Agrega una columna llamada dif2 que indica la diferencia absoluta entre la posición relativa ajustada de cada residuo y su probabilidad acumulada.
rename(residuales=value) -> tabla_KS # Cambia el nombre de la columna value a residuales.
tabla_KS %>% # Asigna el resultado final de la cadena de operaciones a un objeto llamado tabla_KS.
gt() %>% # Crea una tabla con el objeto
tab_header("Tabla para calcular el Estadistico KS") %>% # establece el encabezado de la tabla en "Tabla para calcular el Estadistico KS".
tab_source_note(source_note = "Fuente: Elaboración propia") %>% # agrega una nota de fuente a la tabla con el texto "Fuente: Elaboración propia".
tab_style(
style = list(
cell_fill(color = "#F8F292"),
cell_text(style = "italic")
), # está estableciendo el estilo del texto en la celda como cursiva y el color de fondo de la celda como verde claro.
locations = cells_body(
columns = dif1,
rows = dif1==max(dif1)
)) %>% #está especificando que la configuración de estilo se debe aplicar a la columna dif1 en la fila donde el valor de dif1 sea el máximo.
tab_style( #está estableciendo otro estilo de tabla utilizando la siguiente configuración:
style = list(
cell_fill(color = "#09EA94"),
cell_text(style = "italic")
), # está estableciendo el estilo del texto en la celda como cursiva y el color de fondo de la celda como rojo oscuro.
locations = cells_body(
columns = dif2,
rows = dif2==max(dif2)
)) #está especificando que la configuración de estilo se debe aplicar a la columna dif2 en la fila donde el valor de dif2 sea el máximo.
Tabla para calcular el Estadistico KS |
residuales |
posicion |
dist1 |
dist2 |
zi |
pi |
dif1 |
dif2 |
-120.026447 |
81 |
0.01136364 |
0.00000000 |
-2.041515459 |
0.02059981 |
0.0092361731 |
0.0205998094 |
-115.508697 |
77 |
0.02272727 |
0.01136364 |
-1.964673586 |
0.02472601 |
0.0019987418 |
0.0133623781 |
-107.080889 |
24 |
0.03409091 |
0.02272727 |
-1.821326006 |
0.03427866 |
0.0001877487 |
0.0115513850 |
-91.243980 |
48 |
0.04545455 |
0.03409091 |
-1.551957925 |
0.06033615 |
0.0148816002 |
0.0262452366 |
-85.461169 |
12 |
0.05681818 |
0.04545455 |
-1.453598781 |
0.07302879 |
0.0162106057 |
0.0275742421 |
-77.172687 |
32 |
0.06818182 |
0.05681818 |
-1.312620980 |
0.09465535 |
0.0264735301 |
0.0378371665 |
-74.702719 |
54 |
0.07954545 |
0.06818182 |
-1.270609602 |
0.10193378 |
0.0223883300 |
0.0337519664 |
-65.502849 |
39 |
0.09090909 |
0.07954545 |
-1.114130117 |
0.13261169 |
0.0417025941 |
0.0530662305 |
-63.699108 |
69 |
0.10227273 |
0.09090909 |
-1.083450505 |
0.13930425 |
0.0370315271 |
0.0483951634 |
-62.566594 |
83 |
0.11363636 |
0.10227273 |
-1.064187703 |
0.14362184 |
0.0299854747 |
0.0413491110 |
-59.845223 |
36 |
0.12500000 |
0.11363636 |
-1.017900230 |
0.15436269 |
0.0293626861 |
0.0407263225 |
-54.466158 |
13 |
0.13636364 |
0.12500000 |
-0.926408352 |
0.17711690 |
0.0407532663 |
0.0521169027 |
-54.300415 |
14 |
0.14772727 |
0.13636364 |
-0.923589260 |
0.17785010 |
0.0301228311 |
0.0414864675 |
-52.129801 |
15 |
0.15909091 |
0.14772727 |
-0.886669532 |
0.18762842 |
0.0285375141 |
0.0399011505 |
-51.441108 |
17 |
0.17045455 |
0.15909091 |
-0.874955638 |
0.19079902 |
0.0203444766 |
0.0317081129 |
-48.704980 |
47 |
0.18181818 |
0.17045455 |
-0.828417174 |
0.20371714 |
0.0218989601 |
0.0332625965 |
-48.350295 |
29 |
0.19318182 |
0.18181818 |
-0.822384375 |
0.20542908 |
0.0122472664 |
0.0236109028 |
-47.855859 |
11 |
0.20454545 |
0.19318182 |
-0.813974573 |
0.20782976 |
0.0032843043 |
0.0146479407 |
-45.639765 |
1 |
0.21590909 |
0.20454545 |
-0.776281294 |
0.21879146 |
0.0028823668 |
0.0142460032 |
-43.142550 |
9 |
0.22727273 |
0.21590909 |
-0.733806463 |
0.23153335 |
0.0042606233 |
0.0156242596 |
-41.749618 |
57 |
0.23863636 |
0.22727273 |
-0.710114247 |
0.23881665 |
0.0001802823 |
0.0115439187 |
-40.869022 |
27 |
0.25000000 |
0.23863636 |
-0.695136302 |
0.24348494 |
0.0065150566 |
0.0048485798 |
-37.749811 |
34 |
0.26136364 |
0.25000000 |
-0.642082009 |
0.26040997 |
0.0009536682 |
0.0104099682 |
-36.663785 |
71 |
0.27272727 |
0.26136364 |
-0.623609925 |
0.26644190 |
0.0062853771 |
0.0050782592 |
-36.646568 |
79 |
0.28409091 |
0.27272727 |
-0.623317083 |
0.26653809 |
0.0175528221 |
0.0061891857 |
-33.801248 |
37 |
0.29545455 |
0.28409091 |
-0.574921384 |
0.28267223 |
0.0127823120 |
0.0014186757 |
-29.766931 |
16 |
0.30681818 |
0.29545455 |
-0.506302171 |
0.30632227 |
0.0004959124 |
0.0108677240 |
-26.696234 |
22 |
0.31818182 |
0.30681818 |
-0.454073044 |
0.32488813 |
0.0067063089 |
0.0180699452 |
-24.271531 |
23 |
0.32954545 |
0.31818182 |
-0.412831567 |
0.33986501 |
0.0103195566 |
0.0216831929 |
-23.651448 |
86 |
0.34090909 |
0.32954545 |
-0.402284648 |
0.34373728 |
0.0028281851 |
0.0141918214 |
-19.683427 |
88 |
0.35227273 |
0.34090909 |
-0.334793052 |
0.36889060 |
0.0166178738 |
0.0279815102 |
-17.817835 |
10 |
0.36363636 |
0.35227273 |
-0.303061413 |
0.38092153 |
0.0172851663 |
0.0286488027 |
-16.762094 |
60 |
0.37500000 |
0.36363636 |
-0.285104441 |
0.38778206 |
0.0127820638 |
0.0241457002 |
-16.596960 |
21 |
0.38636364 |
0.37500000 |
-0.282295711 |
0.38885839 |
0.0024947507 |
0.0138583870 |
-16.271207 |
58 |
0.39772727 |
0.38636364 |
-0.276755010 |
0.39098411 |
0.0067431583 |
0.0046204781 |
-13.815798 |
56 |
0.40909091 |
0.39772727 |
-0.234991254 |
0.40710776 |
0.0019831485 |
0.0093804879 |
-13.462160 |
75 |
0.42045455 |
0.40909091 |
-0.228976273 |
0.40944368 |
0.0110108666 |
0.0003527698 |
-12.081520 |
4 |
0.43181818 |
0.42045455 |
-0.205493119 |
0.41859344 |
0.0132247451 |
0.0018611087 |
-11.629207 |
51 |
0.44318182 |
0.43181818 |
-0.197799788 |
0.42160086 |
0.0215809622 |
0.0102173258 |
-11.312669 |
74 |
0.45454545 |
0.44318182 |
-0.192415834 |
0.42370825 |
0.0308372092 |
0.0194735728 |
-8.236558 |
3 |
0.46590909 |
0.45454545 |
-0.140094626 |
0.44429261 |
0.0216164775 |
0.0102528411 |
-7.662789 |
70 |
0.47727273 |
0.46590909 |
-0.130335452 |
0.44815052 |
0.0291222111 |
0.0177585748 |
-6.752801 |
67 |
0.48863636 |
0.47727273 |
-0.114857588 |
0.45427900 |
0.0343573625 |
0.0229937262 |
-6.707262 |
31 |
0.50000000 |
0.48863636 |
-0.114083016 |
0.45458599 |
0.0454140074 |
0.0340503710 |
-6.402439 |
85 |
0.51136364 |
0.50000000 |
-0.108898313 |
0.45664157 |
0.0547220642 |
0.0433584278 |
-5.446904 |
82 |
0.52272727 |
0.51136364 |
-0.092645733 |
0.46309251 |
0.0596347676 |
0.0482711313 |
-3.537785 |
43 |
0.53409091 |
0.52272727 |
-0.060173762 |
0.47600862 |
0.0580822876 |
0.0467186512 |
-2.824941 |
61 |
0.54545455 |
0.53409091 |
-0.048049090 |
0.48083856 |
0.0646159857 |
0.0532523493 |
-2.745208 |
68 |
0.55681818 |
0.54545455 |
-0.046692922 |
0.48137899 |
0.0754391961 |
0.0640755598 |
-0.195089 |
65 |
0.56818182 |
0.55681818 |
-0.003318245 |
0.49867621 |
0.0695056040 |
0.0581419676 |
1.399296 |
55 |
0.57954545 |
0.56818182 |
0.023800450 |
0.50949411 |
0.0700513452 |
0.0586877088 |
5.363331 |
26 |
0.59090909 |
0.57954545 |
0.091224254 |
0.53634280 |
0.0545662924 |
0.0432026561 |
6.700640 |
53 |
0.60227273 |
0.59090909 |
0.113970383 |
0.54536936 |
0.0569033628 |
0.0455397265 |
7.386314 |
80 |
0.61363636 |
0.60227273 |
0.125632935 |
0.54998875 |
0.0636476093 |
0.0522839730 |
9.099900 |
41 |
0.62500000 |
0.61363636 |
0.154779103 |
0.56150227 |
0.0634977329 |
0.0521340965 |
12.433611 |
46 |
0.63636364 |
0.62500000 |
0.211481796 |
0.58374433 |
0.0526193043 |
0.0412556680 |
16.718018 |
62 |
0.64772727 |
0.63636364 |
0.284354766 |
0.61193074 |
0.0357965328 |
0.0244328965 |
18.093192 |
5 |
0.65909091 |
0.64772727 |
0.307744934 |
0.62086179 |
0.0382291219 |
0.0268654856 |
18.801816 |
38 |
0.67045455 |
0.65909091 |
0.319797835 |
0.62543921 |
0.0450153400 |
0.0336517036 |
19.168108 |
33 |
0.68181818 |
0.67045455 |
0.326028052 |
0.62779843 |
0.0540197476 |
0.0426561112 |
19.219211 |
72 |
0.69318182 |
0.68181818 |
0.326897255 |
0.62812720 |
0.0650546167 |
0.0536909803 |
20.334434 |
59 |
0.70454545 |
0.69318182 |
0.345865960 |
0.63527827 |
0.0692671805 |
0.0579035442 |
24.909926 |
78 |
0.71590909 |
0.70454545 |
0.423689939 |
0.66410402 |
0.0518050676 |
0.0404414312 |
26.236229 |
40 |
0.72727273 |
0.71590909 |
0.446248874 |
0.67229126 |
0.0549814685 |
0.0436178321 |
30.924022 |
25 |
0.73863636 |
0.72727273 |
0.525982978 |
0.70054998 |
0.0380863808 |
0.0267227444 |
32.253952 |
45 |
0.75000000 |
0.73863636 |
0.548603608 |
0.70836125 |
0.0416387548 |
0.0302751184 |
32.529367 |
49 |
0.76136364 |
0.75000000 |
0.553288104 |
0.70996693 |
0.0513967091 |
0.0400330727 |
32.675968 |
18 |
0.77272727 |
0.76136364 |
0.555781630 |
0.71081993 |
0.0619073452 |
0.0505437088 |
33.275839 |
20 |
0.78409091 |
0.77272727 |
0.565984762 |
0.71429793 |
0.0697929786 |
0.0584293423 |
36.031430 |
52 |
0.79545455 |
0.78409091 |
0.612854281 |
0.73001365 |
0.0654408934 |
0.0540772571 |
37.147186 |
84 |
0.80681818 |
0.79545455 |
0.631832029 |
0.73625168 |
0.0705665028 |
0.0592028664 |
40.320875 |
7 |
0.81818182 |
0.80681818 |
0.685812928 |
0.75358446 |
0.0645973596 |
0.0532337232 |
44.334467 |
30 |
0.82954545 |
0.81818182 |
0.754079634 |
0.77459930 |
0.0549461574 |
0.0435825211 |
46.907165 |
28 |
0.84090909 |
0.82954545 |
0.797838357 |
0.78751785 |
0.0533912405 |
0.0420276041 |
54.418366 |
87 |
0.85227273 |
0.84090909 |
0.925595465 |
0.82267187 |
0.0296008528 |
0.0182372164 |
55.091131 |
35 |
0.86363636 |
0.85227273 |
0.937038450 |
0.82563061 |
0.0380057535 |
0.0266421172 |
55.470305 |
44 |
0.87500000 |
0.86363636 |
0.943487765 |
0.82728426 |
0.0477157353 |
0.0363520989 |
62.939597 |
6 |
0.88636364 |
0.87500000 |
1.070532059 |
0.85781006 |
0.0285535797 |
0.0171899433 |
66.478628 |
50 |
0.89772727 |
0.88636364 |
1.130727018 |
0.87091500 |
0.0268122757 |
0.0154486394 |
67.426518 |
63 |
0.90909091 |
0.89772727 |
1.146849569 |
0.87427810 |
0.0348128083 |
0.0234491719 |
67.603959 |
19 |
0.92045455 |
0.90909091 |
1.149867648 |
0.87490081 |
0.0455537393 |
0.0341901029 |
69.707122 |
64 |
0.93181818 |
0.92045455 |
1.185640095 |
0.88211777 |
0.0497004123 |
0.0383367759 |
69.843246 |
8 |
0.94318182 |
0.93181818 |
1.187955411 |
0.88257451 |
0.0606073068 |
0.0492436705 |
74.848732 |
2 |
0.95454545 |
0.94318182 |
1.273093116 |
0.89850750 |
0.0560379553 |
0.0446743189 |
112.729191 |
66 |
0.96590909 |
0.95454545 |
1.917397313 |
0.97240626 |
0.0064971714 |
0.0178608078 |
163.795081 |
73 |
0.97727273 |
0.96590909 |
2.785970904 |
0.99733162 |
0.0200588896 |
0.0314225260 |
198.660139 |
42 |
0.98863636 |
0.97727273 |
3.378986513 |
0.99963623 |
0.0109998685 |
0.0223635048 |
209.375830 |
76 |
1.00000000 |
0.98863636 |
3.561248407 |
0.99981545 |
0.0001845478 |
0.0111790885 |
Fuente: Elaboración propia |
2.4 Prueba Shapiro - Wilk.
library(dplyr) # Carga la librería "dplyr" que proporciona funciones para manipulación de datos.
library(gt) # Carga la librería "gt" que proporciona funciones para crear tablas estilizadas en R.
residuos<-modelo_ejercicio$residuals # Asigna los residuos del modelo a la variable "residuos".
residuos %>%
as_tibble() %>%
rename(residuales=value) %>%
arrange(residuales) %>%
mutate(pi=(row_number()-0.375)/(n()+0.25)) %>%
mutate(mi=qnorm(pi,lower.tail = TRUE)) %>%
mutate(ai=0)->tabla_SW # Convierte los residuos en un tibble, los renombra a "residuales", los ordena de menor a mayor, calcula los valores de "pi" y "mi" necesarios para la prueba de Shapiro-Wilk, inicializa los valores de "ai" en cero y guarda el resultado en la variable "tabla_SW".
m<-sum(tabla_SW$mi^2) # Calcula la suma de los cuadrados de los valores de "mi" y lo guarda en la variable "m".
n<-nrow(hprice1) # Calcula el número de filas en el conjunto de datos "hprice1" y lo guarda en la variable "n".
theta<-1/sqrt(n) # Calcula el valor de "theta" necesario para la prueba de Shapiro-Wilk y lo guarda en la variable "theta".
tabla_SW$ai[n]<- -2.706056*theta^5+4.434685*theta^4-2.071190*theta^3-0.147981*theta^2+0.2211570*theta+tabla_SW$mi[n]/sqrt(m) # Calcula el valor de "ai" para el último elemento de la variable "tabla_SW".
tabla_SW$ai[n-1]<- -3.582633*theta^5+5.682633*theta^4-1.752461*theta^3-0.293762*theta^2+0.042981*theta+tabla_SW$mi[n-1]/sqrt(m) # Calcula el valor de "ai" para el penúltimo elemento de la variable "tabla_SW".
tabla_SW$ai[1]<- -tabla_SW$ai[n] # Asigna el valor negativo de "ai" del último elemento de la variable "tabla_SW" al primer elemento.
tabla_SW$ai[2]<- -tabla_SW$ai[n-1] # Asigna el valor negativo de "ai" del penúltimo elemento de la variable "tabla_SW" al segundo elemento.
omega<-(m-2*tabla_SW$mi[n]^2-2*tabla_SW$mi[n-1]^2)/(1-2*tabla_SW$ai[n]^2-2*tabla_SW$ai[n-1]^2) #Calcula el valor de "omega" necesario para la prueba de Shapiro-Wilk y lo guarda en la
tabla_SW$ai[3:(n-2)]<-tabla_SW$mi[3:(n-2)]/sqrt(omega) # está asignando a la columna "ai" de la tabla "tabla_SW" los valores de la columna "mi" divididos por la raíz cuadrada de la variable "omega", para las filas 3 hasta n-2.
tabla_SW %>%
mutate(ai_ui=ai*residuales,ui2=residuales^2) ->tabla_SW #está creando dos nuevas columnas en la tabla "tabla_SW". La columna "ai_ui" contiene el producto de las columnas "ai" y "residuales" y la columna "ui2" contiene los residuos al cuadrado. El resultado se almacena en la misma tabla "tabla_SW".
tabla_SW %>%
gt() %>% tab_header("Tabla para calcular el Estadistico W") %>%
tab_source_note(source_note = "Fuente: Elaboración propia") # está creando una tabla con el paquete "gt", estableciendo un título para la tabla ("Tabla para calcular el Estadistico W") y una nota de fuente ("Fuente: Elaboración propia"). La tabla resultante se basa en la tabla "tabla_SW" y contiene todas las columnas de dicha tabla.
Tabla para calcular el Estadistico W |
residuales |
pi |
mi |
ai |
ai_ui |
ui2 |
-120.026447 |
0.007082153 |
-2.45306927 |
-0.286093929 |
34.338837782 |
1.440635e+04 |
-115.508697 |
0.018413598 |
-2.08767462 |
-0.226331231 |
26.143225495 |
1.334226e+04 |
-107.080889 |
0.029745042 |
-1.88455395 |
-0.201511408 |
21.578020632 |
1.146632e+04 |
-91.243980 |
0.041076487 |
-1.73832835 |
-0.185875811 |
16.960048752 |
8.325464e+03 |
-85.461169 |
0.052407932 |
-1.62194155 |
-0.173430814 |
14.821600075 |
7.303611e+03 |
-77.172687 |
0.063739377 |
-1.52411994 |
-0.162970954 |
12.576906330 |
5.955624e+03 |
-74.702719 |
0.075070822 |
-1.43903134 |
-0.153872609 |
11.494702279 |
5.580496e+03 |
-65.502849 |
0.086402266 |
-1.36324747 |
-0.145769197 |
9.548297773 |
4.290623e+03 |
-63.699108 |
0.097733711 |
-1.29457343 |
-0.138426027 |
8.817614500 |
4.057576e+03 |
-62.566594 |
0.109065156 |
-1.23151500 |
-0.131683320 |
8.238976839 |
3.914579e+03 |
-59.845223 |
0.120396601 |
-1.17300649 |
-0.125427129 |
7.506214499 |
3.581451e+03 |
-54.466158 |
0.131728045 |
-1.11825971 |
-0.119573169 |
6.512691096 |
2.966562e+03 |
-54.300415 |
0.143059490 |
-1.06667420 |
-0.114057239 |
6.193355472 |
2.948535e+03 |
-52.129801 |
0.154390935 |
-1.01778137 |
-0.108829231 |
5.673246083 |
2.717516e+03 |
-51.441108 |
0.165722380 |
-0.97120790 |
-0.103849228 |
5.342119306 |
2.646188e+03 |
-48.704980 |
0.177053824 |
-0.92665123 |
-0.099084876 |
4.825926905 |
2.372175e+03 |
-48.350295 |
0.188385269 |
-0.88386232 |
-0.094509548 |
4.569564512 |
2.337751e+03 |
-47.855859 |
0.199716714 |
-0.84263354 |
-0.090101040 |
4.311862673 |
2.290183e+03 |
-45.639765 |
0.211048159 |
-0.80278966 |
-0.085840618 |
3.917745629 |
2.082988e+03 |
-43.142550 |
0.222379603 |
-0.76418130 |
-0.081712307 |
3.525277277 |
1.861280e+03 |
-41.749618 |
0.233711048 |
-0.72667986 |
-0.077702356 |
3.244043648 |
1.743031e+03 |
-40.869022 |
0.245042493 |
-0.69017366 |
-0.073798824 |
3.016085791 |
1.670277e+03 |
-37.749811 |
0.256373938 |
-0.65456498 |
-0.069991263 |
2.642156946 |
1.425048e+03 |
-36.663785 |
0.267705382 |
-0.61976766 |
-0.066270458 |
2.429725818 |
1.344233e+03 |
-36.646568 |
0.279036827 |
-0.58570518 |
-0.062628228 |
2.295109622 |
1.342971e+03 |
-33.801248 |
0.290368272 |
-0.55230918 |
-0.059057264 |
1.996209250 |
1.142524e+03 |
-29.766931 |
0.301699717 |
-0.51951819 |
-0.055550992 |
1.653582575 |
8.860702e+02 |
-26.696234 |
0.313031161 |
-0.48727661 |
-0.052103467 |
1.390966354 |
7.126889e+02 |
-24.271531 |
0.324362606 |
-0.45553386 |
-0.048709282 |
1.182248861 |
5.891072e+02 |
-23.651448 |
0.335694051 |
-0.42424369 |
-0.045363489 |
1.072912217 |
5.593910e+02 |
-19.683427 |
0.347025496 |
-0.39336354 |
-0.042061540 |
0.827915257 |
3.874373e+02 |
-17.817835 |
0.358356941 |
-0.36285409 |
-0.038799229 |
0.691318234 |
3.174752e+02 |
-16.762094 |
0.369688385 |
-0.33267878 |
-0.035572645 |
0.596272007 |
2.809678e+02 |
-16.596960 |
0.381019830 |
-0.30280344 |
-0.032378138 |
0.537378676 |
2.754591e+02 |
-16.271207 |
0.392351275 |
-0.27319601 |
-0.029212277 |
0.475319006 |
2.647522e+02 |
-13.815798 |
0.403682720 |
-0.24382619 |
-0.026071824 |
0.360203050 |
1.908763e+02 |
-13.462160 |
0.415014164 |
-0.21466524 |
-0.022953704 |
0.309006447 |
1.812298e+02 |
-12.081520 |
0.426345609 |
-0.18568573 |
-0.019854987 |
0.239878409 |
1.459631e+02 |
-11.629207 |
0.437677054 |
-0.15686137 |
-0.016772858 |
0.195055032 |
1.352385e+02 |
-11.312669 |
0.449008499 |
-0.12816677 |
-0.013704604 |
0.155035654 |
1.279765e+02 |
-8.236558 |
0.460339943 |
-0.09957734 |
-0.010647596 |
0.087699542 |
6.784089e+01 |
-7.662789 |
0.471671388 |
-0.07106908 |
-0.007599268 |
0.058231584 |
5.871833e+01 |
-6.752801 |
0.483002833 |
-0.04261848 |
-0.004557105 |
0.030773222 |
4.560033e+01 |
-6.707262 |
0.494334278 |
-0.01420234 |
-0.001518626 |
0.010185824 |
4.498736e+01 |
-6.402439 |
0.505665722 |
0.01420234 |
0.001518626 |
-0.009722911 |
4.099122e+01 |
-5.446904 |
0.516997167 |
0.04261848 |
0.004557105 |
-0.024822110 |
2.966876e+01 |
-3.537785 |
0.528328612 |
0.07106908 |
0.007599268 |
-0.026884576 |
1.251592e+01 |
-2.824941 |
0.539660057 |
0.09957734 |
0.010647596 |
-0.030078835 |
7.980294e+00 |
-2.745208 |
0.550991501 |
0.12816677 |
0.013704604 |
-0.037621996 |
7.536170e+00 |
-0.195089 |
0.562322946 |
0.15686137 |
0.016772858 |
-0.003272200 |
3.805971e-02 |
1.399296 |
0.573654391 |
0.18568573 |
0.019854987 |
0.027782994 |
1.958028e+00 |
5.363331 |
0.584985836 |
0.21466524 |
0.022953704 |
0.123108313 |
2.876532e+01 |
6.700640 |
0.596317280 |
0.24382619 |
0.026071824 |
0.174697904 |
4.489858e+01 |
7.386314 |
0.607648725 |
0.27319601 |
0.029212277 |
0.215771059 |
5.455764e+01 |
9.099900 |
0.618980170 |
0.30280344 |
0.032378138 |
0.294637808 |
8.280817e+01 |
12.433611 |
0.630311615 |
0.33267878 |
0.035572645 |
0.442296424 |
1.545947e+02 |
16.718018 |
0.641643059 |
0.36285409 |
0.038799229 |
0.648646203 |
2.794921e+02 |
18.093192 |
0.652974504 |
0.39336354 |
0.042061540 |
0.761027520 |
3.273636e+02 |
18.801816 |
0.664305949 |
0.42424369 |
0.045363489 |
0.852915978 |
3.535083e+02 |
19.168108 |
0.675637394 |
0.45553386 |
0.048709282 |
0.933664777 |
3.674164e+02 |
19.219211 |
0.686968839 |
0.48727661 |
0.052103467 |
1.001387528 |
3.693781e+02 |
20.334434 |
0.698300283 |
0.51951819 |
0.055550992 |
1.129598008 |
4.134892e+02 |
24.909926 |
0.709631728 |
0.55230918 |
0.059057264 |
1.471112049 |
6.205044e+02 |
26.236229 |
0.720963173 |
0.58570518 |
0.062628228 |
1.643128534 |
6.883397e+02 |
30.924022 |
0.732294618 |
0.61976766 |
0.066270458 |
2.049349072 |
9.562951e+02 |
32.253952 |
0.743626062 |
0.65456498 |
0.069991263 |
2.257494854 |
1.040317e+03 |
32.529367 |
0.754957507 |
0.69017366 |
0.073798824 |
2.400629035 |
1.058160e+03 |
32.675968 |
0.766288952 |
0.72667986 |
0.077702356 |
2.538999708 |
1.067719e+03 |
33.275839 |
0.777620397 |
0.76418130 |
0.081712307 |
2.719045583 |
1.107281e+03 |
36.031430 |
0.788951841 |
0.80278966 |
0.085840618 |
3.092960242 |
1.298264e+03 |
37.147186 |
0.800283286 |
0.84263354 |
0.090101040 |
3.347000059 |
1.379913e+03 |
40.320875 |
0.811614731 |
0.88386232 |
0.094509548 |
3.810707636 |
1.625773e+03 |
44.334467 |
0.822946176 |
0.92665123 |
0.099084876 |
4.392875123 |
1.965545e+03 |
46.907165 |
0.834277620 |
0.97120790 |
0.103849228 |
4.871272904 |
2.200282e+03 |
54.418366 |
0.845609065 |
1.01778137 |
0.108829231 |
5.922308882 |
2.961359e+03 |
55.091131 |
0.856940510 |
1.06667420 |
0.114057239 |
6.283542333 |
3.035033e+03 |
55.470305 |
0.868271955 |
1.11825971 |
0.119573169 |
6.632760113 |
3.076955e+03 |
62.939597 |
0.879603399 |
1.17300649 |
0.125427129 |
7.894332885 |
3.961393e+03 |
66.478628 |
0.890934844 |
1.23151500 |
0.131683320 |
8.754126443 |
4.419408e+03 |
67.426518 |
0.902266289 |
1.29457343 |
0.138426027 |
9.333585010 |
4.546335e+03 |
67.603959 |
0.913597734 |
1.36324747 |
0.145769197 |
9.854574914 |
4.570295e+03 |
69.707122 |
0.924929178 |
1.43903134 |
0.153872609 |
10.726016772 |
4.859083e+03 |
69.843246 |
0.936260623 |
1.52411994 |
0.162970954 |
11.382420482 |
4.878079e+03 |
74.848732 |
0.947592068 |
1.62194155 |
0.173430814 |
12.981076532 |
5.602333e+03 |
112.729191 |
0.958923513 |
1.73832835 |
0.185875811 |
20.953629849 |
1.270787e+04 |
163.795081 |
0.970254958 |
1.88455395 |
0.201511408 |
33.006577315 |
2.682883e+04 |
198.660139 |
0.981586402 |
2.08767462 |
0.226331231 |
44.962993843 |
3.946585e+04 |
209.375830 |
0.992917847 |
2.45306927 |
0.286093929 |
59.901153719 |
4.383824e+04 |
Fuente: Elaboración propia |
2.5.1 Calculo del Estadistico W
W<-(sum(tabla_SW$ai_ui)^2)/sum(tabla_SW$ui2) # está calculando el estadístico W, utilizado para realizar el test de normalidad de Shapiro-Wilk. Para ello, se están sumando los cuadrados de los productos de las columnas "ai" y "residuales" de la tabla "tabla_SW" y dividiéndolos por la suma de los residuos al cuadrado de la misma tabla. El resultado se almacena en la variable "W".
print(W) # está imprimiendo en la consola el valor del estadístico W calculado.
## [1] 0.9413208
2.5.2 Calculo del Wn y su p value
mu<-0.0038915*log(n)^3-0.083751*log(n)^2-0.31082*log(n)-1.5861 # En esta línea se está asignando un valor a la variable mu. La fórmula que se utiliza para calcular ese valor incluye el logaritmo natural de una variable n, elevado a distintas potencias y multiplicado por diferentes constantes. El resultado de esta línea es el valor calculado de mu.
sigma<-exp(0.0030302*log(n)^2-0.082676*log(n)-0.4803) # En esta línea se está asignando un valor a la variable sigma. La fórmula que se utiliza para calcular ese valor incluye el logaritmo natural de una variable n, elevado a una potencia y multiplicado por diferentes constantes, y el resultado se eleva a la función exponencial. El resultado de esta línea es el valor calculado de sigma.
Wn<-(log(1-W)-mu)/sigma # En esta línea se está asignando un valor a la variable Wn. La fórmula que se utiliza para calcular ese valor incluye la variable W, que no está definida en el fragmento de código que has compartido. Además, utiliza los valores previamente calculados de mu y sigma. El resultado de esta línea es el valor calculado de Wn.
print(Wn) # Esta línea imprime en pantalla el valor de la variable Wn.
## [1] 3.241867
p.value<-pnorm(Wn,lower.tail = FALSE) # En esta línea se está asignando un valor a la variable p.value. La fórmula que se utiliza para calcular ese valor es una función de distribución acumulativa de probabilidad normal estándar, con el valor de Wn como parámetro y lower.tail = FALSE para calcular la probabilidad de cola superior. El resultado de esta línea es el valor calculado de p.value
print(p.value) #Esta línea imprime en pantalla el valor de la variable p.value.
## [1] 0.0005937472
library(fastGraph) # Esta línea carga la librería fastGraph, que contiene una función llamada shadeDist().
shadeDist(Wn,ddist = "dnorm",lower.tail = FALSE) # que es parte de la librería fastGraph. Esta función crea una gráfica de una distribución de probabilidad y sombrea el área correspondiente a una determinada probabilidad. En este caso, se utiliza la distribución normal estándar, y el área sombreada corresponde a la probabilidad de cola superior de Wn.
