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

交互式与自动化运行同一R脚本结果不一致问题排查

问题:交互式会话与自动化运行R脚本时卡方检验p值不一致

我有一个处理单细胞cds对象、为每个细胞分配hash barcodes的R脚本,该脚本输出p值,但同一脚本在交互式会话与自动化运行时得到的p值不同——自动化运行时p值趋近于1。我读取两种模式下的p值并绘制了-log10(p值)直方图进行对比。

以下是导致结果不一致的核心脚本片段:

chisq_vs_background <- function(test_hash_matrix, hash_frequencies) {
  hash_frequencies_nz <- which(hash_frequencies > 0)
  hash_frequencies <- hash_frequencies[hash_frequencies_nz]
  pvals <- pbapply(test_hash_matrix[, hash_frequencies_nz], 1, function(x) {
    tryCatch({
      res <- chisq.test(x, p=hash_frequencies, simulate.p.value=FALSE)
      unlist(res[["p.value"]])
    }, error=function(e) {
      # 返回1.0
      print("error")
    })
  })
  return(pvals)
}

我已尝试的排查步骤:

  • 交互式运行时清空工作区,未解决问题
  • 对比两种模式下的sessionInfo(),包版本无差异
  • 设置随机种子,未能解决问题

请问R在交互式会话与脚本调用时,对输入文件或脚本的解读是否存在差异?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:32:05