下面的統計模型的範本是一個基於 獨立的方差齊性資料的線性模型
y_i = sum_{j=0}^p beta_j x_{ij} + e_i, i = 1, ..., n,
其中 e_i 屬於 NID(0, sigma^2)。 用矩陣格式表示,它可以寫為
y = X beta + e
其中 y 是回應向量,X 是模型 矩陣(model matrix)或者設計矩陣(design matrix)。X 的列 x_0, x_1, ..., x_p是 決定變數(determining variable)。通常,x_0 列就是截距(intercept)項。
在給予正式的定義前,下面的例子可能會給出 一些不錯的描述。
假定 y, x, x0, x1, x2, ... 是數值
變數,X 是一個矩陣,而A, B,
C, ... 是因數。下面的例子中,左邊給出公式,
右邊給出該公式的統計模型的描述。
y ~ xy ~ 1 + xy ~ 0 + xy ~ -1 + xy ~ x - 1log(y) ~ x1 + x2y ~ poly(x,2)y ~ 1 + x + I(x^2)y ~ X + poly(x,2)y ~ Ay ~ A + xy ~ A*By ~ A + B + A:By ~ B %in% Ay ~ A/By ~ (A + B + C)^2y ~ A*B*C - A:B:Cy ~ A * xy ~ A/xy ~ A/(1 + x) - 1y ~ A*B + Error(C)操作符 ~ 用於定義R 的模型公式。
一個普通線性模型的公式可以表示為
response ~ op_1 term_1 op_2 term_2 op_3 term_3 ...
其中
+ 要麼是 -,分別表示在一個模型中加入
或者去除某一項(預設值為前者)。
1,
1 表示截距項,並且
默認加入模型矩陣除非
顯式地去除這一選項。
公式操作符在效果上和用於程式 Glim 和 Genstat 中的
Wilkinson & Rogers 標記符相似。一個不可避免的改變是
操作符 . 變成了
: 因為點號在 R 裏面是合法的名字字元。
這些符號總結如下(參考 Chambers & Hastie, 1992, p.29):
~ M + M_2 - M_2 : M_2 %in% M_2:M_2 類似,但編碼方式不一樣。
* M_2 + M_2 + M_1:M_2.
/ M_2 + M_2 %in% M_1.
^nI(M)注意,在常常用來封裝函數參數的括弧中
的操作符按普通的四則運算法則解釋。
I() 是一個恒等函數(identity function),它使得
常規的算術運算符可以用在模型公式中。
還要注意模型公式僅僅指定了模型矩陣的 列項,參數則沒有顯式地指定。 在某些情況下可能不是這樣,如 非線性模型。