Yup, I worked it out in time... for future reference, as.matrix calls `format` on logicals, converting them to the form seen.
On Sat, 4 Aug 2018 at 17:53, Berry, Charles <[email protected]> wrote: > > > > On Aug 4, 2018, at 6:55 AM, David Hugh-Jones <[email protected]> > wrote: > > > > I'm not sure why this is happening: > > > > tmp <- data.frame( > > a = letters[1:2], > > b=c(TRUE, FALSE), > > stringsAsFactors = FALSE > > ) > > idx <- matrix(c(1, 2, 2, 2), 2, byrow = TRUE) > > tmp[idx] > > > > [1] " TRUE" "FALSE" > > > > From ?"[.data.frame" > > Extract.data.frame {base} > . > . > . > Matrix indexing (x[i] with a logical or a 2-column integer matrix i) using > [ is not recommended. For extraction, x is first coerced to a matrix. > > [...] > > Thus, something like > > as.matrix(tmp) > > happens converting every column to character. Dig deeper by reading > > ?matrix > > and see the paragraph on `as.matrix' under `Details'. > > HTH, > > Chuck > -- Sent from Gmail Mobile [[alternative HTML version deleted]] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
