R 使用反应值更新代码
我希望建立一个交互式数据可视化。 我的数据集包含1244个obs和9个变量 共享以下数据的屏幕截图: 数据可视化流程:R 使用反应值更新代码,r,shiny,R,Shiny,我希望建立一个交互式数据可视化。 我的数据集包含1244个obs和9个变量 共享以下数据的屏幕截图: 数据可视化流程: 从输入框中选择公司名称,它将给出一个输出表(主数据集中该公司的子集) 从输入框中选择上述比较的目录 删除DIR之后,如果存在,它将给出公司名称的输出(在检查主数据集之后) 下面提供了我编写的代码,但它不起作用。我将感谢您的宝贵意见。提前谢谢 用户界面 服务器 功能(输入、输出) { 数据如果你提供的代码片段是你在应用程序中得到的关于错误的所有信息,那么你似乎试图使用dp
功能(输入、输出)
{
数据如果你提供的代码片段是你在应用程序中得到的关于错误的所有信息,那么你似乎试图使用dput()将output$table
分配给output$table2
中的另一个变量,请参见。编辑时,我在输出$table2中移动了一个大括号。请检查这是否改变了某些内容。请说明您面临的错误。为什么在子集中有不同的引号(data,data$'DIR NAME'==输入$DIR,选择=..
?@ClaudH:谢谢,我纠正了这个错误。我收到的错误是表$STD COMPANY NAME
中的错误:“closure”类型的对象不是subsettable@K.Rohde:表$STD COMPANY NAME
中出错:“closure”类型的对象不可再附加。reactiveValues()确实有效。我面临的最后一个问题是,我只想突出显示tableoutput(table)中的目录名称。我现在正在使用此命令列(4,选择输入(“目录”,“目录名称:”,排序(唯一的)(如.character(cmp$DIR NAME
))),我知道这是错误的。我应该调用什么来代替cmp$DIR NAME
??
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
}))}
rv <- reactiveValues()
observe({
rv$table <- cmp
if(input$name!="ALL"){
rv$table <- data[data$`STD COMPANY NAME`==input$name,]
}
})