2012-10-30 46 views
5

我是R的新手,所以我真的需要一些幫助。我只想單獨對每列進行排序。任何幫助表示讚賞!有什麼辦法可以在R中獨立排列矩陣的列嗎?

> mat <- matrix(c(45,34,1,3,4325,23,1,2,5,7,3,4,32,734,2),ncol=3) 
> mat 
     [,1] [,2] [,3] 
[1,] 45 23 3 
[2,] 34 1 4 
[3,] 1 2 32 
[4,] 3 5 734 
[5,] 4325 7 2 

 [,1] [,2] [,3] 
[1,] 1 1 2 
[2,] 3 2 3 
[3,] 34 5 4 
[4,] 45 7 32 
[5,] 4325 23 734 
+0

+1提供清潔,清晰,簡單的示例。同時,讓我建議你開始閱讀R-inferno http://www.burns-stat.com/pages/Tutor/R_inferno.pdf並跟蹤一些教程網站,例如http://cran.r-project.org/ doc/manuals/R-intro.html或http://www.cyclismo.org/tutorial/R/ –

+0

@CarlWitthoft,使用R進行微陣列分析的任何教程/資源? –

+0

@SteveHwang如果你還沒有看看Bioconductor:http://www.bioconductor.org/ – Rob

回答

13

是的,有!

apply(mat, 2, sort) 
    [,1] [,2] [,3] 
[1,] 1 1 2 
[2,] 3 2 3 
[3,] 34 5 4 
[4,] 45 7 32 
[5,] 4325 23 734 
+0

真棒,謝謝。快速提問。如果我試着計算每一行的平均值意味着< - as.matrix(apply(mat,1,mean))',爲什麼我必須將它作爲矩陣進行投射,而不是將其排序。這是「排序」的固有屬性(例如保持數據框架的狀態)? –

+3

@SteveHwang,有一個計算行平均值的快捷方式,你可以使用'rowMeans(mat)'這個函數將返回一個長度等於你的矩陣/ data.frame的行數的向量。 –

+0

關閉循環'colMeans ','colSums'和'rowSums'也可以工作:http://stat.ethz.ch/R-manual/R-patched/library/base/html/colSums.html – Rob

相關問題