2015-04-16 34 views
1

我想选择一个矢量的前5个元素那些大于某个阈值的元素。例如:结合矢量索引和查询

v = c(10, 11, 2, 8, 5, 2, 10) 
v[1:5] # return the first 5 elements 
v[which(v>5)] # returns all elements > 5 

如何组合这两个查询以返回10,11,2,8,5,10?这是第一个5个元素,加上10,因为大于5

回答

3

我们可以使用union

union(v[1:5], v[which(v>5)]) 

或由@Vlo评论(如果有重复的值)

v[union(1:5, which(v>5))] 
+2

根据OP的要求是什么,但是数字上的“union”并不涉及重复的值。 'union'on index does:'v [union(1:5,which(v> 5))]' – Vlo

+0

@Vlo感谢您的评论,我没有想到它。 – akrun

+0

@Vlo谢谢,我确实需要独特的索引。 –