From hb at stat.berkeley.edu  Fri Nov 13 14:37:36 2009
From: hb at stat.berkeley.edu (Henrik Bengtsson)
Date: Fri, 13 Nov 2009 14:37:36 +0100
Subject: [Rd] format (PR#14062)
In-Reply-To: <20091113104016.88E6C2832015@mail.pubhealth.ku.dk>
References: <20091113104016.88E6C2832015@mail.pubhealth.ku.dk>
Message-ID: <59d7961d0911130537g1b6ce55ch84daffc8c8068ec3@mail.gmail.com>

Ha, beautiful example of how you should never use 'T' when you mean 'TRUE'.

Thanks

/Henrik

PS. The error message does indeed give you a great hint what the problem is.


On Fri, Nov 13, 2009 at 11:40 AM,  <dirk.jacob at ise.fraunhofer.de> wrote:
> 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
>



[Rd] format (PR#14062)
Henrik Bengtsson