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

调用getGEO导入GEO系列矩阵文件时报row.names长度无效错误

报错解决方案

该报错核心原因是GEOquery 2.60.0版本调用readr解析本地文件时的列类型推断冲突,或GPL注释文件与当前表达矩阵的行数量不匹配,可按以下步骤逐一尝试:

  • 第一步:给getGEO()新增show_col_types = FALSE参数,关闭readr的列类型提示,直接运行以下代码:
geo.getGEO.data <- getGEO(filename='GSE42394_series_matrix.txt', show_col_types = FALSE)
  • 第二步:如果第一步仍然报错,优先校验本地文件合法性:
    1. 确认你下载的GSE42394_series_matrix.txt未被手动修改,所有以!开头的元数据注释行都在文件最顶部
    2. 运行代码校验ID_REF列是否存在空值或重复值:
    # 定位数据起始行
    data_start <- grep("^ID_REF", readLines("GSE42394_series_matrix.txt"))
    # 读取矩阵数据
    mat <- read.delim("GSE42394_series_matrix.txt", skip = data_start - 1, sep = "\t", header = T, check.names = F)
    # 校验ID列
    cat("是否存在空ID:", any(is.na(mat$ID_REF)), "\n是否存在重复ID:", any(duplicated(mat$ID_REF)))
    
    若返回任意一个TRUE,直接从GEO官网重新下载对应系列的series matrix文件即可解决。
  • 第三步:如果文件无异常,新增参数跳过GPL注释匹配逻辑:
geo.getGEO.data <- getGEO(filename='GSE42394_series_matrix.txt', 
                          show_col_types = FALSE,
                          AnnotGPL = FALSE,
                          destdir = getwd())

以上三个步骤可以覆盖90%以上该类报错场景,完全符合使用getGEO()加载数据的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:15:05