R 在单独的表中查找多个值,但只返回一个唯一的行

R 在单独的表中查找多个值,但只返回一个唯一的行,r,dplyr,R,Dplyr,我有两个数据帧,如下所示: 表1: Gender<-c("M","F","M","M","F") CPTCodes<-c("15777, 19328, 19342, 19366, 19370, 19371, 19380","15777, 19357","19367, 49568","15777, 19357","15777, 19357") Df<-tibble(Gender,CPTCodes) 它总结了表2中匹配的查找中的所有代码,我只希望在“modifier”列中没有任何

我有两个数据帧,如下所示:

表1:

Gender<-c("M","F","M","M","F")
CPTCodes<-c("15777, 19328, 19342, 19366, 19370, 19371, 19380","15777, 19357","19367, 49568","15777, 19357","15777, 19357")
Df<-tibble(Gender,CPTCodes)
它总结了表2中匹配的查找中的所有代码,我只希望在“modifier”列中没有任何内容的行。有什么想法吗


最后,当前代码在其自己的数据帧中返回汇总的总数,但是如果原始表1中的所有内容仍然存在,并且它只是有一个额外的列和新的总和,那就太酷了。

我不能完全确定您的预期输出。但是您应该能够
筛选
,然后
将新列加入原始
df

Df <- Df %>% mutate(id = row_number()) %>% 
   separate_rows(CPTCodes, sep = ", ", convert = TRUE) %>% 
   left_join(Df2, by = c("CPTCodes" = "Code")) %>% 
   group_by(id, Gender) %>% 
   filter(Modifier == "") %>% 
   summarize(total = sum(Value, na.rm = TRUE)) %>% 
   right_join(Df, by = "Gender")
Df%变异(id=row_number())%>%
单独的_行(CPTCodes,sep=“,”,convert=TRUE)%>%
左联合(Df2,by=c(“CPTCodes”=“Code”))%>%
组别(身份,性别)%>%
过滤器(修饰符==“”)%>%
汇总(总计=总计(值,na.rm=真))%>%
右键连接(Df,by=“性别”)
Code<-c(19357,19342,15777,49568,12345,15777,19357)
Modifier<-c("","","","","","a","a")
Value<-c(0.5,7,9,35,2,3,45)
Df2<-tibble(Code,Modifier,Value)
Df %>% mutate(id = row_number()) %>% separate_rows(CPTCodes, sep = ", ", convert = TRUE) %>% left_join(Df2, by = c("CPTCodes" = "Code")) %>% group_by(id, Gender) %>% summarize(total = sum(Value, na.rm = TRUE))
Df <- Df %>% mutate(id = row_number()) %>% 
   separate_rows(CPTCodes, sep = ", ", convert = TRUE) %>% 
   left_join(Df2, by = c("CPTCodes" = "Code")) %>% 
   group_by(id, Gender) %>% 
   filter(Modifier == "") %>% 
   summarize(total = sum(Value, na.rm = TRUE)) %>% 
   right_join(Df, by = "Gender")