【发布时间】:2022-07-18 23:58:53
【问题描述】:
我有一个如下所示的数据集:
Study_ID Recurrent_Status
1 100 1
2 100 NA
3 100 NA
4 200 1
5 300 NA
6 400 3
7 400 NA
8 500 3
9 500 NA
10 600 NA
11 700 1
我想删除所有重复的研究 ID,但将条目保留在有“经常状态”数据的地方。换句话说,我想删除每个重复的研究 ID,其中存在“经常状态”的 NA。复发状态是 1 或 3 的值(或者对于某些未重复的患者为 NA)。
我想要的输出应该是这样的:
Study_ID Recurrent_Status
1 100 1
2 200 1
3 300 NA
4 400 3
5 500 3
6 600 NA
7 700 1
我尝试使用此代码,但它当然会删除具有 1 或 3 的经常性状态的个人,而不是保留他们。
full_data<-filter(full_data, !duplicated(MRN, fromLast = TRUE) | Recurrence_status !="1")
full_data<-filter(full_data, !duplicated(MRN, fromLast = TRUE) | Recurrence_status !="3")
当我尝试删除解释标记时,我收到此错误:
full_data<-filter(full_data, !duplicated(MRN, fromLast = TRUE) | Recurrence_status ="1")
Error: unexpected '=' in "full_data<-filter(full_data, !duplicated(MRN, fromLast = TRUE) | Recurrence_status ="
我该怎么做?
可重现的数据:
data<-data.frame(Study_ID=c("100","100","100","200","300","400","400","500","500","600","700"),Recurrent_Status=c("1","NA","NA","1","NA","3","NA","3","NA","NA","1"))
【问题讨论】:
标签: r dplyr filter duplicates