*Procedimiento creado por:F.J.Herrero,M.Cuesta,P.Fernández y G.Vallejo (2010) *Grupo de Diseños de Investigación y Análisis de Datos *Departamento de Psicología - Universidad de Oviedo. ***************************************************************************************** *Procedimiento para obtener estadísticos robustos de las variables de una base de datos. *R_get_specified_variables.sps. (A modicar para cada caso). get file='b:\R\trabajo\beatriz-carcel.sav'. *Procedimiento en R: Lectura de los datos. BEGIN PROGRAM R. varnomb<-c("delnosan","delsan","prienpri","tempocontrol") datos <- spssdata.GetDataFromSPSS(variables=varnomb) end program. *Procedimientos opcionales. *(Procedimiento de preparación de los datos en casos de tener mortalidad experimental) *Seleccionar el segmento elegido y ejecutar. *Opción 1:Imputación. begin program r. #Imputación de la media a "valores perdidos" library(Hmisc) datos$delnosan<-impute(datos$delnosan,mean) #asigna la media #datos$delnosan<-impute(datos$delnosan,median) #asigna la mediana end program. *Ipción 2:Subconjunto eliminando casos perdidos. begin program r. #subconjunto de datos eliminados: en este caso los perdidos en 'delnosan' #(funciona sólo si las instrucciones de imputación anteriores no han sido ejecutadas) datos <- subset(datos, !is.na(delnosan)) #Elimina casos con mortalidad experimental end program. ********************************************************************************************. *Procedimientos estadísticos. ********************************************************************************************. *Procedimiento de estadística clásica en R. begin program r. print("***************RESUMEN DE DATOS CLÁSICO**********************") summary(datos) #Resumen clásico end program. *Procedimiento de estadísticos robustos en R. begin program r. ########################################################################################## k<-dim(datos) #dimensión de la base de datos cat ("Matriz:") k m<-matrix(c(0), k[2], 11) dimnames(m)[[2]] <- c("Mrc5%","Mrc10%", "Mrc15%","Mrc20%", "Mrc25%","TRIMEDIA", "PERTmediana","PERTmedia","DTs","CVr","H") dimnames(m)[[1]] <- varnomb ########################################################################################### ## Estadísticos robustos for (i in 1:k[2]) { m[i,1]<-mean(datos[,i],trim=0.05) m[i,2]<-mean(datos[,i],trim=0.10) m[i,3]<-mean(datos[,i],trim=0.15) m[i,4]<-mean(datos[,i],trim=0.20) m[i,5]<-mean(datos[,i],trim=0.25) m[i,6]<-(quantile(datos[,i],1/4)+2*median(datos[,i])+quantile(datos[,i],3/4))/4 m[i,7]<-(min(datos[,i])+4*median(datos[,i])+max(datos[,i]))/6 m[i,8]<-(min(datos[,i])+4*mean(datos[,i])+max(datos[,i]))/6 m[i,9]<-( (quantile(datos[,i],3/4)) - (quantile(datos[,i],1/4)) )/1.349 m[i,10]<-( (quantile(datos[,i],3/4)) - (quantile(datos[,i],1/4)) )/( (quantile(datos[,i],3/4)) + (quantile(datos[,i],1/4))) H <- summary(datos[,i])/length(datos[,i]) m[i,11]=-sum(H * (log(H)/log(2))) #Entropía en log2 } ########################################################################################## #Exporta Tabla de resultados a SPSS en panel de pivotado spsspivottable.Display(t(m),title="Estadísticos robustos") #Transpuesta para dar un resultado semejante al SPSS end program.