如何获取R6类方法的形式参数?以cmdstanr的$sample()方法为例
如何获取R6方法的形式参数
你可以通过访问R6类的公开方法列表提取对应方法,再用formalArgs查看参数,针对cmdstanr中$sample()方法的示例如下:
library(cmdstanr) # 方式1:无需创建模型实例,直接从R6类定义中提取sample方法 sample_method <- cmdstanr::CmdStanModel$public_methods$sample # 调用formalArgs即可获取所有参数 formalArgs(sample_method)
如果你已经创建了模型实例,也可以直接从实例中提取方法查看参数:
# 示例:先创建模型实例 mod <- cmdstan_model("你的模型文件.stan") # 直接从实例中提取sample方法查看参数 formalArgs(mod$sample)
原理解释
你之前的写法报错是因为model-method-sample并不是cmdstanr导出的独立函数,而是绑定在CmdStanModel R6类上的成员方法。所有R6类的公开方法都存储在类对象的public_methods列表中,只要先拿到对应的R6类或者类的实例,就可以提取对应方法,用formalArgs、formals这类常规函数查看参数。
内容的提问来源于stack exchange,提问作者Jake Thompson
相关产品推荐
相关产品推荐

