【问题标题】:removing duplicates based on variables [duplicate]根据变量删除重复项[重复]
【发布时间】:2016-09-16 17:11:38
【问题描述】:

我有三个变量患者,arm 和 bestres

01 A CR 
02 A PD 
03 B PR 
04 B CR 
05 C SD 
06 C SD 
07 C PD 
01 A CD 
03 B PD 

我想删除患者和手臂中的重复项

patient   arm   bestres
1         A      CR 
2         A      PD 
3         B      PR 
4         B      CR 
5         C      SD 
6         C      SD 
7         C      PD

如何根据两个变量删除重复项

【问题讨论】:

标签: r


【解决方案1】:

当传递一个 data.frame 时,duplicated() 对于与之前的行完全重复的行返回 TRUE。因此,我们可以通过仅将目标列传递给它来满足您的要求:

df <- data.frame(patient=c(1L,2L,3L,4L,5L,6L,7L,1L,3L),arm=c('A','A','B','B','C','C','C','A','B'),bestres=c('CR','PD','PR','CR','SD','SD','PD','CD','PD'),stringsAsFactors=F);
df[!duplicated(df[,c('patient','arm')]),];
##   patient arm bestres
## 1       1   A      CR
## 2       2   A      PD
## 3       3   B      PR
## 4       4   B      CR
## 5       5   C      SD
## 6       6   C      SD
## 7       7   C      PD

请注意文档中的此警告:

数据框方法通过将由 \r 分隔的行的字符表示粘贴在一起来工作,因此如果数据框包含嵌入回车的字符或不能可靠地映射到字符的列,则可能不完美。

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多