回帰モデリングに関するチュートリアルで、次のコマンドを見ました。
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
このコマンドは正確には何をし~
ますか? また、コマンドでの (チルダ) の役割は何ですか?
の右側<-
はformula
オブジェクトです。これは、統計モデルを表すためによく使用されます。ここで、 の左側にある~
ものは応答であり、 の右側にある~
ものは説明変数です。英語では、 「種はがく片の長さ、がく片の幅、花弁の長さ、花弁の幅に依存します」のように言います。
その行の部分は、R コードの他の部分で使用できるようにmyFormula <-
、呼び出されたオブジェクトに式を格納します。myFormula
R での数式オブジェクトのその他の一般的な使用法
lattice
パッケージはそれらを使用して、プロットする変数を指定します。パッケージはそれらを使用して、プロット用
のパネルを指定します。パッケージはそれらを非標準の評価
に使用します。ggplot2
dplyr
R は、~
数式で使用する (チルダ) 演算子を定義します。数式にはさまざまな用途がありますが、おそらく最も一般的なのは回帰です。
library(datasets)
lm( myFormula, data=iris)
help("~")
またはhelp("formula")
もっと教えてくれます。
@Spacedman は基本をカバーしています。それがどのように機能するかを議論しましょう。
まず、演算子であるため、これは本質的に関数へのショートカット(2 つの引数を持つ) であることに注意してください。
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
apply
これは、ファミリ コマンドなどで使用する場合に知っておくと役立ちます。
次に、数式をテキストとして操作できます。
oldform <- as.character(myFormula) # Get components
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )
第三に、それを list として操作できます:
myFormula[[2]]
myFormula[[3]]
最後に、数式を使用した便利なトリックがいくつかあります (詳細については、を参照help("formula")
してください)。
myFormula <- Species ~ .
たとえば、上記のバージョンは、ドットが「すべての変数がまだ使用されていない」ことを意味するため、元のバージョンと同じです。これは、最終的なモデル呼び出しで使用する data.frame を調べ、data.frame に存在するが式で明示的に言及されていない変数を確認し、ドットを欠落している変数に置き換えます。
一言で、
The tilde
(~) separates the left side of a formula with the right side of the formula.
たとえば、線形関数では、従属変数を独立変数から分離し、「の関数として」と解釈できます。したがって、教育年数 (years_of_education) の関数として人の賃金 (wages) を計算する場合、次のようにします。
wages ~ years_of_education
ここ、
Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
Species
の関数である ことを意味しますSepal Length, Sepal Width, Petal Length and Petal Width
。