gpt4 book ai didi

r - 如何使用R检查数据一致性(确保大小写和值不矛盾)?

转载 作者:行者123 更新时间:2023-12-02 07:26:48 24 4
gpt4 key购买 nike

假设我有:

Person   Movie    Rating
Sally Titanic 4
Bill Titanic 4
Rob Titanic 4
Sue Cars 8
Alex Cars **9**
Bob Cars 8

如您所见,Alex 存在矛盾。所有相同的电影都应该具有相同的排名,但是 Alex 出现了数据错误条目。我如何使用 R 来解决这个问题?想了半天,想不通。我是否必须在 excel 中手动执行此操作? R 上是否有一个命令会返回所有两列之间存在数据矛盾的情况?

也许我可以让 R 做一个 bool 值检查是否所有电影案例都匹配其第一次迭代的第一个评级?对于所有返回“否”的内容,我可以手动查看吗?我将如何编写此函数?

谢谢

最佳答案

这是一个data.table解决方案

定义函数

Myfunc <- function(x) {
temp <- table(x)
names(temp)[which.max(temp)]
}

library(data.table)

创建一个具有正确评级的列(通过引用)

setDT(df)[, CorrectRating := Myfunc(Rating), Movie][]
# Person Movie Rating CorrectRating
# 1: Sally Titanic 4 4
# 2: Bill Titanic 4 4
# 3: Rob Titanic 4 4
# 4: Sue Cars 8 8
# 5: Alex Cars 9 8
# 6: Bob Cars 8 8

或者如果你想删除“坏”的评级

df[Rating == CorrectRating][]
# Person Movie Rating CorrectRating
# 1: Sally Titanic 4 4
# 2: Bill Titanic 4 4
# 3: Rob Titanic 4 4
# 4: Sue Cars 8 8
# 5: Bob Cars 8 8

关于r - 如何使用R检查数据一致性(确保大小写和值不矛盾)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27463155/

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