
Π R ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ-Π΄ΠΎΠ»Ρ ΡΠ΅ ΠΈΠ·Π±ΡΠΎΡ Π΄Π΅ΡΠ΅Ρ ΠΎΡ Π½Π°ΠΉ-ΠΈΠ½ΡΡΠΈΠ³ΡΠ²Π°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΡ
, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ
ΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ Π·Π½Π°ΡΡ. Π‘ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π±Π΅Π»ΡΠ·Π°Ρ
, ΡΠ΅ ΠΌΠΎΠΈΡΠ΅ ΡΠ°Π·ΠΊΠ°Π·ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° R, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ, ΡΠ΅ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Ρ Π΅Π½ΡΡΡΠΈΠ°Π·ΡΠΌ ΠΎΡ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ. ΠΠΊΠΎ Π²Π΅ΡΠ΅ Π·Π½Π°Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ, ΠΌΠΎΠ»Ρ, ΠΈΠ·Π²ΠΈΠ½Π΅ΡΠ΅ Π·Π° Π·Π°Π³ΡΠ±Π΅Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΡΠ΅ ΠΏΠ°ΠΊ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅, ΠΌΠΎΠ»Ρ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅.
Skillbox ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°: ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΡΡΡ .
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅: Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π½Π° Β«Π₯Π°Π±ΡΠ°Β» β ΠΎΡΡΡΡΠΏΠΊΠ° ΠΎΡ 10 000 ΡΡΠ±Π»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΡΡΡ Skillbox Ρ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄ Β«Π₯Π°Π±ΡΒ».
Π€ΡΠ½ΠΊΡΠΈΡ switch
ΠΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈ Ρ Π°ΡΠ΅ΡΠ²Π° switch(). ΠΡΡΡΠ½ΠΎΡΡ, ΡΠΎΠ²Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π΄ΡΡΠ³Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. ΠΠ°ΠΌΠΈΡΠ°ΠΌ Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΈΡΠ° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΈΠ·Π±ΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Ρ ΠΈΠΌΠ΅ animal ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π° Π΄Π°Π»ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΡΠΎ Π΅ ΠΊΡΡΠ΅, ΠΊΠΎΡΠΊΠ° ΠΈΠ»ΠΈ Π·Π°Π΅ΠΊ, ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠ°:
data < β read.csv(
switch(animal,
Β«dogΒ» = Β«dogdata.csvΒ»,
Β«catΒ» = Β«catdata.csvΒ»,
Β«rabbitΒ» = Β«rabbitdata.csvΒ»)
)
Π’Π°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Shiny, ΠΊΡΠ΄Π΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΎΡΠΊΠΈ ΠΎΡ ΠΌΠ΅Π½ΡΡΠΎ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅.
ΠΠΎΡΠ΅ΡΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π·Π° RStudio
Π’ΠΎΠ·ΠΈ ΡΡΠΈΠΊ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π·Π° R, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π·Π° IDE Π½Π° RStudio. ΠΡΠ΅ ΠΏΠ°ΠΊ, Π³ΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ. ΠΠΎΠΈΡΠ΅ Π»ΡΠ±ΠΈΠΌΠΈ ΡΠ° Ctrl+Shift+M Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° %>% ΠΈ Alt+- Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° <-.
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π³ΠΎΡΠ΅ΡΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ Alt+Shift+K Π² RStudio.
ΠΠ°ΠΊΠ΅Ρ flexdashboard
ΠΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠ°Π½Π΅Π» Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Shiny Π±ΡΡΠ·ΠΎ, Π½ΡΠΌΠ° Π½ΠΈΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° dashboard. Π’ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ HTML ΡΡΠ»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π»Π΅ΡΠ½ΠΎ ΠΈ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ Π»Π΅Π½ΡΠΈ, ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ ΠΎΠΏΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° title bar, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ ΠΌΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΈ, ΡΡΠ»ΠΈΡΠΈ Π½Π° Github, Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΈΠΌΠ΅ΠΉΠ» ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ.
ΠΠ°ΠΊΠ΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ° Π² 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: Β«ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½ΠΈΒ»
author: Β«ΠΠΈΠΉΡ ΠΠ°ΠΠ½Π°Π»ΡΠΈΒ»
date: Β«21 ΠΌΠ°ΡΡ 2019Β»
output:
html_document:
code_folding: Β«ΡΠΊΡΠΈΠΉΒ»
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: Β«ΠΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ° Π½Π° Π²ΡΠ΅Π»Π΅Π½Π°ΡΠ° Π½Π° People AnalyticsΒ»
author: Β«ΠΠΈΠΉΡ ΠΠ°ΠΠ½Π°Π»ΡΠΈΒ»
output:
revealjs::revealjs_presentation:
center: yes
template: starwars.html
theme: black
date: Β«HR Analytics Meetup ΠΠΎΠ½Π΄ΠΎΠ½ β 18 ΠΌΠ°ΡΡ 2019Β»
resource_files:
β darth.png
β deathstar.png
β hanchewy.png
β millenium.png
β r2d2-threepio.png
β starwars.html
β starwars.png
β stormtrooper.png
β
ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΡΠ° , Π° ΡΠ°ΠΌΠ° <a href=Β«β>ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ β ΡΡΠΊ.

HTML ΡΠ°Π³ΠΎΠ²Π΅ Π² R Shiny
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° HTML ΡΠ°Π³ΠΎΠ²Π΅ΡΠ΅ Π² R Shiny. Π ΡΠ΅ ΡΠ° ΡΠ°ΠΌΠΎ 110 ΡΠ°Π³Π°, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΠ°ΡΠΊΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° HTML ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠ΅Π΄ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠΊΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ tags$audio, Π·Π° Π΄Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π° Β«ΠΏΠΎΠ±Π΅Π΄Π½ΠΈΡΒ» Π·Π²ΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠ°.
ΠΠ°ΠΊΠ΅Ρ praise
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ, Π° ΡΠΎΠΉ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΡ Π²Π°Π»ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π’ΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΡΡΠ°Π½Π½ΠΎ, Π½ΠΎ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΈΠΌ Ρ Π°ΡΠ΅ΡΠ²Π°.

Skillbox ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°:
- ΠΠ²ΡΠ³ΠΎΠ΄ΠΈΡΠ΅Π½ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΡΡΡ .
- ΠΠ½Π»Π°ΠΉΠ½ ΠΊΡΡΡ .
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΠ΄ΠΈΡΠ΅Π½ ΠΊΡΡΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
