按向量对数据帧列表进行排序

时间:2013-07-12 20:26:04

标签: r

我有一个名为data.list的数据框列表和一个名为c的相同长度的矢量。向量c仅包含数字,我想用c对data.list进行排序,然后对data.list的排序版本的前10个元素进行排序。

我尝试了以下内容:

data.list <- order(c, data.list)
data.list <- data.list[1:10]

但是第一个命令只是将data.list转换为标准的数字列表。甚至data.list的每个元素的标签都消失了。我该怎么办?

1 个答案:

答案 0 :(得分:3)

基于我对OP的解读(缺乏细节):

l = list(data.frame(a = 1), data.frame(b = 2), data.frame(c = 3), data.frame(d = 4))
v = c(14,12,11,20)

l[order(v)]
#[[1]]
#  c
#1 3
#
#[[2]]
#  b
#1 2
#
#[[3]]
#  a
#1 1
#
#[[4]]
#  d
#1 4