循环渐变

时间:2013-11-12 05:57:04

标签: r statistics dataset genetics

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

1 个答案:

答案 0 :(得分:0)

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

具有62个观察结果的'2000基因表达变量的示例数据'

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])))

这有帮助吗?