如何基于主成分为17种颜色着色点? [英] how to color points in 17 colors based on principal component?

查看:139
本文介绍了如何基于主成分为17种颜色着色点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在R上的数据帧(df_f)上进行PCA

I am doing PCA in R on a data frame(df_f)

pc_gtex <- prcomp(df_f)

plot(pc_gtex$x[,1], pc_gtex$x[,2], col=gtex_group, main = "PCA", xlab = "PC1", ylab = "PC2")
legend("topleft", col=1:17, legend = paste(unique(gtex_pm$tissue), 1:17), pch = 20, bty='n', cex=1.5)

下面是我的PCA组表,该表中的样本列实际上代表要绘制的主要数据行,该表的列是基因,因此基本上我有17个组/组织要代表PCA.

Below is my group table for the PCA.The sample column in this table actually represents the rows of the main data to be plotted.The columns of that table are genes.So basically I have 17 groups/tissues to be represented on PCA.

head(gtex_pm)

     sample   tissue

   1 SRR1069514 Prostate
   2 SRR1071717  Bladder
   3 SRR1073069 Prostate

基于上面的gtex_group对象看起来像级别:

Based on the above gtex_group object looks like the levels:

head(gtex_group)
[1] 1 2 1 1 1 

PCA主表的样本头是:行名称是样本"

THE sample head of Main table for PCA is :The rownames are the Samples

   SRR1069514   0   0.0009995   5.773065971 1.644998088 0.142367241 0.176471143 0.195566784 0.0009995   0.025667747 3.380994674 1.762502288 0   0.077886539 0   0.002995509 0.01093994  2.110576771 1.38829236  2.26186726  0.431132855 3.108480433 3.96347629  0   0   0.41012092  3.48452699  1.68565794  0   1.425034189 1.87456758  2.590542128 0   0   0   1.941471742 0.961646434 0   1.17711535  0.058268908 0   0.260824618 3.08534443  1.10426296  0.242946179 0.0009995   0   0   0   0.0009995   1.560247668 1.517541898 0.016857117 0.767326579 0.0009995   3.0191069   0   2.607050533 1.446683661 2.288384744 2.62082062  0.19309663  0   0   0.234281296 0   1.415610416 2.328837464 0.008959741 0.911479175 0.375005901 0.660107327 3.184739763 1.16064768  0.001998003 0.138891999 2.219855445 3.1011278   1.81872592  2.98229236  2.4114395   3.24528404  0   1.54734972  0.406131553 0.029558802 0.003992021 0.693647056 2.07581 2.8357982   0.0009995   0.082501222 1.09661029  2.75829962  0.635518068 3.11484775  0.01291623  3.40837159  0   
   SRR1071717   0   0   0.0009995   4.99519673  1.626491667 0.100749903 0.327863862 0.09531018  0   0.056380333 3.328196489 1.541373182 0   0.091667189 0.044973366 0   0.033434776 1.953311265 1.56444055  1.79142608  0.993622075 3.206236281 3.82609468  0   0   2.565487674 3.2202349   1.1304339   0   1.092258815 1.80203978  2.645394351 0   0   0.0009995   1.681200279 2.047434746 0   0.948176921 0.006975614 0.014888613 0.298622013 2.49667052  1.01884732  0.38662202  0   0   0   0   0.0009995   0.941958479 1.752845376 0.017839918 0.216722984 0.051643233 3.0505518   0   2.034444176 0.988053098 2.235804059 1.89686995  0.090754363 0   0   0.198850859 0   1.585554972 2.274905524 0   0.04305949  0.056380333 0.044016885 0.771496147 1.195436473 0   0.368801124 1.974636427 2.7700856   2.00120969  2.88875935  2.2651947   2.66242502  0   0.429181635 0.04018179  0.034401427 0   0.242161557 1.9907469   2.1384177   0.0009995   0.008959741 0.99916021  2.3892214   0.086177696 3.16821391  0   3.2038434   0
   SRR1073069   2.19544522  1.32866525  0.0009995   4.50198508  1.159707388 0.141499562 0.265436464 0.026641931 2.3330173   0.028587457 3.140698044 1.537297235 0.012916225 0.023716527 0   0.002995509 0.049742092 2.071157322 1.02460688  2.11818137  0.359072069 2.419656765 3.5065479   0.137149838 2.121902193 0.305276381 2.95958683  1.49939981  3.14397985  1.001366904 1.450911    1.39475844  1.930071085 1.140074079 0.037295785 1.609437912 0.412109651 0.870456196 0.943516718 0.013902905 0   0.152721087 2.88836976  1.482967248 0.272314595 2.061532121 0.552159487 2.394890764 1.391033116 0.443402947 1.593714952 1.285921387 0.00796817  0.371563556 0.020782539 3.1946651   1.26327891  2.212003715 1.46672161  2.140183804 2.71997877  0.294161039 0.018821754 0.0009995   0.179818427 1.893714192 1.731478538 2.502255288 0.013902905 0.752830183 0.347129531 0.407463111 2.467082065 0.558472277 1.563812734 0.022739487 1.608837732 2.8176816   1.30670988  2.44495233  1.81107178  3.03254625  0.569283193 0.948176921 0.101653654 0.036331929 0   0.786182047 1.9867779   3.5039946   2.463427618 0.008959741 0.76360564  2.20640453  0.514618422 2.87964779  1.11021142  3.18750899  1.22436349
   SRR1074410   2.69022562  1.70055751  0.013902905 3.314622273 0.503196597 0.4940863   0.044016885 0.023716527 1.753884517 0.03246719  2.767324893 1.666385193 0.009950331 0.05259245  0   0   0.017839918 1.575260461 0.76779072  2.22202559  0.83377831  2.198113071 3.57953881  0.051643233 2.207284913 0.072320662 3.04414141  1.39177929  2.851746423 0.982452934 1.33210213  1.888583654 1.871340532 1.238664044 0.03246719  1.734659877 0.486737828 0.412109651 1.126551657 0.035367144 0   0.213497174 2.76032635  1.131402111 0.572108852 2.102425378 0.291175962 1.85159947  0.943516718 0.283674051 1.232560261 0.982078472 0   0.223943232 0.035367144 2.9064091   1.583299255 2.376671636 1.185095749 2.07681309  2.20794469  0.877549904 0.151002874 0   0.107059072 3.038312721 1.486365915 2.633829402 0   0.403463105 0.195566784 0.285930539 1.296643139 0.48796633  1.664115474 0.054488185 1.884034745 2.3757426   1.71036863  2.61732284  1.9348492   3.1138708   1.220239777 0.322807874 0.12398598  0.004987542 0.002995509 0.446607051 1.939317    3.8484227   2.78346684  0.025667747 0.78253074  2.03352848  0.181487876 2.7091163   1.00430161  3.1429015   1.24875495

该图形最终代表8种颜色,然后重复出现,因此我们无法区分某些组织.我想显示17种不同的颜色.我该怎么做?

The figure eventually represents 8 colors and then repeats itself,so we cant distinguish between some tissues.I want to show 17 different colors.How do I do that?

推荐答案

很难确切地说出您的数据是什么样子,但这也许行得通:

It's hard to say without knowing exactly what your data look like, but perhaps something like this would work:

cols <- rainbow(17)[as.factor(gtex_pm$tissue)]

plot(pc_gtex$x[,1], pc_gtex$x[,2], col=cols, main = "PCA", xlab = "PC1", ylab = "PC2")

这篇关于如何基于主成分为17种颜色着色点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