如何计算R

时间:2018-01-14 14:28:16

标签: r

我有以下的矩阵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]]的平均点?

1 个答案:

答案 0 :(得分:1)

我认为你可以用article来构建一个匿名函数来处理你的多个分组向量的迭代。

lapply()

那是你在找什么?