Consideremos el siguiente código R:R: Las funciones primordiales temporal y el alcance/espacio de nombres
local({
lm <- function(x) x^2
lm(10)
})
Esto anula temporalmente la función lm
, pero una vez que se ha ejecutado local
va a "volver a la normalidad". Me pregunto por qué no parece trabajar en el siguiente ejemplo sencillo el mismo enfoque:
require(car)
model <- lm(len ~ dose, data=ToothGrowth)
local({
vcov <- function(x) hccm(x) #robust var-cov matrix
confint(model) # confint will call vcov, but not the above one.
})
La función confint
utiliza la función vcov
para obtener los errores estándar de los coeficientes, y la idea es utilizar una robusta Var- matriz cov anulando temporalmente vcov
, sin hacer cosas "manualmente" o alterando funciones.
Tanto vcov como confint son funciones genéricas, no sé si esta es la razón por la que no funciona según lo previsto. No es el ejemplo específico que me interesa como tal; más bien la lección conceptual. ¿Es este un espacio de nombres o un "problema" de alcance?
Eso es brillante, no estaba familiarizado con el paquete de proto pero me parece bastante útil. Seguí leyendo la viñeta, y es una buena lectura. Gracias por hacer el esfuerzo! – Stefan