-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpca.R
85 lines (70 loc) · 2.17 KB
/
pca.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
library(pca3d)
imagesDirectory <- "images/pca/"
dir.create(imagesDirectory,
recursive = TRUE,
showWarnings = FALSE)
source("load-cancer.R")
# ---------------------------------------------------------------------------
#
# 1. Principal Components Analysis
#
# ---------------------------------------------------------------------------
#
# 1.1 Principal Components Analysis using the replicas matrix (binnedPeaksMatrix)
#
# ---------------------------------------------------------------------------
pca <- prcomp(binnedPeaksMatrix, scale = TRUE)
summary(pca)
# reduce dataset taking the first PCs that accumulate the 95% of variance
pc95 <- min(which(cumsum(pca$sdev ^ 2) / sum(pca$sdev ^ 2) >= 0.95))
binnedPeaksMatrix.pca.95 <- pca$x[, 1:pc95]
png(
paste0(imagesDirectory, "pca-replicates.png"),
width = 640,
height = 480
)
pca2d(
pca,
group = data$spectraConditions,
components = c(1, 2),
legend = "bottomright"
)
dev.off()
# Uncomment the following line to show the 3D visualiation of the PCA
# pca3d(pca, group=data$spectraConditions, components=c(1,2,3), legend="bottomright")
# ---------------------------------------------------------------------------
#
# 1.2 Principal Components Analysis using the samples matrix (consensusBinnedPeaksMatrix)
#
# ---------------------------------------------------------------------------
pca <- prcomp(consensusBinnedPeaksMatrix, scale = TRUE)
summary(pca)
# reduce dataset taking the first PCs that accumulate the 95% of variance
pc95 <- min(which(cumsum(pca$sdev ^ 2) / sum(pca$sdev ^ 2) >= 0.95))
binnedPeaksMatrix.pca.95 <- pca$x[, 1:pc95]
png(paste0(imagesDirectory, "pca-samples.png"),
width = 640,
height = 480)
pca2d(
pca,
group = data$samplesConditions,
components = c(1, 2),
legend = "bottomright"
)
dev.off()
#with biplot
png(
paste0(imagesDirectory, "pca-samples-biplot.png"),
width = 640,
height = 480
)
pca2d(
pca,
group = data$samplesConditions,
components = c(1, 2),
legend = "bottomright",
biplot = TRUE
)
dev.off()
# Uncomment the following line to show the 3D visualiation of the PCA
# pca3d(pca, group=data$samplesConditions, components=c(1,2,3), legend="bottomright")