[Rd] write.table (PR#1219)
ripley@stats.ox.ac.uk
ripley@stats.ox.ac.uk
Tue, 18 Dec 2001 00:36:19 +0100 (MET)
On Tue, 18 Dec 2001 olshena@mskcc.org wrote:
> Full_Name: Adam B. Olshen
> Version: 1.3.1
> OS: Linux
> Submission from: (NULL) (140.163.222.233)
>
>
> There appears to be a bug with write.table if the object being written is a
> matrix.
> Specifically, the option row.names=F gives an error. I have seen this problem
> repeated in the Windows implementation. An example is below.
>
> Adam Olshen
> olshena@mskcc.org
>
> This works:
>
> > write.table(matrix(rnorm(100),10),"blah",row.names=T)
>
> And this works:
>
> > write.table(as.data.frame(matrix(rnorm(100),10)),"blah",row.names=F)
>
> This does not work:
>
> > write.table(matrix(rnorm(100),10),"blah",row.names=F)
> Error in gsub(pattern, replacement, x, ignore.case, extended) :
> invalid argument
Actually, this happens only for numerical matrices, so just do
X <- matrix(rnorm(100),10)
X[] <- as.character(X)
write.table(X,"blah",row.names=F)
or even
write.table(X,"blah",row.names=F, quote=F)
Note though that for almost all purposes
write.table(format(X), "blah",row.names=F, quote=F)
would be better.
Nevertheless I'll put in the obvious fix for 1.4.0.
--
Brian D. Ripley, ripley@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._