2011-12-03 7 views
18

これは基本的な質問のように聞こえるでしょうが...どのように汎用定数をRで使うのですか?普遍定数R

私はMATLABにeまたはPIを書くだけでよく、これらの変数は普遍定数のために予約されていました。それらもRで利用可能ですか?それらにアクセス/使用する方法は?

おかげ

+0

参照:http://stackoverflow.com/q/8087407/269476 – James

答えて

26

piは、(小文字に注意してください)定義されていますが、expは(1)明らかに利用可能であるもののeは、ではありません。

pi 
# [1] 3.141593 

はビルトイン定数の小さな数が記述されています

?Constants 

このコードでこの不足-の-Eの問題を硬化させることが可能になります:

e <- exp(1) 
lockBinding("e", globalenv()) 
e 
#[1] 2.718282 
e <- 2.5 
#Error: cannot change value of locked binding for 'e' 

( Hadleyのおかげでこれを別のSOスレッドで説明することができます) あなたはおそらく次のサイトに行くべきです:

?NumericConstants 

ここでは、「数値定数の直後にiが虚数複素数と見なされます。

他の重要な定数はTRUEFALSEあり、そしてTFはきれいなセッションで使用することができながら、TFが予約されていませんし、その後デバッグエラーのために困難な挑発ます他の値を割り当てることができるので、自分のuseは推奨されていません。 (が、私は1つも同様にそれらのlockBinding戦略を使う可能性があるとします。)

は、26項目の文字ベクトルとして「定数」、いくつかの文字があります:lettersLETTERS、などで12カ月ロケール:month.abbおよびmonth.name。ギリシャ語の文字(大文字と小文字)と数式記法には、?plotmathに記載されている方法でアクセスできます。

以下タイラー言及state.namestate.abbが実際にデフォルトでロードされた「データセット」のパッケージに(USA)stateデータセットの一部である:あなたがcarsを使用する例が表示された場合

library(help="datasets") 

chickwtsirisなどの「データセット」内のその他のデータフレームは、多くのRユーザーのマシンで利用可能であると想定できます(help()の例を参照)。

+4

グローバル環境でバインディングをロックしても、別の環境で値をマスキングできないことに注意してください。例えば'f < - function(){T < - FALSE; T}; f() 'はエラーや警告なしで実行され、グローバル環境で' T < - TRUE'でもロックされていても 'FALSE'を返します。 –

+0

?Constantsに記載されている定数に加えて、 'state.name'と' state.abb'を持つ状態名と略称もあります –

関連する問題