R语言绘制曼哈顿图给染色体分配颜色

 

方法1:

1、利用match函数实现

复制代码
> dir()
[1] "dat.map"
> map <- read.table("dat.map")
> map                                     ## map文件
  V1     V2
1  1  55910
2  1  85204
3  1 122948
4  2 167127
5  2 176079
6  2 361433
7  3 144010
8  3 199910
9  3 234281
> col <- c("red", "black", "purple")     ## 备用颜色
> names(col) <- 1:3
> col
       1        2        3 
   "red"  "black" "purple" 
> idx <- match(map$V1, names(col))       ## 构建颜色索引
> map$col <- col[idx]                    ## 分配颜色
> map
  V1     V2    col
1  1  55910    red
2  1  85204    red
3  1 122948    red
4  2 167127  black
5  2 176079  black
6  2 361433  black
7  3 144010 purple
8  3 199910 purple
9  3 234281 purple
复制代码

 

2、方法2,利用for循环 + if判断实现

复制代码
> dir()
[1] "dat.map"
> map <- read.table("dat.map")
> map                                   ## map文件
  V1     V2
1  1  55910
2  1  85204
3  1 122948
4  2 167127
5  2 176079
6  2 361433
7  3 144010
8  3 199910
9  3 234281
> col <- c("red", "black", "cyan")     ## 备用颜色
> for (i in 1:3) {                     ## 利用二重for循环 + if语句实现
+   for (j in 1:nrow(map)) {
+     if (map[,1][j] == i) {
+       map$col[j] = col[i]
+     }
+   }
+ }
> map
  V1     V2   col
1  1  55910   red
2  1  85204   red
3  1 122948   red
4  2 167127 black
5  2 176079 black
6  2 361433 black
7  3 144010  cyan
8  3 199910  cyan
9  3 234281  cyan
复制代码

 

posted @   小鲨鱼2018  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示