0

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

4

1 回答 1

0

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

您的“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])))

这有帮助吗?

于 2013-11-12T06:35:21.777 回答