Я думаю, что вы ищете значения шляпы.
Используйте 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 в действии , но поскольку это книга, защищенная авторским правом, я не буду отображать интеллектуальную собственность Кабакова. Но этот график будет работать еще лучше для наборов данных среднего размера.
Вот неплохой шляпный сюжет, который вы также можете захотеть исследовать:
plot(hatvalues(fit), type = "h")