gpt4 book ai didi

R:从数字中提取结尾数字时出现舍入错误

转载 作者:行者123 更新时间:2023-12-01 21:14:59 25 4
gpt4 key购买 nike

在 R 中,我想以整数格式提取数字的结尾数字。但是,我的代码的输出包含舍入错误。我猜这是由 as.integer 函数引起的,但我不知道如何解决这个问题。另请注意,我的实际数据集约为 10GB,因此速度在这里非常重要。

library("data.table")
data<-c(72.15,72.02,72.00,71.90,71.85,71.74,72.60)
DT<-data.table(data)
DT[,end_digit:=as.integer((data*100))%%10]

data end_digit
1: 72.15 5
2: 72.02 2
3: 72.00 0
4: 71.90 0
5: 71.85 4
6: 71.74 3
7: 72.60 9

要清楚,预期的输出是:

    data end_digit
1: 72.15 5
2: 72.02 2
3: 72.00 0
4: 71.90 0
5: 71.85 5
6: 71.74 4
7: 72.60 0

最佳答案

使用 round,因为 as.integer 会截断。

DT[,end_digit:=round(data*100)%%10]
DT
data end_digit
1: 72.15 5
2: 72.02 2
3: 72.00 0
4: 71.90 0
5: 71.85 5
6: 71.74 4
7: 72.60 0

关于R:从数字中提取结尾数字时出现舍入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com