2013-03-01 86 views
0

我对R很陌生,在理解重排序功能时遇到了一些问题。如何按中位数排序?

可以说,我有像3个矢量的列表:

myList <- (c(7,5,2),c(2,3,4),c(1,1,1)) 

,我想,这样boxplotting名单给我一个有序的情节由每个向量的中位数重新排序名单。现在我该怎么做?我阅读了重新排序的帮助描述,但我似乎无法将给出的示例适用于我的列表。

任何帮助,将不胜感激

回答

2

我想你想

myList <- list(c(7,5,2),c(2,3,4),c(1,1,1)) 
unordered.median <- unlist(lapply(myList, median)) 
ordered.median <- order(unordered.median) 

myList[ordered.median] 
[[1]] 
[1] 1 1 1 

[[2]] 
[1] 2 3 4 

[[3]] 
[1] 7 5 2 
+1

也许'sapply'在第二行? – Aaron 2013-03-01 14:07:04

+0

是的,谢谢,完美的作品。虽然我想知道您是否可以通过重新订购功能获得同样的效果? (重新排序只是接缝预定这个,名字等等) – voiDnyx 2013-03-01 14:20:05

+1

@voiDnyx我认为'reorder'是为不同类型的数据类型而设计的。您将不得不取消并分配一个唯一的值,然后重新排序。听起来就像在背后伸出你的口袋(在斯洛文尼亚这句话听起来更酷)。 – 2013-03-01 14:31:44