2015-07-14 3 views
2

Я хочу, чтобы извлечь каждый п-й элемент строки для каждой строки в матрице, вот мой код:Распаковка Каждый Nth элемент матрицы

x <- matrix(1:16,nrow=2) 
x 
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] 
[1,] 1 3 5 7 9 11 13 15 
[2,] 2 4 6 8 10 12 14 16 

Я попытался:

sapply(x, function(l) x[seq(1,8,2)]) 

который явно не удается.

Я хочу, чтобы тянуть каждые 2 значения из «х» желаемого вывода будет что-то вроде ...

 [,1] [,2] [,3] [,4] 
[1,] 3 7 11 15 
[2,] 4 8 12 16 
+2

'x [, seq (2,8,2)]' – zero323

+6

Или 'x [, c (FALSE, TRUE)]' – akrun

+0

@akrun ваше решение - одна из самых умных R-вещей, которые я когда-либо видел. – SabDeM

ответ

3

Вы усложнять его:

Это дает вам то, что вам нужно

x[,seq(2, 8, 2)] 

или, в более общем

x[,seq(2, ncol(x), 2)] 
+0

Спасибо, я пробовал делать это, должно быть, что-то очень просто перепутал. Спасибо за быстрый ответ. –