R లో షైనీతో ఇంటరాక్టివ్ వెబ్ యాప్‌లను ఎలా రూపొందించాలి

R Lo Sainito Intaraktiv Veb Yap Lanu Ela Rupondincali



R షైనీ ఫ్రేమ్‌వర్క్ కారణంగా, RStudio నుండి ఒక బండిల్, R తో డైనమిక్ వెబ్ యాప్‌లను సృష్టించడం చాలా సులభం. షైనీ యొక్క ప్రయోజనం ఏమిటంటే, మీ R కోడ్‌ను వెబ్‌లో ఉంచడం సాధ్యమవుతుంది, ఇది విస్తృత శ్రేణి వినియోగదారులకు మరింత అందుబాటులో ఉంటుంది. R షైనీతో, మీరు డేటా సెట్‌ను విశ్లేషించడానికి వినియోగదారుని అనుమతించే అత్యంత శక్తివంతమైన డేటా నివేదికలు మరియు విజువల్స్‌ని సృష్టించవచ్చు. షైనీ కాంపోనెంట్‌లతో పాటు, ప్రోగ్రామ్ యొక్క కంటెంట్‌ను రూపొందించడానికి HTML ఎలిమెంట్‌లను ఉపయోగించవచ్చు. R యొక్క షైనీ ప్యాకేజీని ఉపయోగించి ఇంటరాక్టివ్ వెబ్ అప్లికేషన్‌ను రూపొందించే ప్రక్రియ ద్వారా నేటి కథనం మిమ్మల్ని నడిపిస్తుంది. దీని కోసం, 'RStudio' ఇప్పటికే ఇన్‌స్టాల్ చేయబడిందని నిర్ధారించుకోండి.

RStudioలో షైనీ ప్యాకేజీని ఇన్‌స్టాల్ చేయండి

RStudioలో ఇంటరాక్టివ్ వెబ్ అప్లికేషన్‌ను రూపొందించే దిశగా వెళ్లే ముందు, మనం అందులో ఇప్పటికే “షైనీ” ప్యాకేజీని ఇన్‌స్టాల్ చేసి ఉండాలి. దీని కోసం, మీరు RStudio యొక్క 'టూల్స్' మెనుని ఆపై 'ఇన్‌స్టాల్ ప్యాకేజీలు' ఎంపికను విస్తరించాలి. తెరిచిన విండోలో, మీరు ఇన్‌స్టాల్ చేయాలనుకుంటున్న ప్యాకేజీని పేర్కొనాలి, అంటే “మెరిసే” మరియు “ఇన్‌స్టాల్” బటన్‌పై నొక్కండి. RStudio RStudio కన్సోల్‌లో మెరిసే ప్యాకేజీని ఇన్‌స్టాల్ చేస్తుంది.







R లో షైనీతో ప్రారంభించండి

R లో షైనీతో ప్రారంభించడానికి, మీరు RStudio మొదటి స్థానంలో ఉన్న “ఫైల్” మెనుని ఉపయోగించి కొత్త R ఫైల్‌ని సృష్టించాలి. దీన్ని విస్తరించండి మరియు 'కొత్త ఫైల్' ఎంపికను తర్వాత 'R స్క్రిప్ట్' ఎంపికను ఉపయోగించండి. 'పేరులేని' స్క్రిప్ట్ ఫైల్ RStudioలో తెరవబడుతుంది. మీరు కోరుకున్న ప్రదేశంలో దాన్ని 'R' ఫైల్‌గా పేరు మార్చండి.



