在科学论文写作中,值通常报告为带有一位,两位或三位数的舍入值,通常取决于报告的值的类型。这意味着每次例如在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(
。
有什么想法吗?
答案 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}}留在场景后面。