为什么赢得lda()接受一个字符串,因为它的公式'争论?

时间:2015-05-14 01:48:24

标签: r linear-regression

我正在做一些回归分析,并且我在lda库中的MASS函数中遇到了一些奇怪的行为。具体来说,似乎无法接受字符串作为formula参数。这似乎不是基本glm函数的问题。我使用iris构建了一个小例子来说明这一点。

library(MASS)
myForm<-"Species~Petal.Length"
# Disregard the warnings from this line, they're an artifact of the example. It works.
lgrIris<-glm(formula=myForm, data=iris, family="binomial")
# Breaks. 
ldaIris<-lda(formula=myForm, data=iris)

上面的最后一行抛出:

Error in lda.default(formula = myForm, data = iris) : 
argument "x" is missing, with no default

documentation判断,似乎表明lda并未认为它已被提供formula参数。有谁知道为什么会这样,或者如何修复它?

2 个答案:

答案 0 :(得分:3)

你可以转过&#34; myForm&#34;使用id

进入公式
as.formula()

答案 1 :(得分:1)

myForm<-as.formula(paste("Species","Petal.Length",sep="~"))
lgrIris<-glm(formula=myForm, data=iris, family="binomial")