knitr - 数字的奇怪行为

时间:2013-06-24 10:34:26

标签: r knitr

关于knitr中打印的位数,我遇到了一些麻烦。 该数字与设置[{​​{1}}]不对应。 我知道大约一年前这是一个问题,但已经解决了(https://github.com/yihui/knitr/issues/120)。

options('digits')

这是我得到的(两台不同的机器上相同):http://rpubs.com/markheckmann/6715enter image description here 这里出了点问题,我没有任何线索。有任何想法吗?

2 个答案:

答案 0 :(得分:3)

我认为options(digits=10)正在做你 exepct 的事情。也许你的意思是

sprintf( "%.10f",101.101)
# [1] "101.1010000000"

答案 1 :(得分:2)

这不是一个编织问题;它只是R显示数字的方式。单独试用你的代码,无需编织。

a <- 100.101
a
#[1] 100.101
as.character(a)
#[1] "100.101"
options(digits=4)
a
#[1] 100.1
options(digits=10)
a
[1] 100.101

print不会用零填充数字来组成宽度;为此你需要format

format(a, nsmall = 10)
#[1] "100.1010000000"