######################################################## #################### TA13 - PCA ######################## ######################################################## # Making sure the relevant packages are installed and loaded if(!(c("factoextra") %in% rownames(installed.packages()))) {install.packages("factoextra")} library(factoextra) # Part 1 - 2D example # ------------------------------------------------------------------------ Data <- read.csv("TA13.csv", header = F) plot(Data, xlim = c(-10,10), ylim = c(-10,10), col = 'blue') p <- prcomp(Data, scale. = F) fviz_screeplot(p) summary(p) fviz_pca_ind(p, geom = "point") plot(p$x[,1:2], xlim = c(-10,10), ylim = c(-10,10), col = 'blue') fviz_pca_var(p) # Part 2 - Lymphoma Data # ------------------------------------------------------------------------ # Q1 lymphoma <- read.csv("lymphoma.csv", header = T) # Q2 p <- prcomp(lymphoma[,-1], scale.=T) fviz_pca_ind(p, geom = "point") fviz_screeplot(p) summary(p) # Q3 loadings = p$rotation barplot(loadings[,1], las=2) fviz_pca_var(p) # Q4 p$x # Q5 fviz_pca_ind(p, geom = "point", col.ind = lymphoma$Result, pointsize = 2) # Q6 fviz_pca_ind(p, geom = "point", axes = c(2,3), col.ind = lymphoma$Result, pointsize = 2) # Q7 p <- prcomp(lymphoma[,-1], scale. = F) fviz_pca_ind(p, geom = "point") loadings = p$rotation barplot(loadings[,1], las=2) fviz_screeplot(p) fviz_pca_ind(p, geom = "point", col.ind = lymphoma$Result, pointsize = 2)