【发布时间】:2018-12-25 03:19:37
【问题描述】:
我需要 2 个矩阵中每一行的最小值。行名称在两个矩阵中都很常见,但列名称会发生变化。
例如:
matrix 1:
X <- matrix(runif(20), nrow=4)
rownames(X) <- paste0("Inst", seq(nrow(X)))
colnames(X) <- paste0("Ref", seq(ncol(X)))
matrix 2:
Y <- matrix(runif(20), nrow=4)
rownames(Y) <- paste0("Inst", seq(nrow(X)))
colnames(Y) <- paste0("Alt", seq(ncol(X)))
预期结果:
Minimum Id
Inst1 0.1275317 Ref15
Inst2 0.0006247 Alt4
Inst3 0.04583117 Ref13
Inst4 0.1111354 Alt5
我试过了
t(apply(Y, 1, sort)[ 1, ])
t(apply(X, 1, sort)[ 1, ])
但不知道如何从矩阵和列表中分别找到最小值作为预期的输出文件。我也有重复的行名和列名。
【问题讨论】:
-
在使用基于随机数的样本数据时,请始终使用固定种子(例如
set.seed(1234))以确保预期输出的可重复性。否则无法重现您的预期输出。