如何在R中查看源代码?例如,对于功能portfolio.optim
> require(tseries)
> portfolio.optim
function (x, ...)
UseMethod("portfolio.optim")
<environment: namespace:tseries>
> methods(portfolio.optim)
[1] portfolio.optim.default* portfolio.optim.ts*
Non-visible functions are asterisked
> portfolio.optim.ts
Error: object 'portfolio.optim.ts' not found
> portfolio.optim.default
Error: object 'portfolio.optim.default' not found
Run Code Online (Sandbox Code Playgroud)
当我在本地安装R包时,它是否也下载了源代码?它存放在计算机上的哪个位置?有人知道吗?
Dir*_*tel 32
作为响应Non-visible functions are asterisked
,这意味着分别调度的实际函数ts
或默认对象位于tseries命名空间中但不导出.所以只需键入tseries:::portfolio.optim.default
并在指定完整补丁(包括命名空间)后看到功能代码.
R下载源还是二进制文件取决于您的操作系统.在任何一种情况下,都可以获得tseries包的源代码.阅读由经验丰富的程序员编写的源代码是一种很好的学习方法.
use*_*309 16
您可以对大多数函数执行的操作是在R中的命令窗口中输入edit(functionname).其中您使用名称填写functionname.
因此,您可以获得该函数的源代码.但是,我尝试了它的功能portfolio.optim,所以它不起作用.可能仅适用于标准功能.
如果您要查看的内容是特定方法的来源,那么您有几个选项.一种是使用debug(portfolio.optim).然后当你在一个对象上运行该函数时,它应该逐步完成该方法,随着它打印出代码.使用'n'让它逐步完成,并且在完成后不要忘记使用undebug(portfolio.optim).
或者,您可以下载所需软件包的源代码,解压缩并查找具有良好名称的任何文件(这种方法很难,因为您正在寻找的函数可能用C语言编写!).这比在二进制文件中查找代码更容易.如果您要使用此路由,则只需在下载到的任何位置的压缩文件夹中提供代码即可.