R.四舍五入到特定位数。不管小数点是多少
是否可以根据数字的大小将数字四舍五入到所需的位数 我明白了:R.四舍五入到特定位数。不管小数点是多少,r,rounding,R,Rounding,是否可以根据数字的大小将数字四舍五入到所需的位数 我明白了: x <- c(0.012345, 0.12345, 1.1245, 12.345, 123.45) round(x, digits = 3) #[1] 0.012 0.123 1.125 12.345 123.450 signif(x, digits = 3) #[1] 0.0123 0.1230 1.1200 12.3000 123.0000 一种让您更接近所需输出的快速方法,但不是100% a
x <- c(0.012345, 0.12345, 1.1245, 12.345, 123.45)
round(x, digits = 3)
#[1] 0.012 0.123 1.125 12.345 123.450
signif(x, digits = 3)
#[1] 0.0123 0.1230 1.1200 12.3000 123.0000
一种让您更接近所需输出的快速方法,但不是100%
as.numeric(strtrim(x,4))
或所需的字符串输出:
xl <- strsplit(strtrim(x, 4), "[.]")
unlist(
lapply(xl, function(x) {
paste(x, collapse = ".")
})
)
xl我认为signif
需要进入round
内部,否则12.345变为12.4
x <- c(0.012345, 0.12345, 1.1245, 12.345, 123.45, 1234.5, 12345, 123450)
x2 <- round(signif(x,3),2)
as.character(x2)
#[1] "0.01" "0.12" "1.12" "12.3" "123" "1230" "12300" "123000"
x
x <- c(0.012345, 0.12345, 1.1245, 12.345, 123.45, 1234.5, 12345, 123450)
x2 <- round(signif(x,3),2)
as.character(x2)
#[1] "0.01" "0.12" "1.12" "12.3" "123" "1230" "12300" "123000"