从另一个向量获得一个向量

时间:2014-05-07 10:43:49

标签: r

我有一个矢量,

x<-c(1,3,2,3,1,4,2,1,3,4,2,1,0,2,4,5,2,1,2)

我想从第一个元素到第10个元素,每隔一次不包含一个x的向量。这将包括元素(x的1,3,5,7和9)以获得(1,2,1,2,3)。符合下面产生错误的表达式。

x[1:10,by=2]

谢谢

3 个答案:

答案 0 :(得分:6)

您可以使用

x[seq(1, 10, by=2)]    

以这种方式使用seq(1, 10, by=2)生成x - 元素的索引,然后使用x运算符从[]获取它们。

答案 1 :(得分:3)

虽然以上建议更为直接,但另一种方法可以做到这一点

x[1:10%%2 != 0][1:5]

@ SimonO&#39; Hanlon提出的类似方式(可能更好)

x[c(TRUE, FALSE)][1:5]

答案 2 :(得分:2)

你可以这样做:

x[seq(from=1,to=10, by=2)]