繁体   English   中英

对 R 中每第 n 行数据框进行多元回归

[英]Conduct multivariate regression on every nth row of dataframe in R

我有一个包含 376 列和 2700 行的数据框,每个主题对应 270 行(因此,在这种情况下有 10 个主题)。 每 270 行是一个主题的数据(即 1:270 - 主题 1;271:540 - 主题 2)。

我有一个单独的数据框 (2700 x 8) 和我的自变量,每个主题再次 270 行。

我希望从我的 376 个 DV 中回归出 8 个 IV 并获得残差。 对我来说棘手的部分是我想对每个主题单独进行回归(即每 270 行单独回归)。 下面是一些模拟数据:

DV = matrix(rnorm(2700*376),ncol=376) #construct matrix for dependent variables

IV =  matrix(rnorm(2700*8),ncol=8) #matrix for independent variables

为了从整个数据中获得残差,我会简单地做

resid = residuals(lm(DV~IV))

但是我将如何调整它以使得每个主题(每 270 行)进行回归? 如果我的 IV 和 DV 数据帧组合在一起会更容易吗?

我是 R 的新手,非常感谢您的帮助,谢谢。

使用 for 循环和基数 R 的建议:

result_list <- NULL
first <- 1
for (i in 1:10) {
  last <- i * 270
  this_subjects_results <- residuals(lm(DV[first:last,] ~ IV[first:last,]))
  result_list <- list(result_list, this_subjects_results)
  first <- last + 1
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM