R options(digits=2) 函数改变总位数的格式。寻找改变小数点后数字的方法

Posted

技术标签:

【中文标题】R options(digits=2) 函数改变总位数的格式。寻找改变小数点后数字的方法【英文标题】:R options(digits=2) function changes the total number of digits’ format. Looking for a way to change the digits after decimal point 【发布时间】:2016-07-23 02:40:47 【问题描述】:

options(digits=2) 改变了未来的总位数:

> options(digits=3)

> 1.234 

[1] 1.23
> 12.234 

[1] 12.2
> 123.234 

[1] 123

有没有什么办法可以改变数字格式,使它改变小数点后的数字,所以当 digits_after_decimal=3 数字 1.12345 变成 1.123 和 123.12345 变成 123.123?

我知道圆形或格式的功能;但是,它们只是根据参数返回结果,而 options(digits=3) 会更改所有格式。

【问题讨论】:

如果你的目标是打印,你可以试试cat(formatC(c(1.23,1.23456,123.1234),format='f',digits=3)) 【参考方案1】:

在 R 中改进“报告”选项的请求由来已久,但从未遇到过对 base-R 的修改。无法更改 print.default 函数的行为,这是您正在使用(不知道)通过翻转选项开关进行舍入的功能。 (您可以使用methods 来检查是否没有print.numeric。)所以我的建议是学习在您想要四舍五入的项目上使用roundsprintfformatC。将有一个额外的“障碍”,因为 sprintf 或 formatC 结果将是一个字符值,并且它将用引号显示,除非您使用cat 进行打印,或者将quote=FALSE 设置为print 调用。 @digEmAll 用他的建议说明了其中两个问题。您可能希望查看更多“完整”策略来获取各种“表格”功能和包提供的报告格式。您可以通过使用“table”和“tabular”搜索可用的包来查看大量此类。我有经验的包括htmlTablestabularxtable,但还有很多其他的,这不包括knitrSweave 选项。

【讨论】:

以上是关于R options(digits=2) 函数改变总位数的格式。寻找改变小数点后数字的方法的主要内容,如果未能解决你的问题,请参考以下文章

R语言格式化数字和字符串format函数

控制R中打印输出中的小数位数

在 R 中使用 as.numeric() 时如何避免数字舍入?

在R中格式化科学记数法[重复]

R语言-环境变量设置

格式化R中的小数位