我正在制作一个简化我的微阵列分析的R包。这让我很生气。我有4个主要功能,我尝试将它们合二为一。他们单独工作,但我一起得到以下错误。
Error in topTable(normfit, number = 1e+05, adjust = "BH", lfc = 1) :
fit must be an MArrayLM object
我认为正在发生的问题,因为每个函数都使用了之前的输入,第3个函数在最后一个函数启动之前没有完成运行。
function (mydir, group, design, contrast)
{
lonoan(mydir)
filterc(normData)
normfit(normData, group, design, contrast)
results(normfit)
}
错误来自我的结果函数。
function (normfit)
{
probeset.list <- topTable(normfit, number = 1e+05, adjust = "BH",
lfc = 1)
Symbol <- getSYMBOL(rownames(probeset.list), "hugene20sttranscriptcluster.db")
results <- cbind(probeset.list, Symbol)
assign("results", results, envir = .GlobalEnv)
}
在运行结束时,normfit变量在全局环境中,如果我再次运行该函数,它就可以工作。这让我很生气。有解决方案吗谢谢。