2017-09-26 6 views
0

を作成するときに、この用語を使用するときlapply機能が戻ってエラーを与える、なぜ私が思っていた:lapplyエラーメッセージシーケンス

>lapply(x=3:9, seq) 
Error in match.fun(FUN) : argument "FUN" is missing, with no default 

をこのようにそれを実行するときに、完璧に動作します:

>lapply(X=3:9, seq) 

[[1]]  
[1] 1 2 3 

[[2]]  
[1] 1 2 3 4 

[[3]]  
[1] 1 2 3 4 5 

[[4]]  
[1] 1 2 3 4 5 6 

[[5]] 
[1] 1 2 3 4 5 6 7 

[[6]]  
[1] 1 2 3 4 5 6 7 8 

[[7]] 
[1] 1 2 3 4 5 6 7 8 9 

両方のオブジェクト(xおよびx)は使用できません。

ここで働く内部機能はありますか?

アッサが

> sessionInfo() 
R version 3.4.0 (2017-04-21) 
Platform: x86_64-apple-darwin15.6.0 (64-bit) 
Running under: OS X El Capitan 10.11.6 

Matrix products: default 
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib 

locale: 
[1] C/UTF-8/C/C/C/C 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] compiler_3.4.0 

答えて

3

lapplyの署名が

function (X, FUN, ...) 

あるので有する2つの名前付きパラメータ:XFUNX=3:9を使用すると、最初のパラメータは3:9に設定されます。 x=3:9を実行すると、このパラメータは...部分に渡されます(Rは大文字と小文字が区別されるため)seqが最初のパラメータになりました。 lapplyを呼び出すときは、最初のパラメータの名前を使用しないことが通例です。ただ

lapply(3:9, seq) 
+0

ありがとうございました。私はそれを考えていたはずです。 –

0

lapply関数は2つの引数を必要XFUNを使用しています。 Rは大文字と小文字が区別されるため、Xの代わりにxでは機能しません。エラーメッセージは約FUNですが、実際の問題はxです。

?lapplyを実行して新しい機能を使用する場合は、ヘルプページを参照することをお勧めします。