2015-04-03 78 views
1

我有超過1000行的數據幀。在R中錯誤地排序數字

1 chr1 23373262 23390014 NM_001081079 - Ogfrl1 
10 chr1 43807075 43884553 NM_026430 - Uxs1 
100 chr10 77069342 77081076 NM_001301671 + Sumo3 
1000 chr5 137736931 137748902 NM_031405 - Srrt 
1001 chr5 137737851 137737916 NR_106003 -  
1002 chr5 137751126 137755469 NM_011639 - Trip6 
1003 chr5 137755785 137774810 NM_031406 - Slc12a9 
1004 chr5 138220145 138221335 NM_027242 + Ppp1r35 
1005 chr5 138223133 138227929 NM_144913 - Mepce 
1006 chr5 138229029 138263849 NM_001005426 + Zcwpw1 

我想按row.names排序,它們是上面第一列中的數字。我的命令是

mef_genes<-mef_genes[sort(as.integer(row.names(mef_genes)),decreasing=F),] 

它的排名如上所示。我想排名像正常升序,即1,2,3 ... 任何人都可以告訴我如何做到這一點? 非常感謝您

+0

您的輸出正確排序。您是否刪除了原始數據的任何行? – martin 2015-04-03 18:02:35

+0

請提供[一個可重複的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),例如通過提供您的數據:'dput(mef_genes )'。 – Thomas 2015-04-03 18:09:21

+0

@Martin你爲什麼說它排序正確? – 2015-04-03 18:13:10

回答

3

嘗試order,而不是sort

mef_genes <- mef_genes[order(as.integer(row.names(mef_genes))),]