将一堆函数应用于R中矩阵的列

Mac*_*nos 3 r matrix apply

有一种方法可以将函数f应用于矩阵的每一列:

M <- matrix(seq(1,16), 4, 4)
apply(M, 2, mean)
#[1]  2.5  6.5 10.5 14.5
Run Code Online (Sandbox Code Playgroud)

但是,如果我想建立一个关于矩阵的描述性统计数据,我应该使用更多的indeces.例如,max, min, mean等等

但R不允许做这样的事情:

apply(M, 2, c(mean, max))
Run Code Online (Sandbox Code Playgroud)

得到这个输出:

#      [,1] [,2] [,3] [,4]
#mean   2.5  6.5 10.5 14.5
#max      4    8   12   16
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何处理这个问题吗?

Jul*_*ora 5

apply(M, 2, function(x) c(mean(x), max(x)))
#      [,1] [,2] [,3] [,4]
# [1,]  2.5  6.5 10.5 14.5
# [2,]  4.0  8.0 12.0 16.0
Run Code Online (Sandbox Code Playgroud)