ఇప్పుడు, Rలో ఇంటరాక్టివ్ అప్లికేషన్‌ను రూపొందించడానికి అవసరమైన ప్యాకేజీలను లోడ్ చేయండి, అంటే R యొక్క “లైబ్రరీ” ఫంక్షన్‌ని ఉపయోగించడం. గతంలో ఇన్‌స్టాల్ చేయని ప్యాకేజీలను ఇన్‌స్టాల్ చేయడానికి “if” స్టేట్‌మెంట్‌లు ఉపయోగించబడతాయి. కొన్ని గ్రాఫికల్ విజువలైజేషన్‌లతో పాటు వెబ్ అప్లికేషన్‌ల కోసం ఇంటరాక్టివ్ ఇంటర్‌ఫేస్‌ను రూపొందించడానికి షైనీ ప్యాకేజీ ఉపయోగించబడుతుంది. “dplyr” ప్యాకేజీ ప్రధానంగా కొన్ని ఉపయోగకరమైన ఫంక్షన్‌లను ఉపయోగించడం ద్వారా R లో డేటా మానిప్యులేషన్‌ను సులభతరం చేయడానికి ఉపయోగించబడుతుంది.



చివరగా, 'ggplot2' ప్యాకేజీ అనుకూలీకరించిన మరియు శక్తివంతమైన గ్రాఫ్‌లను సృష్టించడం ద్వారా డేటా విజువలైజేషన్ యొక్క గొప్ప మూలంగా లోడ్ చేయబడింది.





ఉంటే ( ! నేమ్‌స్పేస్ అవసరం ( 'మెరిసే' , నిశ్శబ్దంగా = నిజం ) ) {

ఇన్స్టాల్. ప్యాకేజీలు ( 'మెరిసే' )

}

ఉంటే ( ! నేమ్‌స్పేస్ అవసరం ( 'dplyr' , నిశ్శబ్దంగా = నిజం ) ) {

ఇన్స్టాల్. ప్యాకేజీలు ( 'dplyr' )

}

ఉంటే ( ! నేమ్‌స్పేస్ అవసరం ( 'ggplot2' , నిశ్శబ్దంగా = నిజం ) ) {

ఇన్స్టాల్. ప్యాకేజీలు ( 'ggplot2' )

}

గ్రంధాలయం ( మెరిసే )

గ్రంధాలయం ( dplyr )

గ్రంధాలయం ( ggplot2 )

ఇంటరాక్టివ్ ఎగ్జామ్ గ్రేడింగ్ సిస్టమ్‌ను రూపొందించండి

ఈ ట్యుటోరియల్‌లో, విద్యార్థులు 100కి పొందిన మార్కుల ద్వారా సాధించిన గ్రేడ్‌లను పొందడానికి మేము “పరీక్ష గ్రేడింగ్ సిస్టమ్”ని సృష్టిస్తాము. అందించిన స్క్రిప్ట్ అనేది షైనీ యాప్ యొక్క “ui” భాగం, ఇది డిజైన్ మరియు రూపాన్ని నిర్దేశిస్తుంది. ఒక కార్యక్రమం. ప్రోగ్రామ్ ఫ్లూయిడ్‌పేజ్‌ని ఉత్పత్తి చేస్తుంది, ఇది బ్రౌజర్ విండో కోసం సర్దుబాటు చేయడానికి స్కేల్ చేయగల అనుకూల డిజైన్.

“టైటిల్‌ప్యానెల్” మరియు “సైడ్‌బార్ లేఅవుట్” “ఫ్లూయిడ్‌పేజ్” యొక్క సంతానం. ప్రోగ్రామ్ యొక్క “ఎగ్జామ్ గ్రేడింగ్ సిస్టమ్” టైటిల్ “టైటిల్‌ప్యానెల్”లో ప్రదర్శించబడుతుంది. “సైడ్‌బార్‌ప్యానెల్” మరియు “మెయిన్‌ప్యానెల్” అనేవి అప్లికేషన్‌ను విభజించడానికి “సైడ్‌బార్ లేఅవుట్” ఉపయోగించే రెండు విభాగాలు. 'సైడ్‌బార్‌ప్యానెల్'లో ఒక జత ఇన్‌పుట్‌లు చేర్చబడ్డాయి: 'స్కోర్' అనే 'టెక్స్ట్ ఏరియాఇన్‌పుట్' మరియు 'లెక్కించు' అనే 'యాక్షన్ బటన్'.



