慕妹3146593
背景:本页建议的一些答案(例如,signif, options(digits=...))不能保证为任意数字显示一定数量的小数。我认为这是R中的一个设计特性,在这种设计特性下,良好的科学实践需要根据以下原则显示一定数量的数字:重要数字“.然而,在许多领域(例如,APA风格)格式要求显示一定数量的小数位。这样做往往是为了一致性和标准化目的,而不是为了重要的数字。解:下面的代码正好显示了这个数字的两个小数位x.format(round(x, 2), nsmall = 2)例如:format(round(1.20, 2), nsmall = 2)# [1] "1.20"format(round(1, 2), nsmall = 2)# [1] "1.00"format(round(1.1234, 2), nsmall = 2)# [1] "1.12"一个更一般的函数如下所示x是数字和k要显示的小数。trimws移除任何前导空格,如果您有一个数字向量,这将是有用的。specify_decimal <- function(x, k) trimws(format(round(x, k), nsmall=k))例如,specify_decimal(1234, 5)# [1] "1234.00000"specify_decimal(0.1234, 5)# [1] "0.12340"