PCA ggplot2 中方差图的比例
Proportion of Variance plot inside a PCA ggplot2
如何使用 ggplot2 使用 dataIris.pca 中的信息创建方差比例图,并将其添加到主 ggplot 的右上角(主图)
library(data.table)
library(MASS)
library(ggplot2)
iris.pca <- prcomp(iris[,1:4], scale. = TRUE)
dataIris.pca <- data.frame(summary(iris.pca)$importance)
dat <- data.table(PC1=iris.pca$x[,1],PC2=iris.pca$x[,2],Species= iris[,5])
dat <- dat[order(dat$Species),]
mainPlot <- ggplot(dat,aes(x=PC1,y=PC2)) + geom_point(size = 2, aes(color=Species))
mainPlot
你可以试试这个(你必须玩这个位置):
library(data.table)
library(MASS)
library(ggplot2)
library(reshape2)
library(grid)
iris.pca <- prcomp(iris[,1:4], scale. = TRUE)
dataIris.pca <- data.frame(summary(iris.pca)$importance)
dat <- data.table(PC1=iris.pca$x[,1],PC2=iris.pca$x[,2],Species= iris[,5])
dat <- dat[order(dat$Species),]
mainPlot <- ggplot(dat,aes(x=PC1,y=PC2)) + geom_point(size = 2, aes(color=Species))+
scale_y_continuous(limits=c(NA,6))
mainPlot
#Prop variance
Prop <- as.data.frame(summary(iris.pca)[[6]])
Propf <- round(Prop[2,],3)
#Melt
dfmelt <- melt(Propf)
#New plot
plota <- ggplot(dfmelt,aes(x=variable,y=value,label=paste0(100*value,'%')))+
geom_bar(stat='identity',color='black',fill='orange')+
geom_text(position=position_dodge(width=0.9), vjust=-0.25,size=2)+
xlab('PC')+ylab('Var')
mainPlot + annotation_custom(ggplotGrob(plota), xmin = 1.5, xmax = 3.65, ymin = 2.75, ymax = 6)
如何使用 ggplot2 使用 dataIris.pca 中的信息创建方差比例图,并将其添加到主 ggplot 的右上角(主图)
library(data.table)
library(MASS)
library(ggplot2)
iris.pca <- prcomp(iris[,1:4], scale. = TRUE)
dataIris.pca <- data.frame(summary(iris.pca)$importance)
dat <- data.table(PC1=iris.pca$x[,1],PC2=iris.pca$x[,2],Species= iris[,5])
dat <- dat[order(dat$Species),]
mainPlot <- ggplot(dat,aes(x=PC1,y=PC2)) + geom_point(size = 2, aes(color=Species))
mainPlot
你可以试试这个(你必须玩这个位置):
library(data.table)
library(MASS)
library(ggplot2)
library(reshape2)
library(grid)
iris.pca <- prcomp(iris[,1:4], scale. = TRUE)
dataIris.pca <- data.frame(summary(iris.pca)$importance)
dat <- data.table(PC1=iris.pca$x[,1],PC2=iris.pca$x[,2],Species= iris[,5])
dat <- dat[order(dat$Species),]
mainPlot <- ggplot(dat,aes(x=PC1,y=PC2)) + geom_point(size = 2, aes(color=Species))+
scale_y_continuous(limits=c(NA,6))
mainPlot
#Prop variance
Prop <- as.data.frame(summary(iris.pca)[[6]])
Propf <- round(Prop[2,],3)
#Melt
dfmelt <- melt(Propf)
#New plot
plota <- ggplot(dfmelt,aes(x=variable,y=value,label=paste0(100*value,'%')))+
geom_bar(stat='identity',color='black',fill='orange')+
geom_text(position=position_dodge(width=0.9), vjust=-0.25,size=2)+
xlab('PC')+ylab('Var')
mainPlot + annotation_custom(ggplotGrob(plota), xmin = 1.5, xmax = 3.65, ymin = 2.75, ymax = 6)