2016-07-01 8 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)), 감소 = TRUE)] 쉼표를 추가해야만했다. 'undefined columns selected order' – noblabla

관련 문제