漂亮的印刷R功能

Jam*_*ard 3 latex r sweave

我正在使用嵌入式R代码处理一些文本.我正在使用Sweave生成PDF文档.我想作为写进我的PDF打印功能,但print(f)其中˚F是任意功能消除一些关键方面,如函数名.例如:

f <- function(x, y = 2) {
  return(x^y)
}

print(f)
Run Code Online (Sandbox Code Playgroud)

得出这个:

> source('~/.active-rstudio-document')
function(x, y = 2) {
  return(x^y)
}
Run Code Online (Sandbox Code Playgroud)

是否有一些版本print或某些类似的功能可以打印我可以剪切并直接粘贴到R中的东西,保留功能声明(f <-部分)?此外,这是一种思想,有没有办法设置字符的最大宽度?

Tyl*_*ker 5

可能有更好的方法,但这样的事情会起作用:

f <- function(x, y = 2) {
  return(x^y)
}

pretty <- function(fun){
    captured <- capture.output(fun)
    captured[1] <- paste(as.character(substitute(fun)), "<-", captured[1])

    cat(paste(captured, collapse="\n"))
}

pretty(f)

## f <- function(x, y = 2) {
##   return(x^y)
## }
Run Code Online (Sandbox Code Playgroud)