Data Penguis

Conjunto de datos penguins del paquete palmerpenguins en RStudio contiene mediciones de tamaño y observaciones de tres especies de pingüinos que se encuentran en las islas del Archipiélago Palmer, Antártida12. Los datos fueron recogidos por la Dra. Kristen Gorman y la Estación Palmer, Antártida LTER, miembro de la Red de Investigación Ecológica a Largo Plazo1.

Variables : species: Especie del pingüino (Adelie, Chinstrap, Gentoo). island: Isla en el Archipiélago Palmer (Biscoe, Dream, Torgersen). bill_length_mm: Longitud del pico (mm). bill_depth_mm: Profundidad del pico (mm). flipper_length_mm: Longitud de la aleta (mm). body_mass_g: Masa corporal (g). sex: Sexo del pingüino. year: Año de observación.

Lectura de los Datos

penguins <- data.frame(penguins)
head(penguins)

Limpieza de los datos

Omitiendo N.A

penguins <- penguins[!is.na(penguins$bill_length_mm) & 
                        !is.na(penguins$bill_depth_mm) & 
                        !is.na(penguins$flipper_length_mm) & 
                        !is.na(penguins$body_mass_g) &
                        !is.na(penguins$sex), ]

Grafico de puntos:

Gráfico de puntos respecto a la Longitud

