我有一个公式对象并尝试访问公式,我找到了函数term
:
R) terms(myFormula)
z ~ 0 + I(x/v) + y + I(w/v)
attr(,"variables")
list(z, I(x/v), y, I(w/v))
attr(,"factors")
I(x/v) y I(w/v)
z 0 0 0
I(x/v) 1 0 0
y 0 1 0
I(w/v) 0 0 1
attr(,"term.labels")
[1] "I(x/v)" "y" "I(w/v)"
attr(,"order")
[1] 1 1 1
attr(,"intercept")
[1] 0
attr(,"response")
[1] 1
attr(,".Environment")
<environment: 0x2f90dee0>
如何直接访问所有这些数据,比如'factors'
或精美显示的z ~ 0 + I(x/v) + y + I(w/v)
(我的意思是不使用粘贴)。
此外,我应该使用哪些函数来处理公式?
答案 0 :(得分:1)
您可以使用attr
功能获取或设置属性。
attr(terms(myFormula), "factors")
您可以使用methods
函数找到公式的可用方法。
methods(class = "formula")
## [1] [.formula* aggregate.formula* alias.formula* all.equal.formula
## [5] ansari.test.formula* bartlett.test.formula* boxplot.formula* cdplot.formula*
## [9] cor.test.formula* deriv.formula deriv3.formula fligner.test.formula*
## [13] formula.formula* friedman.test.formula* ftable.formula* getInitial.formula*
## [17] kruskal.test.formula* lines.formula* mood.test.formula* mosaicplot.formula*
## [21] pairs.formula* plot.formula* points.formula* ppr.formula*
## [25] prcomp.formula* princomp.formula* print.formula quade.test.formula*
## [29] selfStart.formula* spineplot.formula* stripchart.formula* sunflowerplot.formula*
## [33] t.test.formula* terms.formula text.formula* update.formula
## [37] var.test.formula* wilcox.test.formula*