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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)