确定重复行的组并保留组顺序

时间:2019-04-04 14:08:35

标签: r excel dplyr

我正在尝试组织带有随机重复“块”的患者数据电子表格。 不幸的是,数据行是随机重复的,给了我重复的“块”。我需要在保留原始顺序的同时删除重复的块。

以下是示例:

+---------+-----+----------+
| patient | age | children |
+---------+-----+----------+
| x       | 30  | g        |
| x       | 30  | b        |
| x       | 30  | g        |
| x       | 30  | b        |
| x       | 30  | g        |
| x       | 30  | b        |
| y       | 25  | g        |
| y       | 25  | b        |
| y       | 25  | b        |
| y       | 25  | g        |
| y       | 25  | b        |
| y       | 25  | b        |
+---------+-----+----------+

您可以看到,患者“ x”块(有2个孩子)被重复了3次,而患者“ y”块(有3个孩子)被重复了两次。重复块的数量是随机的。

这是我的目标: 保持孩子的秩序很重要

+---------+-----+----------+
| patient | age | children |
+---------+-----+----------+
| x       | 30  | g        |
| x       | 30  | b        |
| y       | 25  | g        |
| y       | 25  | b        |
| y       | 25  | b        |
+---------+-----+----------+

我首先在excel中尝试过: 步骤1:为所有行赋予唯一标识符,以保留子级的顺序 第2步:尝试删除重复项,但这对拥有2个女孩的患者“ y”来说是个问题,决赛桌删除了其中一个...

我通常在R中进行分析,因此如果有人可以提出建议,那么dplyr解决方案将是一个很好的选择

除了以下内容,我迷路了。有没有办法识别独特的群体?

dat %>% group_by(patient)

1 个答案:

答案 0 :(得分:1)

dplyr中的distinct()函数可能是最好的选择;例如:

dat %>% distinct()

通过阅读this blog post,可以找到有关在R中标识和删除重复数据的更多信息。