我有这样的矢量:
dput(yy)
c(97.1433841613379, 1102.1208262592, 32.5418522860492, 217.694780086999,
1306.31759309228, 202.18335752298, 22.8301149425287)
我只需保留2个小数点,我这样做是为了摆脱额外的小数点:
yy<-format(yy, digits=1)
当我输入(yy)时,我在我的值前面得到了额外的空格:
dput(yy)
c(" 97.14", "1102.12", " 32.54", " 217.69", "1306.32", " 202.18",
" 22.83")
是否有一种简单的方法来格式化数字而不在数字周围插入额外的空格和引号?
答案 0 :(得分: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
答案 1 :(得分:0)
如果您想将所有内容保留为数字,请使用round(x, 2)
,但这会将1.5000002
更改为1.5
而非1.50
,而不是format
{1}}或sprintf
。