r语言 - 在矩阵中选择特定值组合的算法



假设我有一个矩阵,有m行n列,每个单元格包含一个整数。列表示单个受试者的数据,行表示每个受试者的重复测量。

对于每一列,我想从m行中选择一个(且只有一个),然后计算所有选定单元格的平均值,我想这样做,以便我可以得到所有可能的组合,从m行中为n列中的每一行选择1行。

例如,对于一个3行4列的矩阵,一个选择将(用粗体标记):

8

7 5 4

6 8 7 5

6 8 9 7

另一个是

8 7 5 4

68 7 5

8 9 7

所以我正在努力与一个算法(我在R工作室工作),它给了我所有可能的"组合",我已经描述。

谁能给我一些关于如何处理这个问题的建议?

非常感谢!

问候,

巴特

当您想将4列中的3个元素相互组合时,您将有3^4 = 81种组合。可以使用expand命令。像这样的网格:

dt = data.frame(x1 = c(8,6,6),
                x2 = c(7,8,8),
                x3 = c(5,7,9),
                x4 = c(4,5,7))
dt2 = expand.grid(dt$x1, dt$x2, dt$x3, dt$x4)
dt2$MEAN = apply(dt2, 1, mean)

最新更新