分数图(PCA)的ERR

时间:2018-02-28 21:52:47

标签: r ggplot2 pca

我在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

1 个答案:

答案 0 :(得分: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只会绘制一个椭圆。