【发布时间】:2019-09-20 16:17:17
【问题描述】:
我有一个函数
function (x, y) { ... }
它需要两个向量 x 和 y 并返回从它们计算的值。
我想将此函数成对应用于两个矩阵xs 和ys 的列向量。从R, iterating over the row vectors of a matrix 我发现mapply() 但这似乎将函数成对应用于矩阵的每个元素。相反,我想将该函数应用于整个列。我该怎么做?
为了澄清,这里是一个人为的例子:
xs <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 3, ncol = 2)
ys <- matrix(c(25, 26, 27, 28, 29, 30), nrow = 3, ncol = 2)
dot <- function(x, y) sum(x*y)
【问题讨论】:
-
多一点上下文(最好是minimal reproducible example)会有所帮助。请注意,如果情况变得更糟,您可以转置两个矩阵,然后遍历行。
-
@JohnColeman 我正在努力。我用一个人为的例子编辑了这个问题。不过,我对 R 的了解不足,无法填写
dot函数的详细信息。 -
dot将只是dot <- function(x,y) sum(x*y)(如果尚未内置) -
@JohnColeman 有道理。这是一个微不足道的细节,对我的问题并不重要。但它使问题更具体,更容易理解。
-
那么你想要的输出是什么?你想要它作为一个矩阵吗?