我正在尝试学习如何使用 formula
对象创建自己的函数。我最大的困惑在于如何解析它们。
假设我有以下内容:
gigl <- function(formula, data, family = gaussian())
使用 R 数据集 BOD
> BOD
Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
使用lm
很容易拟合线性模型。
>lm(Time~demand, data=BOD)
Call:
lm(formula = Time ~ demand)
Coefficients:
(Intercept) demand
-1.8905 0.3746
如何通过解析公式
来创建自己的函数?
例如,如果我有以下公式:
>gigl(Time~demand, data=BOD)
如何解析这些组件?我并不在乎函数 gigl
的作用。我只想知道如何处理 formula
。
编辑
由于有关具体示例的问题,让我们尝试以下内容:
假设我要使用公式中的输入来构建一个 cor()
矩阵。因此,从上面的内容中,我将看到 cor(Time, demand)
的结果,如果添加了更多变量,则会看到所有输入的完整 cor()
。
(a~b)[[3]]
返回b
。如果您能给出更具体的示例,那将更有帮助。 - MrFlicka ~ b+c+d
?结果是否会是a、b、c、d的完整相关矩阵?如果是这样,公式左侧的变量和右侧的变量之间是否有区别? - Ben Bolker