我在 linux 操作系统中使用 R 版本 2.15。我有一个由基因 ID 及其特定信号强度值组成的矩阵,如下所示(整个矩阵的子集):
probes GSM362180 GSM362181 GSM362188 GSM362189 GSM362192
244901 5.094871713 4.626623079 4.554272515 4.748604391 4.759221647
244902 5.194528083 4.985930299 4.817426064 5.151654407 4.838741605
244903 5.412329253 5.352970877 5.06250609 5.305709079 8.365082403
244904 5.529220594 5.28134657 5.467445095 5.62968933 5.458388909
244905 5.024052699 4.714631878 4.792865831 4.843975286 4.657188246
244906 5.786557533 5.242403911 5.060605782 5.458148567 5.890061836
我只想提取第一列,如下所示: ids <- scr[,2] 然后我得到一个因子 [2368]
然后我继续注释如下:
biocLite("GO.db")
library("AnnotationDbi")
biocLite("org.At.tair.db")
biocLite("ath1121501.db").
genenames <- org.At.tairGENENAME[ids] #map the probe ids to the gene names in TAIR
The output of which is AnnDbBiMap[1]
number<-org.At.tairENTREZID[ids] #map the probe ids to the gene ids in TAIR
The output of which is AnnDbBiMap[1]
And then I try to merge both the lists as :
xx<-toTable(entrez)
yy<-toTable(number)
complete<-merge(xx,yy)
我在此步骤中遇到错误,无法继续进行。错误内容如下:
Error in fix.by(by.y.y): 'by' must specify uniquely valid column(s)
是因为 ids <- scr[,1] 是一个因素吗?