a=c("A","A,B","C","B,C")
b=c(1,2,3,4)
dat<-data.frame(a,b)
c=c("A","B","D","A")
d=c(5,6,7,8)
g<-data.frame(c,d)
我想比较dat和g。如果dat列a中的元素与g中列c的元素相匹配,则g中列d的匹配项应添加到dat中。将strsplit逐行应用并将列添加到数据
dat$NEW =""
sapply(strsplit(as.character(dat$a), ","),function(x){tmp=grep(x,g$c);dat$NEW=x)
我怎样才能让:在DAT $ NEW
g[grep("A",g$c),]
c d
1 A 5
4 A 8
条目应该看起来像 “5,8”?
感谢您的回复,但是我在dat中丢失了命中“B”的数字“A,B” – Jasmine