我有以下的矩阵A和列表B:
矩阵A:
[,1][,2]
[1,] 1 1
[2,] 1 2
[3,] 2 1
[4,] 2 2
[5,] 10 1
[6,] 10 2
[7,] 11 1
[8,] 11 2
[9,] 5 5
[10,] 5 6
下面的ListB是基于基于矩阵A的行的最小距离完成的分组。例如,列表[[1]]中的前四个点是来自矩阵A的前四个点(即1,1)(1,2)(2,1)(2,2)它属于第1组等等
列表B:
[[1]]
[1] 1 1 1 1 3 2 3 2 1 1
[[2]]
[1] 3 3 3 3 3 3 1 2 3 3
[[3]]
[1] 1 1 2 2 3 3 3 3 2 2
如何根据分组分别计算第1组,第2组和第3组的平均值?
如果只有一个向量,我就是这样做的:
meanPoints <- apply(MatrixA, 2, tapply, ListB, mean)
但是如何做一个循环来获得R中List [[1]] [[2]] [[3]]的平均点?
答案 0 :(得分:1)
我认为你可以用article
来构建一个匿名函数来处理你的多个分组向量的迭代。
lapply()
那是你在找什么?