![](/img/trans.png)
[英]Match two data.frame (one per column name) and create a new data.frame
[英]match two data.frame
我有这样的情况:
DF1
COL1 COL2 COL3 ... abcbdb fea gmf
DF2
COL
一种
b
C
d
Ë
F
G
H
一世
升
米
ñ
Ø
我想将DF1的每一列与DF2的唯一一列相匹配,并评估DF1每列中DF2的出现次数。 怎么做到这一点?
提前致谢,
E.
这是几个猜测:
sapply( lapply(DF1, "%in%", DF2[[1]]), sum )
lapply(DF1, function(col) length(which(col %in% DF2) ) )
如果DF2是一个data.frame似乎可能给它的名字,那么你需要这样做:
lapply(DF1, function(col) length(which(col %in% DF2[[1]]) ) )
(编辑注释:在%in%
和'[[1]]'周围添加引号,以将DF2的第一列和唯一列作为向量而不是列表返回。)
怎么样的:
sapply(DF1, function(x) sum(x %in% DF2))
或者,因为您已更新您的问题以声明DF2是data.frame
:
sapply(DF1, function(x) sum(x %in% DF2$COL))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.