如何';更新';使用';glm&x27;在R

如何';更新';使用';glm&x27;在R,r,glm,R,Glm,在下面的可复制代码(最后一行)中,如果我将“收入”替换为“fieldToRemove”,则“更新”功能不起作用。如何使此功能正常工作?我需要把那条线循环一下 state.x77 tmpData = as.data.frame(state.x77) colnames(tmpData)[4] = "Life.Exp" colnames(tmpData)[6] = "HS.Grad" cnames = colnames(tmpData) cna

在下面的可复制代码(最后一行)中,如果我将“收入”替换为“fieldToRemove”,则“更新”功能不起作用。如何使此功能正常工作?我需要把那条线循环一下

state.x77                          
tmpData = as.data.frame(state.x77) 
colnames(tmpData)[4] = "Life.Exp"  
colnames(tmpData)[6] = "HS.Grad"
cnames = colnames(tmpData)
cnames
lenCnames = length(cnames)

rhsOfFormula = paste(cnames[1:(length(cnames)-1)],collapse= "+")
lhsOfFormula = cnames[length(cnames)]
(fmla <- as.formula(paste(lhsOfFormula , " ~ ", rhsOfFormula )) )
modelTmp <- glm(formula = fmla, data=tmpData)

fieldToRemove = 'Income'
newModel <- update(modelTmp, .~.-Income )
state.x77
tmpData=as.data.frame(state.x77)
colnames(tmpData)[4]=“Life.Exp”
colnames(tmpData)[6]=“HS.Grad”
cnames=colnames(tmpData)
卡奈姆斯
lenCnames=长度(cnames)
rhsOfFormula=粘贴(cnames[1:(长度(cnames)-1)],折叠=“+”)
lhsOfFormula=cnames[长度(cnames)]

(fmla
update
需要一个公式作为第二个参数,因此您必须使用前面使用的相同技巧:
as.formula

newModel <- update(modelTmp, as.formula(paste(".~.-", fieldToRemove)) )
newModel