Π 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()) ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
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
—
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ
HTML-ΡΠ΅Π³ΠΈ Π² R Shiny
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° HTML-ΡΠ΅Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² R Shiny. Π Π²Π΅Π΄Ρ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ 110 ΡΠ΅Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ HTML-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠ΅Π΄ΠΈΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π΄Π°Π²Π½ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» tags$audio Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Β«ΠΏΠΎΠ±Π΅Π΄Π½ΠΎΠ³ΠΎΒ» Π·Π²ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°ΠΊΠ΅Ρ praise
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π° Π½ΡΠΆΠ΅Π½ ΠΎΠ½ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΡ Π²Π°Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠΌ ΡΠ°ΠΊΠΎΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ.
Skillbox ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ:
- ΠΠ²ΡΡ Π»Π΅ΡΠ½ΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΡΡ
Β«Π― β ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PROΒ» .- ΠΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ
Β«Π‘#-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» .- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΡΡΡ
Β«PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ 0 Π΄ΠΎ PROΒ» .
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com