我有三个变量患者,手臂和最佳
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
如何根据两个变量删除重复项
答案 0 :(得分:0)
传递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分隔的行的字符表示粘贴在一起,因此如果数据框具有嵌入回车符的字符或不能可靠映射到字符的列,则可能不完美。