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