繁体   English   中英

将data.frame的一列与另一data.frame中的所有列进行匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM