[Rd] write.table quotes too much (PR#5042)
dmurdoch at pair.com
dmurdoch at pair.com
Wed Nov 12 03:58:20 MET 2003
The code
> m <- matrix(1,2,2)
> write.table(m,'test.txt')
writes out a file that looks like this:
"X1" "X2"
"1" "1" "1"
"2" "1" "1"
According ?write.table, factors and character vectors should be quoted
by default, but this is quoting the numbers as well. Also according
to the docs, the matrix m would be treated as data.frame(m), but if a
true data frame is passed in, the numbers don't get quoted.
The bug is due to the "else" near the beginning of write.table:
if(!is.data.frame(x))
x <- data.frame(x)
else if(is.logical(quote) && quote)
quote <- which(unlist(lapply(x, function(x)
is.character(x) || is.factor(x))))
However, that looks intentional to me. Is it really?
Duncan Murdoch
More information about the R-devel
mailing list