[英]Match one column of a data.frame with all the columns in another data.frame
我有两个data.frames:
DF1
Col1 Col2 ...... ...... Col2000
A H
c d
d e
n b
e A
b n
H c
DF2
A
b
c
d
e
n
H
我只需要将DF2中的唯一一列与DF1中的每一列进行匹配即可。 我需要匹配他们,因为我需要确切知道比赛的排名。 无论如何,我试图编写一个函数,但是由于我不是R专家,所以我的代码出了点问题:
lapply(DF1, function(x) match(DF1[,i], DF2[,1]))
要获得正确的结果,您需要正确的命令:
lapply(DF1, function(x) match(x, DF2[,1]))
在做你想做的事。 采取:
DF1 <- data.frame(
Col1 = c('A','c','d','n','e','b','H'),
Col2 = c('H','d','e','b','A','n','c')
)
DF2 <- data.frame(c('A','b','c','d','e','n','H'))
然后:
> lapply(DF1, function(x) match(x, DF2[,1]))
$Col1
[1] 1 3 4 6 5 2 7
$Col2
[1] 7 4 5 2 1 6 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.