R: Aplica a função à matriz com elementos do vetor como argumento
Suponha que eu queira aplicar uma função a cada linha de uma matriz. Um dos argumentos da função aceita um vetor. Gostaria de aplicar o primeiro elemento do vetor na primeira linha, o segundo elemento na segunda linha, etc.
Por exemplo:
set.seed(123)
df<-matrix(runif(100), ncol=10)
var2 <- c(1:10)
MYFUNC <- function(x, Var=NA){
sum(x)/Var
}
Eu tentei isso:
apply(df, 1, function(x) MYFUNC(x, Var=var2))
Mas isso me dá uma matriz 10x10 com a função aplicada a cada combinação de linha e Var, considerando que estou interessado apenas nos elementos diagonais. Eu também olhei para omapply
função, mas não tenho certeza de como aplicá-lo neste caso.
Qualquer ajuda seria muito apreciada.