>source

저는 "European Social Survey"(표 및 그래프)의 변수를 표시하는 반짝이는 앱을 만들고 있습니다. 따라서 사용자가 표시할 변수를 선택할 수 있는 "selectInput"을 사용하여 조건부 패널을 만들었습니다. 두 번째 단계에서 표시된 변수를 예를 들어 그룹화하고 싶습니다. 성별. 이를 위해 확인란을 포함했습니다. 이 확인란이 참이면 사용자가 독립 변수를 선택할 수 있는 추가 조건부 패널이 표시됩니다.

                 checkboxInput(
                       inputId= "group",
                       label= "Group Data",
                       value= FALSE),
                     conditionalPanel(
                       condition= "input.group==true",
                       selectInput(
                         inputId= "UV",
                         label= "Group Data by:",
                         c("Gender"= "gndr")
                       )

출력 UI 측의 경우 다음이 있습니다.

fluidRow(
        box(width= 7, status= "info", solidHeader= TRUE,
            title= "Table:",
            dataTableOutput("tabelle", width= "100%")
        ),
        box(width= 8, status= "info", solidHeader= TRUE,
            title= "Graph:",
            plotOutput("plot", width= "auto", height= 500)
        )

제 질문/문제는 다음과 같습니다. 서버 측 종속 및 독립 변수를 그룹화하기 위해 어떻게 생성할 수 있습니까?

빈 출력을 얻은 첫 번째 시도:

output$plot <-renderPlot(function(){
    reactive({
    data <-subset(dataset, select=c(av.select(), input$UV))
    data <-data[complete.cases(data)==1,] %>%
        mutate_all(as_factor) %>%
        droplevels(exclude= c("Weiß nicht", "Verweigert", "Keine Antwort")) %>%
        as.data.frame() -> plot.data
         })
    plot.data.g <-likert(items= plot.data[,1, drop=FALSE], grouping= plot.data[,2,drop=FALSE])
    if(input$group==FALSE)
    {plot(plot.data.g) +
      ggtitle(q_text()) +
      xlab("Frage")}
    if(input$group==TRUE)
    {plot(plot.data.g) +
        ggtitle(q_text()) +
        xlab("Frage") +
        labs(x=av.select()) +
        facet_grid(input$UV)}
  }

반응을 중첩하지 마십시오. 또한 최소한의 재현 가능한 예를 제공하십시오.

Limey2022-02-13 21:00:11

답변 감사합니다. 위의 code를 업데이트했습니다. 반응형 중첩을 해제할 수 있는 방법을 설명해 주시겠습니까?

daniel_gaub2022-02-13 21:00:11
  • 이전 pandas : 데이터 프레임에서 행의 짝수 인덱스 쌍에 추가?
  • 다음 reactjs : useState로 인해 이 간단한 code가 잘못 작동하는 이유는 무엇입니까?