看板 R_Language 關於我們 聯絡資訊
※ 引述《Edster (Edster)》之銘言: : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 開發者(有撰寫R 的套件經驗) : [問題敘述]: : 假設一個 matrix 需要依照第一欄、第二欄、...、第N欄 : 類似這樣, P就是要被排序的 matrix : if(N == 2) P=P[order(P[,1], P[,2], decreasing=T),] : if(N == 3) P=P[order(P[,1], P[,2], P[,3], decreasing=T),] : if(N == 4) P=P[order(P[,1], P[,2], P[,3], P[,4], decreasing=T),] : 如果遇到不定欄位數量的,比如果遇到N=7,但一直寫到N=7又不能解決N=8的問題 : 請問有什麼好方法呢? : [關鍵字]: : : 排序matrix : code: http://pastebin.com/zE0bQT3U 這個應該就是直接排列每一列 matlab可以直接 sortrows(P) 不過R base的sort沒有排列rows的選項 所以只能自己來 我提供兩種解法 一種是利用eval去做成,直接用base的函數 另一種是我用quick sort algorithm去寫了一下sort rows 自行取用。 PS: 套件應該有排列rows的套件,懶得找XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.236.246 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1440586873.A.E8C.html ※ 編輯: celestialgod (111.82.236.246), 08/26/2015 19:07:36
Edster: 感謝 學習了 08/26 23:21
Edster: 突然發現我需要保留原行號. 08/29 08:43
Edster: 先用method 1好了. 08/29 08:50