微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ggtree 2.4.2 错误:DataMask$new(.data, caller_env) 中的错误:缺少参数“caller_env”,没有默认值

如何解决ggtree 2.4.2 错误:DataMask$new(.data, caller_env) 中的错误:缺少参数“caller_env”,没有默认值

我正在尝试使用 RevGadgets 1.0.0 和 ggtree 2.4.2 绘制在 RevBayes 中生成的祖先状态树。调用如下,所有变量都检出,包括 Nexus 格式的树文件,我可以在 figTree 等中打开。

pp=plot_ancestral_states(tree_file=tree_fn,include_start_states=T,summary_statistic="PieRange",state_labels=state_labels,state_colors=state_colors,tip_label_size=2.5,tip_label_offset=0.1,node_label_size=0,shoulder_label_size=0,show_posterior_legend=T,tip_pie_diameter=0.5,node_pie_diameter=2.0,pie_nudge_x=0.03,pie_nudge_y=0.16,alpha=1)

错误消息是“DataMask$new(.data,caller_env) 中的错误:缺少参数“caller_env”,没有认值”

这似乎是一个 rlang 错误,但我没有找到解决它的方法。 RevGadgets 调用“plot_ancestral_states”的文档为零。

感谢您的帮助。

解决方法

结果是最新版本的 dplyr 有问题。从存档中删除 dplyr 1.0.6 并安装 1.0.5 解决了该问题。

,

我遇到了完全相同的问题,但回滚到 1.0.4 版本的 Dplyr 并没有解决它。另外,我已经看到它在其他使用 1.0.6 的机器上运行(和我一样)所以我想知道您是否还知道其他任何问题?

干杯 GMD

这是我的 sessionInfo,以防万一。 R 版本 4.0.5 (2021-03-31) 平台:x86_64-w64-mingw32/x64(64位) 运行于:Windows 10 x64(内部版本 18363)

矩阵产品:默认

地区: [1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252 LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252

附加基础包: [1] stats 图形 grDevices utils datasets 方法基础

其他附加包: [1] ggtree_2.4.2

通过命名空间加载(且未附加): [1] Rcpp_1.0.6 magrittr_2.0.1 tidyselect_1.1.1 aplot_0.0.6 munsell_0.5.0 colorspace_2.0-1 ape_5.5
[8]lattice_0.20-41 R6_2.5.0 rlang_0.4.11 fani_0.4.2 dplyr_1.0.6 patchwork_1.1.1 tools_4.0.5
[15] parallel_4.0.5 grid_4.0.5 gtable_0.3.0 nlme_3.1-152 utf8_1.2.1 ellipsis_0.3.2 lazyeval_0.2.2
[22] tibble_3.1.1lifecycle_1.0.0 crayon_1.4.1 treeio_1.14.4 tidyr_1.1.3 BiocManager_1.30.15 purrr_0.3.4
[29] ggplot2_3.3.3 vctrs_0.3.8 tidytree_0.3.3glue_1.4.2 compiler_4.0.5 pillar_1.6.1 rvcheck_0.1.8
[36] generics_0.1.0 scales_1.1.1 jsonlite_1.7.2 pkgconfig_2.0.3

,

问题已解决

开发者的解决方案如下:

还请通过 tidytree 更新 remotes::install_github("YuLab-SMU/tidytree")。这是因为旧版本中未更新 mutate.tbl_tree 中的 tidytree

我还按照他的指示将 dplyr 从 1.0.6 回滚到 1.0.5。不确定 tidytree 的变化是否足够,我也没有勇气尝试。

,

我遇到了同样的问题,首先尝试只更新 tidytree,但没有奏效。也不得不回到 dplyr 1.0.5。

另一种选择是从 GitHub remotes::install_github("YuLab-SMU/ggtree") 更新 ggtree,它应该适用于 dplyr 1.0.6

,

基于 Peter B 为那些以前不需要安装存档版本软件包的人(如我)提供的解决方案,这对我有用。

#Start a new R session
remove.packages("dplyr")
devtools::install_version("dplyr",version="1.0.5")
require(dplyr)

#Example to show ggtree is working
tmpFile=tempfile()
file<-download.file("https://4va.github.io/biodatasci/data/tree_newick.nwk",tmpFile)
tree<-read.tree(tmpFile)
ggtree::ggtree(tree)

安装 ggtree 的开发 Github 版本没有解决问题,但上面的代码可以。

,

DataMask$new(.data,caller_env) 中的错误: 缺少参数“caller_env”,没有默认值

可以确认在 R、ggtree、dplyr 和 tidytree 都为最新版本时问题已修复:

  • R 4.1.0
  • ggtree 3.1.2.991
  • dplyr 1.07
  • 整洁树 0.3.4

我不得不将 R 更新到 4.1.0,因为上述包配置不适用于 4.0.3 或 4.0.5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?