An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140319/eb3524c0/attachment.pl>
[R-es] Posible error en la documentación de "aggregate"
4 messages · Víctor Nalda Castellet, Olmo
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.
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140319/1b5d0bb0/attachment.pl>
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") (
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