10 рдЙрдкрдпреБрдХреНрдд R рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓

10 рдЙрдкрдпреБрдХреНрдд R рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓

рдЖрд░ рд╡рд┐рд╡рд┐рдз рдХрд╛рд░реНрдпрд╛рдВрдиреА рдкрд░рд┐рдкреВрд░реНрдг рдЖрд╣реЗ. рдЦрд╛рд▓реА рдореА рддреНрдпрд╛рдкреИрдХреА рджрд╣рд╛ рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рджреЗрдИрди, рдЬреНрдпрд╛рдмрджреНрджрд▓ рдЕрдиреЗрдХрд╛рдВрдирд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓. рдореА рдорд╛рдЭреНрдпрд╛ рдХрд╛рдорд╛рдд рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ R рдЪреНрдпрд╛ рдХрд╛рд╣реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдмрджреНрджрд▓рдЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рдХрдерд╛ рд╕рд╣рдХрд╛рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдХрдбреВрди рдЙрддреНрд╕рд╛рд╣рд╛рдиреЗ рдорд┐рд│рд╛рд▓реНрдпрд╛рдЪреЗ рдорд▓рд╛ рд╕рдордЬрд▓реНрдпрд╛рдирдВрддрд░ рд╣рд╛ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓рд╛. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрдзреАрдЪ рд╕рд░реНрд╡рдХрд╛рд╣реА рдорд╛рд╣рд┐рдд рдЕрд╕реЗрд▓ рддрд░ рдореА рддреБрдордЪрд╛ рд╡реЗрд│ рд╡рд╛рдпрд╛ рдШрд╛рд▓рд╡рд▓реНрдпрд╛рдмрджреНрджрд▓ рджрд┐рд▓рдЧреАрд░ рдЖрд╣реЛрдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рдЕрд╕рд▓реНрдпрд╛рд╕, рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рдЙрдкрдпреБрдХреНрдд рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рд╛.

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ: рдкреНрд░реЕрдХреНрдЯрд┐рдХрд▓ рдХреЛрд░реНрд╕ "рдкрд╛рдпрдерди рд╡рд┐рдХрд╕рдХ".

рдЖрдореНрд╣реА рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЛ: рд╕рд░реНрд╡ Habr рд╡рд╛рдЪрдХрд╛рдВрд╕рд╛рдареА - Habr рдкреНрд░реЛрдореЛ рдХреЛрдб рд╡рд╛рдкрд░реВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдХреЛрд░реНрд╕рдордзреНрдпреЗ рдирд╛рд╡рдиреЛрдВрджрдгреА рдХрд░рддрд╛рдирд╛ 10 рд░реВрдмрд▓ рд╕рд╡рд▓рдд.

рд╕реНрд╡рд┐рдЪ рдлрдВрдХреНрд╢рди

рдорд▓рд╛ рдЦрд░реЛрдЦрд░ switch() рдЖрд╡рдбрддреЗ. рдЦрд░рдВ рддрд░, рджреБрд╕рд░реНтАНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдореВрд▓реНрдп рдирд┐рд╡рдбрддрд╛рдирд╛ if рд╕реНрдЯреЗрдЯрдореЗрдВрдЯрд╕рд╛рдареА рд╣реЗ рд╕реЛрдпреАрд╕реНрдХрд░ рд▓рдШреБрд▓реЗрдЦ рдЖрд╣реЗ. рдорд▓рд╛ рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдЙрдкрдпреЛрдЧреА рд╡рд╛рдЯрддреЗ рдЬреЗрд╡реНрд╣рд╛ рдореА рдХреЛрдб рд▓рд┐рд╣рд┐рдд рдЕрд╕рддреЛ рдЬреНрдпрд╛рд╕рд╛рдареА рдорд╛рдЧреАрд▓ рдирд┐рд╡рдбреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛рдЪрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪ рд▓реЛрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдкреНрд░рд╛рдгреА рдирд╛рд╡рд╛рдЪрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЛ рдкреНрд░рд╛рдгреА рдХреБрддреНрд░рд╛, рдорд╛рдВрдЬрд░ рдХрд┐рдВрд╡рд╛ рд╕рд╕рд╛ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдбреЗрдЯрд╛рдЪрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪ рдирд┐рд╡рдбрд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓ рддрд░ рд╣реЗ рд▓рд┐рд╣рд╛:

