簡體   English   中英

刪除 ggplot、PCA 中的樣本名稱

[英]Removing sample names in ggplot, PCA

我想刪除我的 PCA plot 中的標簽並添加點。 通過這種方式,您可以輕松地查看它們是否根據它們的類型進行聚類。

我已經成功地將 label 的顏色添加到它們的類型中,但我不想看到樣本的名稱。 我只想看到代表樣本的點。

到目前為止,這是我的 PCA plot: PCA plot

我使用這個示例來執行我的 PCA,如何刪除示例名稱並添加點?

library(ggplot2)

data.matrix <- matrix(nrow=100, ncol=10)
colnames(data.matrix) <- c(
      paste("wt", 1:5, sep=""),
      paste("ko", 1:5, sep=""))
rownames(data.matrix) <- paste("gene", 1:100, sep="")
for (i in 1:100) {
  wt.values <- rpois(5, lambda=sample(x=10:1000, size=1))
  ko.values <- rpois(5, lambda=sample(x=10:1000, size=1))

  data.matrix[i,] <- c(wt.values, ko.values)
}
head(data.matrix)
dim(data.matrix)

pca <- prcomp(t(data.matrix), scale=TRUE) 

## plot pc1 and pc2
plot(pca$x[,1], pca$x[,2])

## make a scree plot
pca.var <- pca$sdev^2
pca.var.per <- round(pca.var/sum(pca.var)*100, 1)

barplot(pca.var.per, main="Scree Plot", xlab="Principal Component", ylab="Percent Variation")

## now make a fancy looking plot that shows the PCs and the variation:

pca.data <- data.frame(Sample=rownames(pca$x),
  X=pca$x[,1],
  Y=pca$x[,2])
pca.data

ggplot(data=pca.data, aes(x=X, y=Y, label=Sample)) +
  geom_text() +
  xlab(paste("PC1 - ", pca.var.per[1], "%", sep="")) +
  ylab(paste("PC2 - ", pca.var.per[2], "%", sep="")) +
  theme_bw() +
  ggtitle("My PCA Graph")

您可以通過將geom_text()替換為 geom_point geom_point() ) 來做到這一點:

ggplot(data=pca.data, aes(x=X, y=Y, label=Sample)) +
  geom_point() +
  xlab(paste("PC1 - ", pca.var.per[1], "%", sep="")) +
  ylab(paste("PC2 - ", pca.var.per[2], "%", sep="")) +
  theme_bw() +
  ggtitle("My PCA Graph")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM