#Limpiar la memoria rm(list=ls(all=TRUE)) #-------------------- #Ejercicio 1 # Viento: t= c( 5.3 , 5.1 , 4.8 , 4.9 , 5.3 , 5.2 , 5.5 , 5.8 , 5.6 , 5.2) ks.test(t, 'punif', min=4.7, max=5.9) ## t es la muestra ##'punif',min=4.7, max=5.9 es distribución uniforme U(4.7, 5.9) #El resultado de ks.test es: #D : Distancia máxima entre la distribución empirica de los datos t y la distribución teórica que pongamos #p-valor: El p-valor asociado a la prueba: H0: La muestra se distribuye la distribución teórica y de esos parametros # H1: X no se distribuye como la distribución teórica O si lo hacer pero no con esos parametros. ##Ejercicio 2 # Rurales vs no rurales: r = c( 1.1 , -21.7 , -16.3 , -11.3 , -10.4 , -7 , -2 , 1.9 ,6.2) nr= c( -2.4 , 9.9 , 14.2 , 18.4 , 20.1 , 23.1 , 70.4) ks.test(r, nr) #Mientras más cerca de esté D de 0, "más iguales" son las distribuciones. #Para calcular cuanto es la población, tomando como población inicial 100 en ambos casos poblacion_r=c(rep(0,length(r)+1)) poblacion_r[1]=100 for (j in 1:length(r)){ poblacion_r[j+1]=poblacion_r[j]*(1+(r[j]/100)) print(r[j]) } floor(poblacion_r) poblacion_nr=c(rep(0,length(nr)+1)) poblacion_nr[1]=100 for (j in 1:length(nr)){ poblacion_nr[j+1]=poblacion_nr[j]*(1+(nr[j]/100)) } plot(floor(poblacion_nr),pch=19,ylim=c(40,400),ylab="Población",xlab="") points(floor(poblacion_r),pch=19,col="red") ## Ejercicio 3 #Concentracion de hierro: x=c(49.83 , 45.08 , 49.33 , 50.47 , 51.29 , 49.85 , 51.93 , 47.24 , 45.77 , 49.89 , 49.04 , 51.23 , 52.63 , 50.22 , 49.11 , 51.22) ks.test(x, 'pnorm', 50, 2) mean(x) #Es el promedio, el Xn sd(x) #Es la desviación estandar empírica, la raíz de Sn #estandarizar es -> raiz(n)*(x-mu)/sigma estandarizados = 4*(x-mean(x))/sd(x) estandarizados #ecdf "calcula" la distribución empirica de los datos: Empirical Cumulative Distribution Function plot(ecdf(estandarizados), main= "Distribución de los datos estandarizados", ylab=" ") curve(pnorm, from=-10, to=6, add=T, col="red") #install.packages("KScorrect") Descomentoar esto solo la primera vez library(KScorrect) #LcKS es para hacer el test de Lilliefors. Recordar que a diferencia de KS #este test es para las hipótesis: H0: Los datos se distribuyen como la distribución teórica #H1: Los datos NO se distribuyen como la distribución teórica. LcKS(estandarizados, "pnorm") LcKS(estandarizados,"punif") #Ejercicio 4 # Microorganismos: t= c(0.85 ,0.70, 1.16, 3.95, 0.94, 4.04 ,0.56 ,3.93, 0.25, 1.45) ks.test(t, "pexp", 0.25) LcKS(t, "pexp") #Para estimar el lambda de la exponiencial: E(X) = 1/lambda. Por otro lado, Xn estima la esperanza #Lambda=1/Xn, Recordar que en R: Xn=mean(t) 1/mean(t) ks.test(t, "pexp", 1/mean(t)) #0.6266 -- P-valor de Lilliefors #0.8012 -- p-valor de Test KS exponencial de lambda=1/mean(t) #0.06335 -- p-valor de Test KS exponencial de lambda=0.25 #En princpio el p-valor de "exponencial con lambda=0.25" es mayor a 0.05, por lo que estamos tentados #a aceptar la hipótesis nula H0. Pero Si vemos que la distancia máxima es aprox. D=0.39, lo cual es "algo grande" #Al hacer el test de Lilliefors vemos que el p-valor es aprox. 0.62 lo cual nos indica que con una seguridad #considerable los datos se distribuyen de forma exponencial, pero seguramente no con lambda=0.25. #Al hacer un KS para exponencial con lambda=1/mean(t) el p-valor aumenta a 0.8012 y la distancia disminuye a D=0.18. #Podemos concluir que los datos se distribuyen de manera exponencial com lambda=1/mean(t).