抱歉,这是6天后的similar post,但我怀疑根本原因可能是不同的.另一篇similar帖子说,为了确保绘图包是library
‘d,但它应该(在下面讨论)并且在今天下午之前工作得很好.
我有一个package,它的main function自动化了增强回归树建模的过程.这是一个庞大的功能,可以做很多事情.今天我做了一些小改动,增加了一个包含随机变量的功能.尽管这似乎没有以任何方式影响后面关于模型求值的部分,但当我现在运行该函数时,我得到了标题错误.这一点来自以下部分:
evalmetrics <- c("ROC", "kappa", "prevalence", "TPR", "TNR", "FPR", "FNR", "CCR", "PPP", "NPP", "MCR", "OR")
for (s in evalmetrics) {
png(filename = paste0("./",names(samples[i]),"/Bin_Eval_", s, ".png"))
plot(e, s)
dev.off()}
e
由dismo::evaluate
创建:e <- evaluate(p = pres,a = abs)
当保存为rds文件时,它是类Modelvaluation的S4对象,它应该是这样的.dismo::plot
人想要:
x Object of class ModelEvaluation
y Character. Either 'ROC' or a threshold dependent measure such as 'kappa', 'TPR'
因此,当它达到plot
%的线时,一切都"井然有序".当我进入gbm.auto
函数并逐行运行它时,一切都很正常.当我使用导出的e
文件仅运行该部分时,它工作得很好.但是,如果我将gbm.auto
作为一个函数运行,我会得到错误.看起来plot
岁的人表现得像base::plot
人,而不是dismo::plot
人.但我不知道为什么这会突然开始发生.我也不能做什么:我@import
整个dismo包,plot
不是dismo
出口,所以我不能强迫它与dismo::plot
.
我对R中绘图的有限理解是,如果对象类是特定的,那么包可以推翻基本/图形作为唯一的打印引擎,然后它们将自己的旋转放在事物上.但我的对象类就是那个特定的东西,它工作了很多年,突然之间就不...但我无论如何也想不出如何进一步调试或修复它.
欢迎有任何 idea .伪可重现示例:(drumline)
remotes::install_github("SimonDedman/gbm.auto")
library(gbm.auto)
drumline <- readRDS("2023-03-07_drumline_reefs_DtDropOff.rds")
gbm.auto(samples = as.data.frame(drumline),
expvar = c("Habitat", "Tide", "Season", "LunarPhase", "Latitude", "Longitude", "Depth_m", "Temperature_C", "Hour", "Yearday", "Month", "DtDropOff"),
resvar = "CaribbeanReef_CPUE",
tc = 13,
lr = list(0.001, 0.0000001),
bf = 0.9,
fam1 = "bernoulli",
smooth = TRUE,
simp = FALSE,
savegbm = FALSE,
BnW = FALSE)