R options(digits=2)函数更改总位数’;格式。想办法改变小数点后的数字吗

R options(digits=2)函数更改总位数’;格式。想办法改变小数点后的数字吗,r,R,选项(位数=2)更改了前进的总位数: > options(digits=3) > 1.234 [1] 1.23 > 12.234 [1] 12.2 > 123.234 [1] 123 是否有任何方法更改数字格式,使其更改小数点后的数字,从而使数字1.12345变为1.123,123.12345变为123.123 我知道功能或格式;但是,它们只返回基于参数的结果,而选项(数字=3)将更改所有格式。在R中改进“报告”选项的请求由来已久,但从未遇到过对base-

选项(位数=2)
更改了前进的总位数:

> options(digits=3)

> 1.234 

[1] 1.23
> 12.234 

[1] 12.2
> 123.234 

[1] 123
是否有任何方法更改数字格式,使其更改小数点后的数字,从而使数字1.12345变为1.123,123.12345变为123.123


我知道功能或格式;但是,它们只返回基于参数的结果,而选项(数字=3)将更改所有格式。

在R中改进“报告”选项的请求由来已久,但从未遇到过对base-R的修改。无法更改
print.default
函数的行为,您正在使用该函数(不知情)通过翻转选项开关进行舍入。(您可以使用
方法检查是否没有
print.numeric
),因此我的建议是学习对要舍入的项目使用
round
sprintf
formatC
。还有一个额外的“故障”,sprintf或formatC结果将是一个字符值,除非您使用
cat
打印,或者为
print
调用设置
quote=FALSE
@digEmAll用他的建议说明了其中的两个问题。您可能希望了解各种“表”函数和包提供的获取报告格式的更“完整”的策略。通过使用“table”和“tabular”搜索可用的包,您可以看到一系列这样的内容。我有过的经验包括
htmlTables
tabular
xttable
,但还有很多其他的,这不包括
knitr
swave
选项。

如果你的目标是打印,你可以尝试
cat(formatC(c(c(1.23,1.23456123.1234),format='f',digits=3))