【问题标题】:Handling NULL values in R regression在 R 回归中处理 NULL 值
【发布时间】:2015-08-12 15:08:01
【问题描述】:

我正在尝试对具有 NULL 值的数据集执行回归。例如,我正在运行以下命令:

reg2<-lm(yvar~xvar1+xvar2,data=test_all)

我收到以下错误:

lm.fit 中的错误(x,y,offset = offset,singular.ok =singular.ok,...): 0(非NA)案例

我认为我收到此错误是因为某些变量在某些情况下具有 NULL。有没有办法解决这个问题?谢谢。

【问题讨论】:

  • 您能与 dput 分享您的一些数据吗?未经测试,但您可以尝试reg2&lt;-lm(yvar~xvar1+xvar2,data=test_all, na.action = na.omit),但您可能需要将所有NULL 值强制为NA

标签: r null regression


【解决方案1】:

您可以让R 删除所有包含NULLNaNNA 等的观察结果,方法是这样调用lm

reg2 <- lm(yvar~xvar1 + xvar2, data = test_all[complete.cases(test_all),])

complete.cases 如果数据框中的一行仅包含真实数据,则给出一个包含 TRUE 的向量,如果它至少包含一个 NULL,则给出一个 FALSE,等等。

但请注意,如果您的数据框中包含您在线性模型中未使用的列,但该列确实包含缺失值,则该行将从您的数据框中删除。你不希望这种情况发生。

如果是这种情况,那么您将需要执行以下操作:

test_all2 <- test_all[,c("yvar", "xvar1", "xvar2")]
reg2 <- lm(yvar ~ xvar1 + xvar2, data = test_all2[complete.cases(test_all2),])

【讨论】:

  • 非常感谢您的帮助!
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 2011-10-16
  • 2012-10-08
  • 2021-12-31
  • 2013-10-10
  • 2021-11-26
相关资源
最近更新 更多