10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ R, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ

10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ R, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ

Π’ R ΠΏΠΎΠ»Π½Ρ‹ΠΌ-ΠΏΠΎΠ»Π½ΠΎ самых Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НиТС я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Π΄Π΅ΡΡΡ‚ΡŒ самых интСрСсных ΠΈΠ· Π½ΠΈΡ…, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ. Π‘Ρ‚Π°Ρ‚ΡŒΡ появилась послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΈ рассказы ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… возмоТностях R, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, восторТСнно Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ программистами. Если Π²Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± этом всё, Ρ‚ΠΎ ΠΏΡ€ΠΎΡˆΡƒ прощСния Π·Π° ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ссли Π΅ΡΡ‚ΡŒ Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ β€” посовСтуйтС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π² коммСнтариях.

Skillbox Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚: ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс Β«Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ».

НапоминаСм: для всСх Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Β«Π₯Π°Π±Ρ€Π°Β» β€” скидка 10 000 Ρ€ΡƒΠ±Π»Π΅ΠΉ ΠΏΡ€ΠΈ записи Π½Π° любой курс Skillbox ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄Ρƒ Β«Π₯Π°Π±Ρ€Β».

Ѐункция switch

МнС ΠΎΡ‡Π΅Π½ΡŒ, ΠΎΡ‡Π΅Π½ΡŒ нравится switch(). ЀактичСски это ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ сокращСниС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния Π² соотвСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π― Π½Π°Ρ…ΠΎΠΆΡƒ это особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡˆΡƒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² соотвСтствии с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. НапримСр, Ссли Π΅ΡΡ‚ΡŒ пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ animal ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅ собакой, кошкой ΠΈΠ»ΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠΌ, ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊ:

data < β€” read.csv(
switch(animal,
Β«dogΒ» = Β«dogdata.csvΒ»,
Β«catΒ» = Β«catdata.csvΒ»,
Β«rabbitΒ» = Β«rabbitdata.csvΒ»)
)

Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² Shiny-прилоТСниях, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ окруТСния Π² зависимости ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню Π²Π²ΠΎΠ΄Π°.

ГорячиС клавиши для RStudio

Π­Ρ‚ΠΎΡ‚ Ρ…Π°ΠΊ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ для R, сколько для RStudio IDE. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ горячиС клавиши всСгда ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹, позволяя ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ тСкста. Мои Π»ΡŽΠ±ΠΈΠΌΡ‡ΠΈΠΊΠΈ β€” Ctrl+Shift+M для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° %>% ΠΈ Alt+- для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° <-.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС горячиС клавиши, просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Alt+Shift+K Π² RStudio.

ΠŸΠ°ΠΊΠ΅Ρ‚ flexdashboard

Когда Π½ΡƒΠΆΠ½ΠΎ быстро Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ панСль управлСния Shiny, Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ dashboard. Он прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ярлыками HTML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сайдбары, строки ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π•ΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ title bar, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… страницах прилоТСния, ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ярлыки Π½Π° Github, адрСса email ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠŸΠ°ΠΊΠ΅Ρ‚ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Rmarkdown, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ всС прилоТСния Π² ΠΎΠ΄Π½ΠΎΠΌ Rmd-Ρ„Π°ΠΉΠ»Π΅, Π° Π½Π΅ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ сСрвСрам ΠΈ UI-Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΊΠ°ΠΊ это дСлаСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ shinydashboard. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ flexdashboard всСгда, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ слоТным. Π­Ρ‚Π° функция позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ часа.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ req ΠΈ validate Π² R Shiny

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² R Shiny ΠΌΠΎΠΆΠ΅Ρ‚ вас Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ, особСнно ΠΊΠΎΠ³Π΄Π° постоянно ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΡˆΡŒ странныС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит. Но с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Shiny развиваСтся ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ, здСсь появляСтся всё большС ΠΈ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ошибки. Π’Π°ΠΊ, req() Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Β«Ρ‚ΠΈΡ…ΠΎΠΉΒ» ошибкой, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ нСпонятно, Π² Ρ‡Π΅ΠΌ Π΄Π΅Π»ΠΎ. Π‘ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ элСмСнты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, связанныС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ дСйствиями. Поясним Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

output$go_button < β€” shiny::renderUI({

# only display button if an animal input has been chosen

shiny::req(input$animal)

# display button

shiny::actionButton(Β«goΒ»,
paste(Β«ConductΒ», input$animal, Β«analysis!Β»)
)
})

validate() провСряСт всС ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ΠΎΠΌ ΠΈ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вывСсти сообщСниС ΠΎΠ± ошибкС β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»:

# get csv input file

inFile < β€” input$file1
data < β€” inFile$datapath

