2012-02-28 16 views

Respuesta

20

Creo que está buscando los valores de sombrero.

Use hatvalues(fit). La regla general es examinar cualquier observación 2-3 veces mayor que el valor promedio de sombrero. No sé de una función específica o paquete de la parte superior de mi cabeza que proporciona esta información en un marco de datos agradable, pero hacerlo usted mismo es bastante sencillo. He aquí un ejemplo:

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 

Para datos más grandes conjuntos podría utilizar subset y/o order fijarse tan sólo en ciertos valores de los rangos de los valores sombrero:

subset(hv, warn=="x3") 
subset(hv, warn%in%c("x2", "x3")) 
hv[order(hv['hatvalues(fit)']), ] 

De hecho, me encontré con una función plot agradable eso lo hace en el libro R in Action pero como este es un libro protegido por derechos de autor, no mostraré la propiedad intelectual de Kabacoff. Pero esa trama funcionaría aún mejor para los conjuntos de datos medianos.

Aquí es un gráfico sombrero decente sin embargo, que es posible que también desee investigar:

plot(hatvalues(fit), type = "h") 
Cuestiones relacionadas