【发布时间】:2022-01-01 01:17:35
【问题描述】:
我想做线性回归,但在其中一种情况下这些是不适用的。如您所见,我的数据中有两个条件,S:单身和 M:已婚。 x2 和 x3 是固定效应,y 是因变量。 x3 不适用于单一条件,因此数据均为 NA。我不想删除 x3,因为它是已婚条件的重要变量。我收到此错误:
contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:
对比只能应用于具有 2 个或更多水平的因素。
我尝试将 NA 替换为“0”,但我不确定这是否是正确的做法。谁能给我一些建议? lm代码应该怎么写?
data <- data.frame(x1 = c("S", "S", "S", "M", "M", "M"),
x2 = c(7, 7, 7, 1, 1, 2),
x3 = c(NA, NA, NA, 1, 1, 2),
y = c(4, 3, 2, 5, 5, 1))
lm(y~x1*x2*x3, data)
有人可以帮帮我吗? (这也是我第一次发帖,不知道是不是发对了。)
【问题讨论】:
-
您的问题可能更适合 DSSE:datascience.stackexchange.com 或交叉验证:stats.stackexchange.com。关于答案的简短说明:我会将 NA 转换为 0 并检查显着性水平。由于
x3不适用于该条件,因此将其设为 0 也是有意义的。 -
模型无法修复,因为您要求的是所有变量之间的交互。您必须适合简化模型,例如
y ~ x1 + x2 + x3 -
关键字是“插补”。用零替换缺失值并不比用任意值替换它们更有意义。有时用平均值代替它们,但并不总是正确的做法。删除包含
NAs 的行有时是正确的做法,您可以通过在数据框上调用na.omit()来做到这一点。
标签: r linear-regression na