r - 如何在 R 中使用 'update' 构建模型 'glm'

标签 r glm

在下面的可重现代码(最后一行)中,如果我将 'Income' 替换为 'fieldToRemove','update' 功能将不起作用。我怎样才能使这个功能工作?我需要循环运行该行。

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 )

最佳答案

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

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

关于r - 如何在 R 中使用 'update' 构建模型 'glm',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14819831/

相关文章:

r - 在 R 中匹配多个日期值

r - glm 起始值不被接受日志链接

r - 有没有一种方法可以为glm函数中的优化算法的每个步骤获取系数?

r - h2o.glm lambda 搜索似乎没有遍历所有 lambda

R编程用日期列过滤数据框

javascript - 以编程方式触发 R 传单中的标记鼠标单击事件以获得 Shiny 效果

r - 从 R 中的 bestglm 包中提取最佳模型的公式

r - 当一组参数被粘贴()作为向量时,如何获得glm模型的R中的真实残差偏差和自由度

r - 将组合因子列拆分为 r data.table 中的两个因子列的最有效方法是什么?

R WHERE EXISTS类型子集化?