खोज…


एक ऐप बनाएं

शाइनी RStudio द्वारा विकसित एक R पैकेज है जो R में विश्लेषण के परिणामों को अंतःक्रियात्मक रूप से प्रदर्शित करने के लिए वेब पेज बनाने की अनुमति देता है।

एक चमकदार ऐप बनाने के दो सरल तरीके हैं:

  • एक .R फ़ाइल में, या
  • दो फ़ाइलों में: ui.R और server.R

एक चमकदार एप्लिकेशन को दो भागों में विभाजित किया गया है:

  • यूआई : एक उपयोगकर्ता इंटरफ़ेस स्क्रिप्ट, लेआउट और एप्लिकेशन की उपस्थिति को नियंत्रित करता है।
  • सर्वर : एक सर्वर स्क्रिप्ट जिसमें एप्लिकेशन को प्रतिक्रिया करने की अनुमति देने के लिए कोड होता है।

एक फाइल

library(shiny)

# Create the UI
ui <- shinyUI(fluidPage(
    # Application title
    titlePanel("Hello World!")
))

# Create the server function
server <- shinyServer(function(input, output){})

# Run the app
shinyApp(ui = ui, server = server)

दो फाइलें

ui.R फ़ाइल बनाएँ

library(shiny)

# Define UI for application
shinyUI(fluidPage(  
  # Application title
  titlePanel("Hello World!")
))

server.R बनाएँ server.R फ़ाइल

library(shiny)

# Define server logic
shinyServer(function(input, output){})

रेडियो बटन

आप किसी सूची से आइटम का चयन करने के लिए उपयोग किए गए रेडियो बटन का एक सेट बना सकते हैं।

सेटिंग्स बदलना संभव है:

  • चयनित: प्रारंभ में चयनित मान (बिना चयन के लिए वर्ण)
  • इनलाइन: क्षैतिज या ऊर्ध्वाधर
  • चौड़ाई

HTML जोड़ना भी संभव है।

library(shiny)

ui <- fluidPage(    
  radioButtons("radio", 
               label = HTML('<FONT color="red"><FONT size="5pt">Welcome</FONT></FONT><br> <b>Your favorite color is red ?</b>'),
               choices = list("TRUE" = 1, "FALSE" = 2),
               selected = 1,
               inline = T,
               width = "100%"),      
  fluidRow(column(3, textOutput("value")))) 


server <- function(input, output){
  output$value <- renderPrint({
    if(input$radio == 1){return('Great !')}
     else{return("Sorry !")}})}

shinyApp(ui = ui, server = server)

यहाँ छवि विवरण दर्ज करें

चेकबॉक्स समूह

स्वतंत्र रूप से कई विकल्पों को टॉगल करने के लिए उपयोग किए जाने वाले चेकबॉक्स का एक समूह बनाएं। सर्वर चयनित मानों के चरित्र वेक्टर के रूप में इनपुट प्राप्त करेगा।

library(shiny)

ui <- fluidPage(    
  checkboxGroupInput("checkGroup1", label = h3("This is a Checkbox group"), 
                 choices = list("1" = 1, "2" = 2, "3" = 3),
                 selected = 1),
  fluidRow(column(3, verbatimTextOutput("text_choice")))
  ) 


server <- function(input, output){
  output$text_choice <- renderPrint({
    return(paste0("You have chosen the choice ",input$checkGroup1))})
} 

shinyApp(ui = ui, server = server)

यहाँ छवि विवरण दर्ज करें

सेटिंग्स बदलना संभव है:

  • लेबल: शीर्षक
  • विकल्प: चयनित मान
  • चयनित: प्रारंभ में चयनित मान (बिना चयन के लिए NULL)
  • इनलाइन: क्षैतिज या ऊर्ध्वाधर
  • चौड़ाई

HTML जोड़ना भी संभव है।

बॉक्स का चयन करें

मानों की सूची से एक या एक से अधिक आइटम चुनने के लिए उपयोग की जा सकने वाली चयन सूची बनाएं।

library(shiny)

