【发布时间】:2020-11-27 21:37:54
【问题描述】:
我有一个数据框,我想检查每个 id 的特定列是否存在重复值。如何识别重复行,不仅在 id 上重复,而且在“值”列上重复?
df <- data.frame('id' = c('1','1', '2', '3', '3', '4','5','5','5'), "value" = c('apple','apple', 'orange', 'banana', 'banana', 'apple','orange','banana','orange'), "shop" = c('supermarket','café', 'café', 'supermarket', 'café', 'supermarket','supermarket','supermarket','café'))
我的方法是
#extract duplicates in the dataframe on value
df_dup <- df[duplicated(df$value), ]
#from this df, extract duplicates on id
df_dup1 <- df_dup[duplicated(df_dup$id), ]
但是这种方法不起作用。我正在寻找的输出是一个简化的数据框,其中只有在“值”列上具有重复值的 id 与数据框中的其他变量保持在一起:
df_exp <- data.frame('id' = c('1','1','3', '3', '5','5'), "value" = c('apple','apple', 'banana', 'banana', 'orange','orange'), "shop" = c('supermarket', 'café', 'supermarket', 'café' ,'supermarket','café'))
提前致谢!
【问题讨论】:
标签: r dataframe duplicates subset