从.txt文件中读取数据框“temp”。行名称是一些基因ID。有一个参考表'grcm38',我可以在其中找到每个基因ID的名称。但是,引用表中不存在一些ID,因此找不到与它们对应的名称。我能做的唯一方法是运行它几次以找出这些ID并明确地从搜索空间中删除它,但在这种情况下我必须一次又一次地读取.txt。必须有一个更聪明的方法。有谁知道吗?这是我的代码。谢谢!
>library(dplyr)
>library(annotables) # mouse is grcm38
>temp <- read.csv(file='data.txt',header=T, row.names=1, sep=',')
>head(grcm38)
# A tibble: 6 x 9
ensgene entrez symbol chr start end strand biotype description
<chr> <int> <chr> <chr> <int> <int> <int> <chr> <chr>
1 ENSMUSG… 14679 Gnai3 3 1.08e8 1.08e8 -1 protei… guanine nuc…
2 ENSMUSG… 54192 Pbsn X 7.78e7 7.79e7 -1 protei… probasin [S…
3 ENSMUSG… 12544 Cdc45 16 1.88e7 1.88e7 -1 protei… cell divisi…
4 ENSMUSG… NA H19 7 1.43e8 1.43e8 -1 lincRNA H19, imprin…
5 ENSMUSG… 107815 Scml2 X 1.61e8 1.61e8 1 protei… sex comb on…
6 ENSMUSG… 11818 Apoh 11 1.08e8 1.08e8 1 protei… apolipoprot…
>for (i in seq(1,length(rownames(temp)))){
print(i)
index = which(grcm38$ensgene == rownames(temp)[i])
if (i == c(540,7124)) {print((paste("Cannot find symbol of ",rownames(temp)[i])))}
else {rownames(temp)[i] = grcm38$symbol[index]}
}