dotchart(penguins$bill_length_mm,main="Gráfico de puntos respecto
         a la Longitud del Pico ")

Gráfico de puntos respecto a la Profundida del Pico

dotchart(penguins$bill_depth_mm,main=  "Gráfico de puntos respecto a la profundida  del Pico ")

Histograma de respecto a la Profundida del Pico

hist(penguins$bill_depth_mm)

Grafico Boxplot respecto a la Profundida del Pico

boxplot(penguins$bill_depth_mm,col=3)

Gráfico de puntos respecto a la Longitud de la aleta

dotchart(penguins$flipper_length_mm,main="Gráfico de puntos respecto a la Longitud de la aleta ")

boxplot(iris$Petal.Length,col=3)

dotchart(iris$Petal.Width,main="Gráfico de puntos respecto
         al ancho del petalo")

Histograma de respecto a la Longitud de la aleta

hist(penguins$flipper_length_mm)

Grafico Boxplot respecto a la Longitud de la aleta

boxplot(penguins$flipper_length_mm,col=3)

Prueba para el vector de medias con matriz de varianza-covarianza desconocida

 penguins1<-penguins[c(3,4,5)]
 mean(penguins$bill_depth_mm)
## [1] 17.16486
 penguins1<-penguins[c(3,4,5)]
 head(penguins1)
 mean(penguins1$bill_length_mm)
## [1] 43.99279
 mean(penguins1$bill_depth_mm)
## [1] 17.16486
 mean(penguins1$flipper_length_mm) 
## [1] 200.967
library(ICSNP)
 mu0 <- c(40.5,16.9,190.8)
 HotellingsT2(penguins1,mu=mu0,test="chi")
## 
##  Hotelling's one sample T2-test
## 
## data:  penguins1
## T.2 = 329.49, df = 3, p-value < 2.2e-16
## alternative hypothesis: true location is not equal to c(40.5,16.9,190.8)

Prueba de Hotelling: Comparar las dos especies

 Gentoo      <- penguins[penguins$species=="Gentoo",c(3,4,5)] 
 Chinstrap <- penguins[penguins$species == "Chinstrap", c(3, 4, 5)]
 
 # install.packages("ICS")
 library(ICS)
 library(Hotelling)
 hotell <- hotelling.test(Chinstrap, Gentoo)
 hotell
## Test stat:  2615.1 
## Numerator df:  3 
## Denominator df:  183 
## P-value:  0

Las especies son:
* Gentoo. * Chinstrap

EL test de Hotelling para comparar las muestras multivariadas de las especies de pingüinos Chinstrap y Gentoo en función de tres variables. Los resultados muestran un valor extremadamente bajo de p-valor (0), lo que sugiere una diferencia significativa entre las medias de las dos muestras.

Por lo tanto, la conclusión sería que hay una diferencia significativa entre las especies de pingüinos Chinstrap y Gentoo en términos de las tres variables que estás evaluando.

Normalidad Multivariada

## Prueba de Mardia: Para las especies

 mvn(Gentoo,subset = NULL,mvn = "mardia", 
     covariance = FALSE,showOutliers = FALSE)$multivariateNormality
 mvn(Chinstrap,subset = NULL,mvn = "mardia", 
     covariance = FALSE,showOutliers = FALSE)$multivariateNormality

Ajusta los márgenes de la figura

Ajusta los márgenes inferior, izquierdo, superior y derecho

 par(mar = c(1, 3, 4, 5))

# Ejecuta la función mvn

mardia <-mvn(data = penguins[, c(1,3, 4, 5)], 
              subset = "species", 
              mvnTest = "mardia", 
              multivariatePlot = "qq", 
              multivariateOutlierMethod = "adj", 
              showOutliers = TRUE, 
              showNewData = TRUE)

Nueva base de datos:

penguins2 = penguins[,c(3,4,5)] ; head(penguins2)
mardia2 <- mvn(data =penguins2, mvnTest = "mardia")
mardia2$multivariateNormality

Prueba de Henze-Zirkler

library(MVN)
 hz <- mvn(data =penguins2, mvnTest = "hz") ; hz
## $multivariateNormality
##            Test       HZ p value MVN
## 1 Henze-Zirkler 8.398713       0  NO
## 
## $univariateNormality
##               Test          Variable Statistic   p value Normality
## 1 Anderson-Darling  bill_length_mm      3.0297  <0.001      NO    
## 2 Anderson-Darling   bill_depth_mm      2.7591  <0.001      NO    
## 3 Anderson-Darling flipper_length_mm    6.2177  <0.001      NO    
## 
## $Descriptives
##                     n      Mean   Std.Dev Median   Min   Max  25th  75th
## bill_length_mm    333  43.99279  5.468668   44.5  32.1  59.6  39.5  48.6
## bill_depth_mm     333  17.16486  1.969235   17.3  13.1  21.5  15.6  18.7
## flipper_length_mm 333 200.96697 14.015765  197.0 172.0 231.0 190.0 213.0
##                          Skew   Kurtosis
## bill_length_mm     0.04493282 -0.9008380
## bill_depth_mm     -0.14837413 -0.9092014
## flipper_length_mm  0.35690990 -0.9770375
 hz$multivariateNormality

La Prueba de Henze-Zirkler para la Normalidad Multivariante en R. Esta prueba es otra alternativa a las pruebas de Shapiro-Wilk, Energy y Royston y se utiliza para determinar si un conjunto de datos sigue una distribución normal multivariante. El resultado de la prueba que has proporcionado indica que el conjunto de datos penguins2 no sigue una distribución normal multivariante. Esto se debe a que el valor p (p-value) es 0, que es significativamente menor que el umbral comúnmente aceptado de 0.05. Cuando el valor p es menor que 0.05, rechazamos la hipótesis nula

Prueba de Royston’s

royston <- mvn(data = penguins2, mvnTest = "royston")
 royston$multivariateNormality

La Prueba de Royston para la Normalidad Multivariante en R. Esta prueba es otra alternativa a la prueba de Shapiro-Wilk y se utiliza para determinar si un conjunto de datos sigue una distribución normal multivariante.

El resultado de la prueba que has proporcionado indica que el conjunto de datos penguins2 no sigue una distribución normal multivariante. Esto se debe a que el valor p (p-value) es extremadamente pequeño (8.504342e-15), que es significativamente menor que el umbral comúnmente aceptado de 0.05. Cuando el valor p es menor que 0.05, rechazamos la hipótesis nula

Prueba de Energy

energy <- mvn(data = penguins2, mvnTest = "energy")
energy$multivariateNormality

El resultado de la prueba que has proporcionado indica que el conjunto de datos penguins2 no sigue una distribución normal multivariante. Esto se debe a que el valor p (p-value) es 0, que es significativamente menor que el umbral comúnmente aceptado de 0.05. Cuando el valor p es menor que 0.05, rechazamos la hipótesis nula (que en este caso es que los datos siguen una distribución normal multivariante).

Prueba de Shapiro Wilk Generalizada

library(mvShapiroTest)
mvShapiro.Test(as.matrix(penguins2))
## 
##  Generalized Shapiro-Wilk test for Multivariate Normality by
##  Villasenor-Alva and Gonzalez-Estrada
## 
## data:  as.matrix(penguins2)
## MVW = 0.98012, p-value = 2.281e-09

Conclusión es que los datos en penguins2 no siguen una distribución normal multivariante.Es importante tener en cuenta esta información al realizar análisis posteriores, ya que muchos métodos estadísticos asumen la normalidad de los datos.