分数图(PCA)的ERR

问题描述 投票:0回答:1

我在R做PCA,得到了结果。但是当我尝试绘制前两个主要组件时,我得到一个错误:

Warning: Ignoring unknown aesthetics: fill
Error in eval(expr, envir, enclos) : object 'GROUP' not found

这是我的代码:

data = read.csv("pca_scores.csv", header = T)
data = data[, c(1:3)]
ggplot(data, aes(PC1, PC2)) +
       geom_point(aes(shape = Group)) +
       geom_text(aes(label = data$X)) +
       stat_ellipse(aes(fill = Group))

我知道问题是“小组”。我之前的代码中没有提到该组。但我真的不知道如何改变它

https://i.stack.imgur.com/rHgrj.png

r ggplot2 pca
1个回答
0
投票

同意@MrFlick,您应该始终提供样本数据;你的data.frame的屏幕截图没用。

除此之外,你可以试试这个:

require(tidyverse);
data %>%
    mutate(Group = gsub("\\(.+\\)$", "", X)) %>%
    ggplot(aes(PC1, PC2)) +
        geom_point(aes(shape = Group)) +
        geom_text(aes(label = X)) +
        stat_ellipse(aes(fill = Group))

一些评论:

  1. 你不需要在data$里面使用aes();直接参考相关栏目。
  2. 我添加了一个Group列,从"(PubChem: ...)"剥离X部分。
  3. 请记住,如果有stat_ellipse点,>3将只绘制一个椭圆。
© www.soinside.com 2019 - 2024. All rights reserved.