R 如何将导入的数据应用并过滤到仪表板应用程序(2版)中?

R 如何将导入的数据应用并过滤到仪表板应用程序(2版)中?,r,flexdashboard,R,Flexdashboard,同志们,下午好。 我确信没有人帮助我,tk。我刚才说得不太对。 我正在尝试创建FlexDashcoard应用程序。要了解程序是如何工作的,您需要我准备的。我为文件中的俄文字符提前道歉,它们是按原样呈现给你的 这是我的密码: --- 标题:“俄罗斯企业的AFEA” 输出: flexdashboard::flex_仪表板: 故事板:真的 方向:行 垂直布局:填充 主题:单纯形 运行时间:闪亮 --- ```{r全局选项} 选项(knitr.duplicate.label='allow') ```

同志们,下午好。 我确信没有人帮助我,tk。我刚才说得不太对。 我正在尝试创建FlexDashcoard应用程序。要了解程序是如何工作的,您需要我准备的。我为文件中的俄文字符提前道歉,它们是按原样呈现给你的

这是我的密码:

---
标题:“俄罗斯企业的AFEA”
输出:
flexdashboard::flex_仪表板:
故事板:真的
方向:行
垂直布局:填充
主题:单纯形
运行时间:闪亮
---
```{r全局选项}
选项(knitr.duplicate.label='allow')
```
```{r setup,include=FALSE,echo=FALSE,message=FALSE}
###库连接模块###
库(“flexdashboard”)
图书馆(“动态图”)
图书馆(“闪亮”)
图书馆(“shinyFiles”)
#选项(shinny.trace=TRUE)
图书馆(“DT”)
图书馆(“ggplot2”)
图书馆(“dplyr”)
图书馆(“此处”)
库(“数据表”)
图书馆(“plyr”)
### ----------------------------- ###
```
边栏{.Sidebar}
-------------------------------------
```{r}

根不幸的是,没有人帮助我,在花了许多小时后,我设法解决了这个问题。我真诚地希望有一天有人会发现它有用

我的第一个错误是使用了
observeEvent
。如果参考上的说明,您可以阅读以下信息:

“每当您要执行操作以响应事件时,请使用observeEvent。(请注意,“重新计算值”通常不算作执行操作——请参阅EventResponsive。)第一个参数是您要响应的事件,第二个参数是在事件发生时应调用的函数

使用EventResponsive创建仅在响应事件时更新的计算值。这与正常的响应表达式类似,只是它忽略了来自其响应依赖项的所有常见无效;它仅在响应给定事件时无效。”

因此,在我的代码中,我需要用
rv\u结果替换
observeEvent(输入$dir\u choose,{
renderDT(fillContainer = TRUE,{
      data <- dataset()
      print(class(data))
      if (is.null(input$OKVEDlectInput)) {
        data <- dataset()
      }
      else{
        d1 <- as.list(input$OKVEDlectInput)
        d2 <- as.list(as.vector(data$V5))
        result <- which(!is.na(f(d2, d1,0,0)))
        result <- as.vector(result)
        data <- data[result,]
      }
})
f <- function(verlist, list_for_ver, resulttyp=0,delna=1) {  
  listforreturn <- vector(mode = 'list', length=0)
  if ((class(verlist)=='list') && (class(list_for_ver)=='list')){
    if (delna==1){
      listforreturn <- as.vector(na.omit(match(verlist,list_for_ver)))
    }
    else{
      listforreturn <- as.vector(match(verlist,list_for_ver))
    }
    
    if (resulttyp==0){
      listforreturn <- as.list(listforreturn)
    }
    else{
      listforreturn<- as.list(list_for_ver[listforreturn])
    }
  }
  return(listforreturn)
}