将 ifelse 函数应用于系统发育扇的颜色提示

2023-12-01

作为系统发育爱好者,我想通过应用 if 语句对提示(类似于本例中的 62 个物种)进行颜色编码。我目前正在使用以下代码,试图将与“O”相关的所有物种着色为深绿色:

ColourIf = ifelse(LU != "O", "blue", "darkgreen")

tiff("PhyloFan.tif", height=10, width=10, units="in", res=300, compression="lzw");
plot.phylo(phyloFan,type="fan",show.tip.label=T,cex=0.9,show.node.label=F,
           edge.color="black", adj=0, label.offset=0.75, lwd=2, edge.width=1, 
           tip.color=ColourIf) 
par(oma=c(0,0,0,0))      
dev.off()

目前,有七个物种被涂成绿色(数字是正确的),但不是数据表中与“O”相关的物种。如何修改代码以便正确的七个物种以绿色显示(即cropotoi、diomal、garsoo、holpub、phycol、stegut、steneu)?

这是我生成的当前数字:

enter image description here

非常感谢您的任何建议。

这是可重现的数据:dput(LU)

structure(list(LU = structure(c(1L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 
3L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 1L, 3L, 3L, 
3L, 3L, 4L, 1L, 3L, 3L, 4L, 3L, 3L, 1L, 3L, 3L, 3L, 2L, 3L, 3L, 
3L, 3L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 3L, 
3L, 3L, 1L, 1L, 3L, 3L), .Label = c("H", "L", "na", "O"), class = "factor")), .Names = "LU", class = "data.frame", row.names = c("albleb", 
"albodo", "antgha", "apovil", "artlak", "briret", "buclan", "cansub", 
"carsph", "catspa", "cropoi", "dalcul", "dallan", "dalnig", "daloli", 
"dilobo", "dioehr", "diomal", "dipint", "diptub", "elltom", "erican", 
"erysuc", "flesoo", "garcow", "garobt", "garsoo", "gmearb", "greeri", 
"halcor", "holpub", "irvoli", "lancor", "lopdup", "mancal", "memedu", 
"memscu", "milleu", "mitrot", "morcor", "ochint", "parama", "pavtom", 
"permem", "phycol", "phyemb", "ptemac", "rotwit", "schole", "shoobt", 
"shorox", "shosia", "sinsia", "stegut", "steneu", "strnux", "symrac", 
"syz001", "terala", "tercal", "terche", "xylxyl"))

这个 newick 文件包含 phyloFan 信息:

