从 R 包中提取函数参数描述
Extract function argument description from R package
我知道有一些方法可以提取函数的所有参数,例如 rlang::fn_fmls
。但是是否可以从包文档中提取这些参数之一的描述?
例如,如果我想将 na.rm
参数的描述提取到 base::sum()
怎么办?
我在想象这样的事情:
get_argument_description(fn = 'base::sum', arg = 'na.rm')
Return:
"logical. Should missing values (including NaN) be removed?"
您可以尝试阅读该函数的相关帮助文件,以及 grep
\item{argument}
所在的行。然而,多行帮助文本是允许的,如果下一行不是以 \
开头,你也想抓住它。
This answer 显示了一种访问文件的方法,然后只需获取正确的行即可。我还想在 tools
、
中突出显示一个不同的函数
tools:::.Rd_get_text()
这几乎可以让你到达你想要的地方,(如果你找到正确的行)
library(tools)
db = Rd_db("base")
tools:::.Rd_get_text(x = db[["sum.Rd"]])[21] # 21 is the line you want here
[1] " na.rm: logical. Should missing values (including 'NaN') be removed?"
我知道有一些方法可以提取函数的所有参数,例如 rlang::fn_fmls
。但是是否可以从包文档中提取这些参数之一的描述?
例如,如果我想将 na.rm
参数的描述提取到 base::sum()
怎么办?
我在想象这样的事情:
get_argument_description(fn = 'base::sum', arg = 'na.rm')
Return:
"logical. Should missing values (including NaN) be removed?"
您可以尝试阅读该函数的相关帮助文件,以及 grep
\item{argument}
所在的行。然而,多行帮助文本是允许的,如果下一行不是以 \
开头,你也想抓住它。
This answer 显示了一种访问文件的方法,然后只需获取正确的行即可。我还想在 tools
、
tools:::.Rd_get_text()
这几乎可以让你到达你想要的地方,(如果你找到正确的行)
library(tools)
db = Rd_db("base")
tools:::.Rd_get_text(x = db[["sum.Rd"]])[21] # 21 is the line you want here
[1] " na.rm: logical. Should missing values (including 'NaN') be removed?"