Thanks Patrick, your function is a neat work-around to include trailing zeroes when specifying significant digits. It worked better with this modification to the "format" arguments: =20 else if (sigdigs<=3Dleft+right) {out<-format(signum,nsmall=3Dsigdigs-left)}
Agree would be nice to include this in signif() Regards, Scott. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf=20 > Of Patrick Carr > Sent: Tuesday, 3 June 2008 11:28 AM > To: [EMAIL PROTECTED] > Cc: Wilkinson, Scott (CLW, Townsville) > Subject: Re: significant digits (PR#9682) >=20 > To reply to my own message, that function wasn't quite right. I think > this one works better: >=20 > signif.string <- function(signum,sigdigs){ > test <- abs(signum) > left <- nchar(trunc(test)) > right <- nchar(test)-left-1 > if (test<1) {left<-left-1} > if (right<0) {right<-0} > if (sigdigs<left) = {out<-as.character(signif(signum,digits=3Dsigdigs))} > else if (sigdigs=3D=3Dleft & trunc(signum) %% 10 =3D=3D 0) > {out<-paste(round(signum),".",sep=3D"")} > else if (sigdigs<=3Dleft+right) = {out<-format(signum,digits=3Dsigdigs)} > else {out<-sprintf(paste("%.",sigdigs-left,"f",sep=3D""),signum)} > return(noquote(out)) > } >=20 > But it should still have error checking and vector capability, yadda > yadda. Also, I forgot what year it was, so sorry, Scott, for spamming > you with something you're hopefully not still stuck on. >=20 > Pat Carr >=20 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel