Skip to content
Back to formatted view

Raw Message

Message-ID: <429B4B72.9000109@stats.uwo.ca>
Date: 2005-05-30T17:20:50Z
From: Duncan Murdoch
Subject: Formatting numbers with a limited amount of digits consistently
In-Reply-To: <d7f8op$fa3$1@sea.gmane.org>

Henrik Andersson wrote:
> I have tried to get signif, round and format to display numbers like 
> these consistently in a table, using e.g. signif(x,digits=3)
> 
> 17.01
> 18.15
> 
> I want
> 
> 17.0
> 18.2
> 
> Not
> 
> 17
> 18.2
> 
> 
> Why is the last digit stripped off in the case when it is zero!

signif() changes the value; you don't want that, you want to affect how 
a number is displayed.  Use format() or formatC() instead, for example

 > x <- c(17.01, 18.15)
 > format(x, digits=3)
[1] "17.0" "18.1"
 > noquote(format(x, digits=3))
[1] 17.0 18.1

> Is this a "feature" of R or did I miss something?

I'd say both.

Duncan Murdoch