二次项在回归中很常见。这是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))
R中是否有任何命令可以立即获得二次方效果的最小/最大值,而无需手动/绘制?
最佳答案
如果我正确理解的话,我将接近“妇女”的价值,在该价值处将找到“最小影响”:
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
函数在“ newdata”数据框中包含的值序列上的使用无疑是在“引擎盖下”进行的,用于绘制这些“效果”。