Сіз білмейтін 10 пайдалы R мүмкіндіктері

Сіз білмейтін 10 пайдалы R мүмкіндіктері

R әртүрлі функцияларға толы. Төменде мен олардың көпшілігі біле бермейтін ең қызықты онын беремін. Мақала менің жұмысымда пайдаланатын R-дің кейбір мүмкіндіктері туралы әңгімелерімді басқа бағдарламашылар ынтамен қабылдағанын білгеннен кейін пайда болды. Егер сіз бұл туралы бәрін білсеңіз, уақытыңызды жоғалтқаным үшін кешірім сұраймын. Сонымен қатар, егер сізде бөлісетін нәрсе болса, түсініктемелерде пайдалы нәрсені ұсыныңыз.

Skillbox ұсынады: Практикалық курс «Python әзірлеушісі».

Біз еске саламыз: «Хабрдың» барлық оқырмандары үшін - «Habr» жарнамалық кодын пайдаланып кез келген Skillbox курсына жазылу кезінде 10 000 рубль көлемінде жеңілдік.

ауыстыру функциясы

Маған шынымен, шынымен, switch() ұнайды. Шын мәнінде, бұл басқа айнымалының мәніне негізделген мәнді таңдау кезінде if операторының ыңғайлы стенографиясы. Мен мұны, әсіресе, алдыңғы таңдау негізінде деректердің белгілі бір жинағын жүктеуі қажет кодты жазғанда пайдалы деп санаймын. Мысалы, жануар деп аталатын айнымалы болса және жануардың ит, мысық немесе қоян екеніне байланысты белгілі бір деректер жинағын таңдағыңыз келсе, мынаны жазыңыз:

