繁体   English   中英

打印R函数时如何抑制环境线?

[英]How do I suppress the environment line when printing an R function?

从包中打印函数时,如何抑制环境/命名空间行? 我尝试将功能重新分配给全局环境。 我尝试进入foobar环境。 我已经尝试过头和游戏,甚至使用R也可以完成这项工作。 似乎应该有一种简单的方法来做到这一点。

> x2
function(x) {
    return(x * x)
}
<environment: namespace:foobar>
>

好吧,如果您想更改功能的打印方式,请创建自己的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)
# }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM