С помощью base
R вы можете сделать это в одну строку:
cbind(apply(m, 1, mean), apply(m, 1, min))
# [,1] [,2]
#[1,] 13.287748 5.2172657
#[2,] 5.855862 1.8346868
#[3,] 8.077236 0.4162899
#[4,] 10.422803 1.5899831
#[5,] 10.283001 2.0444687
это быстрее, чем подход do.call
:
microbenchmark::microbenchmark(
do.call("cbind", lapply(fs, g)),
cbind(apply(m, 1, mean), apply(m, 1, min))
)
, что приводит к:
#Unit: microseconds
# expr min lq mean
# do.call("cbind", lapply(fs, g)) 66.077 67.210 88.75483
# cbind(apply(m, 1, mean), apply(m, 1, min)) 57.771 58.903 67.70094
# median uq max neval
# 67.965 71.741 851.446 100
# 59.658 60.036 125.735 100