(((((((((((((((((((((((((((((shosia:15.089286,shoobt:15.089286,shorox:15.089286)shorea:15.089286,(dipint:15.089286,diptub:15.089286)dipterocarpus:15.089286)dipterocarpaceae:15.089285):15.089287):15.089283,((stegut:25.148809)sterculia:25.148809,(erican:25.148809)eriolaena:25.148809,(greeri:25.148809)grewia:25.148809)malvaceae:25.148808):15.089287):15.089287)malvales:15.089287)malvales_to_brassicales:15.089287)huerteales_to_brassicales:15.089279,(((((((buclan:18.861607)buchanania:18.861607,(lancor:18.861607)lannea:18.861607,(mancal:18.861607)mangifera:18.861607)anacardiaceae:18.861607,((cansub:18.861607)canarium:18.861607)burseraceae:18.861607):18.861607):18.861603,(((schole:23.577007)schleichera:23.577007)sapindaceae:23.577003):23.577011):18.861610):18.861610)sapindales:18.861603):15.089294):15.089279):15.089294,(((((((memedu:24.520090,memscu:24.520090)memecylon:24.520090)melastomataceae:24.520092):24.520088,(((syz001:24.520090)syzygium:24.520090)myrtaceae:24.520092):24.520088):24.520088):24.520096,((terala:49.040180,tercal:49.040180,terche:49.040180)terminalia:49.040180)combretaceae:49.040184)myrtales:24.520081):24.520096)malvids:15.089279,(((((((sinsia:81.250000)sindora:81.250000,(((((((((((erysuc:29.791666)erythrophleum:29.791666)dimorphandra_group:29.791668,((((((((((albleb:8.125000,albodo:8.125000)albizia:8.125000)ingeae:8.125000):8.125000):8.125000):8.125000):8.125000):8.125000):8.125000,((xylxyl:24.375000)xylia:24.375000)adenanthera_group:24.375000):8.125000):8.125000)mimosoids:8.125000):8.125000):8.125000):8.125000):8.125000):8.125000,((((((((((((((((flesoo:8.125000)flemingia:8.125000)cajaninae:8.125000):8.125000):8.125000):8.125000)phaseoloids:8.125000):8.125000):8.125000):8.125000):8.125000):8.125000,((((((((ptemac:10.833333)pterocarpus:10.833333):10.833334):10.833332)pterocarpus_group:10.833336,(((dalcul:13.541667,dallan:13.541667,dalnig:13.541667,daloli:13.541667)dalbergia:13.541667):13.541666)dalbergia_group:13.541668):10.833332)dalbergieae:10.833336):10.833328):10.833336):8.125000):8.125000):8.125000):8.125000)papilionoideae:8.125000):8.125000):8.125000):8.125000,(milleu:81.250000)millettia:81.250000)fabaceae:8.125000):8.125000)fabales:8.125000,(((((((((((artlak:15.572917)artocarpus:15.572917):15.572916):15.572918):15.572918)moraceae:15.572914):15.572914):15.572922):15.572914):15.572922)rosales:15.572906):15.572922):8.125000,((((((cropoi:32.500000)croton:32.500000,(phycol:32.500000,phyemb:32.500000)phyllanthus:32.500000,(antgha:32.500000)antidesma:32.500000,(apovil:32.500000)aporusa:32.500000,(briret:32.500000)bridelia:32.500000)euphorbiaceae:32.500000):32.500000,((irvoli:43.333332)irvingia:43.333332)irvingiaceae:43.333336,((((garcow:26.000000)garcinia:26.000000)clusiaceae:26.000000):26.000000):26.000000,((ochint:43.333332)ochna:43.333332)ochnaceae:43.333336,(((((parama:21.666666)parinari:21.666666)chrysobalanaceae:21.666668):21.666664):21.666672):21.666664)malpighiales:21.666672,(((((elltom:25.277779)ellipanthus:25.277779)connaraceae:25.277779):25.277779):25.277779)oxalidales:25.277779):21.666656,(((lopdup:43.333332)lophopetalum:43.333332)celastraceae:43.333336)celastrales:43.333328)celastrales_to_malpighiales:21.666672):8.125000)fabids:8.125000):8.125000)rosids:8.125000):8.125000,(((((((((carsph:45.518467)careya:45.518467)lecythidaceae:45.518471,(((((symrac:22.759233)symplocos:22.759233)symplocaceae:22.759235):22.759232):22.759232,((((dioehr:22.759233,diomal:22.759233)diospyros:22.759233)ebenaceae:22.759235):22.759232):22.759232):22.759239):22.759232)ericales:22.759232,((((((catspa:63.437496)catunaregam:63.437496,((((((((((pavtom:11.534090)pavetta:11.534090):11.534092):11.534088,(((garobt:11.534090,garsoo:11.534090)gardenia:11.534090):11.534092):11.534088):11.534092):11.534092):11.534088):11.534088):11.534096)ixoroideae:11.534088):11.534088,(rotwit:63.437496)rothmannia:63.437496,(halcor:63.437496)haldina:63.437496,(mitrot:63.437496)mitragyna:63.437496,((((((morcor:18.124998)morinda:18.124998):18.125000):18.124996):18.125000):18.125000)rubioideae:18.125000)rubiaceae:11.534096,((((strnux:30.757576)strychnos:30.757576)loganiaceae:30.757576,(((holpub:23.068182)holarrhena:23.068182)apocynaceae:23.068180):23.068184):23.068176):23.068184)gentianales:11.534088,(((((((((((((steneu:10.710227)stereospermum:10.710227)bignoniaceae:10.710226):10.710228):10.710228,(((gmearb:13.387784)gmelina:13.387784)lamiaceae:13.387785):13.387783):10.710224):10.710228):10.710228):10.710228):10.710228):10.710228):10.710220)lamiales:10.710236):10.710220):10.710236)lamiids:10.710220):10.710236)ericales_to_asterales:10.710220)asterids:10.710236):10.710220):10.710236):10.710220,((dilobo:78.541664)dillenia:78.541664)dilleniaceae:78.541672):8.125000)core_eudicots:8.125000)trochodendrales_to_asterales:8.125000)sabiales_to_asterales:8.125000)eudicots:8.125000)ceratophyllales_and_eudicots:8.125000)poales_to_asterales:8.125000,(((((((((permem:29.250000)persea:29.250000)lauraceae:29.250000):29.250000):29.250000):29.250000)laurales:29.250000):29.250000)magnoliids:29.250000):29.250000)magnoliales_to_asterales:8.125000)austrobaileyales_to_asterales:8.125000)nymphaeales_to_asterales:8.125000)angiosperms:8.125000)seedplants:75.000000)euphyllophyte:1.000000;

