小编R n*_*oob的帖子

传递反应数据作为 updateSelectizeInput 的选择

我试图将反应数据传递给updateSelectizeInput但出现以下错误:

.getReactiveEnvironment()$currentContext() 中的错误:如果没有活动的反应式上下文,则不允许进行操作。(您试图做一些只能从反应式表达式或观察者内部完成的事情。)

我的代码如下:

ui.R

 library(shiny)


  ui_panel <- 
  tabPanel("Text Input Test",
          sidebarLayout(
           sidebarPanel( 


           selectizeInput('Organisations', label = "Organisation Search", 
   choices = NULL, options = list(
             placeholder = 'Type the organisation name', maxOptions = 10, 
   maxItems = 1, searchConjunction = 'and')),
           tags$style(type="text/css",
                      ".selectize-input::after{visibility:hidden;};"
                      ),


           br(),
           selectInput(
             inputId="selectData",
             label=" ",
             choices=c("Universities", "Hospitals")
           ),

           br()
         ),
         mainPanel(
           tabsetPanel(

             tabPanel("output of Organisation search 
 details",htmlOutput("orgsearchdetails"))

           )
         )
       ))


ui <- shinyUI(navbarPage(" ",ui_panel))
Run Code Online (Sandbox Code Playgroud)

服务器R

   library(shiny)


  shinyServer(
   function(input, output, session) {



    orgdata <- reactive({if(input$selectData=='Universities'){
    orgdata <- …
Run Code Online (Sandbox Code Playgroud)

r shiny shinyjs

6
推荐指数
1
解决办法
1883
查看次数

在闪亮上动态添加情节痕迹

我正在构建一个应用程序,允许用户使用 selectInput 在绘图图上动态添加和删除跟踪。

我试图从 plotly 包中使用 plotlyProxy () 和 plotlyProxyInvoke () ,但无济于事。

以下是我的基本代码:

  library(shiny)
  library(shinydashboard)
  library(plotly)


    ui <- dashboardPage(
       dashboardHeader(),
       dashboardSidebar(
       sidebarMenu(
        menuItem("Search", tabName = "Tabs", icon = icon("object-ungroup"))

        )
       ),
      dashboardBody(
      tabItem(tabName = "Tabs",
             fluidRow(
             column(width=3, 
                 box(
                   title="SELECT ",
                   solidHeader=TRUE,
                   collapsible=TRUE,
                   width=NULL,
                   selectInput(
                     inputId="Player",
                     selected = NULL, multiple = TRUE,
                     label=" Choose Player", 
                     choices=c("Messi", "Suarez", "Ronaldo" )),
                   selectInput(
                     inputId="Delete",
                     selected = NULL, multiple = TRUE,
                     label=" Choose Player", 
                     choices=c("Messi", "Suarez", "Ronaldo" )),
                   submitButton("Select")
                 )
          ),

          column( width=9,
                  tabBox(
                    width="100%", …
Run Code Online (Sandbox Code Playgroud)

shiny plotly ggplotly r-plotly

6
推荐指数
1
解决办法
1638
查看次数

汇总和传播数据

我有类似于以下数据:

df=data.frame(
company=c("McD","McD","McD","KFC","KFC"),
Title=c("Crew Member","Manager","Trainer","Crew Member","Manager"),
Manhours=c(12,NA,5,13,10)
)
df
Run Code Online (Sandbox Code Playgroud)

我希望操纵它并获得如下数据框:

 df=data.frame(
   company=c("KFC", "McD"),
   Manager=c(1,1),
   Surbodinate=c(1,2),
   TotalEmp=c(2,3),
   TotalHours=c(23,17)  
  )
Run Code Online (Sandbox Code Playgroud)

我设法对员工及其人数进行了如下分类:

df<- df %>%
   mutate(Role = if_else((Title=="Manager" ),
                         "Manager","Surbodinate"))%>%  
   count(company,  Role) %>%  
   spread(Role, n, fill=0)%>%
   as.data.frame() %>%
   mutate(TotalEmp= select(., Manager:Surbodinate) %>% 
       apply(1, sum, na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)

另外,我将工时总结如下:

df <- df %>%group_by(company) %>%
    summarize(TotalHours = sum(Manhours, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

我如何同时将这两个步骤结合在一起,或者有一种更干净/更简单的方式来获得所需的输出?

r tidyverse

3
推荐指数
1
解决办法
58
查看次数

标签 统计

r ×2

shiny ×2

ggplotly ×1

plotly ×1

r-plotly ×1

shinyjs ×1

tidyverse ×1