【发布时间】:2017-06-08 04:08:51
【问题描述】:
举个简单的例子,我有一个3x5 矩阵
mat <- matrix(rep(seq(5),3),nrow=3,byrow = T)
我想根据map.list 定义的特定分组对每一行中的元素求和,该分组与nrow(mat) 具有相同数量的主要元素。它可能看起来像这样:
map.list <- list(list(c(1,2),c(3,4),5),
list(c(1,2),3,c(4,5)),
list(c(1,2),4,5))
> map.list
[[1]]
[[1]][[1]]
[1] 1 2
[[1]][[2]]
[1] 3 4
[[1]][[3]]
[1] 5
[[2]]
[[2]][[1]]
[1] 1 2
[[2]][[2]]
[1] 3
[[2]][[3]]
[1] 4 5
[[3]]
[[3]][[1]]
[1] 1 2
[[3]][[2]]
[1] 3
[[3]][[3]]
[1] 5
这意味着对于mat 的第一行,我们将对1+2=3、3+4=7 和5=5 求和,以创建新矩阵mat2 的第一行。我们对其他两个元素进行类似处理,对应于新矩阵的第 2 行和第 3 行。
> mat2
[,1] [,2] [,3]
[1,] 3 7 5
[2,] 3 3 9
[3,] 3 3 5
我怎样才能有效地创建它?可能,我有一个mat,它有很多行和很多列。
【问题讨论】:
-
我认为最后一个值是 5。你还没有更改输入数据集的值
map.list