Perhaps someone will have a solution to my more general problem, but here is the specific one: I used the round() function to round some estimates to 3 decimal places. I then sent put the rounded estimates in a matrix and used latex() to make a LaTeX table from them. However, in my table, there are estimtes which only have 2 decimal places. I assume that the third decimal place in these numbers was equal to zero, so the round() function simply cut off the superfluous zero. However, I want all of my estimates to have the same number of digits. Is there a way to force R to keep all three digits, even if the last one is zero? Now, getting to the more general issue, to which a solution might negate the need for a solution to the first part of this email. I want to create a table in which all of the standard errors are in parentheses. The solution I used was to input the std. errors into the matrix to be used for making the table as follows paste('(',satt.yr.hrs$se,')',sep='') However, after doing so, my LaTeX output had all of the digits that R output without rounding like it normally does. So, I tried using the round() command as described above. Another problem with my solution is that the negative signs in my LaTeX tables come out as hyphens, not the usual negative signs from math mode. Does anyone have a better solution for how to put my std. errors in parentheses? Thanks, BQ
Try:> sprintf("(%.2f)", pi)[1] "(3.14)" On 4/11/06, Brian Quinif <bquinif at gmail.com> wrote:> Perhaps someone will have a solution to my more general problem, but > here is the specific one: > > I used the round() function to round some estimates to 3 decimal > places. I then sent put the rounded estimates in a matrix and used > latex() to make a LaTeX table from them. However, in my table, there > are estimtes which only have 2 decimal places. I assume that the third > decimal place in these numbers was equal to zero, so the round() > function simply cut off the superfluous zero. However, I want all of > my estimates to have the same number of digits. Is there a way to > force R to keep all three digits, even if the last one is zero? > > Now, getting to the more general issue, to which a solution might > negate the need for a solution to the first part of this email. I > want to create a table in which all of the standard errors are in > parentheses. The solution I used was to input the std. errors into > the matrix to be used for making the table as follows > > paste('(',satt.yr.hrs$se,')',sep='') > > However, after doing so, my LaTeX output had all of the digits that R > output without rounding like it normally does. So, I tried using the > round() command as described above. Another problem with my solution > is that the negative signs in my LaTeX tables come out as hyphens, not > the usual negative signs from math mode. > > Does anyone have a better solution for how to put my std. errors in parentheses? > > Thanks, > > BQ > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >
On Tue, 11 Apr 2006, Brian Quinif wrote:> Perhaps someone will have a solution to my more general problem, but > here is the specific one:These are issues discussed in all good books on R/S programming. E.g. section 3.5 in MASS.> I used the round() function to round some estimates to 3 decimal > places. I then sent put the rounded estimates in a matrix and used > latex() to make a LaTeX table from them. However, in my table, there > are estimtes which only have 2 decimal places. I assume that the third > decimal place in these numbers was equal to zero, so the round() > function simply cut off the superfluous zero. However, I want all of > my estimates to have the same number of digits. Is there a way to > force R to keep all three digits, even if the last one is zero?At least three ways: ?format, see argument 'nsmall'. ?sprintf ?formatC What latex() does (it is not a standard R function, presumably you mean the one in Hmisc?) with its input is not clear to me, but sending it character input should resolve this.> Now, getting to the more general issue, to which a solution might > negate the need for a solution to the first part of this email. I > want to create a table in which all of the standard errors are in > parentheses. The solution I used was to input the std. errors into > the matrix to be used for making the table as follows > > paste('(',satt.yr.hrs$se,')',sep='') > > However, after doing so, my LaTeX output had all of the digits that R > output without rounding like it normally does.Yes, paste() does an implicit as.character (as it help page says). R does _not_ normally round, but print and cat do (in different ways).> So, I tried using the round() command as described above. Another > problem with my solution is that the negative signs in my LaTeX tables > come out as hyphens, not the usual negative signs from math mode.So, use math (or tt) mode. TeX does not use different characters for hyphen and minus (even though they are different characters in Unicode, Adobe encodings ...), so I do not see how this can be solved in R. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Brian Quinif <bquinif <at> gmail.com> writes:> > I used the round() function to round some estimates to 3 decimal > places. I then sent put the rounded estimates in a matrix and used > latex() to make a LaTeX table from them. However, in my table, there > are estimtes which only have 2 decimal places. I assume that the third > decimal place in these numbers was equal to zero, so the round() > function simply cut off the superfluous zero. However, I want all of > my estimates to have the same number of digits. Is there a way to > force R to keep all three digits, even if the last one is zero?latex implicitely calls format.df, which has documented cdec, rdec... arguments.> However, after doing so, my LaTeX output had all of the digits that R > output without rounding like it normally does. So, I tried using the > round() command as described above. Another problem with my solution > is that the negative signs in my LaTeX tables come out as hyphens, not > the usual negative signs from math mode.Try numeric.dollar = TRUE (but you might run in other problems with that option, mainly in ctable). Dieter