Commit 8126ee7b authored by Daria Zenkova's avatar Daria Zenkova

fixed troubles with aesthetics

parent 621cd88c
...@@ -8,33 +8,40 @@ ...@@ -8,33 +8,40 @@
pcaPlot <- function(es, columns, c1, c2, size="", colour="") { pcaPlot <- function(es, columns, c1, c2, size="", colour="") {
stopifnot(require(ggplot2)) stopifnot(require(ggplot2))
stopifnot(require(Biobase)) stopifnot(require(Biobase))
if (is.na(size)) {
size = ""
}
if (is.na(colour)) {
colour = ""
}
data <- t(exprs(es)[columns,]) data <- t(exprs(es)[columns,])
pca <- prcomp(~., data.frame(data)) pca <- prcomp(~., data.frame(data))
explained <- (pca$sdev)^2 / sum(pca$sdev^2) explained <- (pca$sdev)^2 / sum(pca$sdev^2)
print(size)
print(colour)
xs <- sprintf("PC%s", seq_along(explained)) xs <- sprintf("PC%s", seq_along(explained))
xlabs <- sprintf("%s (%.1f%%)", xs, explained * 100) xlabs <- sprintf("%s (%.1f%%)", xs, explained * 100)
pData <- pData(es)[!(rownames(pData(es)) %in% setdiff(rownames(pData(es)), rownames(pca$x))),] pData <- pData(es)[!(rownames(pData(es)) %in% setdiff(rownames(pData(es)), rownames(pca$x))),]
pp <- ggplot(data=cbind(as.data.frame(pca$x), pData)) pp <- ggplot(data=cbind(as.data.frame(pca$x), pData))
if (size == "" && colour == "") { if (size != "" && colour != "") {
aes <- aes(x=eval(parse(text=xs[c1])),
y=eval(parse(text=xs[c2]))) pData[[size]] <- as.numeric(pData[[size]])
} else if (size == "" && colour != "") {
c <- pData[[colour]]; aes <- aes_string(x=xs[c1],
aes <- aes(x=eval(parse(text=xs[c1])), y=xs[c2], colour=colour, size=size)
y=eval(parse(text=xs[c2])), colour=c)
} else if (size != "" && colour == "") { } else if (colour != "") {
class(pData[[size]]) <- "numeric" aes <- aes_string(x=xs[c1],
s <- pData[[size]]; y=xs[c2], colour=colour)
aes <- aes(x=eval(parse(text=xs[c1])), } else if (size != "") {
y=eval(parse(text=xs[c2])), size=s) pData[[size]] <- as.numeric(pData[[size]])
aes <- aes_string(x=xs[c1],
y=xs[c2], size=size)
} else { } else {
s <- pData[[size]] aes <- aes_string(x=xs[c1],
c <- pData[[colour]] y=xs[c2])
aes <- aes(x=eval(parse(text=xs[c1])),
y=eval(parse(text=xs[c2])), colour=c,size=s)
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment