【问题标题】:Error in if (more || nchar(output) > 80) when using mgcv使用 mgcv 时 if (more || nchar(output) > 80) 出错
【发布时间】:2019-01-09 08:41:25
【问题描述】:

我也有同样的问题,但还没有找到解决方案 . Error in if (more || nchar(output) > 80) { : missing value where TRUE/FALSE needed

我正在使用 mgcv 包进行分析。

model1<-gam(fm_xsetz~total_pm2.5, data=analysis)

我可以使用summary() 得到结果。但是当我尝试在全局环境中打开模型时,我收到警告:

if (more || nchar(output) > 80) { 中的错误:缺少值 where 需要对/错

有人遇到同样的问题吗?

仅供参考,当您使用以下代码时:

library(geostatsp)
data(swissRain) 

同样的问题发生了!

【问题讨论】:

  • “当我尝试在全局环境中打开模型时”究竟是什么意思?
  • 我在 R 工作室做了分析。所以在 Rstudio 的右侧有一个叫做全局环境的窗口,在这里我可以打开数据、值或模型结果。
  • 这意味着你正在尝试做View(model1)? (我不知道您为什么要尝试这样做,因为它不会显示任何对大多数用途有用的东西,但除此之外。)
  • 我想用中介包来分析一个变量的中介效应。我发布的公式只是粗略的模型。但是后来我发现中介包打不开我上面说的那个模型。这就是我发现问题的原因。
  • @RLave ;在工作室; library(mgcv) ; m = gam(mpg ~ wt, data=mtcars) ; View(m)转载

标签: r mgcv


【解决方案1】:

当我尝试查看通过计算两组 23000 个观测值的交集/差异的函数生成的列表时,我遇到了类似的问题。 有问题的功能:

jeepers.creepers<-function(dfx,dfy,by.x,by.y){
  SetX<-dfx[[by.x]]
  SetY<-dfy[[by.y]]
  Union.X.Y<-intersect(SetX,SetY)
  Difference.in.X<-setdiff(SetX,Union.X.Y)
  Difference.in.Y<-setdiff(SetY,Union.X.Y)
  result<-list(Union.X.Y,Difference.in.X,Difference.in.Y)
  names(result)<-c("Union of SetX and SetY",
               "Unique in SetX",
               "Unique in SetY")

  return(result)
}

它给了我这个错误:

Error in if (more || nchar(output) > 80) { : 
  missing value where TRUE/FALSE needed

不过我可以使用

单独查看元素
View(list$element)

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,但我可以通过以下方式查看:

    视图(as.data.frame(df))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 2022-10-19
      • 2020-07-30
      相关资源
      最近更新 更多