Re: [R-es] outliers (Marta valdes lopez)
Tu fichero tiene los decimales como puntos y no como comas como tu le indicas. Te dejo un ejemplo #- setwd(dir="c:/Users/usuario/Desktop/") library(outliers) filename<-"timediff.csv" time<-read.csv(filename, sep=";",header=TRUE,dec=".") # Esto es lo que has de cambiar chisq.out.test(time$TimeDiff) # Ayuda adicional #- # Si no supones normalidad #- time.without.outs <- data.frame(row.names= 1:dim(time)[1], dif = time ) x <- boxplot(time.without.outs$TimeDiff,range= 1.5) # Quita los outliers que se van más de 1.5 rangos itercuartilicios. Puedes poner otro criterio pero este es el habitual time.without.outs$out.rg <- F time.without.outs[ time.without.outs$TimeDiff %in% x$out,]$out.rg <- T # Localizamos los outliers con la condición elegida time.without.outs$TimeDiff.without.out.rg <- time.without.outs$TimeDiff time.without.outs[ time.without.outs$out.rg,]$TimeDiff.without.out.rg <- NA # Borramos los outliers #- # Si supones normalidad bien lo puedes hacer asà también #- time.without.outs$out.rg.norm <- F time.without.outs[ time.without.outs$TimeDiff %in% x$out,]$out.rg.norm <- T x <- abs(scale(time.without.outs$TimeDiff)) # Normalizamos la variable time.without.outs$out.rg.norm <- F time.without.outs[ x >= qnorm(0.995),]$out.rg.norm <- T # Quitmos los datos que estén alejados 99.5 % en la distro (suponiedo normalidad) time.without.outs$TimeDiff.without.out.norm <- time.without.outs$TimeDiff time.without.outs[ time.without.outs$out.rg.norm,]$TimeDiff.without.out.norm <- NA #- # Si quieres quitar ambos #- time.without.outs$TimeDiff.without.out.norm.rg <- time.without.outs$TimeDiff time.without.outs[ time.without.outs$out.rg | time.without.outs$out.rg.norm,]$TimeDiff.without.out.norm.rg <- NA summary(time.without.outs) # Donde # TimeDiff.without.out.rg Son los datos sin outliers utilizando un criterio tÃpico cuando no se sabe la distribución de tus datos # TimeDiff.without.out.norm Son los datos sin outliers asumiendo la normalidad de tus datos qqnorm(time.without.outs$TimeDiff.without.out.rg); qqline(time.without.outs$TimeDiff.without.out.rg, col = 2, lwd = 2) qqnorm(time.without.outs$TimeDiff.without.out.norm); qqline(time.without.outs$TimeDiff.without.out.norm, col = 2, lwd =2) hist(time.without.outs$TimeDiff.without.out.rg) hist(time.without.outs$TimeDiff.without.out.norm) ks.test(x= time$TimeDiff, "pnorm", mean(time$TimeDiff), sd(time$TimeDiff)) # A la vista de estos exploratorios yo no lo supondrÃa. # TimeDiff.without.out.norm.rg son los datos sin outliers según los dos criterios # De todas maneras tienes un valor que yo creo que has introducido mal max(time.without.outs$TimeDiff) # Este valor es claramente un error de transcripción de datos. -- [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] outliers
Ok,muchas gracias ya me funciono, poniendo como numero la variable. Y si lo quiero hacer con la media puedo tambien con este paquete?? porque para interpretar los resultados me resultara mas facil para comparar. Muchas gracias, un saludo El 11 de julio de 2014, 15:00, daniel escribió: > Marta, > > La función necesita un vector de valores numéricos, intenta con: > > chisq.out.test(as.numeric(time$TimeDiff)) > > Daniel Merino > > > El 11 de julio de 2014, 9:24, Marta valdes lopez > escribió: > >> Hola! >> >> Quiero encontrar los outliers de una columna de datos que son diferencias >> de tiempo, aunque esta en formato numero no en horas. >> >> El paquete que encontre que me podria servir es el outliers e hice este >> script: >> >> library(outliers) >> filename<-"timediff.csv" >> time<-read.csv(filename, sep=";",header=TRUE,dec=",") >> chisq.out.test(time$TimeDiff) >> >> Pero me da error , he intentado ponerlo como numero en vez de como factor >> pero hago algo mal porque no me deja. >> >> Si alguien me puede dar una idea, muchas gracias! >> >> Un saludo >> >> ___ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> > > > -- > Daniel > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] outliers
Marta, La función necesita un vector de valores numéricos, intenta con: chisq.out.test(as.numeric(time$TimeDiff)) Daniel Merino El 11 de julio de 2014, 9:24, Marta valdes lopez escribió: > Hola! > > Quiero encontrar los outliers de una columna de datos que son diferencias > de tiempo, aunque esta en formato numero no en horas. > > El paquete que encontre que me podria servir es el outliers e hice este > script: > > library(outliers) > filename<-"timediff.csv" > time<-read.csv(filename, sep=";",header=TRUE,dec=",") > chisq.out.test(time$TimeDiff) > > Pero me da error , he intentado ponerlo como numero en vez de como factor > pero hago algo mal porque no me deja. > > Si alguien me puede dar una idea, muchas gracias! > > Un saludo > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > -- Daniel [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] outliers
Hola, dos cosas: - el separador de decimales del archivo es un punto, no una coma, ¿no? La opción por defecto es el punto, asà que no hace falta que pongas nada⦠- el cabecero te lo está tomando como tipo de datos âtimediffâ. Quita âTimeDiffâ del principio del archivo, y prueba: time<-read.csv(filename, header= F) ¿Se arregla? Un saludo. Isidro Hidalgo Arellano Observatorio Regional de Empleo ConsejerÃa de Empleo y EconomÃa http://www.jccm.es De: r-help-es-boun...@r-project.org [mailto:r-help-es-boun...@r-project.org] En nombre de Marta valdes lopez Enviado el: viernes, 11 de julio de 2014 14:25 Para: r-help-es@r-project.org Asunto: [R-es] outliers Hola! Quiero encontrar los outliers de una columna de datos que son diferencias de tiempo, aunque esta en formato numero no en horas. El paquete que encontre que me podria servir es el outliers e hice este script: library(outliers) filename<-"timediff.csv" time<-read.csv(filename, sep=";",header=TRUE,dec=",") chisq.out.test(time$TimeDiff) Pero me da error , he intentado ponerlo como numero en vez de como factor pero hago algo mal porque no me deja. Si alguien me puede dar una idea, muchas gracias! Un saludo [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Conversion date a numeric y vuelta a date
Claro, pero y que hacemos con el año 3848503? --JIV 2014-07-10 0:55 GMT+10:00 Alberto Soria : > Muchas Gracias Jorge y Carlos. Solucionado. > > No obstante, as.Date(as.numeric(Sys.time())) no me daba error, sino: [1] > "3848503-10-22" > > Un saludo, > Alberto. > > > El 9 de julio de 2014, 14:34, Jorge I Velez > escribió: > > Hola Alberto, >> >> Necesitas >> >> as.Date(as.numeric(as.Date(Sys.time())), origin = '1970-01-01') >> >> Esta parte >> >> as.numeric(as.Date(Sys.time())) >> # 16260 >> >> te da el numero de dias que han transcurrido desde Ene 1, 1970. Luego, >> utilizando ese dia/año como origen, determinas la fecha actual. >> >> Saludos, >> Jorge.- >> >> >> 2014-07-09 22:25 GMT+10:00 Alberto Soria : >> >>> Hola a todos: >>> >>> Debe de ser una tontería, pero no consigo saber porque la siguiente linea >>> no devuelve la fecha actual: >>> >>> as.Date(as.numeric(Sys.time())) >>> >>> He hecho esa prueba porque no consigo pasar un numero convertido a partir >>> de una fecha y modificado a fecha de nuevo. >>> >>> Gracias por adelantado. >>> >>> Un saludo, >>> Alberto. >>> >>> [[alternative HTML version deleted]] >>> >>> >>> ___ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >> > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] outliers
Hola! Quiero encontrar los outliers de una columna de datos que son diferencias de tiempo, aunque esta en formato numero no en horas. El paquete que encontre que me podria servir es el outliers e hice este script: library(outliers) filename<-"timediff.csv" time<-read.csv(filename, sep=";",header=TRUE,dec=",") chisq.out.test(time$TimeDiff) Pero me da error , he intentado ponerlo como numero en vez de como factor pero hago algo mal porque no me deja. Si alguien me puede dar una idea, muchas gracias! Un saludo timediff.rar Description: application/rar ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es