在基函数

时间:2015-05-27 11:40:00

标签: r rounding r-markdown digits

在科学论文写作中,值通常报告为带有一位,两位或三位数的舍入值,通常取决于报告的值的类型。这意味着每次例如在Rmarkdown中包含内联mean值我必须在代码中添加round

因此我想知道:有没有办法控制基本函数输出的位数,例如mean()作为mean()函数中的附加参数?实际上,这个额外的论点也需要进行四舍五入。

显然,有许多方法可以控制数字位数,例如round(), format()sprintf()或指定全局选项中的位数。我不想要后一个选项,因为我需要在文档中使用不同数量的数字。

所以,我想要的是: mean(c(0.34333, 0.1728, 0.5789), digits=2)

产生与以下相同的结果: round(mean(c(0.34333, 0.1728, 0.5789)), 2)

我知道,这有点愚蠢,因为要输入的字符数在两个块中完全相同。对我来说,关键的区别在于我可以在输入变量之后直接写 {em>}而不必跳转到块的开头添加, digits=2) 到最后添加round(

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我知道的最好方法是使用magrittr包中的正向管道运算符> library(magrittr) > mean(c(0.34333, 0.1728, 0.5789)) [1] 0.36501 > mean(c(0.34333, 0.1728, 0.5789)) %>% round(3) [1] 0.365

magrittr

我还应该提一下,另一个非常受欢迎的包dplyr使用了包library(dplyr),它为数据帧操作提供了额外的功能。所以,当我使用滚边时,我几乎总是写magrittr,而{{1}}留在场景后面。