如何保留重复项,但根据R中的列删除唯一值 [英] How do I keep duplicates but remove unique values based on column in R

查看:52
本文介绍了如何保留重复项,但根据R中的列删除唯一值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何保留我的重复项,但如何根据一列(qol)删除唯一值?

How can I keep my duplicates, but remove unique values based on one column(qol)?

ID   qol  Sat
A     7   6
A     7   5
B     3   3 
B     3   4
B     1   7
C     2   7
c     1   2

但是我需要这个:

ID   qol  Sat
A     7   6
A     7   5
B     3   3 
B     3   4

我该怎么办?

推荐答案

dplyr解决方案:

dplyr solution:

library(dplyr)

ID <- c("A", "A", "B", "B", "B", "C", "c")
qol <- c(7,7,3,3,1,2,1)
Sat <- c(6,5,3,4,7,7,2)

test_df <- data.frame(cbind(ID, qol, Sat))

filtered_df <- test_df %>%
               group_by(qol) %>%
               filter(n()>1)

请注意,这将返回

       ID    qol    Sat
1      A      7      6
2      A      7      5
3      B      3      3
4      B      3      4
5      B      1      7
6      c      1      2

如果您还想删除qol == 1但ID不同的两行,请执行以下操作:

If you also want to remove the two rows where qol == 1 but the IDs are different, just do:

filtered_df <- test_df %>%
               group_by(ID, qol) %>%
               filter(n()>1)

这将返回您在问题中提供的示例输出.

This will return the sample output you supplied in the question.

这篇关于如何保留重复项,但根据R中的列删除唯一值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