Re: [問題] 排序不定欄位的matrix

看板R_Language作者 (天)時間10年前 (2015/08/26 19:01), 10年前編輯推噓2(201)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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

08/26 23:21, , 1F
感謝 學習了
08/26 23:21, 1F

08/29 08:43, , 2F
突然發現我需要保留原行號.
08/29 08:43, 2F

08/29 08:50, , 3F
先用method 1好了.
08/29 08:50, 3F
文章代碼(AID): #1LtPnvwC (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1LtPnvwC (R_Language)