r-无法在RShiny应用程序中显示DataTable



我希望为我的Shiny应用程序显示一个反应数据表。我使用的是renderDataTable(),并已确保在反应函数中返回数据表。我注意到数据表在Shiny应用程序之外表现良好,因此不是变量/计算错误。我希望首先使用数据表的原因是,这样我就可以显示清理过的列名,并以更干净的方式显示数据帧。请让我知道我还可以尝试什么,或者我是否应该改变我的方法。

这是服务器代码:

server <- function(input, output) {
dataset <- reactive({
shiny_tuition_salary <- datatable(df_tuition_salary %>%
select(name, mean_net_cost, state) %>%
filter(mean_net_cost >= input$input_budget[1],
mean_net_cost <= input$input_budget[2],
state == input$input_state) %>%
select(name, mean_net_cost))
return(shiny_tuition_salary)
})
output$df <- renderDataTable({
dataset()
})
}

当前,应用程序中的"表"选项卡下没有显示任何内容。当根本不使用DataTable时(即从服务器中删除datatable()并使用RenderTable而不是RenderDataTable(,该应用程序也成功地显示了该表,所以我确信RenderDataTable()的实现存在问题

谢谢!

编辑:这是ui代码和示例df_tuition_salary以及

ui <- fluidPage(
titlePanel("What colleges match your budget and rank?"),
# Sidebar laayout with input and output definitions ----
sidebarLayout(
# Sidebar panel for inputs ----
sidebarPanel(
# Input: Slider for the number of bins ----
sliderInput(inputId = "input_budget",
label = "Budget:",
min = 0,
max = 50000,
value = c(0, 15000)),
selectInput(inputId = "input_state",
label = "State (limited data, may limit options):",
choices = df_tuition_salary$state)
),
# Main panel for displaying outputs ----
mainPanel(
tabsetPanel(
id = 'output_df',
# tabPanel("Plot", plotOutput("plot")),
tabPanel("Table", tableOutput("df"))
)
)
)
)

df_tuiti_salary:

df_tuition_salary <- data.frame(name = c("Aaniiih Nakoda College", "Abilene Christian University"),
mean_net_cost = c(7508.2414, 24884.0828),
state = c("N/A", "N/A"))

使用dataTableOutput()函数。

# Main panel for displaying outputs ----
mainPanel(
tabsetPanel(
id = 'output_df',
# tabPanel("Plot", plotOutput("plot")),
tabPanel("Table", dataTableOutput("df"))
)

最新更新