ui <- fluidPage(    
  selectInput("id_selectInput", 
          label = HTML('<B><FONT size="3">What is your favorite color ?</FONT></B>'), 
          multiple = TRUE,
          choices = list("red" = "red", "green" = "green", "blue" = "blue", "yellow" = "yellow"), 
          selected = NULL),
  br(), br(),
  fluidRow(column(3, textOutput("text_choice")))) 


server <- function(input, output){
  output$text_choice <- renderPrint({
    return(input$id_selectInput)})
}

shinyApp(ui = ui, server = server)

यहाँ छवि विवरण दर्ज करें

सेटिंग्स बदलना संभव है:

  • लेबल: शीर्षक
  • विकल्प: चयनित मान
  • चयनित: प्रारंभ में चयनित मान (बिना चयन के लिए NULL)
  • एकाधिक: सही या गलत
  • चौड़ाई
  • आकार
  • चयन करें: TRUE या FALSE (उपयोग या चयन के लिए नहीं। js, प्रदर्शन बदलें)

HTML जोड़ना भी संभव है।

एक चमकदार ऐप लॉन्च करें

आप ऐप कैसे बनाते हैं, इसके आधार पर आप कई तरीकों से एप्लिकेशन लॉन्च कर सकते हैं। यदि आपका ऐप दो फ़ाइलों ui.R और server.R में विभाजित है या यदि आपका सभी ऐप एक फ़ाइल में है।

1. दो फाइल ऐप

आपकी दो फाइलें ui.R और server.R को एक ही फोल्डर में होना है। आप तब shinyApp() फ़ंक्शन को कंसोल में shinyApp() और शाइनी ऐप वाली डायरेक्टरी के रास्ते को पार करके अपना ऐप लॉन्च कर सकते थे।

shinyApp("path_to_the_folder_containing_the_files")  

जब आप ui.R या server.R फ़ाइल को खोलते हैं, तो आप Rstudio पर आने वाले रन ऐप बटन को दबाकर सीधे Rstudio से ऐप लॉन्च कर सकते हैं।
ClicktoRun

या आप बस कंसोल पर runApp() लिख सकते हैं यदि आपकी वर्किंग डायरेक्टरी शाइनी ऐप डायरेक्टरी है।

2. एक फ़ाइल ऐप

यदि आप अपनी एक R फ़ाइल बनाते हैं, तो आप इसे shinyApp() फ़ंक्शन के साथ भी लॉन्च कर सकते हैं।

  • आपके कोड के अंदर:
library(shiny)

ui <- fluidPage() #Create the ui
server <- function(input, output){} #create the server

shinyApp(ui = ui, server = server) #run the App
  • कंसोल में पथ को जोड़कर .R फ़ाइल को appFile अनुप्रयोग के साथ चमकदार अनुप्रयोग से युक्त करें:
shinyApp(appFile="path_to_my_R_file_containig_the_app")

नियंत्रण विगेट्स

समारोह विजेट
actionButton क्रिया बटन
checkboxGroupInput चेक बॉक्स का एक समूह
checkboxInput एक एकल चेक बॉक्स
dateInput तिथि चयन में सहायता के लिए एक कैलेंडर
dateRangeInput एक तिथि सीमा का चयन करने के लिए कैलेंडर की एक जोड़ी
fileInput एक फ़ाइल अपलोड नियंत्रण विज़ार्ड
मदद पाठ पाठ की मदद करें जिसे इनपुट फॉर्म में जोड़ा जा सकता है
numericInput संख्या दर्ज करने के लिए एक फ़ील्ड
रेडियो के बटन रेडियो बटन का एक सेट
selectInput से चुनने के लिए विकल्पों के साथ एक बॉक्स
sliderInput एक स्लाइडर बार
जमा करने वाला बटन एक सबमिट बटन
पाठ इनपुट पाठ दर्ज करने के लिए एक फ़ील्ड
library(shiny)

