格式化R中的所有小数位

时间:2012-11-27 22:09:37

标签: r

如何使用一个命令指定整个R会话期间显示的位数?也就是说,如何将值0始终显示为0.0?我已经尝试了options(digits=1)命令,但0仍然显示为0而不是0.0。我真的试图避免将每个命令包装在像print(ifelse(x==0,"0.0",x))这样的内容中。

如果这个问题的解决方案,5显示为5.0,也会很好。

2 个答案:

答案 0 :(得分:6)

我不确定是否有options的尾随0。一种可能性是拥有自己的print.numeric和print.integer函数。

print.integer <- print.numeric <- function(..., digs=1)   {
    print(format(as.numeric(...), nsmall=digs), quote=F)
}

它仍然需要print,但更整洁

> print(-1:5)
[1] -1.0  0.0  1.0  2.0  3.0  4.0  5.0

<小时/> 或者,您可以直接使用格式的nsmall参数。

mat <- matrix(as.numeric(rep(0:3, 5)), ncol=4)
print(format(mat, nsmall=2), quote=F)

答案 1 :(得分:0)

您可以尝试我的包formattable

n

formattable, numeric是一个> n+5 [1] 5.0 向量,可以在算术计算中保留其格式。

.button-bar {
    padding:3% 20% 3% 20%;
}    
#wrapper{
      background-image: url("http://s.codeproject.com/App_Themes/CodeProject/Img/logo250x135.gif");
     min-height: 500px;
}