我的闪亮应用程序允许用户使用fileInput上传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")
)
))
Run Code Online (Sandbox Code Playgroud)
以下是我的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())
})
Run Code Online (Sandbox Code Playgroud)
我已经通过将子集化数据帧分配给称为df_data2的新的反应数据帧来解决了这个问题.但我想让用户通过在Delete行中输入值并按Go按钮来继续删除不同的行.然后这个解决方案将无法工作,因为我将不得不分配df_data3,df_data4 ...我无法提前预测用户按下Go按钮的次数.
我是一个闪亮约2周的新用户,我一直在寻找解决方案一周.有没有人可以帮助我?一百万谢谢!!