转换要应用的for循环

dw1jzc5e  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(70)

我试图运行一个基因表达数据的方差分析测试。

这是我的数据框架的样子。行是单个单元格,列是基因。值是基因表达值。第一列是每个单元格对应的BMI组。我试图做的基本上是找到3个不同BMI组之间差异表达的基因。
我写了一个for循环,但是因为我有28519列,所以我想使用apply函数。

for (i in 2:ncol(a.data)) {
    formula <- paste(colnames(a.data)[i], baseformula, sep="")
    p <- summary(aov(as.formula(formula), data=a.data))[[1]][["Pr(>F)"]][1]
    ANOVA.table <- c(ANOVA.table,p)
}

我在想我能不能把它转换成一个应用函数。

flseospp

flseospp1#

假设您的代码可以正常工作,您的代码将类似于:
(编辑)

index <- 2:ncol(a.data)

ANOVA.table <- sapply(index, function(i) {
                      formula <- paste(colnames(a.data)[i], baseformula, sep="")
                     summary(aov(as.formula(formula), 
                                data=a.data))[[1]][["Pr(>F)"]][1]

})
    • 免责声明:我没有测试这段代码,只是根据代码的呈现方式编写了这段代码。**

相关问题