деректер < — read.csv(
ауыстырғыш (жануар,
"dog" = "dogdata.csv",
"мысық" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Бұл мүмкіндік бір немесе бірнеше енгізу мәзірінің элементтеріне байланысты әртүрлі деректер жиындарын немесе орта файлдарын жүктеу қажет Shiny қолданбаларында пайдалы болады.

RStudio үшін жылдам пернелер

Бұл бұзу R үшін емес, RStudio IDE үшін. Дегенмен, жылдам пернелер әрқашан өте ыңғайлы, бұл мәтінді енгізу кезінде уақытты үнемдеуге мүмкіндік береді. Менің таңдаулыларым %>% операторы үшін Ctrl+Shift+M және <- операторы үшін Alt+-.

Барлық жылдам пернелерді көру үшін RStudio бағдарламасында Alt+Shift+K пернелер тіркесімін басыңыз.

flexdashboard пакеті

Жылтыр бақылау тақтасын жылдам іске қосу қажет болғанда, бақылау тақтасы пакетінен жақсы ештеңе жоқ. Ол HTML таңбашаларымен жұмыс істеу мүмкіндігін береді, бұл өз кезегінде бүйірлік тақталарды, жолдар мен бағандарды жасауды оңай және қиындықсыз етеді. Сондай-ақ тақырып жолағын пайдалану мүмкіндігі бар, ол оны қолданбаның әртүрлі беттеріне орналастыруға, белгішелерді, Github-та таңбашаларды, электрондық пошта мекенжайларын және т.б. қалдыруға мүмкіндік береді.

Пакет Rmarkdown шеңберінде жұмыс істеуге мүмкіндік береді, осылайша сіз барлық қолданбаларды бір Rmd файлына орналастыра аласыз және оларды әртүрлі серверлер мен UI файлдарына таратпауға болады, мысалы, shinydashboard көмегімен. Мен күрделі нәрсемен жұмыс жасамас бұрын қарапайым бақылау тақтасының прототипін жасау қажет болғанда flexdashboard пайдаланамын. Бұл мүмкіндік бір сағат ішінде прототипті жасауға мүмкіндік береді.

req және R Shiny ішіндегі функцияларды тексеру

R Shiny бағдарламасында әзірлеу шатастыруы мүмкін, әсіресе не болып жатқанын түсінуді қиындататын оғаш қате туралы хабарларды алуды жалғастыра бергенде. Бірақ уақыт өте Shiny дамып, жетілдіріледі, мұнда қатенің себебін түсінуге мүмкіндік беретін көбірек функциялар пайда болады. Осылайша, req() не болып жатқаны түсініксіз болған кезде мәселені «үнсіз» қатемен шешеді. Ол алдыңғы әрекеттермен байланысты UI элементтерін көрсетуге мүмкіндік береді. Мысалмен түсіндірейік:

output$go_button < — жылтыр::renderUI({

# жануар енгізуі таңдалған болса ғана көрсету түймесі

жылтыр::req(input$animal)

# көрсету түймесі

жарқыраған:: actionButton («өту»,
қою («Жүріс», input$animal, «талдау!»)
)
})

validate() көрсету алдында барлығын тексереді және қате туралы хабарды басып шығару опциясын береді - мысалы, пайдаланушы қате файлды жүктеп салған:

# csv енгізу файлын алыңыз

inFile < — input$file1
деректер < — inFile$datapath

# кестені тек иттер болса ғана көрсету

жылтыр :: renderTable({
# мысықтар немесе қояндар емес, ит файлы екенін тексеріңіз
жылтыр ::тексеру(
need("Ит аты" %in% colnames(деректер)),
«Ит аты» бағаны табылмады — дұрыс файлды жүктедіңіз бе?
)

мәліметтер
})

Барлық осы мүмкіндіктер туралы қосымша ақпарат мына жерден табуға болады.

Жүйе ортасында өзіңіз үшін тіркелгі деректерін сақтау

Тіркелгі деректерін енгізуді талап ететін кодты ортақ пайдалануды жоспарласаңыз, Github немесе басқа қызметте өзіңіздің тіркелгі деректеріңізді орналастырудан аулақ болу үшін жүйе ортасын пайдаланыңыз. Мысал орналастыру:

Sys.setenv(
DSN = "деректер қорының_аты",
UID = «Пайдаланушы идентификаторы»,
PASS = «Пароль»
)

Енді сіз ортаның айнымалы мәндерін пайдаланып жүйеге кіре аласыз:

db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv («DSN»),
uid = Sys.getenv («UID»),
pwd = Sys.getenv("PASS")
)

Операциялық жүйеде оларды орта айнымалы мәндері ретінде орнату одан да ыңғайлы (әсіресе деректерді жиі пайдалансаңыз). Бұл жағдайда олар әрқашан қол жетімді болады және оларды кодта көрсетудің қажеті жоқ.

Стайлер көмегімен ретке келтіруді автоматтандырыңыз

Стильдер бумасы кодты тазалауға көмектесе алады; оның код стилін автоматты түрде жинақылыққа әкелетін көптеген нұсқалары бар. Сізге тек проблемалық сценарийде styler::style_file() іске қосу қажет. Пакет тәртіпті қалпына келтіру үшін көп нәрсе жасайды (бірақ бәрі емес).

R Markdown құжаттарын параметрлеу

Сонымен, сіз иттер туралы әртүрлі фактілерді талдайтын тамаша R Markdown құжатын жасадыңыз. Содан кейін сізге дәл осындай жұмысты тек мысықтармен жасаған дұрыс болар еді деген ой келеді. Мәселе жоқ, сіз тек бір пәрмен арқылы мысық есептерін жасауды автоматтандыруға болады. Бұл әрекетті орындау үшін сізге тек R белгілеу құжатын параметрлеу қажет.

Мұны көрсетілген құжаттағы YAML тақырыбының параметрлерін орнату, содан кейін мән параметрлерін орнату арқылы жасауға болады.

- тақырыбы: «Жануарларды талдау»
авторы: «Кит МакНалти»
күні: 21 наурыз 2019 ж.
шығу:
html_құжат:
code_folding: "жасыру"
параметрлері:
жануардың_аты:
құндылығы: ит
таңдау:
-Ит
— мысық
- Үй қоян
оқу_жылдары:
енгізу: жүгірткі
мин: 2000
максимум: 2019
қадам: 1
дөңгелек: 1
қыркүйек: «
мәні: [2010, 2017] —

Енді құжат кодындағы барлық айнымалы мәндерді params$animal_name және params$years_of_study ретінде тіркей аласыз. Содан кейін біз Knit ашылмалы мәзірін (немесе knit_with_parameters()) қолданамыз және параметрлерді таңдай аламыз.

Сіз білмейтін 10 пайдалы R мүмкіндіктері

openjs

discoverjs — кірістірілген R коды, интуитивті навигация және слайд мәзірлері бар тамаша HTML презентацияларын жасауға мүмкіндік беретін бума. HTML таңбашалары әр түрлі стильдеу опциялары бар кірістірілген слайд құрылымын жылдам жасауға мүмкіндік береді. HTML кез келген құрылғыда жұмыс істейді, сондықтан презентацияны әрбір телефонда, планшетте немесе ноутбукте ашуға болады. Ақпаратты ашуды буманы орнату және оны YAML тақырыбына шақыру арқылы конфигурациялауға болады. Міне, мысал:

— тақырыбы: «Адамдардың аналитикасы әлемінің шеттерін шығару»
авторы: «Кит МакНалти»
шығу:
showjs::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
-

Презентацияның бастапқы коды осында жарияланған, және өзіrpubs.com/keithmcnulty/hr_meetup_london'>презентация - осында.

Сіз білмейтін 10 пайдалы R мүмкіндіктері

R Shiny тіліндегі HTML тегтері

Көптеген бағдарламашылар R Shiny бар HTML тегтерін толық пайдаланбайды. Бірақ бұл HTML функциясы немесе медиа ойнату үшін қысқаша қоңырау жасауға мүмкіндік беретін тек 110 тег. Мысалы, мен жақында «жеңіс» дыбысын ойнату үшін tags$audio-ны қолдандым, ол тапсырма орындалған кезде пайдаланушыны ескертеді.

Пакет мақтауы

Бұл пакетті пайдалану өте қарапайым, бірақ ол пайдаланушыға мақтау көрсету үшін қажет. Бұл біртүрлі болып көрінеді, бірақ бұл оларға ұнайды.

Сіз білмейтін 10 пайдалы R мүмкіндіктері

Skillbox ұсынады:

Ақпарат көзі: www.habr.com

пікір қалдыру