我希望构建一个交互式数据可视化。 我的数据集包含1244个obs和9个变量 分享以下数据的屏幕截图: Screenshot of sample Dataset
数据可视化流程:
从输入框中选择公司名称,它将提供输出表(来自主数据集的该公司的子集)
从输入框
删除DIR后,它会给出公司名称的输出(在检查主数据集之后),如果它存在。
我写的代码如下所示,但它不起作用。我将非常感谢宝贵的意见。提前谢谢。
navbarPage(
title = "SHELL COMPANY",
tabPanel("COMPANY INFO",
fluidRow(
column(4, selectInput("name","COMPANY NAME:", c("ALL", unique(as.character(cmp$`STD COMPANY NAME`))))),
column(4, DT::dataTableOutput("table")
))),
tabPanel("DIR INFO",
fluidRow(
column(4, selectInput("dir","DIRECTOR NAME:", sort(unique(as.character(cmp$`DIR NAME`)))))),
column(4, DT::dataTableOutput("table2"))
))
function(input,output)
{
data <- cmp
rv <- reactiveValues()
observe({
rv$table <- cmp
if(input$name!="ALL"){
rv$table <- data[data$`STD COMPANY NAME`==input$name,]
}
})
output$table <- DT::renderDataTable(DT::datatable(
{
rv$table
}))
output$table2 <- DT::renderDataTable(DT::datatable(
{
data2 <- rv$table
data2 <- subset(rv$table, data$'DIR NAME'==input$dir, select=c(`STD COMPANY NAME`, `DIR NAME`))
data2
}))}
答案 0 :(得分:0)
如果您提供的代码段是关于错误的应用中的所有内容,则您似乎尝试将output$table
分配给output$table2
内data2 <- table
处的另一个变量output$...
}。你不能这样分配?reactiveValues()
。尝试创建单独的表(rv <- reactiveValues()
observe({
rv$table <- cmp
if(input$name!="ALL"){
rv$table <- data[data$`STD COMPANY NAME`==input$name,]
}
})
可能会派上用场),并在两个输出中使用它,所以逻辑看起来像这样:
output$table
然后在output$table2
和std::vector<double>