'టెక్స్ట్ ఏరియాఇన్‌పుట్'ని ఉపయోగించి ప్రతి విద్యార్థికి ఒక పంక్తికి ఒక స్కోర్ నమోదు చేయవచ్చు. 'యాక్షన్ బటన్'ను ఉపయోగించడం ద్వారా గ్రేడ్ అసెస్‌మెంట్‌ను ప్రారంభించవచ్చు. 'మెయిన్‌ప్యానెల్'లో ఒక జత అవుట్‌పుట్‌లు ఉన్నాయి: 'ఫలితం' అనే 'టేబుల్ అవుట్‌పుట్' మరియు 'ఫలితగ్రాఫ్' పేరుతో 'ప్లాట్ అవుట్‌పుట్'. 'టేబుల్ అవుట్‌పుట్' మరియు 'ప్లోట్ అవుట్‌పుట్' రెండూ గణన యొక్క ఫలితాలను గ్రాఫ్ రూపంలో ప్రదర్శిస్తాయి.

ui <- ద్రవ పేజీ (

శీర్షిక ప్యానెల్ ( 'ఎగ్జామ్ గ్రేడింగ్ సిస్టమ్' ) ,
సైడ్‌బార్ లేఅవుట్ (
సైడ్‌బార్‌ప్యానెల్ (
textAreaInput ( 'స్కోరు' , 'విద్యార్థుల కోసం స్కోర్‌లను నమోదు చేయండి (ఒక పంక్తికి ఒకటి):' , '' ) ,
చర్య బటన్ ( 'లెక్కించు' , 'గ్రేడ్‌లను గణిద్దాం' )
) ,
ప్రధాన ప్యానెల్ (
టేబుల్ అవుట్‌పుట్ ( 'ఫలితం' ) ,
ప్లాట్ అవుట్‌పుట్ ( 'ఫలిత గ్రాఫ్' )
) ) )

సర్వర్ పద్ధతి అప్లికేషన్ యొక్క సర్వర్ వైపు లాజిక్‌ను ఏర్పాటు చేస్తుంది. విద్యార్థులకు మార్కులు మొదట్లో 'డేటా' అనే రియాక్టివ్ వేరియబుల్‌లో నిల్వ చేయబడతాయి. దీని కోసం, 'కాలిక్యులేట్' బటన్ R యొక్క 'observeEvent' పద్ధతి ద్వారా పర్యవేక్షించబడుతుంది. బటన్ ట్రిగ్గర్ చేయబడిన తర్వాత, కోడ్ ప్రారంభంలో టెక్స్ట్ ఫీల్డ్ ఇన్‌పుట్‌లో నమోదు చేయబడిన విలువలను సంఖ్యా విలువలకు మారుస్తుంది.

ప్రతి స్కోర్ తర్వాతి లైన్‌లో కొత్త స్కోర్‌ను ఇన్‌పుట్ చేయడానికి “\n”ని ఉపయోగించి ఒక లైన్ బ్రేక్ ఉంటుంది. ఈ పద్ధతి 'డేటా' వేరియబుల్‌లో కనుగొన్న స్కోర్‌ను ఉంచుతుంది. వినియోగదారుకు ఇన్‌పుట్ స్కోర్ లేనట్లయితే, పద్ధతి లోపంతో కూడిన సందేశాన్ని చూపుతుంది.

