2016-10-24 3 views
0

упорядоченности data.frame по индексу столбца:Как заказать data.table по специальному столбцу

> df <- data.frame(5:9, 8:4) 
> df 
    X5.9 X8.4 
1 5 8 
2 6 7 
3 7 6 
4 8 5 
5 9 4 
> df[order(df[,2]),] 
    X5.9 X8.4 
5 9 4 
4 8 5 
3 7 6 
2 6 7 
1 5 8 

или по имени столбца:

> df[order(df[,"X5.9"]),] 
    X5.9 X8.4 
1 5 8 
2 6 7 
3 7 6 
4 8 5 
5 9 4 

Можно ли добиться того же с данными .table и порядок по имени или индексу пользовательского столбца?

+3

Посмотрите 'setorder':' библиотека ("data.table") setDT (DF) SetOrder (Д.Ф., X5.9) ' – ddunn801

+2

Или просто: 'setDT (df, key = 'X5.9')' – Jaap

+0

Я предполагаю, что никто не покажет вам способ сделать это по номеру столбца, потому что он обескуражен/считается плохой идеей. См. FAQ 1.1 https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-faq.html#j-num – Frank

ответ

1

Мы можем использовать setkey

setkey(setDT(df), X5.9) 
Смежные вопросы