簡體   English   中英

ggtree 2.4.2 錯誤:DataMask$new(.data, caller_env) 中的錯誤:缺少參數“caller_env”,沒有默認值

[英]ggtree 2.4.2 error: Error in DataMask$new(.data, caller_env) : argument "caller_env" is missing, with no default

我正在嘗試 plot 使用 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 解決了該問題。

我遇到了完全相同的問題,但回滾到 Dplyr 的 1.0.4 版本並沒有解決它。 另外,我已經看到它在使用 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.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.3 膠水_1.4.2 編譯器_4.0.5 柱子_1.6.1 rvcheck_0.1.8
[36] generics_0.1.0 scales_1.1.1 jsonlite_1.7.2 pkgconfig_2.0.3

問題解決了

開發商給出的解決方案如下:

還請通過remotes::install_github("YuLab-SMU/tidytree")更新tidytree 這是因為mutate.tbl_tree中的tidytree在舊版本中沒有更新。

我還按照他的指示將 dplyr 從 1.0.6 回滾到 1.0.5。 不確定 tidytree 更改是否足夠,而且我沒有足夠的勇氣去嘗試。

我遇到了同樣的問題,首先嘗試更新 tidytree,但它沒有用。 還必須將 go 回 dplyr 1.0.5。

另一種選擇是從 GitHub remotes::install_github("YuLab-SMU/ggtree")更新 ggtree,它應該適用於 dplyr 1.0.6

以 Peter B 的解決方案為基礎,為那些以前不需要安裝 package 的存檔版本的人(如我)構建,這對我有用。

#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)

安裝開發 Github 版本的 ggtree 並沒有成功,但上面的代碼可以。

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,因為上述 package 配置不適用於 4.0.3 或 4.0.5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM