我的闪亮应用程序允许用户使用上传 csv文件输入并存储为反应对象 df_data。然后,我创建了一个 numericInput 供用户输入要从数据框中删除的行号。但是,我收到了一个错误求值嵌套太深:无限递归/选项(表达式=)?.
下面是我的 ui.R 代码。
shinyUI(fluidPage(
titlePanel("amend data frame"),
mainPanel(
fileInput("file", "Upload file"),
numericInput("Delete", "Delete row:", 1, step = 1),
actionButton("Go", "Delete!"),
tableOutput("df_data")
)
))
下面是我的 server.R 代码。
shinyServer(function(input, output) {
df_data <- reactive({
read.csv(input$file$datapath)
})
df_data <- eventReactive(
input$Go,
df_data()[-input$Delete,]
)
output$df_data <- renderTable(df_data())
})
我通过将子集化的数据帧分配给一个名为 df_data2 的新反应数据帧解决了这个问题。但我想让用户能够通过在中输入值来不断删除不同的行删除行并按Go按钮。那么这个解决方案将不起作用,因为我必须分配 df_data3、df_data4 ...并且我无法提前预测用户将按多少次Go button.
我是闪亮的新用户大约两周了,一周以来我一直在寻找有关此问题的解决方案。有人可以帮助我吗?一百万谢谢!!