如何记录引用类的成员函数的使用?
如果我Rd
用一个\usage
块写一个文件,我该如何避免WARNING
Functions/methods with usage in documentation object 'XmlDoc' but not in code:
$ new
Run Code Online (Sandbox Code Playgroud)
我希望这个\usage
块允许我写下这样的东西:
obj <- ClassName$new(par1, par2, ...)
obj$method1(oth1, ...)
Run Code Online (Sandbox Code Playgroud)
然后我会记录\arguments
块中的参数.
如果我这样做,R CMD check
抱怨
Assignments in \usage in documentation object 'ClassName':
Run Code Online (Sandbox Code Playgroud)
并且不会将方法识别为我需要文档的代码对象.
截至目前,我正在编写Rd
没有\usage
块的文件,并在块中编写上面的代码\examples
,但是我没有地方记录参数,这种方式check
实际上很少检查.由于我对此不满意,我现在向社区询问当前的常见做法.
我正在尝试将R文档文件(扩展名.Rd)转换为纯文本.我知道RdUtils包含一个名为Rdconv的工具,但据我所知它只能在命令行中使用.有没有办法从R会话中访问Rdconv(或类似的转换工具)?
在尝试为自己找到关于这个问题的解决方案时,我发现自己陷入了尝试编写有效的Rd标记.我想要的是添加一个名为的部分Raw Function Code
,并将函数的代码放在其下.通过编写脚本来修改要包含的Rd文件,我在这方面取得了有限的成功
\section{Raw Function Code}{\code{
# some piece of R script will eventally provide this part of the text
}}
Run Code Online (Sandbox Code Playgroud)
但是,即使我手动将文本正确地分隔成.Rd文件(使用空格或制表符),每条线的初始空白区域似乎也会被剥离,留下不合需要的外观功能.我注意到如果我在白色空间之前提供一个起始字符,则保留空白区域.但是,我不想提供一个起始角色,因为我希望人们能够直接从制作的PDF中复制和粘贴.
我查看了parseRd,我知道有三种类型的文本LaTeX-like,R-like和verbatim.我试图将我的功能代码放在\ code和\ verb中,似乎都没有产生预期的结果.我该怎么做才能抓住我最初的空白区域?
我读过的
我已经阅读了这个 SO question 和相关的答案,但我仍然有点不知道如何defunct
在我的包中正确记录一个函数。
我试过的
defunct
通过调用替换了我的功能代码.Defunct("<pointer to a function to be used instead>", "<my package name>")
.Rd
包含我的函数的旧文档的文件mypackage-defunct.Rd
文件,其别名指向我现在的defunct
函数名称mypackage-defunct.Rd
我\usage
为我的旧函数创建了一个条目并将函数参数替换为\dots
(因为我认为不需要跟踪旧参数。我遵循了base-defunct 中所做的一些事情)我有什么
运行时 RCMD CHECK
我得到以下信息WARNING
:
检查 Rd \usage 部分......警告文档对象'mypackage-defunct''......'中未记录的参数
带有 \usage 条目的函数需要有适当的 \alias 条目,并且记录它们的所有参数。\usage 条目必须对应于语法上有效的 R 代码。请参阅“编写 R 扩展”手册中的“编写 R 文档文件”一章。
我想要什么
我如何摆脱警告?我需要记录函数的参数defunct
吗?额外问题:对于已失效的功能,推荐的方法是什么。我应该删除所有参数并用 替换它们...
吗?看着base-defunct
,我看到的功能与适当的参数名,混合.
和 ...
论证和空参数列表。什么是“正确”的方式?
我正在使用 roxygen2 来记录 R 包中的对象,如R 包一书中所述。我想在每个对象的文档页面的顶部(和底部)插入一些文本,例如,“机密 - 请勿发布”。对于 HTML 文档页面,我可以使用 CSScontent
属性来实现,当然也可以通过插入一些 HTML 来实现。
那么如何修改 roxygen2 渲染的文档页面的页面标题呢?现在我只对 HTML 文档页面感兴趣,而不对 PDF 感兴趣,所以使用 roxygen2 或 Rd 将一些任意 CSS 或 HTML 插入每个文档页面可能就足够了。那可能吗?
理想情况下,我想找到一个可以为整个包全局设置一次的选项,因为如果我必须将它单独添加到每个对象的文档中,我可能会错过一些。但是如果我必须将它添加到每个对象中,我可以忍受它。
我可以使用\ item在.Rd文件中创建一个列表.
\item{blah}{blah}
Run Code Online (Sandbox Code Playgroud)
但似乎我无法通过将\ item放在另一个\item
中来创建嵌套列表
\item{blah}{
\item{blah1}{some}
\item{blah2}{thing}
}
Run Code Online (Sandbox Code Playgroud)
有人知道在R文档中生成嵌套列表的方法吗?谢谢.
我想通过一个软件包,发现每个函数的帮助文件中提到的作者是谁.
我找了一个从R的帮助文件中提取元素的函数,可以找到一个.我能找到的最接近的是这篇帖子,来自Noam Ross.
这样的功能存在吗?(如果没有,我想我会破解Noam的代码以解析Rd文件,并找到我感兴趣的特定元素).
谢谢,塔尔.
潜在的代码示例:
get_field_from_r_help(topic="lm", field = "Description") #
# output:
Run Code Online (Sandbox Code Playgroud)
'lm'用于拟合线性模型.它可用于进行回归,方差的单层分析和协方差分析(尽管'aov'可为这些提供更方便的界面).
我们如何获得现有功能的R文档的来源(的内容*.Rd
),例如plot
或lubridate::ymd
。类似于fix
功能的文档资料?
我在项目文件夹中有函数和数据集的文档。在文档文件夹中,我有所有数据集的 .Rd 文件。我希望用户能够调用自定义帮助函数并在查看器中启动 .Rd 文件,就像从文件编辑器编译文件时自动完成的那样。是否有可能做到这一点?