[Rd] format (PR#14062)

From: <dirk.jacob_at_ise.fraunhofer.de>
Date: Fri, 13 Nov 2009 11:40:16 +0100 (CET)


Full_Name: Dirk Jacob
Version: R 2.8.1 and 2.9.1
OS: Win XP
Submission from: (NULL) (153.96.32.62)

I want to convert numbers to strings
like:
> inputs= c(0.3+0*(1:12) )
> (format(inputs,digits=3,scientific=T,collapse=" "))

and it works

 [1] "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" [10] "3e-01" "3e-01" "3e-01"

if I use different numbers it does not:

> C <- c(840,1000,1000,1000)
> R <- c(860,2500,2500,2000)
> L <- c(0.23,1,1,1.1)
> T <- c(0.2,0.2,0.3,0.175)
> I <- c(0.05,0.1,0.14,0.18)
> inputs <- cbind(C,R,L,T,I)

If I try the same format command, it does not:
> (format(c(inputs[1,]),digits=3, scientific=T))
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3, :
  invalid 'scientific' argument

Only if I change scientific to NA
> (format(c(inputs[1,]),digits=3, scientific=NA))

remark (not important for the problem):
but I need scientific because sometimes the strings get to long otherwise

Now if I am trying the same thing as at the beginning it doesn't work anymore
> inputs= c(0.3+0*(1:12) )
> (format(inputs,digits=3,scientific=T,collapse=" "))
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3, :   invalid 'scientific' argument

This looks like some problem in .Internal(format, ...) to me!?

if I remove everything from my environment
> rm(list=ls(all=T))
>
> inputs= c(0.3+0*(1:12) )
> (format(inputs,digits=3,scientific=T,collapse=" "))
 [1] "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" "3e-01" [10] "3e-01" "3e-01" "3e-01"
>

it works again!

rm(list=ls(all=T))

inputs= c(0.3+0*(1:12) )
(format(inputs,digits=3,scientific=T,collapse=" "))



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 13 Nov 2009 - 13:25:13 GMT

This archive was generated by hypermail 2.2.0 : Fri 13 Nov 2009 - 14:50:24 GMT