r - 如何在 PCA 图中标记一些选择性样本

标签 r

plot

我在 R 中使用 prcomp 创建了一个 PCA 图:

> input <- read_excel("input.xlsx")                                                          
> data<-input[,!names(input) %in% "gene"]
> data1<-t(as.matrix(data[-1])) %*% as.matrix(data[-1]) / ncol(data)
> res.pca <- prcomp(data1, scale = TRUE)
> par(cex=0.5)
> plot(res.pca$x[,1],res.pca$x[,2], xlab="PC1", ylab = "PC2", main = "PC1 / PC2 - plot") 

input.xlsx 文件如下所示:

gene    Sample1 Sample2     Sample3
A   13.932431   5.366284    6.93992
B   21.111017   0.662061    1.563687
C   26.471751   0.932416    1.673144
D   27.597507   36.591138   28.371248
E   35.324703   0           1.462438

我只想为几个样本添加标签。我可以使用以下方法向所有示例添加标签:

text(res.pca$x[,1], res.pca$x[,2], rownames(input), pos= 1 )

但是我有很多样本,PCA 点标签不清楚,所以我只想标记几个点。我想这样做是为了将此 PCA 图与使用不同方法的相同样本的另一个 PCA 图进行比较。

最佳答案

要在左侧标记几个点,请尝试:

Threshold = -30
LEFT = which(res.pca$x[,1] + res.pca$x[,2] < Threshold)
text(res.pca$x[LEFT,1], res.pca$x[LEFT,2], rownames(input)[LEFT], pos= 1 )

尝试使用几个不同的Threshold值来更改标记的点数量。

关于r - 如何在 PCA 图中标记一些选择性样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62961658/

相关文章:

r - 改变一列模型 : "Error: Problem with ` mutate( )` input ` model`. x 输入 `model` 必须是向量,而不是 `lm` 对象。”

r - R 中线性系统迭代求解器的典型用例是什么?

c - 如何将 R 字符 vector 转换为 C 字符指针?

r - 使用 ggplot2 出现意外的 Walker 别名表输出

r - 使用 R 解决 Lucky 26 游戏

r - 如何索引R中向量中的TRUE元素

regex - 删除字符串中句点前的所有字符

r - 如何在 R 中进行迭代?

r - 防止/停止绘图在 r markdown 中包装

r - 使用 ggplot2 对分组数据进行多个 stat_function