Vous êtes sur la page 1sur 2

Maraton<-data.frame(read.table("Boston.

txt",header=T))
names(Maraton)
# generamos un FUNCIÓN llamada Descrip para que haga
# todo esto en conjunto donde la variable (x) tomará los valores de
# la característica a evluar se abre una llave y al final
# se debe cerrar Descrip<-function(x){
Descrip<-function(x){
n<-length(x)
K<-(n*(n+1)/((n-1)*(n-2)*(n-3)))*sum(((x-mean(x))/sd(x))^4)-3*((n-1)^2/((n-2)*(n-
3)))
As<-(n/((n-1)*(n-2)))*sum(((x-mean(x))/sd(x))^3)
Resumen<-c(Media=mean(x),SumaCuadrados=((n-
1)*var(x)),Varianza=var(x),Desviación=sd(x),Curtosis=K,Asimetria=As,Minimo=min(x),Q
1=quantile(x,0.25),Q2=quantile(x,0.5),Q3=quantile(x,0.75),Maximo=max(x))
Resumen}
# vamos a utilizar la funcion tapply seleciona la variable de tiempos
# y la divide por género
# tapply(Maraton$time,Maraton$gender,mean)
tapply(Maraton$time,Maraton$gender,mean)
# ahora calculamos la desviacion estandar
tapply(Maraton$time,Maraton$gender,sd)
# ahora utilizamos la información cargada en Descrip con gráficas
tapply(Maraton$time,Maraton$gender,Descrip)
Descrip<-function(x){
n<-length(x)
K<-(n*(n+1)/((n-1)*(n-2)*(n-3)))*sum(((x-mean(x))/sd(x))^4)-3*((n-1)^2/((n-2)*(n-
3)))
As<-(n/((n-1)*(n-2)))*sum(((x-mean(x))/sd(x))^3)
Resumen<-c(Media=mean(x),SumaCuadrados=((n-
1)*var(x)),Varianza=var(x),Desviación=sd(x),Curtosis=K,Asimetria=As,Minimo=min(x),Q
1=quantile(x,0.25),Q2=quantile(x,0.5),Q3=quantile(x,0.75),Maximo=max(x))
print(Resumen)
par(mfrow=c(2,1))
hist(x,main="Distribución de
datos",ylab="Frecuencia",xlab="Categorias",col="skyblue",nclass=(sqrt(n)+3))
boxplot(x,main="Distribución de datos",ylab="
",xlab="Mediciones",col="orange",horizontal=TRUE,notch=TRUE)
}
tapply(Maraton$time,Maraton$gender,Descrip)
# para que no tengamos informacion con notacion científica
# utilizamos round(x,número de dígitos)
#Grafica de barras
attach(Maraton)
par(mfcol=c(1,1))
Origen<-table(home)
barplot(Origen)
levels(home)
datos
# Prueba de normalidad de datos a
# través de la prueba de Anderson-Darling
# ordenamos de menor a mayor
AD<-function(x){
n<-length;i<-seq(1,n,1);Variable<-sort(x,decreasing=FALSE)
# Estandarizamos los datos (x-mean(x))/sd(x)
Estandar<-(Variable-mean(Variable))/sd(Variable)
# Calcular el perecentil para crear el valor F(Yi) teórica a
# través de un percentil
Teorica<-pnorm(Estandar,mean=0,sd=1)
# Calculamos 1-F(Yi) la asignamos a VAR
VAR<-1-Teorica
# Ordenamos VAR y calculamos Empirica F(Yi+n-1)
Empirica<-sort(VAR,decreasing=FALSE)
# Calculamos Anderson AD2
Ad<-(2*i-1)*(log(Teorica)+log(Empirica))
AD<-(-n-1/n*sum(Ad))
# Calculamos Adnderson Darling primo AD´
AD1<-AD*(1+0.75/n+2.25/n^2)
# a Través del comando If Else vamos a comparar los valores
# de AD´ (AD1)
Vp1<-1-exp(-13.436+101.14*AD1-223.73*AD1^2)
Vp2<-1−exp(−8.318+42.796*AD1−59.938*AD1)
Vp3<-exp(0.9177−4.279*AD1−1.38**AD1^2)
Vp4<-exp(1.2937−5.709*AD1+0.0186*AD1^2)
ifelse(AD1<0.2,VP<-Vp1,ifelse(AD1<0.34,VP<-Vp2,ifelse(AD1<0.6,VP<-
Vp3,ifelse(AD1<13,VP<-Vp4))))
VP<-round(VP,4)
Anderson<-c(AD=AD,Pvalor=VP)
qqnorm(x,col="blue");qqline(x,col="red")
ifelse(VP<0.05,print("La distribución de los datos no se comportan de manera
normal"),print("La distribución de los datos se comportan de manera normal"))
Anderson
}
Genero<-split(Maraton$time,Maraton$gender)

Vous aimerez peut-être aussi