apply
нужна функция в качестве аргумента. sens.slope
- это функция, но sens.slope$estimates
- это не функция, это путает название функции с результатом. Обычный способ сделать это - создать анонимную функцию, которая возвращает только ту часть, которую вы хотите:
apply(e, 2, function(x) sens.slope(x)$estimates)
# [1] 1 1 1 1 1 1 1 1 1 1
Анонимная функция - это обычная функция, которую мы не пытаемся сохранить и назвать, потому что мы не ожидайте использовать это снова.
Мы могли бы поочередно написать это, как показано ниже, что было бы неплохо, если бы мы увидели потенциал для повторного использования этой функции. Вышеуказанный способ намного короче, если это разовая вещь.
sens.slope.est.only <- function(x) {
slope <- sens.slope(x)
est <- slope$estimates
return(est)
}
apply(e, 2, sens.slope.est.only)