【发布时间】:2017-09-24 09:58:19
【问题描述】:
假设我想对矩阵的每一行应用一个函数。该函数的参数之一采用向量。我想将向量的第一个元素应用到第一行,将第二个元素应用到第二行,等等。
例如:
set.seed(123)
df<-matrix(runif(100), ncol=10)
var2 <- c(1:10)
MYFUNC <- function(x, Var=NA){
sum(x)/Var
}
我试过了:
apply(df, 1, function(x) MYFUNC(x, Var=var2))
但这给了我一个 10x10 矩阵,该矩阵将函数应用于每一行 & Var 组合,而我只对对角线元素感兴趣。我还研究了mapply 函数,但我不确定在这种情况下如何应用它。
任何帮助将不胜感激。
【问题讨论】: