1. ホーム
  2. r

[解決済み] Rは複数のパラメータを持つ関数を適用する

2022-04-27 23:28:26

質問

ある関数 f(var1, var2) をRに設定したとします。 var2 = 1 を適用し、次に関数 f() をリスト L . 基本的には、私は出力を持つ新しいリストL*を取得したいです。

[f(L[1],1),f(L[2],1),...,f(L[n],1)]

のどちらかで行うにはどうすればよいのでしょうか? apply , mapply または lapply ?

解決方法は?

apply 関数のいずれかに追加引数として var2 を渡すだけです。

mylist <- list(a=1,b=2,c=3)
myfxn <- function(var1,var2){
  var1*var2
}
var2 <- 2

sapply(mylist,myfxn,var2=var2)

これは、同じ var2 を呼び出すたびに myfxn . 代わりに myfxn の両方の要素のうち、1番目/2番目/3番目などを取得するようにします。 mylistvar2 であれば、あなたは mapply のドメインになります。