您的代码工作正常,但颜色未按照提示标签的顺序排序(检查phyloFan$tip.label)。重新排序颜色match函数将解决颜色分配问题。

require(ape)

# generate a random tree, because importing yours does not work for me
# skip this step in your code
set.seed(12345)
phyloFan <- rtree(n = nrow(LU), tip.label = row.names(LU))

# create color vector ordered according to the tip labels
cols <- ifelse(LU != "O", "blue", "darkgreen")[match(phyloFan$tip.label, row.names(LU))]

# plot with ordered colors
plot(phyloFan, type = "fan", tip.color = cols, label.offset = 0.1)

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ifelse 函数应用于系统发育扇的颜色提示 的相关文章

  • 在 RcppArmadillo 中将列向量乘以数值标量

    我在编译这个简单的程序时遇到一些麻烦c 代码使用Rcpp和RcppArmadillo包裹 采用以下简单示例 将矩阵的每一列乘以数值标量 code lt arma mat out Rcpp as
  • JPEG 中的颜色配置文件检测

    我希望能够检测 JPEG 中是否存在颜色配置文件 需要明确的是 我对实际进行颜色校正或用它们做任何其他事情不感兴趣 我做了一些调查 但找不到任何明确的信息来源 到目前为止我所知道的是 里面有一个颜色配置信息XMP块 XMP 块位于0xFFE
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • 在 RMarkdown 输出到 PDF 时缩进而不添加项目符号点或编号

    之前有人问过如何在没有项目符号的情况下缩进文本 RMarkdown 中的点 但这是针对 HTML 输出的 在 RMarkdown 中缩进而不添加项目符号点或数字 https stackoverflow com questions 47087
  • 使用选定因子水平的值向 ggplot-barchart 添加水平线

    在这个情节中 df lt data frame factor as factor c rep A 3 rep B 3 Treatment c rep c A B C 2 values runif 6 0 1 ggplot df aes Tr
  • 如何为自定义 S3 类实现提取/取子集 ([ [<-, [[ [[<-)] 函数?

    我有一个自定义的 S3 类foo 它在正常的基础上添加了一些自定义行为data frame foo object lt data frame class foo object lt c foo data frame 对于这个类 还应该有一个
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 有没有更简单的方法来处理复选框?

    在 vb net 中 我有一个包含一组四个复选框的表单 每个复选框都表示 选中时 用户想要向其订单添加特殊指令 代码如下所示 If SpecialInstruction1CheckBox Checked Then AddSpecialIns
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 自定义轴缩放后 ggplot2 缺少标签

    我正在尝试使用我的 x 轴应用自定义缩放ggplot2 and scales trans new 但是 当我这样做时 一些轴标签丢失了 有人可以帮我弄清楚为什么吗 Setup library tidyverse the data ds lt
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 在 RGL 中将立方体绘制到 3D 散点图中

    我正在尝试向 3D 散点图添加较小的立方体 网格 具有指定边长 我希望立方体位于原点 我该怎么做呢 我已经玩过cube3d 但我似乎无法将立方体正确定位 也无法使其成为网格 因此我可以看到它包含的数据点 这是我所拥有的 library rg
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x

随机推荐

  • 后台服务之间如何通信

    我正在实现一个应用程序 因为我有两个服务 一个服务执行某些任务并将某些值传递给另一个服务 然后该服务使用该值执行某些任务 当第一个服务生成第一个值时 它应该启动第二个服务 此后 第一个服务生成的值将添加到第二个服务的队列中 第一次当第二个服
  • 从 C# 调用 VBA 函数

    是否可以调用一个 VBA 函数 在 Access 中 该函数从外部世界获取两个字符串参数 例如从 c 中 但其他函数也可以这样做 这是从 C 调用 Access 数据库函数的示例 我过去曾使用该函数来创建类似的功能 private void
  • HTTP 保持活动状态和 ServiceHost / C#?

    如何使用应用程序配置和 C ServiceHost 启用 禁用 HTTP Keep alive 并设置自托管服务的连接超时 例如 MyService service new MyService ServiceHost serviceHost
  • 未定义的变量:GPVAL_DATA_Y_MIN(Gnuplot)

    基于这篇文章 我正在使用 gnuplot gnuplot 4 6 patchlevel 1 gnuplot 范围内的最大值和最小值 我正在尝试使用set yr GPVAL DATA Y MIN GPVAL DATA Y MAX 在我的 pg
  • 是什么导致 Winforms 默默地丢弃未处理的异常(没有 try/Catches)?

    我正在向我的 winforms 控件添加新功能 其中一部分要求曾经始终使用的变量现在是可选的 如果它为空 则从第二个源获取数据 我做了一些更改并运行了我的表单 却发现什么也没有发生 甚至以前有效的功能也没有发生 我很困惑地浏览了代码 发现我
  • 用于查找 C# 类和方法名称的正则表达式

    我正在编写一个影响分析工具 它将解析一堆选定的文件类型并查找文件 在本例中为 cs 文件 内的类和方法调用 我已经成功编写了一个正则表达式 可以查找一行代码是否是方法调用 Regex re new Regex b public privat
  • 为什么Java中对象的Hashcode会改变?

    为什么Java中对象的Hashcode会改变 它有什么变化吗 它与哈希表有什么关系 每个对象都应该有它唯一的哈希码 那么 重新哈希是其原因吗 提前致谢 The defaulthashcode的实现相当于对象标识 但是 某些对象会覆盖哈希码
  • 将图像叠加到相机预览 SurfaceView 上

    我有一个SurfaceView它被用来绘制图像 我想将它们叠加到手机相机的实时反馈上 目前 SurfaceView包含图像的图像具有白色背景 但如果我要将它们覆盖到手机的相机画面上 它们必须是透明的 相机和动画绘制不能同时完成Surface
  • Xamarin iOS IPv6 应用商店拒绝

    我们一直在构建一个关于客户端 服务器应用程序的 iOS 应用程序 我们在 iOS 应用程序中通过 Xamarin 使用 SQL 连接和 WCF Web 服务 SQL连接代码 String ips 10 0 0 1 Example SqlCo
  • 连接 SQLite 数据库失败

    我正在尝试在 Java Applet 中访问我的 SQLite3 数据库 当我运行代码来连接到数据库时 出现此错误没有找到适合 a db 的驱动程序 我该如何修复它 现在我不完全确定我实际上已经安装了正确的驱动程序 我会告诉你我做了什么 你
  • 如何使用 DataTemplate + 触发器在视图之间切换

    我有一个要求 其中用户可以切换以树或数据网格中的文本或流程图的形式查看分层数据 用户可以通过单击切换按钮来完成此操作 该按钮显示 切换模式 我希望以这样一种方式来完成这一切 即它只能在视图中处理 因为所有三种情况下的 ViewModel 都
  • 使用php sdk扩展权限

    我正在使用 php sdk 开发 Facebook 应用程序 我想从我的应用程序的用户那里获取一些扩展权限 由于这是用户登录 Facebook 后进入的应用程序 那么当用户访问我的页面时我如何获得扩展权限 我们无法放置可以获取权限的登录按钮
  • jOOQ不生成源

    我试图将 jOOQ 包含到我的代码中 但是没有生成任何代码 执行时mvn clean generate sources 不生成任何源 我希望它创建一个Category类 其定义如下schema sql file CREATE TABLE I
  • Java 原始数据膨胀异常

    我试图在 java 中解码 JWT 有效负载 但该有效负载被压缩 放气 zip DEF java util zip DataFormatException 标头检查不正确 private static byte decompress byt
  • 空手道 - 如何从单个主要功能调用多个外部功能

    Feature Principal feature Background url http example com Scenario Feature calling def inputTable call read input table
  • LDAP 的连接字符串是什么?

    这是我需要如何使用它 string tmpDirectory String Format LDAP ou 0 dc 1 dc 2 parentOrganizationUnit domainName domainExtension 当我尝试使
  • 如何创建一个可以将按键发送到控件而不窃取焦点的按钮 - 虚拟键盘

    如何制作一个可以将键发送到 datagridview 的按钮 因此我需要以某种方式将 datagridview 返回到其失去焦点之前的状态 我来解释一下问题 我有一个带有 datagridview 和一些按钮的表单 我可以点击按钮 它会输入
  • 防止conda自动降级python包

    I had problems with pandas datareader软件包 v0 8 1 为了解决我的问题 我必须通过运行以下命令将软件包升级到较新的版本 0 9 conda install c anaconda pandas dat
  • 启用禁用表格行中的控件

    我想在选中相应的 chkView 时启用该行的编辑和删除复选框 如果未选中则禁用它们 这段代码一开始根本就没有触发 我哪里错了 http jsfiddle net 75rVH 1 HTML table tr td td tr table
  • 将 ifelse 函数应用于系统发育扇的颜色提示

    作为系统发育爱好者 我想通过应用 if 语句对提示 类似于本例中的 62 个物种 进行颜色编码 我目前正在使用以下代码 试图将与 O 相关的所有物种着色为深绿色 ColourIf ifelse LU O blue darkgreen tif