R:打印关闭功能源代码直接进入文件

时间:2015-12-04 07:47:43

标签: r

我想用我自己的版本覆盖R包的一个函数(让我们说函数do_something(...))。不幸的是,这个功能太长了,无法复制和播放。在键入do_something到控制台后直接粘贴它。有没有办法将源代码直接打印到文件中?

2 个答案:

答案 0 :(得分:3)

转到软件包的CRAN页面并下载tar.gz.您可能需要在Windows上安装其他软件以解压缩tar.gz文件,但可以使用免费软件。解压缩文件并查看解压缩的包源中的R目录。函数的源代码位于其中一个文件中(文件名通常是提供信息的。)

此方法的优点是您可以获得源代码包括评论,其他提议的方法无法为您提供。

许多软件包在GitHub或其他类似平台上也有源代码,更容易获得。

答案 1 :(得分:2)

cor.test函数的示例:

zz <- file("cor.test.txt", open = "wt")
sink(zz)
dput(stats:::cor.test.default)
sink()
close(zz)

在上面的方法中,我们使用了sink,它将您在控制台上通常拥有的输出重定向到cor.test.txt文件。在最后一行(sink()),我们恢复正常。

另一种方法是使用capture.output:它将控制台中显示的输出转换为character向量,您可以通过cat将其写入文件:

cat(capture.output(print(do_something)),file="afile.R", sep="\n")