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