R语言GHap包ghap.anctrain函数aggregate报错求助
解决R 4.3.1中GHap 3.0.0的ghap.anctrain函数报错问题
问题根源:R 4.3.0及以上版本对aggregate.formula函数的参数做了变更——原formula参数被重命名为x,但GHap 3.0.0的ghap.anctrain函数仍在使用旧参数名,导致触发报错。
以下是几种可行的解决办法:
临时修改函数代码(最快生效)
直接修改ghap.anctrain里调用aggregate.formula的参数:- 在R控制台输入:
fix(ghap.anctrain),打开函数代码编辑器 - 找到包含
aggregate.formula(formula = geno ~ pop, data = dfp, FUN = mean)的行 - 把
formula = geno ~ pop替换成x = geno ~ pop - 保存修改后关闭编辑器,重新运行你的分析代码即可
如果你不想修改包的源文件,也可以用
trace函数临时替换:trace(ghap.anctrain, edit = TRUE) # 找到对应的行修改参数后保存- 在R控制台输入:
降级R版本
把R版本降到4.2.x及以下,这个版本的aggregate.formula仍支持formula参数,和GHap 3.0.0完全兼容,不需要修改任何代码。等待官方包更新
可以向GHap包的维护者提交问题反馈,提醒他们适配R 4.3.x的参数变更,等官方发布更新版本后,重新安装最新版GHap即可解决问题。
内容的提问来源于stack exchange,提问作者Nandhini P.B
相关产品推荐
相关产品推荐

