控制数字/舍入作为基本函数中的参数
Controlling digits / rounding as argument in base functions
在科学论文写作中,值通常报告为带一位、两位或三位数字的四舍五入值,通常取决于报告值的类型。这意味着每当在 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)
我知道,这有点傻,因为要键入的字符数在两个块中完全相同。对我来说,关键区别在于我可以在 输入变量后直接 编写 , digits=2)
而不必跳到块的开头来添加 round(
and到最后加上, 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
留在场景后面。
在科学论文写作中,值通常报告为带一位、两位或三位数字的四舍五入值,通常取决于报告值的类型。这意味着每当在 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)
我知道,这有点傻,因为要键入的字符数在两个块中完全相同。对我来说,关键区别在于我可以在 输入变量后直接 编写 , digits=2)
而不必跳到块的开头来添加 round(
and到最后加上, 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
留在场景后面。