2014-10-09 91 views
0

我想基於來自另一個數據框的匹配ID的大型數據框的子集。我讀張貼的回答了這個問題:基於列與行匹配的數據框的子集 - R

R: subset a data frame based on conditions from another data frame

然而,我的數據與此不同的,對於我的數據集,我已經鏈接ID設置在一列一個,而在另一方面,它跨行去

數據集1

*ID* time stat
*1* 3.21 6
*4* 7.9 3
...

數據集2

*ID 1 2 4* ...
y yellow brown yellow
z 3 5 2
a yes yes no

我最終想獲得是一個數據幀,我只有從數據數據集2在數據集1中具有匹配的樣本ID。因此在此示例中:

*ID 1 4* ...
y yellow yellow
z 3 2
a yes no

的任何幫助深表感謝。

安德烈

回答

0

所有你需要做的是

newDf<-df2[,df2[1,]%in%df1[,1]] 

其中DF1 [,1]是數據與列位置1,DF2 id列設置[1]是數據集id列在行位置1.

df2[1,] 
#[1] 1 3 4 

df1[,1] 
#[1] 1 4 

df2[1,]%in%df1[,1] 
#[1] TRUE FALSE TRUE