0
我想创建一个闪亮的应用程序,我希望用户输入数据框(有3列)的几行(但数量可变)的行。最好的方法是让用户一次输入一行,也许按下一个按钮来创建一个新行。从闪亮的用户获取数据框的最佳方式
什么是直观的方式来实现这个闪亮的gui?
我想创建一个闪亮的应用程序,我希望用户输入数据框(有3列)的几行(但数量可变)的行。最好的方法是让用户一次输入一行,也许按下一个按钮来创建一个新行。从闪亮的用户获取数据框的最佳方式
什么是直观的方式来实现这个闪亮的gui?
你可以做这样的事情:
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))