使用Julia连接REDCap API导出报告时遇MethodError求助
解决Julia调用REDCap API导出报告的MethodError问题
我刚看了你的问题和错误信息,一下子就找到问题所在啦——你传递参数的方式和export_report函数的定义不匹配!
错误原因分析
从报错信息里的Closest candidates部分能明确看出来:
export_report(!Matched::REDCap.Config, !Matched::Any; format, returnFormat, rawOrLabel, rawOrLabelHeaders, exportCheckboxLabel, file_loc)
这个函数要求第一个参数是位置参数(直接传REDCap.Config对象),第二个参数也是位置参数(直接传report_id),而你用了config=和report_id=这种关键字参数的方式传递,函数自然识别不了,所以抛出了MethodError。
修正后的代码
把参数改成位置传递的方式就可以正常运行了,调整后的代码如下:
using REDCap REDCAP_API = "string of values" REDCAP_URL = "url" config_key = REDCap.Config(REDCAP_URL, REDCAP_API, ssl = true) # 直接把config对象和report_id作为位置参数传入 export_report(config_key, 1000)
补充:传递可选参数
如果需要设置format、rawOrLabel这类可选参数,你才需要用关键字参数的方式,比如:
export_report(config_key, 1000, format="csv", rawOrLabel="label")
另外你提到R的redcapAPI包可以正常运行,这是因为不同语言的包在参数设计上有差异,R包可能支持关键字传递这些核心参数,但Julia的这个REDCap包的export_report函数设计是位置参数优先~
内容的提问来源于stack exchange,提问作者mdb_ftl
相关产品推荐
相关产品推荐

