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

R语言prcomp结合ggbiplot绘图报错invalid 'rot' value问题求助

报错原因分析
  • 核心原因:你当前PCA输入的是18041个基因的全转录组矩阵,ggbiplot默认开启var.axes = TRUE参数,会自动绘制所有变量(即所有基因)的载荷箭头及对应基因名标签。上万级别的文本标签在计算旋转角度时数值溢出,直接触发invalid 'rot' value报错。
  • 次要错误:你执行df2 <- assay(df2)后得到的是纯数值表达矩阵,仅包含基因表达量,不存在stage列,你传入的groups=factor(df2$stage)实际是NULL值,也会导致分组逻辑异常。
修复方案
  1. 修正分组参数的来源,同时关闭变量载荷绘制即可正常出图,参考修改后代码:
# 分组从原始DESeq2对象的元数据中取,不要从纯表达矩阵df2取
plot <- ggbiplot(pca2, 
                 groups=factor(dds$stage), 
                 alpha=1, 
                 varname.size=0.2, 
                 ellipse = TRUE, 
                 circle = TRUE, 
                 labels =row.names(df2),
                 var.axes = FALSE) # 关闭基因载荷箭头和标签绘制,避免上万条元素溢出
plot
  1. 如果你需要展示部分基因的载荷信息,建议先筛选高变基因/目标基因子集后再做PCA绘图,避免一次性加载上万条变量标签。
  2. 额外说明:vst归一化后的矩阵本身已经完成方差稳定转换,prcomp设置scale=FALSE的操作是正确的,不需要额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:15:05