~
式を作成します - 式の右辺と左辺を分離します
から?`~`
チルダは、モデル式で左辺と右辺を区切るために使用されます
公式のヘルプより引用
たとえば、lm および glm 関数によって適合されるモデルは、コンパクトな記号形式で指定されます。~ 演算子は、そのようなモデルの形成において基本的なものです。y ~ model 形式の式は、応答 y がモデルによってシンボリックに指定された線形予測子によってモデル化されるという仕様として解釈されます。このようなモデルは、+ 演算子で区切られた一連の項で構成されます。用語自体は、: 演算子で区切られた変数名と因子名で構成されます。このような用語は、用語に現れるすべての変数と要因の相互作用として解釈されます。
+ と : に加えて、他の多くの演算子がモデル式で役立ちます。* 演算子は因子交差を示します: a*b は a+b+a:b として解釈されます。^ 演算子は、指定された角度まで交差することを示します。たとえば、(a+b+c)^2 は (a+b+c)*(a+b+c) と同じで、a、b、c の主効果とその 2 番目の効果を含む式に展開されます。 -注文相互作用。%in% 演算子は、左側の用語が右側の用語内にネストされていることを示します。たとえば、a + b %in% a は式 a + a:b に展開されます。- 演算子は、(a+b+c)^2 - a:b が a + b + c + b:c + a:c と同じになるように、指定された項を削除します。また、切片項を削除するためにも使用できます。線形モデルをフィッティングする場合、y ~ x - 1 は原点を通る線を指定します。切片のないモデルは、y ~ x + 0 または y ~ 0 + x として指定することもできます。
したがって、特定の問題に関して~a+0
- 切片なしでモデル マトリックスを作成します。
a
要因としてmodel.matrix(~a)
、インターセプト列を返します(クラスを完全に指定するにはインジケーターa1
が必要です)n-1
n
各機能のヘルプ ファイルは、よく書かれていて、詳細で、見つけやすいです。
なぜ機能しないmodel.matrix(a)
のですか
model.matrix(a)
式または条件オブジェクトではなく変数でa
あるため、機能しませんfactor
のヘルプからmodel.matrix
object 適切なクラスのオブジェクト。デフォルトのメソッドの場合、モデル式または項オブジェクト。
R
特定のクラスのオブジェクトを探しています。式~a
を渡すことで、クラスのオブジェクトを渡していますformula
。model.matrix(terms(~a))
(式に対応する項オブジェクトを渡すこともできます)~a
一般的な注意事項
@BenBolker は、彼のコメントで役立つことに注意してください。
Introduction to Rに適切な説明があります。