r - 按 ID 和日期替换类别值
问题描述
我有一个 ID 列表,每天可以分为两类,我们称它们为“A”和“B”。ID 通常每天出现 0-2 次,但可以更频繁地出现。由于数据质量不佳,某些 ID在特定日期同时显示为A 和 B。所以不要看起来像这样:
ID Date Category
1111 2020-09-10 A
1111 2020-09-10 A
1111 2020-09-10 A
它们看起来像这样:
ID Date Category
1111 2020-09-10 A
1111 2020-09-10 B
1111 2020-09-10 B
我需要修复它,以便如果某个 ID 在一天内属于 A 类,那么该 ID 当天的所有记录都显示为 A 类。但是如果那天的所有记录都显示为“B”,不管如何该 ID 之前已分类,将不受影响。
解决方案
像这样的东西?
library("dplyr")
df = data.frame("ID" = c(1111, 1111, 1111, 2222, 2222, 2222),
"Date" = c("2020-09-10", "2020-09-10", "2020-09-10",
"2020-09-11", "2020-09-11", "2020-09-11"),
"Category" = c("A", "B", "B", "B", "B", "B"))
df %>%
group_by(ID, Date) %>%
mutate(Category = ifelse("A" %in% Category, "A", "B"))
ID Date Category
<dbl> <chr> <chr>
1 1111 2020-09-10 A
2 1111 2020-09-10 A
3 1111 2020-09-10 A
4 2222 2020-09-11 B
5 2222 2020-09-11 B
6 2222 2020-09-11 B
推荐阅读
- powershell - 使用 powershell 脚本访问 Outlook 邮件
- php - 当结果为 9 时处理未定义的偏移错误
- javascript - 如何处理在 AWS ec2 上使用“serve-s build”构建和运行的 create-react-app 引导应用程序的后端 API 请求?
- c++ - 我可以擦除 std::queue 中间的节点吗?
- c# - Unity:定义一个新类新类
- r - R 中的圆形堆叠条形图 - 美学长度必须为 1 或与数据相同 (26)
- ruby-on-rails - Docker-compose 未将依赖容器添加到 /etc/hosts
- xml - XML 文件需要在我的 C 盘上打开一个 .exe,但路径中有一个 &。失败
- python-3.x - 任何人都可以帮我解决这个问题吗?
- python - python将json对象附加到文件中的json列表