0

我有一个这样的向量:

dput(yy)
c(97.1433841613379, 1102.1208262592, 32.5418522860492, 217.694780086999, 
1306.31759309228, 202.18335752298, 22.8301149425287)

我只需要保留 2 个小数点,我这样做是为了去掉额外的小数点:

yy<-format(yy, digits=1)

当我执行 dput(yy) 时,我的值前面有额外的空格,如下所示:

dput(yy)
c("  97.14", "1102.12", "  32.54", " 217.69", "1306.32", " 202.18", 
"  22.83")

有没有一种简单的方法来格式化数字而不在数字周围插入额外的空格和引号?

4

2 回答 2

4

您可以使用?sprintf(它使用与 C 中相同的语法sprintf):

x <- c(97.1433841613379, 1102.1208262592, 32.5418522860492, 217.694780086999, 1306.31759309228, 202.18335752298, 22.8301149425287)
sprintf("%.2f", x)
# [1] "97.14"   "1102.12" "32.54"   "217.69"  "1306.32" "202.18"  "22.83"

编辑:还是你在寻找?round

round(x, digits=2)
# [1]   97.14 1102.12   32.54  217.69 1306.32  202.18   22.83
于 2013-07-23T21:15:35.520 回答
0

如果您想将所有内容保留为数字,请使用round(x, 2),但是这将更改数字 like 1.50000021.5而不是1.50您可以使用formator sprintf

于 2013-07-23T21:43:05.350 回答