在我的ui.R 中,我有带有 3 个输入的侧边栏:
selectInput("category"...)
selectInput("program"...)
sliderInput("year"...)
我的数据框df的列将类别与年份和程序与年份相结合,即:prog1year、prog2year、category1year ...
当我选择 selectInput selectInput("category")和sliderInput("year")我的主要数据框df按类别和年份进行过滤,并且df1的生成如下:
df1 <- new_df %>% select_(.dots = c("City", paste0(input$category, input$year)))
结果是:category1year,category2year ...
选择selectInput("program")和sliderInput("year")后,我需要返回主df并按程序和年份过滤结果:program1year,program2year ...
And when all 3 controls are choosen I need df to be filtered by columns named like progyear and categoryyear
现在我可以按类别和年份进行过滤,但不能使其适用于程序输入。
这么说我不能再次调用主df:
names(new_df)<- sub("category", "", names(df))
new_df <- new_df %>% select_(.dots = c("City",paste0(input$category, input$year)))
colnames(new_df) <- c("City", "Category")
现在,当我想使用selectInput("program")时,它会搜索new_df,其中prog1、prog2..的列不存在。
关于猪排提供的解决方案,尝试过:
new_df <- reactive({})
new_df <- new_df %>% select_(.dots = c("City", paste0(input$category, input$year)))
colnames(new_df) <- c("City", "Category")
new_df <- new_df %>% select_(.dots = c("City", paste0(input$program, input$year)))
colnames(new_df) <- c("City", "Program")
我得到错误:
没有适用于“选择_”的方法应用于“反应”类的对象
我被困在这里。
您能否提供任何最小的示例,例如:
if (selectinput1 == choosen)...
谢谢