
R-ն լի է մի շարք գործառույթներով: Ստորև կներկայացնեմ դրանցից ամենահետաքրքիրներից տասը, որոնց մասին գուցե շատերը չգիտեն։ Հոդվածը հայտնվեց այն բանից հետո, երբ ես հայտնաբերեցի, որ R-ի որոշ առանձնահատկությունների մասին իմ պատմությունները, որոնք ես օգտագործում եմ իմ աշխատանքում, ոգևորությամբ ընդունվեցին գործընկեր ծրագրավորողների կողմից: Եթե դուք արդեն ամեն ինչ գիտեք այս մասին, ապա ներողություն եմ խնդրում ձեր ժամանակը վատնելու համար: Միևնույն ժամանակ, եթե կիսվելու բան ունեք, մեկնաբանություններում խորհուրդ տվեք որևէ օգտակար բան։
Skillbox-ը խորհուրդ է տալիս. Գործնական դասընթաց .
Հիշեցում. «Habr»-ի բոլոր ընթերցողների համար՝ 10 ռուբլի զեղչ «Habr» գովազդային կոդով Skillbox-ի ցանկացած դասընթացին գրանցվելիս:
անջատիչ գործառույթը
Ես իսկապես սիրում եմ switch(). Իրականում, այն հարմար սղագրություն է if դրույթի համար՝ մեկ այլ փոփոխականի արժեքի հիման վրա արժեք ընտրելիս։ Ես գտնում եմ, որ սա հատկապես օգտակար է, երբ ես գրում եմ կոդ, որը պետք է բեռնի տվյալների որոշակի հավաքածու՝ հիմնված նախորդ ընտրության վրա: Օրինակ, եթե դուք ունեք կենդանի անունով փոփոխական և ցանկանում եք ընտրել տվյալների որոշակի հավաքածու՝ կախված նրանից, թե կենդանին շուն է, կատու կամ նապաստակ, գրեք սա.
տվյալների < — read.csv(
անջատիչ (կենդանի,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)
Այս հատկությունը օգտակար կլինի Shiny հավելվածներում, որտեղ դուք պետք է բեռնեք տարբեր տվյալների հավաքածուներ կամ միջավայրի ֆայլեր՝ կախված մեկ կամ մի քանի մուտքային ընտրացանկի տարրերից:
Թեժ ստեղներ RStudio-ի համար
Այս հաքը ոչ այնքան R-ի, որքան RStudio IDE-ի համար է: Այնուամենայնիվ, տաք ստեղները միշտ շատ հարմար են, ինչը թույլ է տալիս խնայել ժամանակ տեքստ մուտքագրելիս: Իմ սիրելիներն են Ctrl+Shift+M %>% օպերատորի համար և Alt+-՝ <- օպերատորի համար։
Բոլոր թեժ ստեղները դիտելու համար պարզապես սեղմեք Alt+Shift+K RStudio-ում:
flexdashboard փաթեթ
Երբ դուք պետք է արագ գործարկեք ձեր Shiny վահանակը, ավելի լավ բան չկա, քան վահանակի փաթեթը: Այն ապահովում է HTML դյուրանցումների հետ աշխատելու հնարավորություն, որն իր հերթին հեշտացնում է կողագոտիների, տողերի և սյունակների ստեղծումը: Կա նաև վերնագրի տող օգտագործելու հնարավորություն, որը թույլ է տալիս տեղադրել այն հավելվածի տարբեր էջերում, թողնել պատկերակներ, դյուրանցումներ Github-ում, էլփոստի հասցեներ և շատ ավելին։
Փաթեթը թույլ է տալիս աշխատել Rmarkdown-ի շրջանակներում, այնպես որ կարող եք տեղադրել բոլոր հավելվածները մեկ Rmd ֆայլում և չտարածել դրանք տարբեր սերվերների և UI ֆայլերի վրա, ինչպես արվում է, օրինակ՝ օգտագործելով shinydashboard: Ես օգտագործում եմ flexdashboard-ը, երբ անհրաժեշտ է ստեղծել պարզ վահանակի նախատիպ, նախքան ինչ-որ բարդ բանի վրա աշխատելը: Այս հատկությունը թույլ է տալիս մեկ ժամվա ընթացքում ստեղծել նախատիպ:
req և վավերացնել գործառույթները R Shiny-ում
R Shiny-ում զարգացումը կարող է շփոթեցնող լինել, հատկապես, երբ դուք անընդհատ ստանում եք տարօրինակ սխալի հաղորդագրություններ, որոնք դժվարացնում են հասկանալ, թե ինչ է կատարվում: Բայց ժամանակի ընթացքում Shiny-ը զարգանում և բարելավվում է, այստեղ ավելի ու ավելի շատ գործառույթներ են հայտնվում, որոնք թույլ են տալիս հասկանալ սխալի պատճառը: Այսպիսով, req() խնդիրը լուծում է «լուռ» սխալով, երբ ընդհանուր առմամբ պարզ չէ, թե ինչ է կատարվում: Այն թույլ է տալիս ցուցադրել UI տարրեր՝ կապված նախորդ գործողությունների հետ: Բացատրենք օրինակով.
output$go_button < — փայլուն::renderUI({
# ցուցադրել միայն կոճակը, եթե ընտրված է կենդանու մուտքագրում
փայլուն::req(մուտք $կենդանի)
# ցուցադրման կոճակ
փայլուն::actionButton("go",
paste («Վարվել», մուտք $animal, «վերլուծություն»)
)
})
validate()-ը ստուգում է ամեն ինչ նախքան ցուցադրումը և հնարավորություն է տալիս տպել սխալի հաղորդագրություն, օրինակ, որ օգտատերը սխալ ֆայլ է վերբեռնել.
# ստանալ csv մուտքագրման ֆայլ
inFile < — input$file1
տվյալների < — inFile$datapath
# մատուցեք աղյուսակը միայն այն դեպքում, եթե դա շներ է
փայլուն::renderTable({
# ստուգեք, որ դա շան ֆայլն է, ոչ թե կատուներ կամ նապաստակներ
փայլուն::validate(
կարիք («Շան անուն» %in% colnames(տվյալներ)),
«Շան անուն սյունակը չի գտնվել. դուք ճիշտ ֆայլը բեռնե՞լ եք»:
)
տվյալներ
})
Լրացուցիչ տեղեկություններ այս բոլոր հատկանիշների մասին .
Պահպանելով ձեր հավատարմագրերը ձեզ համար համակարգի միջավայրում
Եթե նախատեսում եք համօգտագործել կոդը, որը պահանջում է մուտքագրել հավատարմագրերը, օգտագործեք համակարգի միջավայրը, որպեսզի խուսափեք ձեր սեփական հավատարմագրերը Github-ում կամ այլ ծառայության վրա հոսթինգից: Տեղադրման օրինակ.
Sys.setenv(
DSN = «տվյալների բազայի անունը»,
UID = «Օգտվողի ID»,
PASS = «Գաղտնաբառ»
)
Այժմ դուք կարող եք մուտք գործել՝ օգտագործելով շրջակա միջավայրի փոփոխականները.
db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv («DSN»),
uid = Sys.getenv («UID»),
pwd = Sys.getenv («ԱՆՑՆԵԼ»)
)
Նույնիսկ ավելի հարմար է (հատկապես, եթե դուք հաճախ եք օգտագործում տվյալները) դրանք սահմանել որպես միջավայրի փոփոխականներ անմիջապես օպերացիոն համակարգում: Այս դեպքում դրանք միշտ հասանելի կլինեն, և դուք ստիպված չեք լինի դրանք նշել կոդում:
Ավտոմատացրեք կոկիկությունը ոճավորող սարքով
Styler փաթեթը կարող է օգնել ձեզ մաքրել ձեր կոդը, այն ունի բազմաթիվ տարբերակներ՝ կոդերի ոճը կոկիկ դարձնելու համար: Ձեզ անհրաժեշտ է ընդամենը գործարկել styler::style_file()-ը ձեր խնդրահարույց սկրիպտի վրա: Փաթեթը շատ բան կանի (բայց ոչ ամեն ինչ) կարգուկանոնը վերականգնելու համար։
R Markdown փաստաթղթերի պարամետրավորում
Այսպիսով, դուք ստեղծել եք հիանալի R Markdown փաստաթուղթ, որտեղ վերլուծում եք շների մասին տարբեր փաստեր: Եվ հետո մտքովդ անցնում է, որ ավելի լավ է նույն գործն անել, բայց միայն կատուների հետ։ Խնդիր չկա, դուք կարող եք ավտոմատացնել կատուների հաշվետվությունների ստեղծումը միայն մեկ հրամանով: Դա անելու համար անհրաժեշտ է միայն պարամետրիզացնել ձեր R նշագրման փաստաթուղթը:
Դուք կարող եք դա անել՝ նշված փաստաթղթում YAML վերնագրի համար պարամետրեր սահմանելով, այնուհետև արժեքի պարամետրերը սահմանելով:
— վերնագիր՝ «Կենդանիների վերլուծություն»
հեղինակ՝ «Քիթ ՄաքՆալթի»
ամսաթիվ՝ «21 մարտի 2019 թ.
արդյունք:
html_document:
code_folding: «թաքցնել»
պարամետրեր:
կենդանու_անունը:
արժեքը՝ շուն
ընտրություններ:
- Շուն
-Կատու
- Նապաստակ
տարիներ_ուսումնառություն:
մուտքագրում՝ սահիկ
րոպե՝ 2000
առավելագույնը: 2019
քայլ: 1
փուլ: 1
սեպտ.
value: [2010, 2017]
-
Այժմ դուք կարող եք գրանցել բոլոր փոփոխականները փաստաթղթի կոդում՝ որպես params$animal_name և params$years_of_study: Այնուհետև մենք կօգտագործենք Knit բացվող ընտրացանկը (կամ knit_with_parameters()) և կկարողանանք ընտրել պարամետրերը:

