Re: [R] stringsAsFactors param in expand.grid not working
RT == Rolf Turner r.tur...@auckland.ac.nz on Tue, 19 May 2009 11:02:08 +1200 writes: RT On 19/05/2009, at 10:20 AM, Steve Lianoglou wrote: Hi all, I've (tried) to look through the bug tracker, and gmane-search the R list to see if this has been mentioned before, and it looks like it hasn't. Yes, thank you. That's a bug on which we (R-core) currently work. More about this, and notably about Rolf's (.)*^%)(#%$) proposal on the R-devel list. Martin Maechler According to the R 2.9.0 release notes[1], the expand.grid function should now take a stringsAsFactor=LOGICAL argument which controls whether or not the function coerces strings as factors. While the parameter is indeed in the function, a quick examination of the function's source shows that the value of this argument is never checked, and all strings are converted to factors as a matter of course. The fix is pretty easy, and I believe only requires changing the `if` check here: if (!is.factor(x) is.character(x)) x - factor(x, levels = unique(x)) To: if (!is.factor(x) is.character(x) stringsAsFactors) x - factor(x, levels = unique(x)) I can open a ticket regarding this issue and add this there if necessary. Thanks, -steve [1] http://article.gmane.org/gmane.comp.lang.r.general/146891 RT While we're at it --- would it not make sense to have the RT stringsAsFactors RT argument (once it's working) of expand.grid() default to options() RT $stringsAsFactors, RT rather than to FALSE? RT This would make no difference to me personally, since I set RT options(stringsAsFactors=FALSE) in my .Rprofile. But it might make some RT people happier RT cheers, RT Rolf Turner RT ## RT Attention:\ This e-mail message is privileged and confid...{{dropped:9}} RT __ RT R-help@r-project.org mailing list RT https://stat.ethz.ch/mailman/listinfo/r-help RT PLEASE do read the posting guide http://www.R-project.org/posting-guide.html RT and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] stringsAsFactors param in expand.grid not working
Hi all, I've (tried) to look through the bug tracker, and gmane-search the R list to see if this has been mentioned before, and it looks like it hasn't. According to the R 2.9.0 release notes[1], the expand.grid function should now take a stringsAsFactor=LOGICAL argument which controls whether or not the function coerces strings as factors. While the parameter is indeed in the function, a quick examination of the function's source shows that the value of this argument is never checked, and all strings are converted to factors as a matter of course. The fix is pretty easy, and I believe only requires changing the `if` check here: if (!is.factor(x) is.character(x)) x - factor(x, levels = unique(x)) To: if (!is.factor(x) is.character(x) stringsAsFactors) x - factor(x, levels = unique(x)) I can open a ticket regarding this issue and add this there if necessary. Thanks, -steve [1] http://article.gmane.org/gmane.comp.lang.r.general/146891 __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] stringsAsFactors param in expand.grid not working
On 19/05/2009, at 10:20 AM, Steve Lianoglou wrote: Hi all, I've (tried) to look through the bug tracker, and gmane-search the R list to see if this has been mentioned before, and it looks like it hasn't. According to the R 2.9.0 release notes[1], the expand.grid function should now take a stringsAsFactor=LOGICAL argument which controls whether or not the function coerces strings as factors. While the parameter is indeed in the function, a quick examination of the function's source shows that the value of this argument is never checked, and all strings are converted to factors as a matter of course. The fix is pretty easy, and I believe only requires changing the `if` check here: if (!is.factor(x) is.character(x)) x - factor(x, levels = unique(x)) To: if (!is.factor(x) is.character(x) stringsAsFactors) x - factor(x, levels = unique(x)) I can open a ticket regarding this issue and add this there if necessary. Thanks, -steve [1] http://article.gmane.org/gmane.comp.lang.r.general/146891 While we're at it --- would it not make sense to have the stringsAsFactors argument (once it's working) of expand.grid() default to options() $stringsAsFactors, rather than to FALSE? This would make no difference to me personally, since I set options(stringsAsFactors=FALSE) in my .Rprofile. But it might make some people happier cheers, Rolf Turner ## Attention:\ This e-mail message is privileged and confid...{{dropped:9}} __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.