これは初心者の質問です。
^
と**
の違いは何ですか?例えば:
2 ^ 10
[1] 1024
2 ** 10
[1] 1024
power(x,y)
などの関数はありますか?
1:違いはありません。古いSコードが機能し続けることができるように保持されます。これは?Math
に「メモ」として文書化されています
2:はい:しかし、あなたはすでにそれを知っています:
`^`(x,y)
#[1] 1024
Rでは、数学演算子は実際には関数であり、パーサーが引数と関数名の再配置を処理して、通常の数学的中置表記法をシミュレートします。 ?Math
にも文書化されています。
編集:Rが中置演算子(つまり2つの引数関数)を処理する方法を知ることは、lapply
とsapply
への(機能的な)2番目の引数としての基本的な中置「[[」と「[」-関数の使用を理解する上で非常に重要です:
> sapply( list( list(1,2,3), list(4,3,6) ), "[[", 1)
[1] 1 4
> firsts <- function(lis) sapply(lis, "[[", 1)
> firsts( list( list(1,2,3), list(4,3,6) ) )
[1] 1 4