рдбреЗрдЯрд╛ < тАФ read.csv(
рд╕реНрд╡рд┐рдЪ (рдкреНрд░рд╛рдгреА,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЪрдордХрджрд╛рд░ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓ рдЬрд┐рдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдЗрдирдкреБрдЯ рдореЗрдиреВ рдЖрдпрдЯрдорд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд┐рдВрд╡рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.

RStudio рд╕рд╛рдареА рд╣реЙрдЯрдХреАрдЬ

рд╣рд╛ рд╣реЕрдХ R рд╕рд╛рдареА рдЗрддрдХрд╛ рдирд╛рд╣реА рддрд░ RStudio IDE рд╕рд╛рдареА рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╣реЙрдЯрдХреАрдЬ рдиреЗрд╣рдореАрдЪ рдЦреВрдк рд╕реЛрдпреАрд╕реНрдХрд░ рдЕрд╕рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдордЬрдХреВрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рддрд╛рдирд╛ рд╡реЗрд│ рд╡рд╛рдЪрд╡рддрд╛ рдпреЗрддреЛ. рдорд╛рдЭреЗ рдЖрд╡рдбрддреЗ %>% рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА Ctrl+Shift+M рдЖрдгрд┐ <- рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА Alt+- рдЖрд╣реЗрдд.

рд╕рд░реНрд╡ рд╣реЙрдЯрдХреАрдЬ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд RStudio рдордзреНрдпреЗ Alt+Shift+K рджрд╛рдмрд╛.

рдлреНрд▓реЗрдХреНрд╕рдбреЕрд╢рдмреЛрд░реНрдб рдкреЕрдХреЗрдЬ

рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪрд╛ рдЪрдордХрджрд╛рд░ рдбреЕрд╢рдмреЛрд░реНрдб рддреНрд╡рд░реАрдд рд▓реЙрдиреНрдЪ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдбреЕрд╢рдмреЛрд░реНрдб рдкреЕрдХреЗрдЬрдкреЗрдХреНрд╖рд╛ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА. рд╣реЗ HTML рд╢реЙрд░реНрдЯрдХрдЯрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рд╕рд╛рдЗрдбрдмрд╛рд░, рдкрдВрдХреНрддреА рдЖрдгрд┐ рд╕реНрддрдВрдн рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рддреНрд░рд╛рд╕рдореБрдХреНрдд рд╣реЛрддреЗ. рд╢реАрд░реНрд╖рдХ рдмрд╛рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рдЖрд╣реЗ, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреГрд╖реНрдард╛рдВрд╡рд░ рдареЗрд╡рдгреНрдпрд╛рдЪреА, рдЪрд┐рдиреНрд╣ рд╕реЛрдбрдгреНрдпрд╛рдЪреА, рдЧрд┐рдердмрд╡рд░ рд╢реЙрд░реНрдЯрдХрдЯ, рдИрдореЗрд▓ рдкрддреНрддреЗ рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.

рдкреЕрдХреЗрдЬ рддреБрдореНрд╣рд╛рд▓рд╛ Rmarkdown рдЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рд╕рд░реНрд╡ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдПрдХрд╛ Rmd рдлрд╛рдИрд▓рдордзреНрдпреЗ рдареЗрд╡реВ рд╢рдХрддрд╛, рдЖрдгрд┐ рддреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ UI рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рд╡рд┐рддрд░рд┐рдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, shinydashboard рд╡рд╛рдкрд░реВрди. рдЬреЗрд╡реНрд╣рд╛ рдЬреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдПрдЦрд╛рджреНрдпрд╛ рдЬрдЯрд┐рд▓ рдЧреЛрд╖реНрдЯреАрд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдПрдХ рд╕рд╛рдзрд╛ рдбреЕрд╢рдмреЛрд░реНрдб рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рдореА рдлреНрд▓реЗрдХреНрд╕рдбреЕрд╢рдмреЛрд░реНрдб рд╡рд╛рдкрд░рддреЛ. рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдПрдХрд╛ рддрд╛рд╕рд╛рдЪреНрдпрд╛ рдЖрдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

R Shiny рдордзреНрдпреЗ req рдЖрдгрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдлрдВрдХреНрд╢рдиреНрд╕

R Shiny рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рдЧреЛрдВрдзрд│рд╛рдд рдЯрд╛рдХрдгрд╛рд░реЗ рдЕрд╕реВ рд╢рдХрддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдЪрд┐рддреНрд░ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рдорд┐рд│рдд рд░рд╛рд╣рддрд╛рдд рдЬреНрдпрд╛рдореБрд│реЗ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рд╣реЗ рд╕рдордЬрдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. рдкрд░рдВрддреБ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рдЪрдордХрджрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рддреЗ, рдпреЗрдереЗ рдЕрдзрд┐рдХ рдЖрдгрд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЗ рджрд┐рд╕рддрд╛рдд рдЬреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреНрд░реБрдЯреАрдЪреЗ рдХрд╛рд░рдг рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд. рддрд░, req() "рдореВрдХ" рддреНрд░реБрдЯреАрд╕рд╣ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ, рдЬреЗрд╡реНрд╣рд╛ рд╣реЗ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдирд╕рддреЗ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рдЧреАрд▓ рдХреНрд░рд┐рдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд UI рдШрдЯрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЪрд▓рд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдпрд╛:

рдЖрдЙрдЯрдкреБрдЯ$go_button < тАФ рдЪрдордХрджрд╛рд░::renderUI({

рдкреНрд░рд╛рдгреА рдЗрдирдкреБрдЯ рдирд┐рд╡рдбрд▓реНрдпрд╛рд╕ # рдлрдХреНрдд рдкреНрд░рджрд░реНрд╢рди рдмрдЯрдг

рдЪрдордХрджрд╛рд░::req(рдЗрдирдкреБрдЯ$рдкреНрд░рд╛рдгреА)

# рдбрд┐рд╕реНрдкреНрд▓реЗ рдмрдЯрдг

рдЪрдордХрджрд╛рд░::рдХреНрд░рд┐рдпрд╛ рдмрдЯрдг("рдЬрд╛",
рдкреЗрд╕реНрдЯ рдХрд░рд╛("рдЖрдЪрд╛рд░", рдЗрдирдкреБрдЯ$рдкреНрд░рд╛рдгреА, "рд╡рд┐рд╢реНрд▓реЗрд╖рдг!")
)
})

validate() рдкреНрд░рд╕реНрддреБрдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╕рд░реНрд╡рдХрд╛рд╣реА рддрдкрд╛рд╕рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкрд░реНрдпрд╛рдп рджреЗрддреЗ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдЪреБрдХреАрдЪреА рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреЗрд▓реА рдЖрд╣реЗ:

# csv рдЗрдирдкреБрдЯ рдлрд╛рдЗрд▓ рдорд┐рд│рд╡рд╛

inFile < тАФ input$file1
рдбреЗрдЯрд╛ < тАФ inFile$datapath

# рд░реЗрдВрдбрд░ рдЯреЗрдмрд▓ рдлрдХреНрдд рдХреБрддреНрд░реЗ рдЕрд╕рд▓реНрдпрд╛рд╕

рдЪрдордХрджрд╛рд░::renderTable({
# рддрдкрд╛рд╕рд╛ рдХреА рддреА рдХреБрддреНрд░реНрдпрд╛рдЪреА рдлрд╛рдЗрд▓ рдЖрд╣реЗ, рдорд╛рдВрдЬрд░реА рдХрд┐рдВрд╡рд╛ рд╕рд╕реЗ рдирд╛рд╣реА
рдЪрдордХрджрд╛рд░::рд╡реИрдзреАрдХрд░рдг(
рдЧрд░рдЬ ("рдХреБрддреНрд░реНрдпрд╛рдЪреЗ рдирд╛рд╡" % рдордзреНрдпреЗ% рдХреЙрд▓рдиреЗрдо(рдбреЗрдЯрд╛)),
"рдХреБрддреНрд░реНрдпрд╛рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдЪрд╛ рд╕реНрддрдВрдн рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА тАФ рддреБрдореНрд╣реА рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓ рд▓реЛрдб рдХреЗрд▓реА рдЖрд╣реЗ рдХрд╛?"
)

рдбреЗрдЯрд╛
})

рдпрд╛ рд╕рд░реНрд╡ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ.

рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рд╕реНрд╡рдд:рд╕рд╛рдареА рддреБрдордЪреА рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓реНрд╕ рд╕рд╛рдард╡рдгреЗ

рддреБрдореНтАНрд╣реА рдХреНрд░реЗрдбреЗрдиреНтАНрд╢рд┐рдпрд▓ рдПрдВрдЯрд░ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдЖрд╡рд╢реНтАНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓рд╛ рдХреЛрдб рд╢реЗрдЕрд░ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдХрд░рдд рдЕрд╕рд▓реНтАНрдпрд╛рд╕, 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 рдорд╛рд░реНрдХрдбрд╛рдЙрди рджрд╕реНрддрдРрд╡рдЬ рдкреЕрд░рд╛рдореАрдЯрд░рд╛рдЗрдЭ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджрд╕реНрддрдРрд╡рдЬрд╛рдд YAML рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд░реВрди рдЖрдгрд┐ рдирдВрддрд░ рдореВрд▓реНрдп рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд░реВрди рддреБрдореНрд╣реА рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛.

тАФ рд╢реАрд░реНрд╖рдХ: тАЬрдкреНрд░рд╛рдгреНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгтАЭ
рд▓реЗрдЦрдХ: "рдХреАрде рдореЕрдХрдирд▓реНрдЯреА"
рддрд╛рд░реАрдЦ: "21 рдорд╛рд░реНрдЪ 2019"
рдЖрдЙрдЯрдкреБрдЯрдГ
html_рджрд╕реНрддрдРрд╡рдЬ:
code_folding: "рд▓рдкрд╡рд╛"
params:
рдкреНрд░рд╛рдгреА_рдирд╛рд╡:
рдореВрд▓реНрдп: рдХреБрддреНрд░рд╛
рдирд┐рд╡рдбреА:
-рдХреБрддреНрд░рд╛
- рдорд╛рдВрдЬрд░
- рд╕рд╕рд╛
рдЕрднреНрдпрд╛рд╕_рд╡рд░реНрд╖реЗ:
рдЗрдирдкреБрдЯ: рд╕реНрд▓рд╛рдЗрдбрд░
рдорд┐: реж,релрез
рдХрдорд╛рд▓: резреж.рел
1 рд▓реА рдкрд╛рдпрд░реА
рдлреЗрд░реА: 1
рд╕рдкреНрдЯреЗрдВ: "
рдореВрд▓реНрдп: [реирежрезреж, реирежрезрен] тАФ

рдЖрддрд╛ рддреБрдореНрд╣реА рдбреЙрдХреНрдпреБрдореЗрдВрдЯ рдХреЛрдбрдордзреАрд▓ рд╕рд░реНрд╡ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рдиреЛрдВрджрдгреА params$animal_name рдЖрдгрд┐ params$years_of_study рдореНрд╣рдгреВрди рдХрд░реВ рд╢рдХрддрд╛. рдордЧ рдЖрдореНрд╣реА Knit рдбреНрд░реЙрдкрдбрд╛рдЙрди рдореЗрдиреВ (рдХрд┐рдВрд╡рд╛ knit_with_parameters()) рд╡рд╛рдкрд░реВ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдК.

10 рдЙрдкрдпреБрдХреНрдд R рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓

рдкреНрд░рдХрдЯ рдХрд░рддреЗ

revealjs рд╣реЗ рдПрдХ рдкреЕрдХреЗрдЬ рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдВрдЧрднреВрдд R рдХреЛрдб, рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рдиреЗрд╡реНрд╣рд┐рдЧреЗрд╢рди рдЖрдгрд┐ рд╕реНрд▓рд╛рдЗрдб рдореЗрдиреВрд╕рд╣ рдЙрддреНрдХреГрд╖реНрдЯ HTML рд╕рд╛рджрд░реАрдХрд░рдгреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдПрдЪрдЯреАрдПрдордПрд▓ рд╢реЙрд░реНрдЯрдХрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдкрд░реНрдпрд╛рдпрд╛рдВрд╕рд╣ рдиреЗрд╕реНрдЯреЗрдб рд╕реНрд▓рд╛рдЗрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкрдЯрдХрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. рдмрд░рдВ, HTML рдХреЛрдгрддреНрдпрд╛рд╣реА рдЙрдкрдХрд░рдгрд╛рд╡рд░ рдЪрд╛рд▓реЗрд▓, рддреНрдпрд╛рдореБрд│реЗ рд╕рд╛рджрд░реАрдХрд░рдг рдкреНрд░рддреНрдпреЗрдХ рдлреЛрди, рдЯреЕрдмрд▓реЗрдЯ рдХрд┐рдВрд╡рд╛ рд▓реЕрдкрдЯреЙрдкрд╡рд░ рдЙрдШрдбрддрд╛ рдпреЗрдИрд▓. рдкреЕрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реВрди рдЖрдгрд┐ YAML рд╣реЗрдбрд░рдордзреНрдпреЗ рдХреЙрд▓ рдХрд░реВрди рдорд╛рд╣рд┐рддреА рдкреНрд░рдХрдЯреАрдХрд░рдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ:

тАФ рд╢реАрд░реНрд╖рдХ: тАЬExporing the Edge of the People Analytics UniverseтАЭ
рд▓реЗрдЦрдХ: "рдХреАрде рдореЕрдХрдирд▓реНрдЯреА"
рдЖрдЙрдЯрдкреБрдЯрдГ
revealjs::revealjs_presentation:
рдХреЗрдВрджреНрд░: рд╣реЛрдп
рд╕рд╛рдЪрд╛:starwars.html
рдереАрдо: рдХрд╛рд│рд╛
рддрд╛рд░реАрдЦ: "HR Analytics рдореАрдЯрдЕрдк рд▓рдВрдбрди - 18 рдорд╛рд░реНрдЪ, 2019"
resource_files:
тАФ 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 рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓

рдЖрд░ рдЪрдордХрджрд╛рд░ рдордзреНрдпреЗ HTML рдЯреЕрдЧ

R Shiny рдХрдбреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ HTML рдЯреЕрдЧрдЪрд╛ рдмрд╣реБрддрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреВрд░реНрдг рдлрд╛рдпрджрд╛ рдШреЗрдд рдирд╛рд╣реАрдд. рдкрд░рдВрддреБ рд╣реЗ рдлрдХреНрдд 110 рдЯреЕрдЧ рдЖрд╣реЗрдд, рдЬреЗ HTML рдлрдВрдХреНрд╢рди рдХрд┐рдВрд╡рд╛ рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдмреЕрдХрд╕рд╛рдареА рдПрдХ рд▓рд╣рд╛рди рдХреЙрд▓ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "рд╡рд┐рдЬрдп" рдзреНрд╡рдиреА рдкреНрд▓реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореА рдЕрд▓реАрдХрдбреЗрдЪ рдЯреЕрдЧ$рдСрдбрд┐рдУ рд╡рд╛рдкрд░рд▓рд╛ рдЖрд╣реЗ рдЬреЗ рдХрд╛рд░реНрдп рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рд╕рддрд░реНрдХ рдХрд░рддреЗ.

рд╕реНрддреБрддреА рдкреЕрдХреЗрдЬ

рд╣реЗ рдкреЕрдХреЗрдЬ рд╡рд╛рдкрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рд╡рд┐рдЪрд┐рддреНрд░ рд╡рд╛рдЯрддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдирд╛ рддреЗ рдЖрд╡рдбрддреЗ.

10 рдЙрдкрдпреБрдХреНрдд R рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд рдорд╛рд╣рд┐рддреА рдирд╕реЗрд▓

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