这个问题可能在其他地方被问到过,但是我尝试过不同的搜索措辞,却无法找到它...我的问题是关于查找重复项,但不删除它们。我找到了一些关于如何删除基于多列的行的示例(例如link1、link2),但我希望将它们保留在数据集中,这样行数和顺序就不会改变。
我的数据示例:
shop_code <- c(1, 1, 1, 5, 1, 1, 1, 2, 2, 2, 1, 2, 3, 1)
brand <- c("Renault", "Mazda", "Peugeot", "Renault", "Peugeot", "Volkswagen", "Renault", "Ford", "Renault", "Peugeot", "Renault", "Mazda", "Ford", "Ford")
date <- c("2023-01-04", "2023-01-04", "2023-01-13", "2023-01-04", "2023-01-13", "2020-08-23", "2023-01-18", "2022-04-01", "2021-09-20", "2001-05-02", "2023-01-04", "2023-01-05", "2011-03-30", "2011-03-30")
df <- data.frame(shop_code, brand, date)
revision <- c("1", "", "", "5", "", "", "", "", "", "", "1", "", "3", "1")
df$revision <- revision
表格形式:
| 车间代码|烙印|日期|修正|
| - ------|- ------|- ------|- ------|
| 1个|雷诺|2023年1月4日|1个|
| 1个|马自达|2023年1月4日||
| 1个|标致|2023年1月13日||
| 五个|雷诺|2023年1月4日|五个|
| 1个|标致|2023年1月13日||
| 1个|大众汽车|二○二○年八月二十三日||
| 1个|雷诺|2023年1月18日||
| 第二章|福特|2022年4月1日||
| 第二章|雷诺|二〇二一年九月二十日||
| 第二章|标致|二零零一年五月二日||
| 1个|雷诺|2023年1月4日|1个|
| 第二章|马自达|2023年1月5日||
| 三个|福特|2011年3月30日|三个|
| 1个|福特|2011年3月30日|1个|
我的目标是找到那些在“brand”和“date”列中具有相同值且在“shop_code”中具有不同值的行。当满足此条件时,将在“revision”列中添加一条消息(例如,商店名称)。
请注意,应该检测到2023-01-04的三排Renault,因为其中一排来自不同的商店(商店1和5)。
拜托,有什么主意吗?
2条答案
按热度按时间bxgwgixi1#
ljo96ir52#
也许用
dplyr
和group_by
用于分组品牌和日期n_distinct
用于计算不同商店代码的数量中间变量可以在DPLYR管的末端除去。
我在这里展示它们是出于教育目的和更好的概括