varias superponer studio lineas histogramas graficos graficas r r-package

studio - superponer graficas en r



AƱadir objetos al espacio de nombres de paquetes (3)

Me gustaría insertar una función dentro del espacio de nombres de un paquete para que pueda acceder a los objetos internos de ese paquete (usemos el paquete de estadísticas como ejemplo). He intentado usar

myfun <- function(x) print(x) env = loadNamespace("stats") assign("myfun", myfun , env)

Pero está bloqueado. Así que intenté desbloquear mi objeto

unlockBinding("myfun", env)

Como myfun no existe todavía, no puedo desbloquearlo.

Alguna ayuda ?


¿Por qué no configurar el entorno de su nueva función en el lugar correcto?

myfun <- function(x) print(x) environment(myfun) <- as.environment("package:stats")


En la línea de la solución de @ Hadley, pero usando el entorno del espacio de nombres, ¿qué tal:

environment(myfun) <- asNamespace(''stats'')


Puede acceder a los objetos internos de un paquete utilizando el operador de dos puntos triples ::: . Observe, por ejemplo, as.roman y utils:::.roman2numeric . (Compare esto con utils::.roman2numeric .) Esto podría ayudarlo a evitar tener que poner su función dentro del espacio de nombres.

También es posible que desee ver dont.lockBindings en el paquete mvbutils , que impide que los espacios de nombres se mvbutils .