You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行LCMM的gridsearch函数报错:'what'必须为函数或字符串

问题解决:gridsearch运行时出现'what' must be a function or character string错误

错误原因

你在gridsearch的m参数中直接执行了lcmm::hlme()函数,导致传入的是模型运行后的结果对象,而gridsearch需要的是未执行的函数调用表达式——它要基于这个表达式重复调用模型进行网格搜索优化,直接传入模型对象会导致内部do.call调用失败。

修正后的代码

将m参数的hlme调用用quote()包裹,确保传递的是函数调用表达式而非运行结果:

lcga1 <- lcmm::hlme(NFL_log ~ Days_since_injury, random = ~1, ng = 1, subject ='subjectId_new',  data = biom)

lcga2 <- lcmm::gridsearch(
  rep = 100, 
  maxiter = 10, 
  minit = lcga1, 
  m = quote(lcmm::hlme(NFL_log ~ Days_since_injury, subject ='subjectId_new', ng = 2, data = biom, mixture =~ Days_since_injury))
)

额外验证点

  • 确认minit参数传入的lcga1是正确拟合的单组(ng=1)模型,这是多组模型网格搜索的合理初始值
  • 检查biom数据中subjectId_new是合法的分组变量(无缺失、格式正确)
  • 确保mixture =~ Days_since_injury的公式符合hlme对混合模型参数的要求

内容的提问来源于stack exchange,提问作者Gin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:12:05