【问题标题】:Looping regressions循环回归
【发布时间】:2013-11-12 05:57:03
【问题描述】:

我有一个包含 2000 个基因表达变量和 62 个观察值的数据集,并且希望通过对类变量(1 表示健康或 2 表示有肿瘤)上的每个变量进行回归来获得 p 值,并且想要对类变量中的每个基因表达变量进行回归并以矩阵形式获得 p 值 - 我将如何做到这一点?

【问题讨论】:

标签: r statistics dataset genetics


【解决方案1】:

您的问题在细节上相当简单,因此很难确定您到底在追求什么。您可以添加一些示例数据吗?这是一个可能相关的开始,我刚刚编造了一些数据(可能与您想要做的不匹配):

您的“2000 个基因表达变量和 62 个观察值”的示例数据

genes <- matrix(sample(2000 * 62), nrow = 62, ncol = 2000)

“类变量(1 表示健康或 2 表示有肿瘤)”的示例数据

classvar <- sample(2, 62, replace = TRUE)

您可以通过以下方式为类变量与数据集中 2000 个变量中的每一个变量的回归获取 p 值向量:

  # from http://stackoverflow.com/a/5587781/1036500
  lmp <- function (modelobject) {
  if (class(modelobject) != "lm") stop("Not an object of class 'lm' ")
  f <- summary(modelobject)$fstatistic
  p <- pf(f[1],f[2],f[3],lower.tail=F)
  attributes(p) <- NULL
  return(p)
}

sapply(1:ncol(genes), function(i) lmp(lm(classvar ~ genes[,i])))

这有帮助吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 2016-01-17
    • 1970-01-01
    • 2021-10-17
    • 2015-12-06
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多