2015-04-01 58 views
3

再一次在這裏難倒了。基於與單獨的矢量相匹配的列的子集data.frame

我有4列的data.frame:

Col1  Col2  Col3  Col4 
1   1.lsm  0.43  0.34 
2   1.lsm  0.47  0.30 
3   1.lsm  0.27  0.85 
1   2.lsm  0.35  0.55 
2   2.lsm  0.71  0.46 
3   2.lsm  0.53  0.37 
4   2.lsm  0.63  0.34 

Col1中是對已經隨時間跟蹤細胞的細胞數量。

我有一個包含有關我想保持其細胞整數向量:

keep=c(3, 4) 

現在,我想用向量「保持」,以決定哪些data.frame的行保留和輸出一個新的data.frame與所有列,但只保留相關的行。

I.e.這裏的理想輸出將是:

Col1  Col2  Col3  Col4 
3   1.lsm  0.27  0.85 
3   2.lsm  0.53  0.37 
4   2.lsm  0.63  0.34 
+6

; setkey(setDT(df),Col1)[。(keep)]';) – 2015-04-01 12:22:10

+0

upvote for data.table comment。 – 2015-04-01 12:29:14

+0

@ColonelBeauvel你應該取消刪除你的答案。我只是懶得發表這個。 – 2015-04-01 12:30:22

回答

3

如果你想學習如何做到這一點像親試`庫(data.table)你可以試試這個

df[df$Col1 %in% keep, ] 
# Col1 Col2 Col3 Col4 
# 3 3 1.lsm 0.27 0.85 
# 6 3 2.lsm 0.53 0.37 
# 7 4 2.lsm 0.63 0.34