[R-es] Posible error en la documentación de "aggregate"

Olmo ulmusnigra en yahoo.es
Mie Mar 19 19:14:43 CET 2014


Hola, ¿puedes poner un ejemplo reproducible? Aunque lo habrás hecho con
el de los ejemplos incluidos en la ayuda de aggregate, supongo, yo
obtengo:
testDF <- data.frame(v1 = c(1,3,5,7,8,3,5,NA,4,5,7,9),
                          v2 = c(11,33,55,77,88,33,55,NA,44,55,77,99) )
by1 <- c("red", "blue", 1, 2, NA, "big", 1, 2, "red", 1, NA, 12)
by2 <- c("wet", "dry", 99, 95, NA, "damp", 95, 99, "red", 99, NA,
NA) aggregate(x = testDF, by = list(by1, by2), FUN = "mean")
fby1 <- factor(by1, exclude = "")
 fby1
 [1] red  blue 1    2    <NA> big  1    2    red  1    <NA> 12  
Levels: 1 12 2 big blue red <NA>
 
prueba <- factor(by1, exclude = NULL)
prueba
 [1] red  blue 1    2    <NA> big  1    2    red  1    <NA> 12  
Levels: 1 12 2 big blue red <NA>

con.string <- factor(by1, exclude = "hola")
con.string
 [1] red  blue 1    2    <NA> big  1    2    red  1    <NA> 12  
Levels: 1 12 2 big blue red <NA>

 No se si obtendrás lo mismo, como ves los objetos son iguales.

Saludos,
Olmo.
El Wed, 19 Mar 2014 18:04:33 +0100
Víctor Nalda Castellet <victor.nalda.castellet en gmail.com> escribió:
> La cuestión es que yo he invocado a  factor con exclude="" y no me
> funcionaba. Por eso estaba preguntando a la comunidad.
> 
> 
> 
> El 19 de marzo de 2014, 17:57, Olmo <ulmusnigra en yahoo.es> escribió:
> 
> >  Hola, creo que mirando el código de la función (factor) se
> > entiende un poco, pases lo que le pases a exclude entre comillas,
> > haces el mismo efecto, como si le pasas "hola", si no le pasaras
> > ningún argumento si que sería distinto, pues se aplica el valor por
> > defecto a ese parámetro, fíjate en los condicionales, y la
> > comprobación de !is.null, creo que por ahí está la clave, aunque
> > podría equivocarme.
> >
> > El Wed, 19 Mar 2014 17:28:56 +0100
> > Víctor Nalda Castellet <victor.nalda.castellet en gmail.com> escribió:
> > > Hola compañeros, estaba utilizando la función "aggregate" y
> > > quería que tuviese en cuenta los NAs. He leido la documentación
> > > de dicha función y aparece esto:
> > >
> > > # and if you want to treat NAs as a group
> > > fby1 <- factor(by1, exclude = "")
> > > fby2 <- factor(by2, exclude = "")
> > > aggregate(x = testDF, by = list(fby1, fby2), FUN = "mean")
> > >
> > > (
> > http://stat.ethz.ch/R-manual/R-patched/library/stats/html/aggregate.html)
> > >
> > > Pero el argumento exclude de la función factor, para que tenga en
> > > cuenta NAs (según la documentación de factor,
> > > https://stat.ethz.ch/R-manual/R-devel/library/base/html/factor.html)
> > > se debe poner exclude=NULL.
> > >
> > > ## suppose you want "NA" as a level, and to allow missing values.
> > > (x <- factor(c(1, 2, NA), exclude = NULL))is.na(x)[2] <- TRUE
> > > x  # [1] 1    <NA> <NA>is.na(x)
> > > # [1] FALSE  TRUE FALSE
> > >
> > > ¿Qué pensais sobre ello? ¿Es un error de la documentación o estoy
> > > equivocado?
> > >
> > >
> > > Un saludo, y gracias.
> > >
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> 
> 
> 



Más información sobre la lista de distribución R-help-es