56

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

  1. ^とはどう違い**ますか?例えば:

    2 ^ 10
    
    [1] 1024
    
    2 ** 10
    
    [1] 1024
    
  2. のような機能はありpower(x,y)ますか?

4

1 に答える 1

53

1: 違いはありません。古い S コードが機能し続けることができるように保持されます。これは、?Math?Arithmetic

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

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

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

編集:Rが中置演算子(つまり、2つの引数関数)をどのように処理するかを知ることは、 and への(機能的な)2番目の引数としての基本的な中置「[[」および「[」関数の使用を理解する上で非常に重要lapplyですsapply

> 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
于 2015-05-05T03:53:21.863 に答える