मैं चमकदार के लिए नया हूँ।

जब मैं निम्नलिखित कोड चलाता हूं तो मुझे "आयाम की गलत संख्या" संदेश मिलता है।

मैं NameGen तालिका की प्रत्येक पंक्तियों के बगल में एक चेकबॉक्स समूह इनपुट रखना चाहता हूं, जो एक चयन इनपुट का परिणाम है। फिर, यदि एक पंक्ति की जाँच की जाती है, तो यह मेनपैनल में एक नई तालिका में जाएगी।

Ui.r

library(shiny)

fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("select","Type",c("C","R","V"),selected=NULL),
      uiOutput("choose_row")
    ),
    mainPanel(
      tableOutput("result")
    )
  )
)

सर्वर.आर

library(shiny)

function(input,output){
  data1<-reactive({
    setwd("/Users/me/Desktop/DirectoryAlR")
    AlData<-read.delim2("AlR.csv",sep=";",stringsAsFactors = FALSE)
    NameGen<-NULL
    for(i in 1:nrow(AlData)){
      if(AlData[i,7]==input$select){
        NameGen[i]<-AlData[i,1]
      }else{
        NameGen[i]<-NA
      }
    }
    NameGen<-NameGen[!is.na(NameGen)]
    return(NameGen)
    })

  output$choose_row<-renderUI({
    rn<-rownames(data1())
    checkboxGroupInput("box","",rn,selected=NULL)
  })


  result<-reactive({
    data2<-data1()
    data2[input$box,,drop=FALSE]
  })


  output$result<-renderTable(result())
}
0
David 26 अगस्त 2018, 23:55
कृपया अपना डेटा dput() के माध्यम से प्रदान करें
 – 
Jim Chen
27 अगस्त 2018, 11:41

2 जवाब

ये कोशिश करें ।

data2[, input$box, drop = FALSE] 

की बजाय

 data2[input$box,,drop=FALSE]
0
ashleych 27 अगस्त 2018, 07:04
यह काम नहीं करता है, मुझे अभी भी वही त्रुटि संदेश मिलता है
 – 
David
27 अगस्त 2018, 10:54

मैं डेटा फ्रेम के बजाय वेक्टर से निपट रहा था, फिर मैंने आंशिक रूप से इस तरह से तय किया:

Ui.r

library(shiny)

fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("select","Type",c("C","R","V"),selected=NULL),
      uiOutput("choose_row")
    ),
    mainPanel(
      tableOutput("result")
    )
  )
)

सर्वर.आर

library(shiny)

function(input,output){
  data1<-reactive({
    setwd("/Users/me/Desktop/DirectoryAlR")
    AlData<-read.delim2("AlR.csv",sep=";",stringsAsFactors = FALSE)
    NameGen<-NULL
    for(i in 1:nrow(AlData)){
      if(AlData[i,7]==input$select){
        NameGen[i]<-AlData[i,1]
      }else{
        NameGen[i]<-NA
      }
    }
    NameGen<-NameGen[!is.na(NameGen)]
    return(NameGen)
    })

  output$choose_row<-renderUI({
    checkboxGroupInput("box","",data1(),selected=NULL)
  })


  result<-reactive({
    input$box
  })


  output$result<-renderTable(result())
}

फिर भी, मुझे अभी भी मुख्य पैनल में चेकबॉक्स समूह इनपुट एकत्र करने में समस्या है क्योंकि हर बार जब मैं इनपुट $ चयन बदलता हूं तो यह मेरा डेटा एकत्र करता है।

0
David 27 अगस्त 2018, 12:19