fluidRow(столбец(3, : аргумент отсутствует, по умолчанию отсутствует

#r #shiny

Вопрос:

Я пытаюсь запустить блестящее приложение и получаю ошибку:

fluidRow(столбец(3, : аргумент отсутствует, по умолчанию отсутствует

У меня есть две панели вкладок. Я проверяю код, и нет ни одного отсутствующего аргумента, ни одной дополнительной запятой и т. Д. когда я запускаю какую-то часть этого кода, он работает. Я не могу угадать источник этой ошибки. Как справиться с этой проблемой?

Ниже вы можете увидеть одну часть пользовательского кода этого блестящего приложения:

 ui <- fluidPage(
  theme = shinytheme("slate"),
  tabsetPanel(
    tabPanel(h4("TOP N' financial"),
             fluidRow(
               column(3,
                      selectInput("bank", "Choose Bank", choices = unique(BANKS$BANK)),
                      numericInput("Number", "Choose top N borrower", value = 10, min = 1),
                      tags$style(type='text/css', ".selectize-input { font-size: 10px; line-height: 1px;}
                                 .selectize-dropdown { font-size: 10px; line-height: 10px; }"),
                      selectizeInput("excl","SELECT Columns", colname, multiple=T)
               ),
               column(9,
                      div(dataTableOutput("topNtable"), style = "font-size: 75%; width: 75%")
               )
             ),

             br(),

             fluidRow(style = "background-color:#4d3a7d;",
                      h4("Ratio Calculation and plotting"),
                      column(7,
                             style = "border: 4px ridge #01B392;",
                             fluidRow(
                               textInput("client_ID", "Insert Client ID", value = '204885044'),
                               uiOutput("ID_table")


                             ),
                             fluidRow(style = "border: 4px ridge #FF8902;",
                                      plotlyOutput('coef_plot'))
                      ),

                      column(5,
                             style = "border: 4px double red;",
                             h4('simple calculator'),
                             fluidRow(
                               tags$style(type='text/css', ".selectize-input { font-size: 10px; line-height: 1px;}
                              .selectize-dropdown { font-size: 10px; line-height: 10px; }"),
                               column(6,
                                      selectInput("num", "Numerator", num_cols, selected = 'TOTAL_ASSETS')),
                               column(6,
                                      selectInput("denum", "denumerator", num_cols, selected = 'TOTAL_LIABILITIES'))
                             ),
                             fluidRow(
                               column(6, align = "center",
                                      div(tableOutput("coefficient"))#,style = "font-size: 75%; width: 75%")
                               )
                             )
                      )
             ),

            
 

Это код сервера (весь)

 server <- function(input, output, session){
  react_fin <- reactive(get_top_N_financial(input$bank,input$Number, input$excl)%>%
                          group_by(CLIENT_ID)%>%
                          filter(DATE == max(DATE))%>%
                          head(n=input$Number))
  output$topNtable <- renderDataTable(react_fin())
  #CALCULATOR
  calc_d <- reactive(get_top_N_financial(input$bank,input$Number, c(num_cols,'DATE')))
  coef_d <- reactive({
    req(input$client_ID)
    filter(calc_d(), CLIENT_ID == input$client_ID)
  })
  coef_df <- reactive({
    req(input$num)
    req(input$denum)
    ratio <- round(coef_d()[[input$num]]/coef_d()[[input$denum]], 4)
    data.frame(cbind(ratio, coef_d()$DATE))%>%
      rename('Date'=V2)%>%
      arrange(desc(Date))
  })
  output$coefficient <- renderTable(coef_df()%>%
                                      slice_head(n = 6))
  output$coef_plot <-renderPlotly(plot_ly(coef_df(), x = ~Date,
                                          y = ~ratio, type = 'scatter', mode = 'lines',
                                          height = 300, width = 500))

  Client <- reactive((get_name(input$bank, input$client_ID)))
  output$ID_table <- renderUI(Client()$CLIENT_NAME)
  pd_dt <- reactive(get_debt(input$client_ID))
  output$ecl_pl <- renderPlot(plot_pd_lgd(pd_dt()))
  ## create ind_table
  observeEvent(pd_dt(), {
    choices <- unique(pd_dt()$DATE)
    updateSelectInput(inputId = "ind_date", choices = choices)
  })
  output$ind_table <-function()(ind_sum_tbl(pd_dt(), input$ind_date))
  ################# PAGE2 #################
  d_PD_PTI <- reactive(get_PD_PTI(input$N, input$start, input$end, input$stage))
  output$reg_pl <- renderPlot(PD_PTI_Bank(d_PD_PTI()))
  d_PD_Box <- reactive(get_PD_Box(input$N,input$stage))
  output$Box_pd <- renderPlot(PD_Box(d_PD_Box()))
  output$PTI_PD <- renderPlot(PD_PTI_heat(d_PD_PTI()))
  d_LGD_LTV <- reactive(get_LGD_LTV(input$N, input$start, input$end,input$stage))
  output$LTV_LGD <- renderPlot(LGD_LTV_heat(d_LGD_LTV()))
  output$PD_Client_scatter <- renderPlotly(PD_diff_banks_scatter(input$start, input$end, input$N))
  df <- reactive(PD_CLIENT_DF(input$start, input$end,input$N))
  output$PD_scat <- renderPlot(PD_CLIENT_plot(df()))
  output$brush_tbl <-renderTable({
    brushedPoints(df(), input$brush) %>%
      select()
  })

}
 

Заранее спасибо

Комментарии:

1. Мы также должны увидеть серверную часть кода! И лучше всего было бы обеспечить результат dput(head(BANKS)

2. @TarJae спасибо, что ответили. Я добавляю код сервера и результат выше; > структура dput(head(БАНКИ)) (список(БАНК = c(«BBG», «BBS», «BBT», «BCD», «BCR», «BFN» )), row.names = c(NA, -6L), класс = c(«tbl_df», «tbl», «data.frame» ))

Ответ №1:

Мое предположение: Проблема скобок: Вот рабочий пример с вашим кодом пользовательского интерфейса.

 library(shiny)
library(shinythemes)

BANKS

ui <- fluidPage(
  theme = shinytheme("slate"),
  tabsetPanel(
    tabPanel(h4("TOP N' financial"),
             fluidRow(
               column(3,
                      selectInput("bank", "Choose Bank", choices = unique(BANKS$BANK)),
                      numericInput("Number", "Choose top N borrower", value = 10, min = 1),
                      tags$style(type='text/css', ".selectize-input { font-size: 10px; line-height: 1px;}
                                 .selectize-dropdown { font-size: 10px; line-height: 10px; }"),
                      selectizeInput("excl","SELECT Columns", colname, multiple=T)
                      ),
               column(9,
                      div(dataTableOutput("topNtable"), style = "font-size: 75%; width: 75%")
               )
             )
    )
  )
),

server <- function(input, output, session) {
  
}

shinyApp(ui, server)
 

введите описание изображения здесь