2014-05-07 4 views
1

У меня есть вектор,получения вектора из другого вектора

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

Я хотел бы получить вектор х, не включая один каждый раз, начиная с первого элемента до 10-го элемента. Это будет включать элементы (1,3,5,7 и 9 x) для получения (1,2,1,2,3). В соответствии с приведенным ниже выражением, которое вызывает ошибку.

x[1:10,by=2] 

Спасибо

ответ

6

Вы можете использовать

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

Таким образом, с seq(1, 10, by=2) можно создавать индексы х - элементы, а затем вы получаете их от x с оператором [].

2

Вы можете сделать это:

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

Вот еще один способ мог бы сделать это, хотя приведенные выше рекомендации являются более прямым

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

Подобным способом (возможно лучше) предложил @ SimonO'Hanlon

x[c(TRUE, FALSE)][1:5] 
Смежные вопросы