Для конкретного примера это может быть векторизовано
оложим, я хочу применить функцию к каждой строке матрицы. Один из аргументов функции принимает вектор. Я хотел бы применить первый элемент вектора к первой строке, второй элемент ко второй строке и т. Д.
Например:
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))
Но это дает мне матрицу 10х10 с функцией, примененной к каждой комбинации строки и Вар, тогда как меня интересуют только диагональные элементы. Я также посмотрел вmapply
функция, но я не уверен, как применить это в этом случае.
Любая помощь могла бы быть полезна.