2016-07-01 2 views
0

私はRenderDataTableを使用してデータフレームを表示しています。 order = list(list(column_number, 'desc'))を使用すると、インデックスを除くすべての列に機能します。 トップに最新のエントリを表示するために、降順でソートしたいと思います。 0を使用すると、RenderDataTableでは機能しません。どのようなアイデアは、オプションのリストで降順ソートを強制するのですか?デフォルトでは常にインデックス順に昇順になります。行による降順ソートインデックスデータフレームShiny

DT::datatable(reporting[], 
        options = list(
        lengthMenu = c(10, 25, 50, 100, 150, 200), 
        order = list(list(0, 'desc')), 
        pageLength = 25 
       )) 
+1

あなたの 'の報告[]' data.frameを注文しないのはなぜ? – Jimbou

+0

アクションボタンが0に等しいとき、これは実際にif文の中にあります。そうでなければ、私は 'reporting []'の代わりに 'reporting_update()'関数を呼び出します。そして、この関数はSQLite DBからデータを取得します。私はDBのROWIDをソートする必要があります。ここで並べ替える方が簡単です。 – noblabla

答えて

0

あなたは降順でデータを注文する必要がありますorder = DT[order(as.numeric(rownames(DT)),decreasing = TRUE)]試みることができる:

は、ここに私の試みです。データなしで問題を再現するのは難しいですが、ここで私は作ることができた実施例である:

DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9)

DT

x y v 
1: b 1 1 
2: b 3 2 
3: b 6 3 
4: a 1 4 
5: a 3 5 
6: a 6 6 
7: c 1 7 
8: c 3 8 
9: c 6 9 

DT[order(as.numeric(rownames(DT)),decreasing = TRUE)]

x y v 
1: c 6 9 
2: c 3 8 
3: c 1 7 
4: a 6 6 
5: a 3 5 
6: a 1 4 
7: b 6 3 
8: b 3 2 
9: b 1 1 
+0

ありがとうございます、それは動作します。何らかの理由で '' DT [order(as.numeric(rownames(DT))、reduce = TRUE)]というカンマを追加しなければなりませんでした。 – noblabla

関連する問題