我有一个数字,例如1.128347132904321674821,当输出到屏幕(或写入文件)时,我只想显示为两位小数。你是怎么做到的
x<;-1.128347132904321674821
编辑:
使用:
选项(数字=2)
这是一个可能的答案。有没有一种方法可以在脚本中指定一次性使用?当我把它添加到我的脚本中时,它似乎没有做任何不同的事情,而且我对大量重新键入以格式化每个数字不感兴趣(我正在自动生成一个非常大的报告)
—
回答:四舍五入(x,数字=2)
背景:本页建议的一些答案(例如,signif,选项(数字=…))不能保证为任意数字显示一定数量的小数。我认为这是R中的一个设计特征,好的科学实践包括根据“有效数字”原则显示一定数量的数字。但是,在许多领域(如APA样式、业务报告)中,格式要求显示一定数量的小数位数。这通常是出于一致性和标准化的目的,而不是关注重要的数字
解决方案:
以下代码正好显示了数字x的两位小数
格式(圆形(x,2),nsmall=2)
例如:
格式(圆形(1.20,2),nsmall=2)
# [1] "1.20"
格式(圆形(1,2),nsmall=2)
# [1] "1.00"
格式(圆形(1.1234,2),nsmall=2)
# [1] "1.12"
更一般的函数如下所示,x是数字,k是要显示的小数位数trimws删除任何前导空格,如果您有一个数字向量,这些空格可能会很有用
指定十进制<;-函数(x,k)trimws(格式(圆形(x,k),nsmall=k))
例如:
指定小数点(1234,5)
# [1] "1234.00000"
指定_十进制(0.1234,5)
# [1] "0.12340"