2013-07-12 3 views
0

У меня есть список фреймов данных, называемый data.list и вектором той же длины, который называется c. Вектор c содержит только числа, и я хочу сортировать data.list с помощью c, а затем нарезать всех, кроме 10 лучших элементов отсортированной версии data.list.Сортировка списка данных по вектору

Я попытался следующие:

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

Но первая команда просто повернулась Data.List в стандартный список номеров. Даже метки для каждого элемента data.list исчезли. Что я делаю?

+0

Это будет гораздо лучше, если вы предоставить список по крайней мере 2 data.frames (воспроизводимый пример), а также показать нам желаемые вывод. – Arun

ответ

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 
+2

eddi, 'match (v, sort (v))' is 'order (v)'. Я думаю, что хочет OP 'l [order (v)] [1:10]' – Arun

+1

@Arun lol, спасибо :) – eddi

Смежные вопросы