【发布时间】:2014-05-07 10:43:49
【问题描述】:
我有一个向量,
x<-c(1,3,2,3,1,4,2,1,3,4,2,1,0,2,4,5,2,1,2)
我想通过从第一个元素到第 10 个元素每隔一次不包含一个来获得 x 的向量。这将包括元素 (1,3,5,7 和 9 of x) 以获得 (1,2,1,2,3)。符合以下产生错误的表达式。
x[1:10,by=2]
谢谢
【问题讨论】:
标签: r
我有一个向量,
x<-c(1,3,2,3,1,4,2,1,3,4,2,1,0,2,4,5,2,1,2)
我想通过从第一个元素到第 10 个元素每隔一次不包含一个来获得 x 的向量。这将包括元素 (1,3,5,7 和 9 of x) 以获得 (1,2,1,2,3)。符合以下产生错误的表达式。
x[1:10,by=2]
谢谢
【问题讨论】:
标签: r
你可以使用
x[seq(1, 10, by=2)]
以这种方式使用seq(1, 10, by=2) 生成x 元素的索引,然后使用[] 运算符从x 获取它们。
【讨论】:
这里有另一种方法可以做到这一点,虽然上面的建议更直接
x[1:10%%2 != 0][1:5]
@SimonO'Hanlon 建议的类似方式(可能更好)
x[c(TRUE, FALSE)][1:5]
【讨论】:
你可以这样做:
x[seq(from=1,to=10, by=2)]
【讨论】: