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

使用qqman包绘制曼哈顿图报错:invalid 'times' value求解

解决qqman包绘制曼哈顿图时的"invalid 'times' value"错误

这个错误的核心原因是manhattan()函数在尝试用rep.int()生成染色体位置标记时,传入了无效的“次数”参数——通常是因为你的数据中存在染色体(CHR)列无效值、SNP列缺失,或者部分染色体对应的SNP数量为0/NA,导致tapply(d$SNP, d$CHR, length)返回了非正整数或NA,进而触发rep.int()报错。

解决步骤

  • 第一步:检查并清理染色体(CHR)列
    染色体列不能有NA、非整数、0或负数,否则会导致分组统计异常。执行以下代码排查:

    # 查看CHR列的分布(包含NA)
    table(data$CHR, useNA = "always")
    # 统计NA数量
    sum(is.na(data$CHR))
    

    清理无效行:

    # 保留CHR为正整数且非NA的行
    data = data[!is.na(data$CHR) & data$CHR > 0 & is.integer(data$CHR), ]
    # 若原CHR是数值型,先转整数
    data$CHR = as.integer(data$CHR)
    
  • 第二步:检查并清理SNP列
    SNP列不能有NA或空字符串,否则tapply()统计数量时会出错:

    # 查看SNP列的缺失情况
    sum(is.na(data$SNP) | data$SNP == "")
    

    清理无效行:

    data = data[!is.na(data$SNP) & data$SNP != "", ]
    
  • 第三步:验证染色体的SNP数量
    确认每个染色体对应的SNP数量都是正整数,没有0或NA:

    chr_snp_counts = tapply(data$SNP, data$CHR, length)
    print(chr_snp_counts)
    

    如果存在数量为0的染色体,直接过滤掉这些染色体的行:

    valid_chrs = names(chr_snp_counts[chr_snp_counts > 0])
    data = data[CHR %in% valid_chrs, ]
    
  • 第四步:(可选但推荐)清理P值列
    无效的P值(NA、<0或>1)会影响绘图效果,提前过滤:

    data = data[!is.na(data$Pval_Estimate) & data$Pval_Estimate >= 0 & data$Pval_Estimate <= 1, ]
    

修正后的完整代码

library(data.table)
library(qqman)

# 读取数据
data = fread("/z/Comp/lu_group/Members/jwlorge/ATN/scripts/data/temp_gwas/output_1/factor_1.txt", fill=TRUE, header=TRUE)

# 数据类型转换
data$CHR = as.integer(data$CHR)
data$BP = as.numeric(data$BP)
data$Pval_Estimate = as.numeric(data$Pval_Estimate)

# 批量过滤无效行
data = data[
  !is.na(data$CHR) & data$CHR > 0 &
  !is.na(data$SNP) & data$SNP != "" &
  !is.na(data$Pval_Estimate) & data$Pval_Estimate >= 0 & data$Pval_Estimate <= 1,
]

# 确认染色体SNP数量正常
print(tapply(data$SNP, data$CHR, length))

# 绘制曼哈顿图
jpeg('corrplot1.jpg')
manhattan(data, chr="CHR", bp="BP", snp="SNP", p="Pval_Estimate")
dev.off()

# 绘制QQ图
jpeg('qqplot1.jpg')
qq(data$Pval_Estimate)
dev.off()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:31:16