Rに関数がありますf(var1, var2)
。 を設定し、その関数をリストにvar2 = 1
適用したいとします。基本的には、出力を持つ新しいリストL*を取得したいのです。f()
L
[f(L[1],1),f(L[2],1),...,f(L[n],1)]
apply
、 、 のいずれかでこれを実行するにはどうすればよいですmapply
かlapply
?
ベストアンサー1
var2 を追加の引数として、apply 関数の 1 つに渡すだけです。
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 番目などの要素を取得したい場合は、のドメインになります。mylist
var2
mapply