2012-01-16 40 views
1

有沒有辦法將表的第一列變成標題?例如,給定與下面的腳本獲得的該表:第一列作爲R表中的標題

test <- as.matrix(read.csv(file="fileName.csv", sep=",", head=FALSE)) 

    [1,] 72 6467280 
    [2,] 71 1066945 
    [3,] 143 1128764 
    [4,] 69 420286 
    [5,] 141 137259 
    [6,] 144 2845182 
    [7,] 142 151408 
    [8,] 61 19805 
    [9,] 52 7520 
[10,] 124 3983 

我想獲得一個表,其中的第一列是標籤,並能夠根據這些值來重新排列表格。所以我會得到這樣的東西。

[52,] 7520 
    [61,] 19805 
    [69,] 420286 
    [71,] 1066945 
    [72,] 6467280 
    [124,] 3983 
    [141,] 137259 
    [142,] 151408 
    [143,] 1128764 
    [144,] 2845182 

感謝

+0

@Benjamin:如果你是downvote的來源,我認爲你應該扭轉它。正如亞歷克斯展示的東西非常接近OP的請求可以滿足即使是矩陣對象。 – 2012-01-16 15:10:20

+0

同意。 (更多字符) – Benjamin 2012-01-16 15:16:34

回答

6

重命名該行後,您可以用row.names()檢索它們,將所需的排序:

> test <- as.matrix(read.csv("http://dl.dropbox.com/u/31495717/stackoverlow.orderlist.csv", sep=",", head=FALSE)) 
> rownames(test) <- test[,1] 
> test <- test[order(as.numeric(row.names(test)), decreasing=FALSE),] 
> test <- test[,-1] 
> as.matrix(test) 
     [,1] 
52  7520 
61 19805 
69 420286 
71 1066945 
72 6467280 
124 3983 
141 137259 
142 151408 
143 1128764 
144 2845182 
+0

這正是我所期待的,謝謝。 – 2012-01-16 15:04:37

相關問題