如何编写多变量响应的R公式?

10

在R中,我想对所有预测变量进行多元响应回归。对于单变量响应,我知道公式是这样的:

y~. 这将使用所有预测变量来回归y。如果现在面临100个响应变量,我不能像这样输入100个yi:

y1+y2+y3...+y4~x, 那么如何使用所有预测变量来回归多元响应?


4
这个答案中有一个示例。 - caracal
2个回答

13
在R中,使用多元formula的方法是对你的Y变量使用cbind()。因此,公式应该是:
model <- lm(cbind(y1, y2, y3, y4)~x)

能否将 cbind 方法封装在 as.formula 中?我想创建一个公式对象,利用 cbind 方法。 - Konrad
1
@Konrad,这似乎可以工作:heads <- c(50, 25); tails <- c(50, 75); form <- as.formula(cbind(heads, tails)~c(0, 1)); summary(glm(form, family=binomial))。这是你想要的吗? - gung - Reinstate Monica
是的,这就是我在寻找的。 - Konrad

1

如果y是一个有100列的矩阵,那么这相对容易。在这种情况下,您可以以同样的方式处理。例如:

lm(y ~ x)

将对 x 的列进行 y 的线性回归。


这只是针对y的每一列进行单独回归,这实际上假设了$y$的列之间是独立的(在$x$给定的条件下)。有没有办法进行具有非独立关联结构的一般多元回归?我知道你可以通过使用相关误差进行单变量回归来在lme4中进行多元回归,但是否有一个包能够以更直观的方式进行一般的多元回归? - Macro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接