2015-04-06 46 views
3

有一個函數f應用於矩陣的每個列的方式:應用了一堆功能於矩陣的列中的R

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

但是,如果我想建立有關矩陣中的描述性統計我應該使用更多的indeces。例如,max, min, mean

但R沒有允許做這樣的事情:

apply(M, 2, c(mean, max)) 

得到這個輸出:

#  [,1] [,2] [,3] [,4] 
#mean 2.5 6.5 10.5 14.5 
#max  4 8 12 16 

你能告訴我如何與這個管理問題?

回答

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 
2

嘗試以下操作:

f <- c("max", "min", "mean") 
sapply(f, function(x) apply(M, 2, x)) 
    max min mean 
[1,] 4 1 2.5 
[2,] 8 5 6.5 
[3,] 12 9 10.5 
[4,] 16 13 14.5