我正在寻找像0.1298这样的数字的舍入行为,以显示为0.130,同时保持尾随的零作为有效数字.这也需要对小数长度不同的表起作用.我使用signif()对数据进行四舍五入,除了R丢失尾随零之外,它工作得很好,但为了保证准确性,它是必需的.对此有什么有效的功能吗?
有没有人给我出个好主意?已经非常感谢了!
我已try 修改标志
mod_signif <- function(x,digits) {
sprintf(paste0('%#.',3,'g'), signif(x,digits))}
这对于小数点后5位的数字很有效,在此之后科学写作就开始了.
> mod_signif(0.129554,3)
[1] "0.130"
> mod_signif(0.0129554,3)
[1] "0.0130"
> mod_signif(0.00129554,3)
[1] "0.00130"
> mod_signif(0.000129554,3)
[1] "0.000130"
> mod_signif(0.0000129554,3)
[1] "1.30e-05"
在这种情况下,我预计是0.0000130美元
如果我试图用Format()函数来抵消这一点,我就会开始绕圈子,因为我会返回到数字,并再次丢失零……