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

代码迁移至新电脑后出现arguments imply differing number of rows:1,0错误求助

问题排查:R代码迁移后触发"arguments imply differing number of rows: 1, 0"错误

报错信息

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  :
arguments imply differing number of rows: 1, 0
Error: arguments imply differing number of rows: 1, 0

所用代码

library("nlmixr2")
data<- read.csv("C:\\Users\\Simcyp Simulator\\Downloads\\NHP Nonmem style file.csv")
nhp <- function() {
  ini({
    tcl <- 4.15
    tv <-  0.9  
    eta.cl + eta.v ~ c(1,
                       0.01, 1)
    add.err <- .0278    
  })
  model({
    cl <- exp(tcl + eta.cl)
    v <- exp(tv + eta.v)    
    ke <- cl /  v              
    d/dt(depot) = -ka * depot
    d/dt(center) = ka * depot - cl / v * center
    cp = center / v
    cp ~ add(add.err)      
  })
}

fit.nhp <- nlmixr2(nhp, data, est = "saem",control=list(print=0),
                   table=list(cwres=TRUE, npde=TRUE))

已尝试操作

  • 更换相同数据的CSV、Excel格式文件
  • 直接在R中导入数据使用
  • 安装与原电脑版本一致的最新包

排查方案

  1. 验证数据导入完整性

    • 运行dim(data)查看数据的行数列数,和原电脑结果对比,确认新电脑导入的数据无行/列丢失
    • 运行summary(data)检查nlmixr2必备列(如ID、TIME、DV等)是否存在、格式正确,无大量缺失值
    • 尝试用data <- na.omit(data)移除含缺失值的行后重新测试
  2. 修复模型参数定义漏洞

    • 模型中使用了ka参数,但未在ini()块中初始化,这会导致计算维度不匹配。在ini()块中添加ka的初始值,示例:
      ini({
        tcl <- 4.15
        tv <-  0.9
        ka <- 1  # 新增ka初始值,可根据数据调整
        eta.cl + eta.v ~ c(1,
                           0.01, 1)
        add.err <- .0278    
      })
      
    • 确认所有模型用到的参数都已在ini()中定义初始值
  3. 排查文件路径与编码问题

    • 将CSV文件移动到无空格、无特殊字符的路径下(如"C:\\Data\\NHP.csv"),重新导入数据
    • 尝试指定编码导入,匹配原电脑的文件编码:read.csv("文件路径", fileEncoding = "GBK")(或"UTF-8")
  4. 核对环境版本一致性

    • 运行R.version.string对比新、旧电脑的R版本,nlmixr2对R版本有明确要求,版本不匹配可能引发隐性错误
    • 运行packageVersion("nlmixr2")、packageVersion("rxode2")确认依赖包版本和原电脑完全一致,必要时重新安装所有依赖:
      install.packages("nlmixr2", dependencies = TRUE)
      
  5. 分步调试定位问题

    • 简化拟合调用,注释掉table参数并打开日志输出:fit.nhp <- nlmixr2(nhp, data, est = "saem", control=list(print=1)),查看中间计算过程
    • 单独运行nhp(),确认模型对象能正常生成,排除语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:22:05