作者celestialgod (天)
看板R_Language
标题Re: [问题] 排序不定栏位的matrix
时间Wed Aug 26 19:01:08 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/R_Language/M.1440586873.A.E8C.html
※ 编辑: celestialgod (111.82.236.246), 08/26/2015 19:07:36
1F:推 Edster: 感谢 学习了 08/26 23:21
2F:→ Edster: 突然发现我需要保留原行号. 08/29 08:43
3F:推 Edster: 先用method 1好了. 08/29 08:50