【发布时间】:2018-04-13 21:33:24
【问题描述】:
我有两个矩阵。第一个 m1 是 100x100,包含带小数位的数字,另一个 m2 是 300x100,并且很少填充整数,如下所示:
m1 <- matrix(rexp(1000, rate = .1), ncol = 100)
m2 <- matrix(sample(c(rep(0, 1000), rep(1, 10), rep(2, 1)), 300 * 100, replace = T), 300, 100)
m1 中的每一行对应m2 中相同编号的列。 m2 的每一列代表该观察在 m1 中相应行的出现次数。
对于m2 中的每一行,我想得到m1 每一行的colMeans 对应于它在m2 的那一行中出现的次数。结果应该是一个 300x100 的矩阵。我想知道最有效的方法。
这是一项复杂的操作,但希望您能理解我的意思。如果您需要任何澄清,我可以给它。如果有帮助,我正在尝试从单词特征矩阵和文档术语矩阵中获取文档特征矩阵。
【问题讨论】:
-
您应该发布一个尺寸非常小的可重现示例,例如 3x3 和 4x3,以及预期的输出
-
一般策略是将 m1 扩展为 3d 张量(例如,张量流中的
tf.tile),然后使用张量点积确保折叠正确的尺寸,然后是 @987654333 @沿正确的轴。 -
操作不明白。我不熟悉“相应”均值-您的意思是加权均值吗?我同意 Moody 的观点,即使用低尺寸 3x3 和 4x3 的工作示例可以使这一点变得清晰明了,同时为解决方案提供良好的测试用例。