我有一个矢量,
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]
谢谢
答案 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)]