knitr-数字的奇怪行为

knitr-数字的奇怪行为,r,knitr,R,Knitr,关于knitr中打印的位数,我遇到了一些问题。 该数字与设置[选项('digits')]不对应。 我知道大约一年前这是一个问题,但现在已经解决了() `{r} 包装版本(“knitr”) 选项(“数字”) a这不是刀的问题;这就是R显示数字的方式。自己尝试你的代码,不要编织 a <- 100.101 a #[1] 100.101 as.character(a) #[1] "100.101" options(digits=4) a #[1] 100.1 options(digits=10)

关于knitr中打印的位数,我遇到了一些问题。 该数字与设置[
选项('digits')
]不对应。 我知道大约一年前这是一个问题,但现在已经解决了()

`{r}
包装版本(“knitr”)
选项(“数字”)

a这不是刀的问题;这就是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

这不是刀子的问题;这就是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

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

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

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

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

你期望什么?至少对于第一个
a
的输出,我期望
100.101
就像在R控制台中一样。但也许我确实误解了
数字
参数。文档中说:
数字:控制打印数值时要打印的位数。
因此我希望
100.101
不是
100.1
(因为
数字
是4)是我弄错了吗?还是我错误地认为
数字
指的是小数位数?你期望什么?至少对于第一个
a
的输出,我期望
100.101
,就像在R控制台中一样。但也许我确实误解了
数字
参数。文档中说:
数字:控制打印数值时要打印的位数。
因此我希望
100.101
不是
100.1
(因为
数字
是4)是我弄错了吗?还是我错误地认为
数字
指的是小数位数?我希望当有效位数设置为
4
时,数字
100.101
不会被截断为
100.1
。但也许我把“重要数字”这个词弄错了……好吧。我想我完全误解了术语
有效数字
。有趣的是,多年来我从未注意到这种行为。在大多数情况下,默认的
digits=7
就足够了。但是黑客攻击以下数字现在已经清楚了:
123456.7
123456.78
@MarkHeckmann很高兴你发现了。很抱歉没有早点回复,我离线了一段时间!当有效位数设置为
4
时,我希望数字
100.101
不会被截断为
100.1
。但也许我把“重要数字”这个词弄错了……好吧。我想我完全误解了术语
有效数字
。有趣的是,多年来我从未注意到这种行为。在大多数情况下,默认的
digits=7
就足够了。但是黑客攻击以下数字现在已经清楚了:
123456.7
123456.78
@MarkHeckmann很高兴你发现了。很抱歉没有早点回复,我离线了一段时间!