10 Qhov Tseem Ceeb R Nta Koj Yuav Tsis Paub Txog

10 Qhov Tseem Ceeb R Nta Koj Yuav Tsis Paub Txog

R yog tag nrho ntawm ntau yam haujlwm. Hauv qab no kuv yuav muab kaum qhov nthuav tshaj plaws ntawm lawv, uas ntau tus yuav tsis paub txog. Cov kab lus tau tshwm sim tom qab kuv pom tias kuv cov dab neeg hais txog qee yam ntawm cov yam ntxwv ntawm R uas kuv siv hauv kuv txoj haujlwm tau txais kev txaus siab los ntawm cov phooj ywg programmers. Yog tias koj twb paub txhua yam txog qhov no, ces kuv thov zam txim rau koj lub sijhawm. Nyob rau tib lub sijhawm, yog tias koj muaj ib yam dab tsi los qhia, pom zoo qee yam muaj txiaj ntsig hauv cov lus.

Skillbox pom zoo: Cov chav kawm siv tau "Python developer".

Peb nco qab: rau txhua tus neeg nyeem Habr - 10 ruble luv nqi thaum tso npe rau hauv ib chav kawm Skillbox siv Habr promo code.

hloov ua haujlwm

Kuv yeej nyiam hloov ( ) . Qhov tseeb, nws yog ib qho yooj yim shorthand rau ib nqe lus yog thaum xaiv tus nqi raws li tus nqi ntawm lwm qhov sib txawv. Kuv pom qhov no tshwj xeeb tshaj yog thaum kuv sau cov lej uas yuav tsum tau thauj cov ntaub ntawv tshwj xeeb raws li kev xaiv yav dhau los. Piv txwv li, yog tias koj muaj lub npe txawv txav thiab koj xav xaiv cov ntaub ntawv tshwj xeeb nyob ntawm seb tus tsiaj yog dev, miv, los yog luav, sau qhov no:

