R అనేక రకాల విధులతో నిండి ఉంది. క్రింద నేను వాటిలో చాలా ఆసక్తికరమైన పది ఇస్తాను, వాటి గురించి చాలా మందికి తెలియదు. నా పనిలో నేను ఉపయోగించే R యొక్క కొన్ని లక్షణాల గురించి నా కథనాలను తోటి ప్రోగ్రామర్లు ఉత్సాహంగా స్వీకరించారని నేను కనుగొన్న తర్వాత కథనం కనిపించింది. దీని గురించి మీకు ఇప్పటికే తెలిసి ఉంటే, మీ సమయాన్ని వృధా చేసినందుకు నేను క్షమాపణలు కోరుతున్నాను. అదే సమయంలో, మీరు భాగస్వామ్యం చేయడానికి ఏదైనా కలిగి ఉంటే, వ్యాఖ్యలలో ఉపయోగకరమైన వాటిని సిఫార్సు చేయండి.
Skillbox సిఫార్సు చేస్తోంది: ప్రాక్టికల్ కోర్సు "పైథాన్ డెవలపర్".
మేము గుర్తు చేస్తున్నాము:Habr పాఠకులందరికీ - Habr ప్రోమో కోడ్ని ఉపయోగించి ఏదైనా Skillbox కోర్సులో నమోదు చేసుకున్నప్పుడు 10 రూబుల్ తగ్గింపు.
స్విచ్ ఫంక్షన్
నాకు నిజంగా స్విచ్() అంటే చాలా ఇష్టం. వాస్తవానికి, మరొక వేరియబుల్ విలువ ఆధారంగా విలువను ఎంచుకున్నప్పుడు if స్టేట్మెంట్ కోసం ఇది అనుకూలమైన సంక్షిప్తలిపి. నేను మునుపటి ఎంపిక ఆధారంగా నిర్దిష్ట డేటా సెట్ను లోడ్ చేయాల్సిన కోడ్ని వ్రాస్తున్నప్పుడు ఇది చాలా ఉపయోగకరంగా ఉంటుంది. ఉదాహరణకు, మీరు జంతువు అనే వేరియబుల్ కలిగి ఉంటే మరియు జంతువు కుక్క, పిల్లి లేదా కుందేలు అనే దానిపై ఆధారపడి నిర్దిష్ట డేటా సెట్ను ఎంచుకోవాలనుకుంటే, దీన్ని వ్రాయండి:
మీరు ఒకటి లేదా అంతకంటే ఎక్కువ ఇన్పుట్ మెను ఐటెమ్లను బట్టి విభిన్న డేటా సెట్లు లేదా ఎన్విరాన్మెంట్ ఫైల్లను లోడ్ చేయాల్సిన షైనీ అప్లికేషన్లలో ఈ ఫీచర్ ఉపయోగకరంగా ఉంటుంది.
RStudio కోసం హాట్కీలు
ఈ హ్యాక్ R కోసం కాదు, RStudio IDE కోసం. అయినప్పటికీ, హాట్కీలు ఎల్లప్పుడూ చాలా సౌకర్యవంతంగా ఉంటాయి, వచనాన్ని నమోదు చేసేటప్పుడు సమయాన్ని ఆదా చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. నాకు ఇష్టమైనవి %>% ఆపరేటర్కి Ctrl+Shift+M మరియు <- ఆపరేటర్కి Alt+-.
అన్ని హాట్కీలను వీక్షించడానికి, RStudioలో Alt+Shift+K నొక్కండి.
flexdashboard ప్యాకేజీ
మీరు మీ షైనీ డ్యాష్బోర్డ్ను త్వరగా ప్రారంభించాల్సిన అవసరం వచ్చినప్పుడు, డాష్బోర్డ్ ప్యాకేజీ కంటే మెరుగైనది ఏదీ లేదు. ఇది HTML షార్ట్కట్లతో పని చేసే సామర్థ్యాన్ని అందిస్తుంది, ఇది సైడ్బార్లు, అడ్డు వరుసలు మరియు నిలువు వరుసలను సృష్టించడం సులభం మరియు అవాంతరాలు లేకుండా చేస్తుంది. టైటిల్ బార్ను ఉపయోగించగల సామర్థ్యం కూడా ఉంది, ఇది అప్లికేషన్లోని వివిధ పేజీలలో ఉంచడానికి, చిహ్నాలను వదిలివేయడానికి, Githubలో సత్వరమార్గాలు, ఇమెయిల్ చిరునామాలు మరియు మరెన్నో చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
ప్యాకేజీ మిమ్మల్ని Rmarkdown ఫ్రేమ్వర్క్లో పని చేయడానికి అనుమతిస్తుంది, కాబట్టి మీరు అన్ని అప్లికేషన్లను ఒకే Rmd ఫైల్లో ఉంచవచ్చు మరియు వాటిని వివిధ సర్వర్లు మరియు UI ఫైల్లలో పంపిణీ చేయలేరు, ఉదాహరణకు, shinydashboard ఉపయోగించి. సంక్లిష్టమైన వాటిపై పని చేయడానికి ముందు నేను సాధారణ డాష్బోర్డ్ నమూనాను సృష్టించాల్సిన అవసరం వచ్చినప్పుడు నేను ఫ్లెక్స్డ్యాష్బోర్డ్ని ఉపయోగిస్తాను. ఈ ఫీచర్ ఒక గంటలోపు ప్రోటోటైప్ను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది.
R షైనీలో విధులను req మరియు ధృవీకరించండి
R షైనీలో డెవలప్ చేయడం గందరగోళంగా ఉంటుంది, ప్రత్యేకించి మీరు ఏమి జరుగుతుందో అర్థం చేసుకోవడం కష్టతరం చేసే వింత ఎర్రర్ సందేశాలను పొందుతున్నప్పుడు. కానీ కాలక్రమేణా, షైనీ అభివృద్ధి చెందుతుంది మరియు మెరుగుపరుస్తుంది, లోపం యొక్క కారణాన్ని అర్థం చేసుకోవడానికి మిమ్మల్ని అనుమతించే మరిన్ని విధులు ఇక్కడ కనిపిస్తాయి. కాబట్టి, సాధారణంగా ఏమి జరుగుతుందో స్పష్టంగా తెలియనప్పుడు, req() "నిశ్శబ్ద" లోపంతో సమస్యను పరిష్కరిస్తుంది. ఇది మునుపటి చర్యలతో అనుబంధించబడిన UI మూలకాలను ప్రదర్శించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఒక ఉదాహరణతో వివరిస్తాము:
output$go_button < — shiny::renderUI({
# జంతు ఇన్పుట్ ఎంపిక చేయబడితే మాత్రమే ప్రదర్శన బటన్
Validate() రెండరింగ్ చేయడానికి ముందు ప్రతిదానిని తనిఖీ చేస్తుంది మరియు దోష సందేశాన్ని ప్రింట్ చేయడానికి మీకు ఎంపికను ఇస్తుంది - ఉదాహరణకు, వినియోగదారు తప్పు ఫైల్ను అప్లోడ్ చేసారు:
# csv ఇన్పుట్ ఫైల్ను పొందండి
inFile < — input$file1
డేటా < — ఇన్ఫైల్$డేటాపాత్
# రెండర్ టేబుల్ అది కుక్కలైతే మాత్రమే
మెరిసే::రెండర్ టేబుల్({
# ఇది కుక్క ఫైల్ అని తనిఖీ చేయండి, పిల్లులు లేదా కుందేళ్ళు కాదు
మెరిసే:: చెల్లుబాటు(
అవసరం("డాగ్ నేమ్" % in% colnames(డేటా)),
"కుక్క పేరు కాలమ్ కనుగొనబడలేదు - మీరు సరైన ఫైల్ను లోడ్ చేసారా?"
)
సిస్టమ్ వాతావరణంలో మీ కోసం మీ ఆధారాలను నిల్వ చేసుకోవడం
మీరు ఆధారాలను నమోదు చేయాల్సిన కోడ్ను షేర్ చేయాలని ప్లాన్ చేస్తే, Github లేదా మరొక సేవలో మీ స్వంత ఆధారాలను హోస్ట్ చేయకుండా ఉండటానికి సిస్టమ్ వాతావరణాన్ని ఉపయోగించండి. ఉదాహరణ ప్లేస్మెంట్:
వాటిని నేరుగా ఆపరేటింగ్ సిస్టమ్లో ఎన్విరాన్మెంట్ వేరియబుల్స్గా సెట్ చేయడం మరింత సౌకర్యవంతంగా ఉంటుంది (ముఖ్యంగా మీరు డేటాను తరచుగా ఉపయోగిస్తుంటే). ఈ సందర్భంలో, అవి ఎల్లప్పుడూ అందుబాటులో ఉంటాయి మరియు మీరు వాటిని కోడ్లో పేర్కొనవలసిన అవసరం లేదు.
స్టైలర్తో టైడ్వర్స్ని ఆటోమేట్ చేయండి
స్టైలర్ ప్యాకేజీ మీ కోడ్ను క్లీన్ చేయడంలో మీకు సహాయపడుతుంది; ఇది స్వయంచాలకంగా కోడ్ శైలిని చక్కగా మార్చడానికి అనేక ఎంపికలను కలిగి ఉంది. మీరు చేయాల్సిందల్లా మీ సమస్యాత్మక స్క్రిప్ట్లో styler::style_file()ని అమలు చేయడం. ఆర్డర్ పునరుద్ధరించడానికి ప్యాకేజీ చాలా చేస్తుంది (కానీ ప్రతిదీ కాదు).
R మార్క్డౌన్ పత్రాలను పారామిటరైజింగ్ చేయడం
కాబట్టి మీరు కుక్కల గురించి వివిధ వాస్తవాలను విశ్లేషించే గొప్ప R మార్క్డౌన్ పత్రాన్ని సృష్టించారు. ఆపై అదే పనిని పిల్లులతో మాత్రమే చేయడం మంచిదని మీకు అనిపిస్తుంది. ఫర్వాలేదు, మీరు కేవలం ఒక కమాండ్తో పిల్లి నివేదికల సృష్టిని ఆటోమేట్ చేయవచ్చు. దీన్ని చేయడానికి, మీరు మీ R మార్క్డౌన్ డాక్యుమెంట్ని మాత్రమే పారామీటర్ చేయాలి.
మీరు పేర్కొన్న డాక్యుమెంట్లో YAML హెడర్ కోసం పారామితులను సెట్ చేసి, ఆపై విలువ పారామితులను సెట్ చేయడం ద్వారా దీన్ని చేయవచ్చు.
ఇప్పుడు మీరు డాక్యుమెంట్ కోడ్లోని అన్ని వేరియబుల్స్ను params$animal_name మరియు params$years_of_studyగా నమోదు చేసుకోవచ్చు. అప్పుడు మేము Knit డ్రాప్డౌన్ మెనుని ఉపయోగిస్తాము (లేదా knit_with_parameters()) మరియు పారామితులను ఎంచుకోగలుగుతాము.
వెల్లడిస్తుంది
revealjs అనేది అంతర్నిర్మిత R కోడ్, సహజమైన నావిగేషన్ మరియు స్లయిడ్ మెనులతో గొప్ప HTML ప్రెజెంటేషన్లను సృష్టించడానికి మిమ్మల్ని అనుమతించే ప్యాకేజీ. HTML షార్ట్కట్లు విభిన్న స్టైలింగ్ ఎంపికలతో సమూహ స్లయిడ్ నిర్మాణాన్ని త్వరగా సృష్టించడానికి మిమ్మల్ని అనుమతిస్తాయి. సరే, HTML ఏదైనా పరికరంలో రన్ అవుతుంది, కాబట్టి ప్రతి ఫోన్, టాబ్లెట్ లేదా ల్యాప్టాప్లో ప్రెజెంటేషన్ తెరవబడుతుంది. ప్యాకేజీని ఇన్స్టాల్ చేసి, YAML హెడర్లో కాల్ చేయడం ద్వారా సమాచార బహిర్గతం కాన్ఫిగర్ చేయబడుతుంది. ఇక్కడ ఒక ఉదాహరణ:
చాలా మంది ప్రోగ్రామర్లు R Shiny కలిగి ఉన్న HTML ట్యాగ్ల యొక్క పూర్తి ప్రయోజనాన్ని పొందరు. కానీ ఇవి 110 ట్యాగ్లు మాత్రమే, ఇవి HTML ఫంక్షన్ లేదా మీడియా ప్లేబ్యాక్ కోసం చిన్న కాల్ని సృష్టించడం సాధ్యం చేస్తాయి. ఉదాహరణకు, టాస్క్ పూర్తయినప్పుడు వినియోగదారుని అప్రమత్తం చేసే "విక్టరీ" సౌండ్ని ప్లే చేయడానికి నేను ఇటీవల ట్యాగ్లు$ఆడియోని ఉపయోగించాను.
ప్యాకేజీని ప్రశంసించండి
ఈ ప్యాకేజీని ఉపయోగించడం చాలా సులభం, కానీ వినియోగదారుకు ప్రశంసలను ప్రదర్శించడానికి ఇది అవసరం. ఇది వింతగా అనిపిస్తుంది, కానీ వారు నిజంగా ఇష్టపడతారు.