【发布时间】:2018-08-10 14:34:27
【问题描述】:
我正在尝试使用 lm() 函数在 r 中运行线性回归,但我得到了各种错误,但是我更改了我的数据。我想看看父母性别、孩子性别和父母分数是否能预测孩子分数。我的代码是:
mod1 <- lm(score_child ~ score_parent*parent_child*female_male, data=dat, na.action = na.pass)
数据目前看起来像这样:
Subject Family_number female_male parent_child score_child score_parent
1 1 1 0 230 NA
2 1 0 1 NA 400
3 1 0 0 450 NA
4 2 1 1 NA 500
5 2 1 0 500 NA
.
我知道如果数据是长格式的,这会更容易,但是因为我需要将孩子和父母的分数分开,我认为这是最好的方法。 NA 让我很伤心,我已经尝试了每个 na.action 命令,但我得到了错误,例如 lm.fit(x, y, offset = offset,singular.ok = single.ok, ...) 中的错误: 'x' 中的 NA/NaN/Inf。
野兽方法是否会更改 lm() 中的 NA 命令,更改我的数据布局,如果是,那么我将在 lm() 中指定子项和父项的分数以及如何指定?
奖金问题;这些孩子任何父母都是家庭的一部分,理想情况下,我想分析家庭组中的数据。这是否需要每个家庭进行一次回归,如果需要,这不会影响我的置信区间吗?
我的论文和我本人将非常感谢任何帮助!
朱莉娅
【问题讨论】:
-
在您显示的数据样本中,没有
NA值就没有观察结果。目前尚不清楚您期望线性回归函数如何处理该问题(提示:它不能)。 -
另外,您可能需要另一种分析。您应该与当地的统计学家交谈。
-
是的,我正在尝试更改布局以使其以某种方式工作。不过谢谢!
-
你也有你试图预测
score_child的问题,其中一些是NA。作为第一步,您需要过滤掉这些行。
标签: r linear-regression