R-alpha: generic write()
Kurt Hornik writes:
Attached is a first shot at a generic write with my `old' write.table as write.data.frame, suitably modified. There is also a stupid generic latex function, which is just there because it illustrates that the extra arguments sep and eol are useful. In playing with it, I noticed a few `problems'. * The documentation for factor() says, If exclude is set to a zero length vector, then any NA values in x are used for form a new level for the factor. This means that there will be no NA values in the result. Perhaps I don't really understand this, but R> x <- factor(c(1:3, NA), exclude=numeric(0)) R> x [1] 1 2 3 NA R> levels(x) [1] "1" "2" "3"
Looks like a bug to me ...
* coerce.c has two error messages of the form
error("use \"factor\", \"ordered\", \"cut\" or \"code\" to create factors\n");
but there is no function `code'.
A VERY old (pre- 0.1) error message
* cat() is a bit inconsistent: R> cat(x, sep = "&") 1&2&3&4R> cat(x, sep = "&\n") 1& 2& 3& 4 R> Actually, a final newline is added whenever sep contains a newline.
>From src/main/builtin.c:
nlsep = 0;
for (i = 0; i < LENGTH(sepr); i++)
if (strstr(CHAR(STRING(sepr)[i]), "\n")) nlsep = 1;
...
if ((pwidth != INT_MAX) || nlsep)
Rprintf("\n");
I am not sure this is the right thing to do.
(In particular, it makes it rather messy to incrementally build data
files with `explicit' end-of-line strings (such as "\\") by appending
via cat().)
I will look at this a bit more (and compare with the AT&T prototype). Ross =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-