处理 R 回归中的 NULL 值

Handling NULL values in R regression

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

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

我收到以下错误:

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases

我想我收到此错误是因为某些变量在某些情况下具有 NULL。有什么办法可以解决这个问题吗?谢谢。

您可以 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),])