如何使用paste和as.formula生成复杂公式?
我试图在循环中使用R输入一个方程,因此我使用如何使用paste和as.formula生成复杂公式?,r,model,paste,R,Model,Paste,我试图在循环中使用R输入一个方程,因此我使用as.formula和paste. 最终结果应该是: library(nlme) glm(Sepal.Length ~ Sepal.Width + Petal.Length +Petal.Width, family = gaussian(),data=iris) 不管这是不是正确的模式,不要担心,它只是一个例子。我把这些变量分成3个部分 萼片长度和萼片宽度为1个组分 花瓣。长度+花瓣。宽度为1个分量 family=gaussian(),dat
as.formula
和paste.
最终结果应该是:
library(nlme)
glm(Sepal.Length ~ Sepal.Width + Petal.Length +Petal.Width,
family = gaussian(),data=iris)
不管这是不是正确的模式,不要担心,它只是一个例子。我把这些变量分成3个部分
- 萼片长度和萼片宽度为1个组分
- 花瓣。长度+花瓣。宽度为1个分量
- family=gaussian(),data=iris)是另一个组件
library(nlme)
glmi = glm(as.formula(paste("Sepal.Length ~ Sepal.Width+ ",
paste('Petal.Length +Petal.Width',
paste(',', 'family = gaussian(),data=iris')))))
glm()
的formula
参数仅为该位:
Sepal.Length ~ Sepal.Width + Petal.Length +Petal.Width
在原始代码中-family=gaussian(),data=iris
是不同的glm()
参数,不属于其中
根据你所拥有的,比如
glm(
as.formula(paste("Sepal.Length ~ Sepal.Width+ ", paste('Petal.Length +Petal.Width'))),
family = gaussian(),
data=iris
)
看起来和你所尝试的是一样的
我把不必要的第二个
paste()
放在那里,因为它可能对应于您为这个问题简化的更复杂的逻辑。glm()的公式
参数只有这一位:
Sepal.Length ~ Sepal.Width + Petal.Length +Petal.Width
在原始代码中-family=gaussian(),data=iris
是不同的glm()
参数,不属于其中
根据你所拥有的,比如
glm(
as.formula(paste("Sepal.Length ~ Sepal.Width+ ", paste('Petal.Length +Petal.Width'))),
family = gaussian(),
data=iris
)
看起来和你所尝试的是一样的
我在这里留下了不必要的第二个paste()
,因为它可能对应于您为这个问题简化的更复杂的逻辑。doglm(重新格式化(c(“萼片宽度”、“花瓣长度”、“花瓣长度”)、“萼片长度”)、“family=gaussian()、data=iris)
doglm(重新格式化(c(“萼片宽度”、“花瓣长度”),“花瓣宽度”),“萼片长度”),family=gaussian(),data=iris)