R shiny
kitaplığı ile gerçek zamanlı veri görselleştirme oluşturmak için bir uygulama var. Periyodik veri reactivePoll
işlevini kullanarak dosyadan yeniden yüklerim. Bu konuda sevmediğim şey, veri yeniden yüklendiğinde tüm uygulamanın yenilenmesidir. Verileri tüm uygulama yenilemeden parlak bir uygulama olarak güncelleştirin
DT
tablo çıktı varsa ve ben
NULL
için bu sıfırlar bu seçimi
input$table_rows_selected
her kullandığınızda tüm kullanıcı dostu değildir veri reloads.
Kullanıcı verisini kesintiye uğratmadan veri çıkışını değiştirmek genel olarak mümkün mü?
UPDATE.
Bu, tabloları görüntülemek için başka herhangi bir paket ile elde edilebilir - googleVis
veya diğer?
Çalışma örneği.
library(shiny)
library(DT)
runApp(shinyApp(
ui = fluidPage(dataTableOutput('table')),
server = function(input, output, session) {
pollData <- reactivePoll(4000, session,
checkFunc = function(){ Sys.time() },
valueFunc = function(){ data.frame(id = sample(letters[1:3]), a = runif(3), b = runif(3), c = runif(3)) })
output$table <- renderDataTable({pollData()})
proxy <- dataTableProxy('table')
observeEvent(pollData(), {
selectRows(proxy, input$table_rows_selected)
})}
))
Ben @NicE cevabını bu örneği alınmış ve kimliği sütunu ekledik. Bu satırın satır numarasıyla tanımlandığında belirli bir sıranın seçilmesi gerekiyorsa, @NicE cevabının OK olması önemlidir.
Şimdi, bu satırın bir kimlik değeriyle tanımlanması durumunda seçilecek bir satıra ihtiyacım var. Diğer bir deyişle, eşit b ile bir satır seçtiğimde, bir sonraki veri yeniden yüklendiğinde, satırın aynı kimlik değeriyle seçilmesini istiyorum.
Bu "DT" paketi ile çok yaygındır. Bununla ilgilenmek için bazı özel JS 'kurmanız gerekecek. Alternatif olarak, xtable'ı “yanıp sönen” olarak algılanabilecek kadar kullanamazsınız. bir göz atın http://stackoverflow.com/questions/26976860/how-to-change-datatable-row-background-colour-based-on-the-condition-in-a-column –
Veri yeniden yükleniyor mu? yeni çizgiler mi yoksa mevcut değerler mi güncelleniyor? Tabloyu yeniden oluşturmadan değiştirmek için 'dataTableProxy' kullanabilirsiniz. Yeni tablonuzda "table_rows_selected" ifadesinin kalmasını istiyorsanız, verileri güncelledikten sonra programatik olarak da ayarlayabilirsiniz. – NicE
Birkaç satır değişmiş yeni bir tablo olabilir, ancak çoğu zaman değer güncellenir. @NicE, "onları programlı olarak ayarla" kısmı ile ne demek istediğini açıklayabilir misiniz? –