gpt4 book ai didi

R数据按顺序清理

转载 作者:行者123 更新时间:2023-12-04 02:30:31 25 4
gpt4 key购买 nike

我有这样的数据,但有时我的里程数不对。里程应该增加,但有时会出现错误数字 - 太低或太高。是否可以在 R 中清理该数据?你有什么想法?对于这种错误,我可以使用低于和高于记录的平均值,但如何按顺序捕获错误?

CarID   FuelTransactionDate Mileage  
AAA555 05.01.2019 5060
AAA555 30.01.2019 7800
AAA555 14.02.2019 9100
AAA555 24.02.2019 9900
AAA555 07.04.2019 101110 <- mistake
AAA555 12.04.2019 12500
AAA555 15.05.2019 13000
AAA555 09.06.2019 13422
BBB788 15.05.2018 15000
BBB788 04.06.2018 15200
BBB788 19.06.2018 16150
BBB788 16.07.2018 100 <- mistake
BBB788 27.08.2018 17500
BBB788 10.09.2018 17999
BBB788 13.10.2018 18200
BBB788 02.11.2018 18555

最佳答案

如果你想找出错误发生的地方,这里可能是使用 ave + cummax + cummin with base R 的选项

within(
df,
err <- ave(
Mileage,
CarID,
FUN = function(x) replace(cummax(x) == rev(cummax(rev(x))), length(x), 0) + replace(cummin(x) == rev(cummin(rev(x))), 1, 0)
)
)

给出

    CarID FuelTransactionDate Mileage err
1 AAA555 05.01.2019 5060 0
2 AAA555 30.01.2019 7800 0
3 AAA555 14.02.2019 9100 0
4 AAA555 24.02.2019 9900 0
5 AAA555 07.04.2019 101110 1
6 AAA555 12.04.2019 12500 0
7 AAA555 15.05.2019 13000 0
8 AAA555 09.06.2019 13422 0
9 BBB788 15.05.2018 15000 0
10 BBB788 04.06.2018 15200 0
11 BBB788 19.06.2018 16150 0
12 BBB788 16.07.2018 100 1
13 BBB788 27.08.2018 17500 0
14 BBB788 10.09.2018 17999 0
15 BBB788 13.10.2018 18200 0
16 BBB788 02.11.2018 18555 0

关于R数据按顺序清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64464186/

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