On Thu, Jun 25, 2009 at 1:38 PM, Henrique Dallazuanna <www...@gmail.com>wrote:
> I also not find this in the source code, but you can rewrite the function > with this: > That's true - but this should be fixed in the package itself. I have just converted the factor to characters. Cheers Rainer > > expand.grid <- > function (..., KEEP.OUT.ATTRS = TRUE, stringsAsFactors = FALSE) > { > nargs <- length(args <- list(...)) > if (!nargs) > return(as.data.frame(list())) > if (nargs == 1L && is.list(a1 <- args[[1L]])) > nargs <- length(args <- a1) > if (nargs == 0L) > return(as.data.frame(list())) > cargs <- args > iArgs <- seq_len(nargs) > nmc <- paste("Var", iArgs, sep = "") > nm <- names(args) > if (is.null(nm)) > nm <- nmc > else if (any(ng0 <- nzchar(nm))) > nmc[ng0] <- nm[ng0] > names(cargs) <- nmc > rep.fac <- 1L > d <- sapply(args, length) > if (KEEP.OUT.ATTRS) { > dn <- vector("list", nargs) > names(dn) <- nmc > } > orep <- prod(d) > if (orep == 0L) { > for (i in iArgs) cargs[[i]] <- args[[i]][FALSE] > } > else { > for (i in iArgs) { > x <- args[[i]] > if (KEEP.OUT.ATTRS) > dn[[i]] <- paste(nmc[i], "=", if (is.numeric(x)) > format(x) > else x, sep = "") > nx <- length(x) > orep <- orep/nx > x <- x[rep.int(rep.int(seq_len(nx), rep.int(rep.fac, > nx)), orep)] > if(stringsAsFactors){ > if (!is.factor(x) && is.character(x)) > x <- factor(x, levels = unique(x)) > }else{ > x > } > cargs[[i]] <- x > rep.fac <- rep.fac * nx > } > } > if (KEEP.OUT.ATTRS) > attr(cargs, "out.attrs") <- list(dim = d, dimnames = dn) > rn <- .set_row_names(as.integer(prod(d))) > structure(cargs, class = "data.frame", row.names = rn) > } > > On Thu, Jun 25, 2009 at 8:21 AM, Rainer M Krug <r.m.k...@gmail.com> wrote: > >> Hi >> >> I have the feeling, that the argument stringsAsFactors has no impact in >> the >> function expand.grid: >> >> a <- c("PR", "NC", "A2", "BS") >> b <- c(1, 0.5, 0.25, 0.125, 0.0625, 0.03125) >> >> class(expand.grid(css, fscs, stringsAsFactors=FALSE)[[1]]) >> [1] "factor" >> class(expand.grid(css, fscs, stringsAsFactors=TRUE)[[1]]) >> [1] "factor" >> >> Also, when I look at the code of expand.grid, stringsAsFactors does not >> occur in the code. >> >> Am I missing something? >> >> > version >> _ >> platform i486-pc-linux-gnu >> arch i486 >> os linux-gnu >> system i486, linux-gnu >> status >> major 2 >> minor 9.0 >> year 2009 >> month 04 >> day 17 >> svn rev 48333 >> language R >> version.string R version 2.9.0 (2009-04-17) >> >> Cheers, >> >> Rainer >> -- >> Rainer M. Krug, Centre of Excellence for Invasion Biology, Stellenbosch >> University, South Africa >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. >> > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > -- Rainer M. Krug, Centre of Excellence for Invasion Biology, Stellenbosch University, South Africa [[alternative HTML version deleted]]
______________________________________________ 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.