📅  最后修改于: 2023-12-03 15:09:14.366000             🧑  作者: Mango
在 R 编程语言中,我们经常需要在代码中对数字进行舍入。本文将介绍如何对所有数字列类型进行舍入。
在 R 中,常见的数字列类型有 numeric
和 integer
两种。其中,numeric
数据类型表示实数,而 integer
数据类型表示整数。
在 R 中,有许多内置的函数可以对数字进行舍入。其中,最常用的函数包括:
round()
:四舍五入floor()
:向下取整ceiling()
:向上取整trunc()
:截断使用这些函数时,需要指定要进行舍入的数字和要保留的小数位数。
下面介绍如何对所有数字列类型进行舍入。
numeric
类型进行舍入对于 numeric
数据类型,可以使用以下代码将其舍入到指定的小数位数:
# 将数字舍入到两位小数
x <- 3.1415926
round(x, 2)
输出结果为:
[1] 3.14
如果要将数据框中所有的 numeric
类型列都舍入到指定的小数位数,则可以使用以下代码:
# 创建数据框
df <- data.frame(a = c(1.2345, 2.3456, 3.4567),
b = c(4.5678, 5.6789, 6.7890))
# 将所有 numeric 类型列舍入到两位小数
df[, sapply(df, is.numeric)] <- round(df[, sapply(df, is.numeric)], 2)
# 输出结果
df
输出结果为:
a b
1 1.23 4.57
2 2.35 5.68
3 3.46 6.79
integer
类型进行舍入对于 integer
数据类型,可以使用以下代码将其舍入到指定的位数:
# 将数字舍入到十位
x <- 12345
round(x, -1)
输出结果为:
[1] 12340
如果要将数据框中所有的 integer
类型列都舍入到指定的位数,则可以使用以下代码:
# 创建数据框
df <- data.frame(a = c(1234, 2345, 3456),
b = c(4567, 5678, 6789))
# 将所有 integer 类型列舍入到十位
df[, sapply(df, is.integer)] <- round(df[, sapply(df, is.integer)], -1)
# 输出结果
df
输出结果为:
a b
1 1230 4570
2 2340 5680
3 3460 6790
本文介绍了如何对所有数字列类型进行舍入。通过使用内置的舍入函数,可以方便地将数字舍入到指定的位数。在对数据框进行舍入时,可以使用 sapply()
和 is.numeric()
来选择要舍入的列。