Применить функцию к каждой строке матрицы или фрейму данных

Предположим, у меня есть матрица, равная 2, и функция, которая принимает 2-вектор в качестве одного из своих аргументов. Я хотел бы применить функцию к каждой строке матрицы и получить n-вектор. Как это сделать в R?

Например, я хотел бы вычислить плотность стандартного 2D нормального распределения по трем точкам:

bivariate.density(x = c(0, 0), mu = c(0, 0), sigma = c(1, 1), rho = 0){
    exp(-1/(2*(1-rho^2))*(x[1]^2/sigma[1]^2+x[2]^2/sigma[2]^2-2*rho*x[1]*x[2]/(sigma[1]*sigma[2]))) * 1/(2*pi*sigma[1]*sigma[2]*sqrt(1-rho^2))
}

out <- rbind(c(1, 2), c(3, 4), c(5, 6))

Как применить функцию к каждой строке out ?

Как передать значения для других аргументов помимо точек в функцию указанным вами способом?

114
задан zx8754 23 November 2017 в 20:11
поделиться