2017-04-26 19 views
0

私はいつもapply関数に関数の引数を使いたいという問題にぶち当たっています。私は適用ファミリに関数引数を含めるにはどうすればよいですか?

dput (tab) 

> structure(c(108.13, 108.13, 107.7, 107.66, 107.65, NA, NA, 115.56, 
115.5, 115.45, NA, NA, NA, 122.72, 122.66, 124.81, 124.82, 124.87, 
124.91, 124.94, NA, NA, NA, NA, 130.18), .Dim = c(5L, 5L), .Dimnames = list(
    NULL, NULL)) 

のような単純な行列を持っていると私は、各列の最小値を取得したい

のために...私は周りを見回しているが、私は、任意の適切な答えを見つけることができませんでした。

私のようなものだろう:

apply (test, 2, min) 
> 107.65  NA  NA 124.81  NA 

をしかし、今の私はNAsをスキップしたいとしましょう。最初の列のために

、私は

min (test[,1], min(na.rm = TRUE)) 
> 107.65 

を行うだろう。しかし、私はそう

apply (test, 2, min(na.rm = TRUE)) 

を使用することはできません、どのように私はapply内の関数に引数を渡すことになってんですか?

+5

'apply(test、2、min、na.rm = T)'このhttp:// stackoverfloを参照してくださいw.com/questions/14427253/passing-several-arguments-to-fun-of-lapply-and-others-apply – ahly

答えて

-2

我々が引数を使用する方法がわからない場合は、匿名関数呼び出しは

apply(test, 2, function(x) min(x, na.rm = TRUE)) 

またはその他などを使用することができますmatrixStats

library(matrixStats) 
colMins(tab, na.rm = TRUE) 

からベクトル化colMinsを使用することができます@ahly suggest

関連する問題