【问题标题】:Error in regression in rr中的回归误差
【发布时间】:2018-04-27 01:43:12
【问题描述】:

我有两个数据框 df1 和 df2。他们都有240个obs。 204 个变量。我已经检查过,这些文件中没有缺失值或 NA 值。但是,当我按此公式回归时:

library(broom)
fit4 <- lapply(names(df1), function(x){
  dd = tidy(lm(df1[[x]] ~ df2[[x]]))
  data.frame(name = x, dd)})

它显示以下错误消息:

lm.fit 中的错误(x,y,偏移量 = 偏移量,奇异值.ok = 奇异值.ok,...) : 'y' 中的 NA/NaN/Inf

【问题讨论】:

    标签: r


    【解决方案1】:

    正如错误本身所述,它可能是由于 NaN 值或无限值,因此您需要删除这些值或为它们分配零。

    要从整个数据框中删除 NaN,您需要创建一个函数(如 here 所述)。

    is.nan.data.frame <- function(x)
    do.call(cbind, lapply(x, is.nan))
    
    dd[is.nan(dd)] <- 0
    

    对于无限数,你可以参考这个question。两种更快的方法是删除所有无限值:

    dd[!rowSums(!is.finite(dd)),]
    

    或用 0 替换它们:

    dd[!is.finite(dd)] <- 0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      相关资源
      最近更新 更多