Automatic rounding of values after factors , converted to numeric, are multipled by a real number
"Nelson, Gary (FWE)" <Gary.Nelson at state.ma.us> writes:
Peter, Thank you for your response. I knew how close the values are to integers, but I still don't understand why I don't have control over how the numbers are displayed (rounded or not)?
It's all in the conventions. The digits in print() and friends are significant digits, so we first round to that many significant digits, then discard trailing zeros, which is why
12.500001
[1] 12.5
12.50001
[1] 12.50001 The exception is that we do not discard significant digits to the left of the decimal point, unless we are using scientific notation
print(12345678,digits=2)
[1] 1.2e+07
print(12345678,digits=5)
[1] 12345678 (the "scipen" options controls the logic for switching notation). For finer control we have the formatC function:
format(1234.00001,digits=9) # same thing as with print()
[1] "1234.00001"
format(1234.00001,digits=8)
[1] "1234"
formatC(1234.00001,digits=5,format="f")
[1] "1234.00001"
formatC(1234.00001,digits=4,format="f")
[1] "1234.0000"
O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907