2015-04-02 48 views
0

我想创建一个闪亮的应用程序,我希望用户输入数据框(有3列)的几行(但数量可变)的行。最好的方法是让用户一次输入一行,也许按下一个按钮来创建一个新行。从闪亮的用户获取数据框的最佳方式

什么是直观的方式来实现这个闪亮的gui?

回答

1

你可以做这样的事情:

rm(list = ls()) 
library(shiny) 
# Sample data 
my_data <- data.frame(matrix(1,nrow=1,ncol=3)) 
colnames(my_data) <- c("one","two","three") 
emptry_row <- as.data.frame(matrix(1,nrow=1,ncol=3)) 
colnames(emptry_row) <- colnames(my_data) 

ui =fluidPage(
    sidebarPanel(actionButton("add_row", "Add a row")), 
    mainPanel(dataTableOutput("my_table")) 
) 

server = function(input, output, session){ 

    values <- reactiveValues() 
    values$df <- my_data 

    newEntry <- observe({ 
    if(input$add_row > 0) { 
     isolate(values$df <- rbind(values$df, emptry_row)) 
    } 
    }) 
    output$my_table <- renderDataTable({ 
    if(input$add_row==0){return(values$df)} 
    values$df 
    }) 
} 
runApp(list(ui = ui, server = server)) 
相关问题