小编use*_*617的帖子

R:将函数应用于矩阵,其中向量元素作为参数

假设我想将函数应用于矩阵的每一行.函数的一个参数采用向量.我想将向量的第一个元素应用于第一行,将第二个元素应用于第二行,等等.

例如:

set.seed(123)
df<-matrix(runif(100), ncol=10)

var2 <- c(1:10)

MYFUNC <- function(x, Var=NA){ 
  sum(x)/Var 
}
Run Code Online (Sandbox Code Playgroud)

我试过这个:

apply(df, 1, function(x) MYFUNC(x, Var=var2))
Run Code Online (Sandbox Code Playgroud)

但这给了我一个10x10矩阵,该函数应用于每一行和Var组合,而我只对对角线元素感兴趣.我也调查了这个mapply函数,但我不确定如何在这种情况下应用它.

任何帮助将非常感激.

r vector matrix apply

5
推荐指数
1
解决办法
2076
查看次数

标签 统计

apply ×1

matrix ×1

r ×1

vector ×1