我对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))
我尝试使用“[]”或“[[]]”矩阵操作,但不能正常工作。 我怎么做这个计算? 非常感谢!
答案 0 :(得分:1)
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