բացահայտումներ
discoverjs-ը փաթեթ է, որը թույլ է տալիս ստեղծել հիանալի HTML ներկայացումներ ներկառուցված R կոդով, ինտուիտիվ նավիգացիայի և սլայդների ընտրացանկերի միջոցով: HTML դյուրանցումները թույլ են տալիս արագ ստեղծել սլայդների ներդիր կառուցվածք՝ տարբեր ոճավորման տարբերակներով: Դե, HTML-ը կաշխատի ցանկացած սարքի վրա, այնպես որ շնորհանդեսը կարող է բացվել յուրաքանչյուր հեռախոսի, պլանշետի կամ նոութբուքի վրա: Տեղեկատվության բացահայտումը կարող է կազմաձևվել՝ փաթեթը տեղադրելով և այն զանգահարելով YAML վերնագրում: Ահա մի օրինակ.
— վերնագիր՝ «Edge of the Edge of the People Analytics Universe»
հեղինակ՝ «Քիթ ՄաքՆալթի»
արդյունք:
discoverjs::revealjs_presentation:
կենտրոն՝ այո
կաղապար:starwars.html
թեմա՝ սև
ամսաթիվ՝ «HR Analytics Meetup London – 18 մարտի, 2019 թ.»
ռեսուրս_ֆայլեր:
— darth.png
- deathstar.png
- hanchewy.png
- millennium.png
- r2d2-threepio.png
-starwars.html
— starwars.png
—stormtrooper.png
-
Ներկայացման սկզբնական կոդը , և ինքն իրեն'>ներկայացում - այստեղ:

HTML պիտակներ R Shiny-ում
Ծրագրավորողների մեծամասնությունը լիովին չի օգտվում R Shiny-ի HTML թեգերից: Բայց սրանք ընդամենը 110 պիտակներ են, որոնք հնարավորություն են տալիս կարճ զանգ ստեղծել HTML ֆունկցիայի կամ մեդիա նվագարկման համար: Օրինակ, ես վերջերս օգտագործել եմ tags$audio «հաղթական» ձայնը նվագարկելու համար, որը զգուշացնում էր օգտվողին, երբ առաջադրանքն ավարտված էր:
Գովեստի փաթեթ
Այս փաթեթից օգտվելը շատ պարզ է, բայց անհրաժեշտ է օգտատիրոջը գովասանք ցուցադրելու համար: Տարօրինակ է թվում, բայց իրականում դա նրանց դուր է գալիս:

Skillbox-ը խորհուրդ է տալիս.
- Երկու տարվա գործնական դասընթաց .
- Առցանց դասընթաց .
- Գործնական տարվա դասընթաց .
Source: www.habr.com
