2

我正在尝试使用 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”的文档为零。

感谢您的任何帮助。

4

6 回答 6

3

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

于 2021-05-16T02:58:18.280 回答
1

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

干杯 GMD

这是我的 sessionInfo 以防万一。R 版本 4.0.5 (2021-03-31) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows 10 x64 (build 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 graphics grDevices utils datasets methods base

其他附加包:[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 fansi_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.1生命周期_1.0.0 crayon_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.3 glue_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

于 2021-05-18T05:34:09.337 回答
0

以 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 版本并没有解决问题,但上面的代码可以。

于 2021-06-18T17:36:17.370 回答
0

问题解决了

开发商给出的解决方案如下:

也请更新tidytreeremotes::install_github("YuLab-SMU/tidytree")这是因为mutate.tbl_treetidytree旧版本中没有更新。

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

于 2021-05-21T09:52:37.687 回答
0

我遇到了同样的问题,首先尝试更新 tidytree,但它没有用。还必须回到 dplyr 1.0.5。

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

于 2021-05-21T17:42:09.690 回答
0

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

于 2021-07-08T02:37:24.550 回答