web-dev-qa-db-ja.com

Rでパワーを上げる

これは初心者の質問です。

  1. ^**の違いは何ですか?例えば:

    2 ^ 10
    
    [1] 1024
    
    2 ** 10
    
    [1] 1024
    
  2. power(x,y)などの関数はありますか?

32
Nick

1:違いはありません。古いSコードが機能し続けることができるように保持されます。これは?Mathに「メモ」として文書化されています

2:はい:しかし、あなたはすでにそれを知っています:

`^`(x,y)
#[1] 1024

Rでは、数学演算子は実際には関数であり、パーサーが引数と関数名の再配置を処理して、通常の数学的中置表記法をシミュレートします。 ?Mathにも文書化されています。

編集:Rが中置演算子(つまり2つの引数関数)を処理する方法を知ることは、lapplysapplyへの(機能的な)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
33
42-