2016-09-27 55 views
0

我正在構建/添加東西到一個Shiny應用程序,主要用於用戶查看單個樣本的圖集合以手動更正給定樣本的單個參數。目前,我正在使用滑塊來翻動繪圖,並且當前樣本的單元格將出現在繪圖下方,供用戶更正給定的參數。用Shiny返回當前位置

但是,這需要用戶將光標從滑塊移動到單元格,然後再移回滑塊。爲了簡化我認爲的過程,當用戶按下向下鍵(向下移動一個單元格)時,爲什麼不製作一個可反轉的表格呢?這需要對用戶「站立」的桌子當前位置進行某種測量。所以我的問題是這是否可以在Shiny框架中完成?

這是我認爲它可以發揮出來的圖片。

Going one row down in the table should have a response to switch to the next plot.

感謝

回答

0

沒有重複的例子,我真的不能幫你,但是如果我明白你的問題,你只是想保持計數服務器的機制,這樣就可以告訴用戶在什麼位置編號。下面是一個簡單的應用程序,不斷的上下按鈕按下計數:

library(shiny) 

# Define UI for application that draws a histogram 
ui <- shinyUI(fluidPage(
    # Sidebar with a slider input for number of bins 
    sidebarLayout(sidebarPanel(
    actionButton("up","Increase value"), 
    tags$br(), 
    actionButton("down","Decrease value") 
), 

    # Show a plot of the generated distribution 
    mainPanel(
    verbatimTextOutput("value") 
)) 
)) 

# Define server logic required to draw a histogram 
server <- shinyServer(function(input, output, session) { 
# initiate count at zero 
    count <- reactiveValues(number=0) 

    observeEvent(input$up,{ 
    count$number <- count$number + 1 
    }) 

    observeEvent(input$down,{ 
    count$number <- count$number - 1 
    }) 

    output$value <- renderPrint({ 
    count$number 
    }) 

}) 

# Run the application 
shinyApp(ui = ui, server = server) 
+0

謝謝卡爾。這不是我想象的解決問題的方式。我正在考慮讓一個無功元件響應輸入表中當前寫入位置的可能性。我用這個簡單的例子更新了我的問題。 –

0

您可以DT坐上服務器端選定列。

對於這一點,你只需要與renderDataTableOutput.

library(DT) 
library(shiny) 

ui = fluidPage(
    verbatimTextOutput("text"), 
    DT::dataTableOutput("mytable") 
) 

server = function(input, output, session){ 
    output$mytable = DT::renderDataTable({ mtcars }) 

    output$text = renderPrint({ 
    cat("selected rows:", input$mytable_rows_selected) 
    }) 
} 

shinyApp(ui,server) 

結合這與DT::selectColumnsthis technique應該做的工作與DT::renderDataTabledataTableOutput更換renderDataTable