0
如何從包中打印函數時禁止環境/命名空間行?我試着將功能重新分配給全球環境。我嘗試進入foobar環境。我已經嘗試過噱頭和遊戲,即使與R來完成這項工作。似乎應該有一個簡單的方法來做到這一點。如何在打印R功能時抑制環境線?
> x2
function(x) {
return(x * x)
}
<environment: namespace:foobar>
>
如何從包中打印函數時禁止環境/命名空間行?我試着將功能重新分配給全球環境。我嘗試進入foobar環境。我已經嘗試過噱頭和遊戲,即使與R來完成這項工作。似乎應該有一個簡單的方法來做到這一點。如何在打印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)
# }
現在看起來不錯。讓我再玩一下,我會讓你知道的。儘管如此,對於我的生活,我不確定我遵循它的工作原理。 –
爲什麼你會需要它不打印?你想捕捉函數體?也許你想'body()'或'dput()'? – MrFlick
我需要它不要打印,因爲我使用Sweave將它放入PDF中。 body()和dput()都有問題,他們刪除格式和空白的細節。 –