సర్వర్ <- ఫంక్షన్ ( ఇన్పుట్, అవుట్పుట్ ) {

సమాచారం <- రియాక్టివ్ వాల్ ( శూన్య )

ఈవెంట్ గమనించండి ( ఇన్పుట్$లెక్కించు, {

స్కోర్ <- వంటి. సంఖ్యాపరమైన ( జాబితాను తీసివేయండి ( strsplit ( ఇన్‌పుట్$స్కోరు, ' \n ' ) ) )

ఉంటే ( పొడవు ( స్కోర్ ) > 0 ) {

సమాచారం ( స్కోర్ )

} లేకపోతే {

సమాచారం ( శూన్య )

షోమోడల్ ( మోడల్ డైలాగ్ (

శీర్షిక = 'తప్పు' ,

'లోపం: దయచేసి విలువను జోడించండి!' ,

సులభంగా దగ్గరగా = నిజం

) )

}

} )

రెండు అవుట్‌పుట్‌లు, “ఔట్‌పుట్$ఫలితం” మరియు “అవుట్‌పుట్$ఫలితగ్రాఫ్”, విద్యార్థి మార్కులు మరియు సాధించిన గ్రేడ్‌లను చూపడానికి పేర్కొనబడ్డాయి. రెండర్‌టేబుల్() డైనమిక్ పద్ధతి విద్యార్థి యొక్క పరీక్ష మార్కులు మరియు గ్రేడ్‌ల డేటా టేబుల్‌ను ఉత్పత్తి చేస్తుంది, ఇది “అవుట్‌పుట్$ఫలితం”గా లేబుల్ చేయబడింది. రెండర్‌ప్లాట్() పద్ధతి, అదే విధంగా రియాక్టివ్‌గా ఉంటుంది, విద్యార్థి గ్రేడ్‌ల కోసం బార్ గ్రాఫ్‌ను ఉత్పత్తి చేస్తుంది మరియు దానిని అదే విధంగా “ఔట్‌పుట్$ResultGraph” అవుట్‌పుట్‌లో సేవ్ చేస్తుంది.

అందువల్ల, ఇన్‌పుట్ డేటా అప్‌డేట్ అయిన ప్రతిసారీ అవి సమీక్షించబడతాయి. if (!is.null(data())) వ్యక్తీకరణ స్వీకరించబడుతున్న డేటా శూన్యంగా ఉందో లేదో నిర్ణయిస్తుంది. 'if' స్టేట్‌మెంట్ స్క్రిప్ట్ ఖాళీగా లేకుంటే అది అమలు చేయబడుతుంది. విద్యార్థుల కోసం స్కోర్‌ల వెక్టార్ ఇన్‌పుట్ 'డేటా'ని చేస్తుంది. ప్రతి విద్యార్థికి case_when() పద్ధతిని ఉపయోగించి వారి స్కోర్ ఆధారంగా గ్రేడ్ ఇవ్వబడుతుంది. విద్యార్థి గ్రేడ్‌లు మరియు పరీక్ష మార్కులను కలిగి ఉన్న డేటా ఫ్రేమ్ data.frame() పద్ధతిని ఉపయోగించి సృష్టించబడుతుంది. కింది నిలువు వరుసలు డేటా ఫ్రేమ్‌కు జోడించబడ్డాయి: “విద్యార్థి”, “స్కోర్” మరియు “గ్రేడ్”. గ్రేడ్ పంపిణీ పట్టిక() పద్ధతిని ఉపయోగించి 'గ్రేడ్‌కౌంట్' అనే పట్టికలో సంకలనం చేయబడింది.

అవుట్‌పుట్$ఫలితం <- రెండర్ టేబుల్ ( {

ఉంటే ( ! ఉంది. శూన్య ( సమాచారం ( ) ) ) {

గ్రేడ్‌లు <- కేసు_ఎప్పుడు (

సమాచారం ( ) > 80 ~ 'ఎ' ,

సమాచారం ( ) > 60 ~ 'బి' ,

సమాచారం ( ) > 40 ~ 'సి' ,

సమాచారం ( ) > 30 ~ 'డి' ,

నిజం ~ 'F'

)

సమాచారం. ఫ్రేమ్ ( విద్యార్థి = 1 : పొడవు ( సమాచారం ( ) ) , స్కోర్ = సమాచారం ( ) , గ్రేడ్ = గ్రేడ్‌లు )

}

} )

అవుట్‌పుట్$ఫలితగ్రాఫ్ <- రెండర్‌ప్లాట్ ( {

ఉంటే ( ! ఉంది. శూన్య ( సమాచారం ( ) ) ) {

గ్రేడ్‌లు <- కేసు_ఎప్పుడు (

సమాచారం ( ) > 80 ~ 'ఎ' ,

సమాచారం ( ) > 60 ~ 'బి' ,

సమాచారం ( ) > 40 ~ 'సి' ,

సమాచారం ( ) > 30 ~ 'డి' ,

నిజం ~ 'F'

)

గ్రేడ్‌కౌంట్ <- పట్టిక ( గ్రేడ్‌లు )

బార్ చార్ట్ 'ggplot2' లైబ్రరీని ఉపయోగించి సృష్టించబడింది. డేటాఫ్రేమ్‌లో గణన (ప్రతి గ్రేడ్ పొందిన మొత్తం విద్యార్థుల సంఖ్య) మరియు కాలమ్ గ్రేడ్ సృష్టించబడతాయి. “x-axis”పై “గ్రేడ్” డేటాతో బార్ గ్రాఫ్ మరియు “y-axis”పై “కౌంట్” డేటా geom_bar() పద్ధతిని ఉపయోగించి రూపొందించబడింది. stat = “గుర్తింపు” ఎంపిక ggplot2ని ఎలాంటి పరివర్తన లేకుండా వాస్తవ డేటాను ఉపయోగించమని నిర్దేశిస్తుంది. శీర్షిక, x-axis లేబుల్ మరియు y-axis లేబుల్ అన్నీ “ల్యాబ్‌లు” పద్ధతి ద్వారా జోడించబడతాయి. బార్ యొక్క రంగులు scale_fill_manual() పద్ధతిని ఉపయోగించి కేటాయించబడతాయి. theme_minimal() పద్ధతిని ఉపయోగించి అనవసరమైన గ్రిడ్ లైన్‌లు మరియు ఓవర్‌లే భాగాలు తీసివేయబడతాయి. shinyApp(ui, సర్వర్) పద్ధతి యాప్‌ను రూపొందిస్తుంది.

ggplot ( సమాచారం = సమాచారం. ఫ్రేమ్ ( గ్రేడ్ = పేర్లు ( గ్రేడ్‌కౌంట్ ) , కౌంట్ = వంటి. సంఖ్యాపరమైన ( గ్రేడ్‌కౌంట్ ) ) ,
aes ( x = గ్రేడ్, మరియు = కౌంట్, పూరించండి = గ్రేడ్ ) ) +
geom_bar ( stat = 'గుర్తింపు' ) +
ప్రయోగశాలలు ( శీర్షిక = 'గ్రేడ్ డిస్ట్రిబ్యూషన్' ,
x = 'గ్రేడ్' ,
మరియు = 'లెక్కించు' ) +
స్కేల్_ఫిల్_మాన్యువల్ ( విలువలు = సి ( 'ఎ' = 'ఆకుపచ్చ' , 'బి' = 'ఊదా' , 'సి' = 'గులాబీ' ,
'డి' = 'నారింజ' , 'F' = 'ఎరుపు' ) ) +
థీమ్_కనిష్ట ( )
}
} )
}
shinyApp ( ui, సర్వర్ )

