我该如何才能将具有列值的行放入R?

问题描述:

我有一个data.frame和一个向量。我想只输出从具有在一个共同的列与向量v值的数据帧的行我该如何才能将具有列值的行放入R?

,例如:

v = (1,2,3,4,5) 

DF =

 A B 
1 a 2 
2 b 6 
3 c 4 
4 d 1 
5 e 8 

我想要什么要做的是,如果df $ b中有任何v值,则输出该行。基本上,如果DF $ B [i]是不v中然后取出行对于i = 1:NROWS(DF)

输出应该是

 A B 
1 a 2 
2 c 4 
3 d 1 

自2,4和1是在诉

+1

你自己说的 - “2,4和1是** ** v”。在Google上查看第二个结果“in r” – MichaelChirico

+0

@MichaelChirico - 关于管道的博客?这是我第二次打我的谷歌“在R” –

+0

我看到。这对我来说是第三。这是第二个:https://www.google.com/search?q=in+r&oq=in+r&aqs=chrome.0.69i59j69i60l2j0l3.342j0j1&sourceid=chrome&es_sm=122&ie=UTF-8 – MichaelChirico

您应该使用%in%运算符。

v <- c(1, 2, 3, 4, 5) 
df <- read.table(text = 
"  A B 
1 a 2 
2 b 6 
3 c 4 
4 d 1 
5 e 8", header = TRUE) 

out <- df[df$B %in% v, ] 

这给:

A B 
1 a 2 
3 c 4 
4 d 1