R项目清理:使用mvbutils的foodweb工具报错求助
解决mvbutils包callers.of函数的"fw参数缺失"错误
错误原因
callers.of() 函数需要接收一个已生成的foodweb对象作为fw参数,你之前生成的foodweb结果存在result中,但调用callers.of()时未传入该对象,导致报错。
正确用法
方法1:用with()指定foodweb环境
将callers.of()放在with(result, ...)中,让它直接使用result这个foodweb对象:
library(mvbutils) # 生成函数依赖关系的foodweb对象 result <- foodweb(plotting=FALSE) # 遍历所有函数,统计每个函数的调用者数量 res <- sapply(rownames(result$funmat), function(n) length(with(result, callers.of(n))))
方法2:显式传入fw参数
直接在callers.of()中通过fw参数指定生成的foodweb对象:
res <- sapply(rownames(result$funmat), function(n) length(callers.of(n, fw=result)))
验证单个函数调用
查询特定函数的调用者时,同样需要传入fw参数:
callers.of('function_name', fw=result)
后续清理
统计完成后,res中值为0的函数就是未被任何代码调用的函数,可安全移除这些函数来缩减项目体积。
内容的提问来源于stack exchange,提问作者ramon vazquez
相关产品推荐
相关产品推荐

