Как извлечь значения матрицы по индексам в списке, являющемся списком в R - PullRequest
0 голосов
/ 01 июня 2018

У меня есть вопрос, касающийся извлечения значений матрицы в R. В частности, у меня есть список, в котором хранятся индексы и соответствующая матрица.То, что я хочу сделать, это извлечь значения матрицы в соответствии с индексами списка, но при этом оставаться списком.

Например:

Список индексов A: ((1,2,3), (4,5), (6,7,8,9)) Матрица B: [3,4,12,35,35,13,2,3,34]

Ожидаемыйсписок результатов C: ((3,4,12), (35,35), (13,2,3,34))

Я пытался использовать матрицу "[]" или "[[]]"манипуляция, но не работает.Как я могу сделать этот расчет?Большое спасибо!

1 Ответ

0 голосов
/ 01 июня 2018
subs <- list(c(1,2,3),c(4,5),c(6,7,8,9))
mat <- as.matrix(c(3,4,12,35,35,13,2,3,34))

lapply(subs, function(s) { mat[s] })
# [[1]]
# [1]  3  4 12
# 
# [[2]]
# [1] 35 35
# 
# [[3]]
# [1] 13  2  3 34
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...