我在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))
我知道问题是“小组”。我之前的代码中没有提到该组。但我真的不知道如何改变它
答案 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))
一些评论:
data$
内使用aes()
;请直接参考相关栏目。Group
列,用于从"(PubChem: ...)"
中删除X
部分。stat_ellipse
分,>3
只会绘制一个椭圆。