r - 如何在 PCA 图中标记一些选择性样本
问题描述
我prcomp
在 R 中使用以下方法创建了一个 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
来更改标记的点数。
推荐阅读
- powershell-4.0 - powershell 搜索命令中未显示完整文件路径
- python - 通过 Boto3 为 DynamoDB 中的每一行更新一个列?
- css - 输入标签运行意外的 CSS 效果
- python - 使用 Python Requests 库登录网站
- angular - 如何在 Ngx-datable 表中只选择 1 个复选框?
- macos - 在 macOS Cocoa 应用程序中使用 VLCKit 时,是否可以通过更新框架的代码来添加 gotoPreviousFrame() 方法?
- java - Java大文件AES加密很慢
- r - 在R中按多个属性排序
- google-apps-script - 代码自动执行,而不是单击按钮
- node.js - 使用 sequelize 删除关联的记录,而不是将 fk 设置为 null