首页 > 解决方案 > 为什么使用 biomod2:response.plot2 会出现此错误,这很重要吗?ncol(dat_) 中的错误:找不到函数“ncol”

问题描述

当我运行 response.plot2 函数(biomod2 包)的示例时,出现上述错误。该代码生成一些图,但不保存对象

这是示例(包括我运行的代码): https ://www.rdocumentation.org/packages/biomod2/versions/3.3-7.1/topics/response.plot2 )

[编辑:] 函数 response.plot2 的源代码在这里: https : //r-forge.r-project.org/scm/viewvc.php/checkout/pkg/biomod2/R/response.plot.R ?修订=728&root=biomod

它包括以下几行:

.as.ggdat.1D <-
  function (rp.dat) 
  {
    # requireNamespace('dplyr')
    out_ <- bind_rows(lapply(rp.dat, function(dat_) {
      dat_$id <- rownames(dat_)
      id.col.id <- which(colnames(dat_) == "id")
      expl.dat_ <- dat_ %>% dplyr::select(1, id.col.id) %>% 
        tidyr::gather("expl.name", "expl.val", 1)
      pred.dat_ <- dat_ %>% dplyr::select(-1, id.col.id) %>% 
        tidyr::gather("pred.name", "pred.val", (1:(ncol(dat_)-2)))
      out.dat_ <- dplyr::full_join(expl.dat_, pred.dat_)
      out.dat_$expl.name <- as.character(out.dat_$expl.name)
      out.dat_$pred.name <- as.character(out.dat_$pred.name)
      return(out.dat_)
    }))
    out_$expl.name <- factor(out_$expl.name, levels = unique(out_$expl.name))
    return(out_)
  }

我尝试将ncol(dat_)更改为base::ncol(dat_),然后运行整个程序来为我的 R 会话重新定义函数 response.plot2 ,但我收到了不同的错误消息:

base::ncol 中的错误:找不到函数“::”

标签: r

解决方案


推荐阅读