ఈ కోడ్‌ని అమలు చేసిన తర్వాత, మేము ఇంటరాక్టివ్ ఇంటర్‌ఫేస్‌ని పొందాము, అక్కడ మేము కొన్ని మార్కులను జోడించాము మరియు 'లెట్స్ క్యాలిక్యులేట్ గ్రేడ్‌లు' బటన్‌పై క్లిక్ చేసాము.

విద్యార్థి స్కోర్‌లు మరియు గ్రేడ్‌లను కలిగి ఉన్న టేబుల్ ప్రదర్శించబడుతుంది, తర్వాత గ్రేడ్ డిస్ట్రిబ్యూషన్ బార్ గ్రాఫ్ వివిధ రంగులలో ఉంటుంది.

ముగింపు

ఈ గైడ్ RStudio ద్వారా R భాషలో షైనీ ప్యాకేజీ వినియోగం యొక్క ప్రాముఖ్యతను వివరిస్తుంది. మా వివరణకు అనుబంధంగా, మేము 'షైనీ' ప్యాకేజీని ఉపయోగించడం ద్వారా R కోడ్‌లో విద్యార్థుల గ్రేడింగ్ సిస్టమ్ కోసం ఇంటరాక్టివ్ వెబ్ అప్లికేషన్‌ను రూపొందించాము.