# render table only if it is dogs

shiny::renderTable({
# check that it is the dog file, not cats or rabbits
shiny::validate(
need(Β«Dog NameΒ» %in% colnames(data)),
Β«Dog Name column not found β€” did you load the right file?Β»
)

data
})

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΠΎ всСх этих функциях ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ здСсь.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ своих ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для сСбя Π² систСмном ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ

Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, Π³Π΄Π΅ трСбуСтся ввСсти Π΄Π°Π½Π½Ρ‹Π΅ доступа, β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ систСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ размСщСния собствСнных ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Github ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСрвисС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ размСщСния:

Sys.setenv(
DSN = Β«database_nameΒ»,
UID = Β«User IDΒ»,
PASS = Β«PasswordΒ»
)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΠ½ΠΈΡ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния:

db < β€” DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv(Β«DSNΒ»),
uid = Sys.getenv(Β«UIDΒ»),
pwd = Sys.getenv(Β«PASSΒ»)
)

Π•Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ (особСнно Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π°ΠΌΠΈ часто) ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… Π² качСствС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния прямо Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Π’ этом случаС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ доступны всСгда ΠΈ Π½Π΅ придСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΊΠΎΠ΄Π΅.

Автоматизация tidyverse со styler

ΠŸΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ styler, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ возмоТностСй для автоматичСского привСдСния стиля ΠΊΠΎΠ΄Π° Π² tidyverse. ВсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для этого, β€” Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ styler::style_file() для вашСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ скрипта. ΠŸΠ°ΠΊΠ΅Ρ‚ сдСлаСт ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ (Π½ΠΎ Π½Π΅ всС) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ навСсти порядок.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² R Markdown

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ создали ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ R Markdown, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚Ρ‹ ΠΎ собаках. И Ρ‚ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ провСсти Ρ‚Ρƒ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с кошками. НичСго ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ созданиС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎ ΠΊΠΎΡˆΠΊΠ°Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Для этого Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваш Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ R markdown.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Π΄Π°Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° YAML Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ значСния.

β€” title: Β«Animal AnalysisΒ»
author: Β«Keith McNultyΒ»
date: Β«21 March 2019Β»
output:
html_document:
code_folding: Β«hideΒ»
params:
animal_name:
value: Dog
choices:
β€” Dog
β€” Cat
β€” Rabbit
years_of_study:
input: slider
min: 2000
max: 2019
step: 1
round: 1
sep: »
value: [2010, 2017] —

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² качСствС params$animal_name ΠΈ params$years_of_study. Π—Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ мСню Knit (ΠΈΠ»ΠΈ knit_with_parameters()) ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ R, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ

revealjs

revealjs β€” ΠΏΠ°ΠΊΠ΅Ρ‚, Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ HTML-ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ со встроСнным R-ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ слайд-мСню. HTML-ярлыки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ структуру слайдов с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ стилСй. Ну Π° HTML запустится Π½Π° любом устройствС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ смогут ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅. РаскрытиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, установив ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π²Ρ‹Π·Π²Π°Π² Π΅Π³ΠΎ Π² YAML-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

β€” title: Β«Exporing the Edge of the People Analytics UniverseΒ»
author: Β«Keith McNultyΒ»
output:
revealjs::revealjs_presentation:
center: yes
template: starwars.html
theme: black
date: Β«HR Analytics Meetup London β€” 18 March, 2019Β»
resource_files:
β€” darth.png
β€” deathstar.png
β€” hanchewy.png
β€” millenium.png
β€” r2d2-threepio.png
β€” starwars.html
β€” starwars.png
β€” stormtrooper.png

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ здСсь, Π° сама <a href=Β«rpubs.com/keithmcnulty/hr_meetup_london‘>прСзСнтация β€” здСсь.

10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ R, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ

HTML-Ρ‚Π΅Π³ΠΈ Π² R Shiny

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ всС прСимущСства HTML-Ρ‚Π΅Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² R Shiny. А вСдь это всСго 110 Ρ‚Π΅Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ Π²Ρ‹Π·ΠΎΠ² для HTML-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ воспроизвСдСния ΠΌΠ΅Π΄ΠΈΠ°. НапримСр, Π½Π΅Π΄Π°Π²Π½ΠΎ я ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ» tags$audio для воспроизвСдСния Β«ΠΏΠΎΠ±Π΅Π΄Π½ΠΎΠ³ΠΎΒ» Π·Π²ΡƒΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΠ°ΠΊΠ΅Ρ‚ praise

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ просто, Π° Π½ΡƒΠΆΠ΅Π½ ΠΎΠ½ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΡ…Π²Π°Π»Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚ΠΎ каТСтся странным, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠ΅ нравится.

10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ R, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ

Skillbox Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com