按数据集长度的降序排列

时间:2017-01-24 06:07:26

标签: r

我有3个数据集,即pc_datrf_dat& co_dat

pc_dat 
User Val
A     21
B     22

rf_dat 
User Val
A     41
B     52
C     45

co_dat
User Val
A     89

如果我得到以下内容:

length(pc_dat) 
[1] 2

length(rf_dat) 
[1] 3

length(co_dat) 
[1] 1

然后我想创建一个列表,该列表将自动采用长度递减的数据集,即rf_dat将首先显示,pc_dat秒和co_dat第三,如下所示:

list_data = list(rf_dat, pc_dat, co_dat)

1 个答案:

答案 0 :(得分:0)

我们使用listls将数据集放在mget中,然后通过获取order中的行数来降低list p>

list_data <- mget(ls(pattern ="_dat$"))
list_data[order(-sapply(list_data, nrow))]
#$rf_dat
#  User Val
#1    A  41
#2    B  52
#3    C  45

#$pc_dat
#  User Val
#1    A  21
#2    B  22

#$co_dat
#  User Val
#1    A  89

为了安全起见,order也有decreasing = TRUE参数