base包中存在对数值型向量取整的三个函数,做一总结:
一、round、floor、ceiling概述
round()遵循四舍五入把原值转化为指定小数位数。
如:round(1.45,0) = 1;round(1.55,0)=2
floor()向下舍入为指定小数位数.
如:floor(1.45,0)= 1;floor(1.55,0) = 1
ceiling()向上bai舍入为指定小数位数.
如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2
实战
> x <- rnorm(10)
> x
[1] 0.09654562 0.35282514 1.65854381 -0.74333823 1.78008945 -0.04356051 0.03348003 0.39309095
[9] -0.58666721 -0.08781084
> round(x)
[1] 0 0 2 -1 2 0 0 0 -1 0
> ceiling(x)
[1] 1 1 2 0 2 0 1 1 0 0
> floor(x)
[1] 0 0 1 -1 1 -1 0 0 -1 -1
二、round,signif函数
round函数除了可以进行四舍五入的取整,对小数点后的位数也可以选择。比如保留2位小数,round(x, 2)
;但它对科学计数法数字取小数点两位后返回的是非科学计数法,如果要保留数字格式,需要使用signif(x, 2)
。
参数介绍
round(x, digits = 0):round的将其第一个参数中的值四舍五入到指定的小数位数(默认为0)。
signif(x, digits = 6) :signif将其第一个参数中的值四舍五入为指定的有效数字位数。
x:数字向量
digits: 小数点后位置
> x2 <- pi * 100^(-1:3)
> x2
[1] 3.141593e-02 3.141593e+00 3.141593e+02 3.141593e+04 3.141593e+06
> round(x2, 3)
[1] 0.031 3.142 314.159 31415.927 3141592.654
> signif(x2, 3)
[1] 3.14e-02 3.14e+00 3.14e+02 3.14e+04 3.14e+06
总结
取整广泛应用于数据处理之中,故稍作总结待日后使用。
网友评论