Сиз билбеген 10 пайдалуу R өзгөчөлүктөрү

Сиз билбеген 10 пайдалуу R өзгөчөлүктөрү

R ар кандай функцияларга толгон. Төмөндө мен алардын эң кызыктуу онун берем, алар жөнүндө көптөр билбеши мүмкүн. Макала менин жумушумда колдонгон Rдин кээ бир өзгөчөлүктөрү тууралуу аңгемелеримди башка программисттер шыктануу менен кабыл алганын билгенден кийин пайда болду. Эгер сиз бул тууралуу баарын билсеңиз, анда убактыңызды текке кетиргеним үчүн кечирим сурайм. Ошол эле учурда, бөлүшө турган нерсеңиз болсо, комментарийлерде пайдалуу нерсени сунуштаңыз.

Skillbox сунуштайт: Практикалык курс "Python иштеп чыгуучусу".

Биз эсиңизге салабыз: "Хабрдын" бардык окурмандары үчүн - "Habr" промо-кодун колдонуу менен каалаган Skillbox курсуна катталганда 10 000 рубль арзандатуу.

которуштуруу функциясы

Мага switch() абдан жагат. Чынында, бул башка өзгөрмөнүн маанисине негизделген маанини тандоодо if операторунун ыңгайлуу стенографиясы. Мурунку тандоонун негизинде белгилүү бир маалымат топтомун жүктөй турган кодду жазып жатканда мен муну өзгөчө пайдалуу деп эсептейм. Мисалы, сизде жаныбар аттуу өзгөрмө болсо жана сиз жаныбарлардын ит, мышык же коён экендигине жараша белгилүү бир маалымат топтомун тандагыңыз келсе, муну жазыңыз:

data < — read.csv(
которуу (жаныбар,
"dog" = "dogdata.csv",
"мышык" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Бул функция Shiny тиркемелеринде пайдалуу болот, анда бир же бир нече киргизүү менюсуна жараша ар кандай маалымат топтомдорун же чөйрө файлдарын жүктөшүңүз керек.

RStudio үчүн ысык баскычтар

Бул бузукулук R үчүн эмес, RStudio IDE үчүн. Бирок, тез баскычтар текстти киргизүүдө убакытты үнөмдөөгө мүмкүндүк берүүчү ар дайым абдан ыңгайлуу. Менин сүйүктүүлөрүм %>% оператору үчүн Ctrl+Shift+M жана <- оператору үчүн Alt+-.

Бардык ысык баскычтарды көрүү үчүн, жөн гана RStudio'до Alt+Shift+K баскычтарын басыңыз.

flexdashboard пакети

Сиз Shiny панелиңизди тез ишке киргизишиңиз керек болгондо, панелдин пакетинен артык эч нерсе жок. Ал HTML жарлыктары менен иштөө мүмкүнчүлүгүн берет, бул өз кезегинде каптал тилкелерин, саптарды жана мамычаларды түзүүнү оңой жана кыйынчылыксыз кылат. Титул тилкесин колдонуу мүмкүнчүлүгү да бар, аны тиркеменин ар кандай барактарына жайгаштырууга, иконаларды, Githubда жарлыктарды, электрондук почта даректерин жана башка көптөгөн нерселерди калтырууга мүмкүндүк берет.

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

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

R Shinyде иштеп чыгуу башаламан болушу мүмкүн, айрыкча эмне болуп жатканын түшүнүүнү кыйындаткан кызыктай ката билдирүүлөрүн ала бергенде. Бирок убакыттын өтүшү менен Shiny өнүгүп, жакшырып баратат, бул жерде катанын себебин түшүнүүгө мүмкүндүк берген көбүрөөк функциялар пайда болот. Ошентип, req() эмне болуп жатканы түшүнүксүз болгондо, маселени "унчукпай" ката менен чечет. Ал мурунку аракеттер менен байланышкан UI элементтерин көрсөтүүгө мүмкүндүк берет. Мисал менен түшүндүрүп берели:

output$go_button < — shiny::renderUI({

# Эгерде жаныбарлардын киргизүүсү тандалган болсо гана дисплей баскычы

shiny::req(input$animal)

# дисплей баскычы

shiny::actionButton("go",
paste("Жүргүзүү", input$animal, "анализ!")
)
})

validate() көрсөтүүдөн мурун баарын текшерет жана ката билдирүүсүн басып чыгаруу мүмкүнчүлүгүн берет - мисалы, колдонуучу туура эмес файл жүктөгөн:

# csv киргизүү файлын алуу

inFile < — input$file1
data < — inFile$datapath

# таблицаны иттер болсо гана көрсөтүү

жаркыраган::renderTable({
# бул ит файлы экенин текшериңиз, мышык же коён эмес
жаркыраган :: ырастоо(
need("Иттин аты" %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::style_file() иштетүү керек. Пакет тартипти калыбына келтирүү үчүн көп нерсе кылат (бирок баарын эмес).

R Markdown документтерин параметрлештирүү

Ошентип, сиз R Markdown сонун документин түздүңүз, анда иттер тууралуу ар кандай фактыларды талдап жатасыз. Анан ошол эле жумушту мышыктар менен гана кылса жакшы болмок деген ой келет. Эч кандай көйгөй жок, сиз бир гана буйрук менен мышык отчетторун түзүүнү автоматташтыра аласыз. Бул үчүн, сиз R markdown документиңизди жөн гана параметрлештириңиз.

Сиз муну көрсөтүлгөн документте YAML башынын параметрлерин коюп, андан кийин маани параметрлерин коюу менен жасай аласыз.

- аталышы: "Жаныбарлардын анализи"
автор: "Кит МакНалти"
дата: "21-март 2019-жыл"
чыгаруу:
html_document:
code_folding: "жашыруу"
параметрлер:
жаныбардын_аты:
баалуулугу: Dog
тандоолор:
— Ит
— Мышык
— Коён
окуу_жылдары:
киргизүү: сыдырма
мин: 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 башына чакыруу аркылуу конфигурациялоого болот. Бул жерде бир мисал:

- аталышы: "Элдик аналитика ааламынын четин экспотациялоо"
автор: "Кит МакНалти"
чыгаруу:
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
-

Презентациянын баштапкы коду бул жерде жайгаштырылган, жана өзүrpubs.com/keithmcnulty/hr_meetup_london'>презентация - бул жерде.

Сиз билбеген 10 пайдалуу R өзгөчөлүктөрү

R Shinyдеги HTML тегдери

Көпчүлүк программисттер R Shiny ээ болгон HTML тэгдерин толук колдонушпайт. Бирок бул болгону 110 тег, алар HTML функциясы же медиа ойнотуу үчүн кыска чалуу түзүүгө мүмкүндүк берет. Мисалы, мен жакында tags$audio колдонуп, тапшырма аткарылганда колдонуучуга эскерткен "жеңиш" үнүн чыгардым.

Мактоо пакети

Бул пакетти колдонуу абдан жөнөкөй, бирок ал колдонуучуга мактоо көрсөтүү үчүн керек. Кызыктай сезилет, бирок чындыгында аларга жагат.

Сиз билбеген 10 пайдалуу R өзгөчөлүктөрү

Skillbox сунуштайт:

Source: www.habr.com

Комментарий кошуу