可能性のある複製:
Rの代入演算子: '='および '<-'
私はR 2.8.1を使用していますが、両方を使用することができます=
および<-
を変数代入演算子として。それらの違いは何ですか?どちらを使用すればよいですか?
ここ から:
演算子<-および=は、評価される環境に割り当てられます。演算子<-はどこでも使用できますが、演算子=はトップレベル(たとえば、コマンドプロンプトで入力された完全な式)でのみ、または式のブレースリスト内の部分式の1つとして使用できます。
RobertとCasellaによる「Rによるモンテカルロ法の紹介」を読んでください。
「代入演算子は=
であり、同等のブール演算子である==
と混同しないでください。古い代入演算子は<-
であり、互換性の理由から、引き続き機能しますただし、よりクリーンなプログラミングを保証するために無視する必要があります(Spector、P.(2009)が指摘したように、「Rによるデータ操作」-セクション8.7。、例外はsystem.time
を使用する場合です。キーワードの識別に使用)
代入演算子<-の誤解を招く特徴は、次のようなブール式にあります。
> if (x[1]<-2) ...
これは、x [1]が-2より小さいかどうかをテストすることになっていますが、最終的に2をx [1]に割り当てて、現在の値を消去します。また、
> if (x[1]=-2) ...
誤って(x [1] ==-2)の代わりに同じ結果になります。」