2015-01-23 4 views
-1

Изучая http://cran.r-project.org/doc/contrib/Krijnen-IntroBioInfStatistics.pdfизвлечь имена из упорядоченного вектора в R

Вот вопрос у меня есть, как извлечь имена из упорядоченного вектора. Проблема в книге заключается в том, чтобы дать идентификаторы генов трех генов (от пациентов на стадии B1 болезни) с наибольшим средним значением в качестве выхода.

Набор данных из пакета «ALL»

source("http://bioconductor.org/biocLite.R") 
biocLite("ALL") 

Вот что я получил до сих пор,

library("ALL") 
data("ALL") 
B1 <- exprs(ALL[,ALL$BT=="B1"]) 
hist(B1) 
mean(B1) 
meanB1 <- apply(exprs(ALL[,ALL$BT=="B1"]),1,mean) 
omeanB1 <- order((meanB1), decreasing=TRUE) 

Я интересно, если есть конкретная функция я могу позвонить из R в извлекать только имена генов. В пакете «голуб» есть golub.gnames, чтобы помочь извлечь имена генов.

+0

@SvenHohenstein да. Я попробовал rownames (omeanB1), но получил NULL. То, что я хочу для результата, - это имена 3-го наивысшего среднего значения. – abs27

+0

@ abs27, используйте 'names' (не' rownames') для списка или вектора –

ответ

0

Мне кажется, что вы почти там. После того как вы заказ, вы можете применить его к meanB1:

head(meanB1[omeanB1]) 
# AFFX-hum_alu_at  31962_at  31957_r_at  40887_g_at  36546_r_at 
#  13.41648  13.16671  13.15995  13.10987  12.94578 
# 1288_s_at 
# 12.80290 

Чтобы получить имена трех лучших генов, вы можете сделать:

names(meanB1[omeanB1])[1:3] 
# [1] "AFFX-hum_alu_at" "31962_at"  "31957_r_at" 
+0

Спасибо! Однако я должен проверить документацию R. головы и имен. Попался! – abs27

Смежные вопросы