Перейти к содержимому

Метод главных компонент (PCA) в R

Wakjira Tesfahun

0:00 / 0:00

Метод главных компонент (PCA) в R

28 156 просмотров · 4 года назад
Wakjira Tesfahun
7,37 тыс. подписчиков
28 156 просмотров · 4 года назад
library("ggplot2") library("gridExtra") library(ggbiplot) library("corrplot") library(factoextra) #преобразование номера строки data=rownames(GGE)=c("Me","E6","E2","E4","KB","HUl","kat","Dan","EA2","Ts", "E0","E5","DI","E8","E39","ET1","BO","Ab","Si") pca =prcomp(GGE[,c(2:11)], center = TRUE,scale. = TRUE) print(pca) для получения собственного значения eig.val = get_eigenvalue(pca) eig.val для получения графика собственных значений fviz_eig(pca, addlabels = TRUE, ylim = c(0, 50)) Результаты PCA для переменных var=get_pca_var(pca) чтобы увидеть переменные, оказывающие наибольшее влияние на каждое измерение corrplot(var$cos2, is.corr=FALSE) чтобы увидеть переменные, оказывающие наибольшее влияние на оба измерения fviz_cos2(pca, choice = "var", axes = 1:2) чтобы построить столбчатую диаграмму вклада переменных Вклад переменных в PC1 a=fviz_contrib(pca, choice = "var", axes = 1)# top= 5, чтобы ограничить количество переменных пятью. Вклад переменных в PC2 b=fviz_contrib(pca, choice = "var", axes = 2) grid.arrange(a,b, ncol=2, top='Вклад переменных в первые две главные компоненты') Общий вклад в PC1 и PC2 fviz_contrib(pca, choice = "ind", axes = 1:2) График переменных fviz_pca_var(pca, col.var = "cos2", gradient.cols = c("red", "blue", "green"), repel = TRUE) Биплот отдельных элементов и переменных fviz_pca_biplot(pca, repel = TRUE, col.var = "blue", col.ind = "красный") ########################################################################### #Построение графика PCA ggbiplot(pca) #Этот код назовет каждую точку названием генотипа ggbiplot(pca,labels=rownames(GGE)) построение графика с использованием PC1 и PC2 ggbiplot(pca,ellipse=TRUE,choices=c(1,2),labels=rownames(GGE), groups=GGE$ENV) масштабирование выборок ggbiplot(pca,ellipse=TRUE,obs.scale = 2, var.scale = 4.5, labels=rownames(GGE), groups=GGE$ENV) #удалить стрелки целиком ggbiplot(pca,ellipse=TRUE,obs.scale = 1, var.scale = 1,var.axes=FALSE, labels=rownames(GGE), groups=GGE$ENV) окончательный биплот, созданный с помощью Customize ggbiplot aa=ggbiplot(pca,ellipse=TRUE,obs.scale = 1, var.scale = 1, labels=rownames(GGE), groups=GGE$ENV) + scale_colour_manual(name="Location", values= c("blue", "red", "green","pink"))+ ggtitle("PCA of wakjira")+ theme_minimal()+ theme(legend.position = "bottom") aa ggsave(filename = "Waq.png", plot = aa,width = 22, height = 15, dpi = 2500, единицы измерения = "см")