R语言用列数据画PCA带椭圆图

之前找了很多信息,见到的都是用行画PCA,用列的大多都是使用fviz_pca_var这个函数,但这个函数椭圆我又死活加不上,再加上画椭圆时的分组信息又没法加在原数据里,纠结了很久。但最后还是被我试出来了。

先放个原数据格式:


data


group

library("FactoMineR")

library("factoextra")

library("dplyr")

data = read.csv("G:/TPTNW.csv",row.names = "gene_id")

#这是分组信息

datagroup = read.csv("G:/TPTNWgroup.csv")

#t()用于转换矩阵行列,用起来方便省事

verdata = t(data)

res.pca <- PCA(verdata, graph = FALSE)

#将同一组的individuals圈在一起

fviz_pca_ind(res.pca,

            geom.ind = c("point","text"), # 显示点与文字

            col.ind = datagroup$group, #以组分颜色,这里直接上面导入的group信息即可

            palette = c("#00AFBB", "#E7B800", "#FC4E07"), #颜色

            addEllipses = TRUE, #画椭圆

            legend.title = "Groups" #分组名

)

结果图:


你可能感兴趣的:(R语言用列数据画PCA带椭圆图)