R 为什么不是';t扫帚::使用gam包?

R 为什么不是';t扫帚::使用gam包?,r,dataframe,modeling,R,Dataframe,Modeling,如果我尝试从中运行一个示例,我会得到一个错误。这是因为mgcv正在由car程序包加载。但是,即使在卸下汽车和mgcv后,扫帚::扫视仍然失败 如何让broom包与gam::gam一起工作,并加载其他包 library(reshape2); library(plyr); library(stringr); library(lubridate); library(knitr); library(sp); library(rgeos); library(lme4); library(formatR)

如果我尝试从中运行一个示例,我会得到一个错误。这是因为
mgcv
正在由
car
程序包加载。但是,即使在卸下
汽车
mgcv
后,扫帚::扫视仍然失败

如何让
broom
包与
gam::gam
一起工作,并加载其他包

library(reshape2); library(plyr); library(stringr); library(lubridate); 
library(knitr); library(sp); library(rgeos); library(lme4); library(formatR);
library(rgdal); library(ggmap); library(maptools); library(Hmisc); library(raster); 
library(car); library(extrafont); library(openNLP); library(effects); library(psych); 
library(MuMIn); library(GPArotation); library(tuneR); library(gdata); library(xlsx); 
library(combinat); library(stargazer); library(grid); library(scales); library(dplyr); 
library(english); library(repmis); library(pscl); library(testthat); library(broom); 
library(ggplot2); library(geosphere); library(moult); library(GGally); library(pavo); 
library(stringi); library(mgcv); library(gam)

detach(package:car, unload = TRUE)
detach(package:mgcv, unload = TRUE)

if (require("gam", quietly = TRUE)) {
        data(kyphosis)
        g <- gam::gam(Kyphosis ~ s(Age,4) + Number, family = binomial, data = kyphosis)
        tidy(g)
        augment(g)
        glance(g)
}

    Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Warning: namespace ‘mgcv’ is not available and has been replaced
by .GlobalEnv when processing object ‘kyphosis’
Error in `$<-.data.frame`(`*tmp*`, "logLik", value = numeric(0)) : 
  replacement has 0 rows, data has 1
库(2);图书馆(plyr);图书馆(stringr);图书馆(lubridate);
图书馆(knitr);图书馆(sp);图书馆(rgeos);图书馆(4);图书馆(格式化程序);
图书馆(rgdal);图书馆(ggmap);图书馆(地图工具);图书馆(Hmisc);图书馆(光栅);
图书馆(汽车);图书馆(外部字体);图书馆(openNLP);图书馆(效果);图书馆(心理学);
图书馆(MuMIn);图书馆(GParotion);图书馆(调谐器);图书馆(gdata);图书馆(xlsx);
图书馆(combinat);图书馆(星探);图书馆(网格);图书馆(比例尺);图书馆(dplyr);
图书馆(英文);图书馆(repmis);图书馆(pscl);图书馆(testthat);图书馆(扫帚);
图书馆(GG2);图书馆(地球圈);图书馆(蜕皮);图书馆(GGALY);图书馆(pavo);
图书馆(stringi);图书馆(mgcv);图书馆(gam)
分离(包装:汽车,卸载=真)
分离(包:mgcv,卸载=真)
if(require(“gam”,等于TRUE)){
数据(脊柱后凸)

g您同时加载了包
mgcv
gam
。它们都导出了一个名为
gam
的函数,这将导致命名空间冲突。请尝试在不加载
mgcv
的情况下再次运行代码。我没有加载
mgcv
,您能看到加载的是什么包吗?而且,我不明白为什么要使用e> gam::gam
不能解决拥有mgcv的问题loaded@luciano关于为什么使用
gam::gam
无法修复正在加载的
mgcv
:问题不在于(仅仅是)
gam
被屏蔽了,但是像
logLik.gam
这样的S3方法被屏蔽了;它们在
glance
中被调用。我不确定mgcv在哪里被加载,但看起来您已经加载了很多包。(大概您不会在新的会话中遇到这个错误)。您能在新会话中运行它吗?如果不能,您可以尝试运行
detach(“package:mgcv”,unload=TRUE)
你可以尝试最后加载
gam
而不是首先加载,然后
gam
可能会屏蔽
mgcv
函数,而不是反过来。是的,从小处着手,而不是从一大堆代码开始。使用新的R会话,只加载扫帚和gam,看看它是否有效。如果有效,一次一个地添加更多包然后评估你是否真的需要那个软件包。