data < β€” read.csv(
hloov (tsiaj,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Qhov no feature yuav pab tau nyob rau hauv ci iab daim ntaub ntawv uas koj yuav tsum tau mus thauj cov ntaub ntawv sib txawv los yog ib puag ncig cov ntaub ntawv nyob ntawm seb ib los yog ntau tshaj input menu khoom.

Hotkeys rau RStudio

Qhov hack no tsis yog ntau heev rau R, tab sis rau RStudio IDE. Txawm li cas los xij, hotkeys yeej ib txwm yooj yim heev, tso cai rau koj txuag sijhawm thaum nkag mus rau cov ntawv nyeem. Kuv nyiam yog Ctrl+Shift+M rau tus neeg teb xov tooj %>% thiab Alt+- rau tus neeg teb xov tooj <-.

Txhawm rau saib tag nrho cov hotkeys, tsuas yog nias Alt + Shift + K hauv RStudio.

flexdashboard pob

Thaum koj xav tau sai sai tso koj lub dashboard Shiny, tsis muaj dab tsi zoo dua li pob dashboard. Nws muab lub peev xwm los ua haujlwm nrog HTML shortcuts, uas ua rau nws yooj yim thiab tsis muaj teeb meem los tsim sidebars, kab thiab kab. Kuj tseem muaj peev xwm siv lub npe bar, uas tso cai rau koj tso nws rau ntawm nplooj ntawv sib txawv ntawm daim ntawv thov, tawm icons, shortcuts ntawm Github, email chaw nyob thiab ntau ntxiv.

Lub pob tso cai rau koj ua haujlwm nyob rau hauv lub moj khaum ntawm Rmarkdown, yog li koj tuaj yeem tso tag nrho cov ntawv thov hauv ib daim ntawv Rmd, thiab tsis faib lawv hla cov servers sib txawv thiab UI cov ntaub ntawv, raws li tau ua tiav, piv txwv li, siv shinydashboard. Kuv siv flexdashboard thaum twg kuv xav tau los tsim ib qho yooj yim dashboard qauv ua ntej ua haujlwm ntawm ib yam dab tsi nyuaj. Qhov no tso cai rau koj los tsim ib qho qauv hauv ib teev.

req thiab siv tau cov haujlwm hauv R Shiny

Kev tsim kho hauv R Shiny tuaj yeem ua rau tsis meej pem, tshwj xeeb tshaj yog thaum koj tau txais cov lus yuam kev txawv txawv uas ua rau nws nyuaj rau kev nkag siab txog dab tsi tshwm sim. Tab sis dhau sij hawm, Shiny txhim kho thiab txhim kho, ntau thiab ntau lub zog tshwm sim ntawm no uas tso cai rau koj nkag siab qhov ua rau ntawm qhov yuam kev. Yog li, req() daws qhov teeb meem nrog qhov yuam kev "tseem ceeb", thaum nws feem ntau tsis paub meej tias muaj dab tsi tshwm sim. Nws tso cai rau koj los tso saib UI ntsiab lus cuam tshuam nrog kev ua dhau los. Cia peb piav nrog ib qho piv txwv:

output$go_button < β€” ci iab::renderUI({

# tsuas yog tso saib khawm yog tias tus tsiaj nkag tau raug xaiv

ci iab ::req(input$tsiaj)

# zaub khawm

ci iab ::actionButton("mus",
paste("Kev coj ua", input$animal, "analysis!")
)
})

validate() xyuas txhua yam ua ntej rendering thiab muab rau koj xaiv los luam cov lus yuam kev - piv txwv li, tus neeg siv upload cov ntaub ntawv tsis ncaj ncees lawm:

# tau txais csv cov ntaub ntawv nkag

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

# muab lub rooj tsuas yog tias nws yog dev

ci iab ::renderTable({
# xyuas tias nws yog cov ntaub ntawv dev, tsis yog miv lossis luav
ci iab ::validate(
xav tau ("Dog Lub Npe" % hauv %colnames(data)),
"Dog Name kem tsis pom - koj puas tau thauj cov ntaub ntawv raug?"
)

cov ntaub ntawv
})

Xav paub ntau ntxiv txog tag nrho cov nta no tuaj yeem pom ntawm no.

Khaws koj daim ntawv pov thawj rau koj tus kheej hauv qhov system ib puag ncig

Yog tias koj npaj yuav qhia cov lej uas xav kom koj nkag mus rau cov ntawv pov thawj, siv qhov system ib puag ncig kom tsis txhob muaj koj tus kheej cov ntaub ntawv pov thawj ntawm Github lossis lwm qhov kev pabcuam. Piv txwv qhov chaw:

Sys.setenv(
DSN = "database_name",
UID = "User ID",
PASS = "Password"
)

Tam sim no koj tuaj yeem nkag mus siv ib puag ncig hloov pauv:

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

Nws yog qhov yooj yim dua (tshwj xeeb tshaj yog tias koj siv cov ntaub ntawv nquag) los teeb tsa lawv ua ib puag ncig hloov pauv ncaj qha hauv kev ua haujlwm. Nyob rau hauv cov ntaub ntawv no, lawv yuav ib txwm muaj thiab koj yuav tsis tau qhia lawv nyob rau hauv lub code.

Automate tidyverse nrog styler

Lub pob styler tuaj yeem pab koj ntxuav koj cov cai; nws muaj ntau txoj hauv kev rau kev txiav cov lej style rau hauv tidyverse. Txhua yam koj yuav tsum tau ua yog khiav styler::style_file() ntawm koj cov ntawv teeb meem. Lub pob yuav ua ntau heev (tab sis tsis yog txhua yam) kom rov qab txiav txim.

Parameterizing R Markdown Cov ntaub ntawv

Yog li koj tau tsim ib daim ntawv zoo R Markdown uas koj txheeb xyuas ntau yam tseeb txog dev. Thiab tom qab ntawd nws tshwm sim rau koj tias nws yuav zoo dua los ua tib yam haujlwm, tab sis tsuas yog nrog miv. Tsis muaj teeb meem, koj tuaj yeem automate tsim cov ntawv ceeb toom miv nrog ib qho lus txib xwb. Ua li no, koj tsuas yog yuav tsum tau parameterize koj cov ntaub ntawv R markdown.

Koj tuaj yeem ua qhov no los ntawm kev teeb tsa qhov tsis haum rau YAML header hauv cov ntaub ntawv teev tseg, thiab tom qab ntawd teeb tsa tus nqi ntsuas.

- Lub npe: "Tsiaj Analysis"
sau: "Keith McNulty"
Hnub tim: "21 March 2019"
cov zis:
html_document:
code_folding: "hide"
params:
tsiaj_npe:
nqi: aub
kev xaiv:
β€”Aub
β€”Cat
β€” Luav
xyoo_of_study:
input: swb
ib: 2000
max: 2019 Nws
qib: 1
rov: 1
sep: "
Tus nqi: [2010, 2017] -

Tam sim no koj tuaj yeem sau npe txhua qhov sib txawv hauv cov ntaub ntawv raws li params$animal_name thiab params$years_of_study. Tom qab ntawd peb yuav siv Knit dropdown zaub mov (los yog knit_with_parameters()) thiab tuaj yeem xaiv cov kev txwv.

10 Qhov Tseem Ceeb R Nta Koj Yuav Tsis Paub Txog

qhia

Revealjs yog ib pob uas tso cai rau koj los tsim cov kev nthuav qhia HTML zoo nrog R code built-in, intuitive navigation thiab slide menus. HTML shortcuts tso cai rau koj los tsim ib qho kev sib koom ua ke nrog cov kev xaiv sib txawv. Zoo, HTML yuav khiav ntawm txhua lub cuab yeej, yog li qhov kev nthuav qhia tuaj yeem qhib rau txhua lub xov tooj, ntsiav tshuaj lossis laptop. Kev nthuav qhia cov ntaub ntawv tuaj yeem teeb tsa los ntawm kev txhim kho lub pob thiab hu nws hauv YAML header. Nov yog ib qho piv txwv:

- title: "Exporing Edge of the People Analytics Universe"
sau: "Keith McNulty"
cov zis:
Revealjs::revealjs_presentation:
center: yog
template:starwars.html
ntsiab: dub
Hnub tim: "HR Analytics Meetup London - 18 Lub Peb Hlis, 2019"
Resource_files:
β€” darth.png
- deathstar.png
- hanchewy.png
- xyoo txhiab.png
- r2d2-threepio.png
-starwars.html
-starwars.png
-stormtrooper.png
-

Kev nthuav qhia qhov chaws muab tso rau ntawm no, thiab nws tus kheejrpubs.com/keithmcnulty/hr_meetup_london'> kev nthuav qhia - ntawm no.

10 Qhov Tseem Ceeb R Nta Koj Yuav Tsis Paub Txog

HTML tags hauv R Shiny

Feem ntau cov programmers tsis siv tag nrho cov ntawv HTML uas R Shiny muaj. Tab sis cov no tsuas yog 110 cim npe, uas ua rau nws muaj peev xwm tsim tau luv luv hu rau HTML muaj nuj nqi lossis kev tshaj tawm xov xwm. Piv txwv li, kuv nyuam qhuav siv tags$ audio los ua lub suab "yeej" uas ceeb toom rau tus neeg siv thaum ua haujlwm tiav.

Pob qhuas

Siv cov pob no yooj yim heev, tab sis nws yuav tsum tau ua kom pom kev qhuas rau tus neeg siv. Nws zoo li txawv txawv, tab sis lawv yeej nyiam nws.

10 Qhov Tseem Ceeb R Nta Koj Yuav Tsis Paub Txog

Skillbox pom zoo:

Tau qhov twg los: www.hab.com

Ntxiv ib saib