如何使用 R 在两个数据框中的列匹配的基础上提取所有值?
How to extract all the values on the basis of a match of a columns in two dataframes using R?
我有一个像这样的数据框 n
id subject
-------------
1 discount less
2 product good
3 product good
4 wonderful service
5 discount less
另一个数据框这样说 p
Subject Rate
----------------
product good 20
wonderful service 30
discount less 10
i want the output as :
id subject rate
--------------------
1,5 discount less
2,3 product good
4 wonderful service
如果我像 p$id <- n$id[match(p$subject,n$subject)]
那样匹配,那么只会显示匹配的第一个元素...但我想要所有 ID...
任何人都可以指导我吗
这样的事情怎么样:
n$subject<-as.character(n$subject)
id=sapply(unique(n$subject),function(x) paste(as.character(n[n$subject==x,]$id), collapse=", "))
subject=unique(n$subject)
df1=data.frame(id=id,subject=subject)
df2=merge(df1,p,by="subject")
df2=df2[c("id", "subject", "Rate")]
我有一个像这样的数据框 n
id subject
-------------
1 discount less
2 product good
3 product good
4 wonderful service
5 discount less
另一个数据框这样说 p
Subject Rate
----------------
product good 20
wonderful service 30
discount less 10
i want the output as :
id subject rate
--------------------
1,5 discount less
2,3 product good
4 wonderful service
如果我像 p$id <- n$id[match(p$subject,n$subject)]
那样匹配,那么只会显示匹配的第一个元素...但我想要所有 ID...
任何人都可以指导我吗
这样的事情怎么样:
n$subject<-as.character(n$subject)
id=sapply(unique(n$subject),function(x) paste(as.character(n[n$subject==x,]$id), collapse=", "))
subject=unique(n$subject)
df1=data.frame(id=id,subject=subject)
df2=merge(df1,p,by="subject")
df2=df2[c("id", "subject", "Rate")]