Редактировать (оригинальный ответ с пояснениями ниже) :
Мы можем использовать ldply
из plyr
, поскольку это напрямую дает нам data.frame
объект.
plyr::ldply(list(runif(10),runif(10)),
function(x) c(Min=min(x),Mean=mean(x),Max=max(x)))
# Min Mean Max #No seed
# 1 0.03964594 0.3960042 0.7345305
# 2 0.05233872 0.3811633 0.9713190
Оригинал:
Составляет список из двух компонентов:
list(runif(10),runif(10))
Из каждого списка мы находим минимальное, максимальное и среднее значение, следовательно, выходные данные.
Чтобы понять почему, попробуйте запустить это в одиночку:
sapply(list(runif (10)), function(x) c(min = min(x), mean = mean(x), max = max(x)))
Если вы измените аргумент simplify
, вы можете получить вывод, который вы хотите (я предполагаю) иметь:
sapply(list(runif (10)), function(x) c(min = min(x), mean = mean(x), max = max(x)),
simplify = F)
#[[1]]
# min mean max #No seed
# 0.2482040 0.4845170 0.8294896
ПРИМЕЧАНИЕ :: Вам необходимо set.seed
для воспроизводимости.