我有一个包含基因和mrna的矩阵。
ID_REF GSM362168 GSM362169 GSM362170 GSM362171 GSM362172 GSM362173 GSM362174
244901_at 5.171072 5.207896 5.191145 5.067809 5.010239 5.556884 4.879528
244902_at 5.296012 5.460796 5.419633 5.440318 5.234789 7.567894 6.908795
我想用t检验从基质中找到差异表达的基因,我进行了以下操作。
stat=mt.teststat(control,classlabel,test="t",na=.mt.naNUM,nonpara="n")
我收到以下错误
Error in is.factor(classlabel) : object 'classlabel' not found.
我不确定如何分配类标签。这是找到差异表达基因的正确方法。
classlabel应该是对应于观察(列)类标签的整数向量。我不明白那是什么。
答案 0 :(得分:1)
如果您打开mt.teststat的文档:
?mt.teststat
并向下滚动到最后,您将看到使用“Golub数据”的示例:
data(golub)
teststat <- mt.teststat(golub, golub.cl)
如果你看一下 golub.cl ,就会清楚 classlabel 向量应该是什么样子:
golub.cl
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
在这种情况下,0或1是两类样本的标签。矢量中的值应与样本一样多,其顺序与样本在数据矩阵中的显示顺序相同。您还可以查看:
?golub
golub.cl:指示肿瘤类别的数字向量,27急性 淋巴细胞白血病(ALL)病例(代码0)和急性期11例 骨髓性白血病(AML)病例(代码1)。
所以你需要创建一个类似的向量,带有标签(0,1,...),无论你有多少类用于你自己的数据。