在回归模型中使用二次项找到最小效应

时间:2013-06-12 11:40:30

标签: r regression quadratic

二次项在回归中很常见。以下是John Fox(http://www.jstatsoft.org/v08/i15/paper

的一个例子
library(car) # For data
library(splines)  # For bs()
library(effects) # For plotting

data(Prestige)

prestige.mod <- lm(prestige ~ log(income) + bs(education, df=3) + poly(women, 2), data=Prestige)
summary(prestige.mod)

test <- plot(all.effects(prestige.mod, default.levels=50))

enter image description here

R中是否有任何命令可以立即获得二次效果的最小值/最大值而无需手动/绘制它?

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话,我会接近“女性”的价值,在这里可以找到“最小效果”:

idx <-  which.min( predict(prestige.mod, newdata= data.frame(
       women=seq(min(Prestige$women), max(Prestige$women), length=100), 
       income=mean(Prestige$income, na.rm=TRUE), 
       education=mean(Prestige$education, na.rm=TRUE) ) ) )
idx
#37 
#37 
# Just copy the argument to the newdata argument in predict call above
# and get the value that produced the minimum
 seq(min(Prestige$women), max(Prestige$women), length=100)[idx]
#[1] 35.45818

对于“新数据”数据框中包含的值序列使用predict函数无疑正在“幕后”发生,用于绘制这些“效果”。