2012-10-30 68 views
5

Tôi là một newbie trong R vì vậy, tôi thực sự cần một số trợ giúp ở đây. Tôi chỉ muốn sắp xếp từng cột một cách độc lập. Bất kỳ trợ giúp được đánh giá cao!Có cách nào để sắp xếp các cột của ma trận độc lập trong R không?

> 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 cho ví dụ đơn giản, rõ ràng, sạch sẽ được cung cấp. Trong khi đó, hãy để tôi khuyên bạn nên bắt đầu đọc R-inferno http://www.burns-stat.com/pages/Tutor/R_inferno.pdf và theo dõi một số trang hướng dẫn như http://cran.r-project.org/ doc/manuals/R-intro.html hoặc http://www.cyclismo.org/tutorial/R/ –

+0

@CarlWitthoft, mọi hướng dẫn/tài nguyên để phân tích microarray bằng R? –

+0

@SteveHwang Kiểm tra Bioconductor nếu bạn chưa: http://www.bioconductor.org/ – Rob

Trả lời

13

Vâng, có!

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

Tuyệt vời, cảm ơn bạn. Câu hỏi nhanh. Chỉ cần rối tung xung quanh với nó, nếu tôi đã cố gắng tính trung bình của mỗi hàng 'có nghĩa là <- as.matrix (áp dụng (mat, 1, mean))', tại sao tôi phải cast nó như là một ma trận nhưng không phải để phân loại. Đó có phải là thuộc tính cố hữu của 'sắp xếp' (ví dụ: giữ nguyên khung dữ liệu) không? –

+3

@SteveHwang, có một phím tắt để tính toán phương tiện hàng, bạn có thể sử dụng 'rowMeans (mat)' hàm này sẽ trả về một vectơ có độ dài bằng số hàng trong ma trận/data.frame của bạn –

+0

Để đóng vòng lặp 'colMeans ',' colSums' và 'rowSums' cũng hoạt động: http://stat.ethz.ch/R-manual/R-patched/library/base/html/colSums.html – Rob

Các vấn đề liên quan