Вы находитесь на странице: 1из 3

##Definir carpeta de trabajo

setwd("C:/Users/Francisco/Desktop/Tutorial spps/Normalidad multivariante")

##Cargar el pquete foreign


library(foreign)

##LEER EL ARCHIVO DE SPSS


datos = read.spss( file="Base_corregido.sav" , use.value.labels=F , to.data.frame=T
)
head(datos)
str(datos)

#####PARA OMITIR DATOS

datos <- na.omit(datos)


str(datos)

edad<-datos$Edad
edad
IngMens<-datos$Ingresomensual
IngMens
GasMens<-datos$Gastomensual
GasMens
numerhij<-datos$N�merodehijos
numerhij
talla<-datos$Talla
talla
peso<-datos$Peso
peso

superdatos<-data.frame(edad,IngMens,GasMens,numerhij,talla,peso)
superdatos
str(superdatos)

datos<-superdatos

mm<-sapply(datos,FUN=mean)
mm
S<-cov(datos)
S
n<-dim(datos)[1]
n
p<-dim(datos)[2]
p
###Inversa de la matriz de varianza y covarianzas
w<-solve(S)
w

## Gr�fico de Cajas
boxplot(datos, main="Obreros",col='red')

# Gr�fico de Cajas de Edad por n�mero de faltas


boxplot(edad~talla,data=datos, main="Personas", xlab="talla",ylab="Edad",
col="salmon")
attach(datos)

## Gr�fico de Violin
install.packages("vioplot")
library(vioplot)
vioplot(Edad,Peso,Falto,names=c("Edad","Peso","Falto"), col="gold")
title("Gr�fico de Violin"))

##Matriz de dispersi�n

plot(datos)

###MATRIZ DE DISPERSI�N, HISTOGRAMA Y CORRELACI�N


install.packages("psych")
library(psych)
pairs.panels(datos,smooth=FALSE,scale=FALSE,
density=TRUE,ellipses=FALSE,digits=2,
method="pearson",pch=21,lm=TRUE,cor=TRUE,
jiggle=FALSE,factor=2, hist.col="cyan",
show.points=TRUE,rug=TRUE,breaks="Sturges",
cex.cor=1,wt=NULL,smoother=FALSE,stars=FALSE,
ci=FALSE,alpha=.05,main="Matriz de
Dispersi�n, Histograma y Correlaci�n")

## Q-Q Plot de Normalidad p-variada


dm2<-mahalanobis(datos,mm,S)
dm2
dm2.o<-sort(dm2)
dm2.o
obs<-1:n
obs
nivel<-(obs-1/2)/n
nivel
cuantila<-qchisq(nivel,p,ncp=0,lower.tail=T, log.p = F)
qqplot(cuantila,dm2.o,main=expression(
"Q-Q plot de Mahalanobis "*~DM^2*" vs
Cuantilas de " * ~ chi[3]^2),col='blue')
abline(0, 1, col = 'red')

## Matriz de Distancia de Mahalanobis


n
DM2<-matrix(0,ncol=785,nrow=785)
for(i in 1:n)
{
for(j in 1:n)
{
if (i==j)
{
A<-datos[i,]-mm
DM2[i,i]<-sum(A*w%*%t(A))
}
if (i<j)
{
A<-datos[i,]-mm
B<-datos[j,]-mm
DM2[i,j]<-sum(A*w%*%t(B))
DM2[j,i]<-DM2[i,j]
}
}
}

DM2

## Verificando la Multinormalidad

# Asimetr�a

As<-sum(DM2^3)/(n*n)
As

EAs<-n*As/6
EAs

f<-(p*(p+1)*(p+2))/6
f

v.chi<-qchisq(1-0.05,f,ncp=0,lower.tail = T,log.p=F)
v.chi

# Kurtosis
Ku<-sum(diag(DM2)^2)/n
Ku
EKu<-(Ku-p*(p+2))/sqrt(8*p*(p+2)/n)
EKu
v.norm<-qnorm(1-0.05/2,lower.tail = T,log.p = F)
v.norm

## Detecci�n de Outliers
dm<-diag(DM2)
plot(dm,obs)
abline(v=2.5, col = 'red')

### MATRIZ DE DISPERSI�N, HISTOGRAMA Y CORRELACI�N


library(psych)
pairs.panels(datos,smooth=FALSE,scale=FALSE,
density=TRUE,ellipses=TRUE,digits=2,
method="pearson",pch=21,cor=TRUE,
jiggle=FALSE,factor=2, hist.col="cyan",
show.points=TRUE,rug=TRUE,breaks="Sturges",
cex.cor=1,wt=NULL,smoother=FALSE,stars=FALSE,
ci=FALSE,alpha=.05,main="Matriz de
Dispersi�n, Histograma y Correlaci�n")

Вам также может понравиться