2014-09-19 175 views
1

我的脚本在运行RStudo和输出显示了与此格式的数字控制台窗口:13367566000格式化值

然而,当我运行KnitHTML的数字的格式如下:1.337e + 10

如何设置knitr输出的格式,以便我可以将结果格式化为美元金额? (例如13,367,566,000美元)。如果这不是简单的,我希望至少它扩大像它在RStudio打印出来

谢谢

+0

什么是 “格式化为美元金额” 是什么意思? – rawr 2014-09-19 15:18:56

+0

好问题。我编辑了这个问题来澄清。 ty – 2014-09-19 15:26:01

+1

对此有帮助吗? http://stackoverflow.com/questions/14028995/money-representation-in-r。或者,你可以定义一个类来打印你想要的,例如:'print.dolladollabillsyall < - function(x)print(sprintf('$%s.00',x)); (x <-11); class(x)< - 'dolladollabillsyall'; x' – rawr 2014-09-19 16:50:27

回答

2

你可以试试我的包formattable它有一个内置的功能currency做出formattable对象数字矢量的包装。

> # devtools::install_github("renkun-ken/formattable") 
> library(formattable) 
> currency(c(123456,2345,12345)) 
[1] $123,456.00 $2,345.00 $12,345.00 

货币符号是可以改变的:

> currency(c(123456,2345,12345), "HK$") 
[1] HK$123,456.00 HK$2,345.00 HK$12,345.00 
+0

这很整洁,谢谢@坤仁 – daroczig 2015-05-30 19:30:59