四舍五入 r 中的所有数字,不带小数
Rounding all numbers in r with no decimals
我刚开始使用 R,我试图在我的数据框中舍入所有没有小数的数字,最好是在我读取文件时。
我已经查找了几种舍入小数的方法,但我不清楚将代码放在哪里以及究竟要放什么。
有人可以用最简单的方式向我解释如何做到这一点吗?
我正在使用 R 脚本。
其中df是data.frame的名称,round函数中的0是小数位数:
df <- data.frame(lapply(df, function(x){ if(is.numeric(x)){round(x, 0)}else{x}}))
使用的数据:
df <- data.frame(x1 = c(84.2,105.2,79.2,140.2,108.2,79.2,112.2,118.2,114.2,92.2),
x2 = c(138.3,110.3,84.3,45.3,128.3,99.3,100.3,124.3,121.3,115.3),
x3 = as.character(c(138.3,110.3,84.3,45.3,128.3,99.3,100.3,124.3,121.3,115.3)),
stringsAsFactors = FALSE)
没关系,找到一个简单的函数 round_half_up() 解决了问题!
我刚开始使用 R,我试图在我的数据框中舍入所有没有小数的数字,最好是在我读取文件时。
我已经查找了几种舍入小数的方法,但我不清楚将代码放在哪里以及究竟要放什么。
有人可以用最简单的方式向我解释如何做到这一点吗? 我正在使用 R 脚本。
其中df是data.frame的名称,round函数中的0是小数位数:
df <- data.frame(lapply(df, function(x){ if(is.numeric(x)){round(x, 0)}else{x}}))
使用的数据:
df <- data.frame(x1 = c(84.2,105.2,79.2,140.2,108.2,79.2,112.2,118.2,114.2,92.2),
x2 = c(138.3,110.3,84.3,45.3,128.3,99.3,100.3,124.3,121.3,115.3),
x3 = as.character(c(138.3,110.3,84.3,45.3,128.3,99.3,100.3,124.3,121.3,115.3)),
stringsAsFactors = FALSE)
没关系,找到一个简单的函数 round_half_up() 解决了问题!