Я знаю, как создавать графики с использованием leveragePlot(), но я не могу найти способ создать статистику для рычагов для каждого наблюдения, например, в выводе мегастата.
Как создать статистику плеча?
Ответ 1
Я думаю, что вы ищете значения шляпы.
Используйте hatvalues(fit)
. Эмпирическое правило состоит в том, чтобы исследовать любые наблюдения в 2-3 раза больше, чем среднее значение шляпы. Я не знаю конкретной функции или пакета с верхней части головы, которая предоставляет эту информацию в хорошем фрейме данных, но делать это самостоятельно довольно прямолинейно. Вот пример:
fit <- lm(hp ~ cyl + mpg, data=mtcars) #a fake model
hatvalues(fit)
hv <- as.data.frame(hatvalues(fit))
mn <-mean(hatvalues(fit))
hv$warn <- ifelse(hv[, 'hatvalues(fit)']>3*mn, 'x3',
ifelse(hv[, 'hatvalues(fit)']>2*mn, 'x3', '-' ))
hv
Для больших наборов данных вы можете использовать subset
и/или order
для просмотра только определенных диапазонов значений для значений шляпы:
subset(hv, warn=="x3")
subset(hv, warn%in%c("x2", "x3"))
hv[order(hv['hatvalues(fit)']), ]
На самом деле я натолкнулся на хорошую функцию сюжета, которая делает это в книге R в действии, но поскольку это книга, защищенная авторскими правами, я не буду отображать интеллектуальную собственность Kabacoff. Но этот график будет работать даже лучше для наборов данных среднего размера.
Вот достойный сюжет шляпы, хотя вы также можете исследовать:
plot(hatvalues(fit), type = "h")