# Create the UI
ui <- shinyUI(fluidPage(
  titlePanel("Basic widgets"),
  
  fluidRow(
    
    column(3,
           h3("Buttons"),
           actionButton("action", label = "Action"),
           br(),
           br(), 
           submitButton("Submit")),
    
    column(3,
           h3("Single checkbox"),
           checkboxInput("checkbox", label = "Choice A", value = TRUE)),
    
    column(3, 
           checkboxGroupInput("checkGroup", 
                              label = h3("Checkbox group"), 
                              choices = list("Choice 1" = 1, 
                                             "Choice 2" = 2, "Choice 3" = 3),
                              selected = 1)),
    
    column(3, 
           dateInput("date", 
                     label = h3("Date input"), 
                     value = "2014-01-01"))   
  ),
  
  fluidRow(
    
    column(3,
           dateRangeInput("dates", label = h3("Date range"))),
    
    column(3,
           fileInput("file", label = h3("File input"))),
    
    column(3, 
           h3("Help text"),
           helpText("Note: help text isn't a true widget,", 
                    "but it provides an easy way to add text to",
                    "accompany other widgets.")),
    
    column(3, 
           numericInput("num", 
                        label = h3("Numeric input"), 
                        value = 1))   
  ),
  
  fluidRow(
    
    column(3,
           radioButtons("radio", label = h3("Radio buttons"),
                        choices = list("Choice 1" = 1, "Choice 2" = 2,
                                       "Choice 3" = 3),selected = 1)),
    
    column(3,
           selectInput("select", label = h3("Select box"), 
                       choices = list("Choice 1" = 1, "Choice 2" = 2,
                                      "Choice 3" = 3), selected = 1)),
    
    column(3, 
           sliderInput("slider1", label = h3("Sliders"),
                       min = 0, max = 100, value = 50),
           sliderInput("slider2", "",
                       min = 0, max = 100, value = c(25, 75))
    ),
    
    column(3, 
           textInput("text", label = h3("Text input"), 
                     value = "Enter text..."))   
  )
  
))

# Create the server function
server <- shinyServer(function(input, output){})

# Run the app
shinyApp(ui = ui, server = server)

डिबगिंग

debug() और debugonce() अधिकांश चमकदार डिबगिंग के संदर्भ में अच्छा काम नहीं करेगा। हालाँकि, महत्वपूर्ण स्थानों में सम्मिलित किए गए browser() स्टेटमेंट आपको बहुत जानकारी दे सकते हैं कि आपका चमकदार कोड कैसे काम कर रहा है (नहीं)। यह भी देखें: browser() का उपयोग कर डिबगिंग browser()

शोकेस मोड

शोकेस मोड आपके ऐप को कोड के साथ प्रदर्शित करता है जो इसे उत्पन्न करता है और सर्वर में कोड की लाइनों को हाइलाइट करता है। क्योंकि यह उन्हें चलाता है।

शोकेस मोड को सक्षम करने के दो तरीके हैं:

  • तर्क डिस्प्ले के साथ चमकदार ऐप लॉन्च करें। runApp("MyApp", display.mode = "showcase") = "शोकेस", जैसे, runApp("MyApp", display.mode = "showcase")
  • अपने चमकदार ऐप फ़ोल्डर में DESCRIPTION नामक फाइल बनाएं और इस लाइन को इसमें जोड़ें: DisplayMode: Showcase

प्रतिक्रियाशील लॉग विज़ुअलाइज़र

रिएक्टिव लॉग विज़ुअलाइज़र आपके आवेदन में प्रतिक्रियाशील निर्भरता और निष्पादन को दर्शाने के लिए एक इंटरैक्टिव ब्राउज़र-आधारित टूल प्रदान करता है। प्रतिक्रियाशील लॉग विज़ुअलाइज़र को सक्षम करने के लिए, आर कंसोल में options(shiny.reactlog=TRUE) निष्पादित options(shiny.reactlog=TRUE) और अपने सर्वर में कोड की उस पंक्ति को जोड़ें। फ़ाइल। रिएक्टिव लॉग विज़ुअलाइज़र शुरू करने के लिए, जब आपका ऐप चल रहा हो, तो विंडोज पर Ctrl + F3 और मैक पर कमांड + F3 दबाएं। प्रतिक्रियाशील लॉग विज़ुअलाइज़र में नेविगेट करने के लिए बाएँ और दाएँ तीर कुंजियों का उपयोग करें।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow