从包中打印函数时,如何禁止环境/命名空间行?我已经尝试将该功能重新分配给全局环境。我试过进入foobar环境。我尝试过噱头和游戏,即使用R来完成这项工作。似乎应该有一个简单的方法来做到这一点。
> x2
function(x) {
return(x * x)
}
<environment: namespace:foobar>
>
答案 0 :(得分:2)
好吧,如果您想更改功能的打印方式,请创建自己的print.function
。我认为这应该对你有用
print.function <- function(x,...) {
environment(x)<-globalenv();
base::print.function(x,...)
}
例如
x2<-function(x) {
return(x * x)
}
environment(x2)<-asNamespace("stats")
base::print.function(x2)
# function(x) {
# return(x * x)
# }
# <environment: namespace:stats>
x2
# function(x) {
# return(x * x)
# }