按中位数排序列表

时间:2014-12-08 13:46:51

标签: r

我有一个来自数据框列表的向量列表,我想将它们打包出来:

list1 <- lapply(dir(), read.table,  sep = "\t", dec = ".")
names(list1) <- gsub(".tsv", "", c(dir()))
vector1 <- lapply(list1, function(x) {as.vector(unlist(x))})
boxplot(vector1)

我想要按照元素的中位数对列表或箱图进行排序。我已经找到了重新排序的解决方案,但我在这里应用它有麻烦,因为我的数据集中缺少因子水平(我不能通过原子矢量重新排序,我认为)。

再次感谢你!

1 个答案:

答案 0 :(得分:1)

这个怎么样:

set.seed(1)

## unordered
list1 <- lapply(c(1,4,2,3), function(i)rnorm(100,mean=i))
vector1 <- lapply(list1, function(x) {as.vector(unlist(x))})
boxplot(vector1)

## ordered
med <- sapply(list1, median)
boxplot(vector1[order(med, decreasing=TRUE)])