格式化数值

时间:2013-04-08 18:47:56

标签: r formatting printf

我想格式化数值,但在格式化过程中它们会失去“数字”质量。有更好的选择吗?

> values
[1]  5 10 20 30
> class(values[1])
[1] "numeric"
> class(values)
[1] "numeric"
> out<-sprintf("%6.2f",values)
> out
[1] "  5.00" " 10.00" " 20.00" " 30.00"
> class(out)
[1] "character"
> class(out[1])
[1] "character"

out不再是数字。

1 个答案:

答案 0 :(得分:0)

您可以使用options print来更改打印的位数:

R> print(3.141592, digits=3)
[1] 3.14

您还可以设置options(digits),使其在会话中或多或少地永久保留:

R> options(digits=3)
R> print(3.141592)
[1] 3.14

但这不一定适用于情节等。