[Rd] man page for as.matrix for data frames outdated?
Bill Dunlap
bill at insightful.com
Fri Nov 3 20:52:21 CET 2006
On Fri, 3 Nov 2006, Herve Pages wrote:
> > df5 <- data.frame(toto=c("a","bb"), titi=c(9,999))
> > as.matrix(df5)
> toto titi
> 1 "a" " 9"
> 2 "bb" "999"
> ...
> 2) the questionable decision to do this conversion using 'format'
> (leading to the addition of unnecessary white space) and not
> simply 'as.character'
It is possible that this decision was made because one use of
as.matrix(mixed-mode-data-frame) was for printing data.frames and
format(numberic-column) would line up the decimal points and
make one scientific-notation/or-not decision for the entire column.
(Splus3.4, c. 1996, printed data.frames with print(as.matrix(x)),
but by 1999 Splus4.7 was using print(format(x)).)
R> df6<- data.frame(toto=c("a","bb","ccc"), titi=c(.9e-20,.99999,999.9))
R> as.matrix(df6)
toto titi
1 "a" "9.0000e-21"
2 "bb" "9.9999e-01"
3 "ccc" "9.9990e+02"
R> df7<-data.frame(toto=c("a","bb","ccc"), titi=c(.9,.99999,999.9))
R> as.matrix(df7)
toto titi
1 "a" " 0.90000"
2 "bb" " 0.99999"
3 "ccc" "999.90000"
Once such a decision is made it is hard to change things, especially
when the benefit is slight.
----------------------------------------------------------------------------
Bill Dunlap
Insightful Corporation
bill at insightful dot com
360-428-8146
"All statements in this message represent the opinions of the author and do
not necessarily reflect Insightful Corporation policy or position."
More information about the R-devel
mailing list