Zadatak: Generisati vjestački data frame koji sadrži dvije kolone – x i y. Kolonu x definisati kao 100 slučajnih brojeva iz uniformne raspodjele sa minimumom 0 i maksimumom 100. Kolonu y definisati kao prost slučajan uzorak sa ponavljanjem od 100 jedinica vektora slova engleske abecede. Generisani data frame eksportovati u novi MS Excel fajl i u MS Excel šablon (templejt) dat u nastavku.
> #narednu komandu izvrsiti ukoliko XLConnect paket vec nije instaliran
> #install.packages("XLConnect")
> library(XLConnect)
>
> #kreirati vjestacki data frame
> set.seed(1122)
> db <- data.frame(x = runif(100, 0, 100), y = sample(letters, 100, rep = TRUE))
> head(db)
x y
1 7.728814 o
2 1.392155 e
3 67.363041 z
4 14.321367 k
5 47.193364 y
6 47.118295 p
>
> #ucitati prazni Excel file pod nazivom db_xlc.xlsx
> wb <- loadWorkbook("db_xlc.xlsx", create = TRUE)
> #kreirati radni list pod nazivom Sheet1
> createSheet(wb, name = "Sheet1")
> #eksportovati data frame db u radni list Sheet1
> writeWorksheet(wb, db, sheet = "Sheet1")
> #sacuvati promjene i generisati fajl
> saveWorkbook(wb)
>
> #ucitati Excel sablon iz radnog direktorijuma
> wb <- loadWorkbook("db_xlc_tmpl.xlsx")
> #definisati eksport u postojeci formatiran sablon
> setStyleAction(wb, XLC$"STYLE_ACTION.NONE")
> #argument sheet definisan kao redni broj radnog lista (2)
> writeWorksheet(wb, db, sheet = "Sheet1")
> #inicirati rekalkulaciju polja iz excel sablona
> setForceFormulaRecalculation(wb, sheet = "Sheet1", TRUE)
> #sacuvati promjene i generisati fajl
> saveWorkbook(wb)
>
> #detalje o argumentima funkcije writeWorksheet pogledati na strani za pomoc
> ?writeWorksheet
> #narednu komandu izvrsiti ukoliko openxlsx paket vec nije instaliran
> #install.packages("openxlsx")
> library(openxlsx)
>
> #kreirati vjestacki data frame
> set.seed(1122)
> db <- data.frame(x = runif(100, 0, 100), y = sample(letters, 100, rep = TRUE))
> head(db)
x y
1 7.728814 o
2 1.392155 e
3 67.363041 z
4 14.321367 k
5 47.193364 y
6 47.118295 p
>
> #eksportovati data frame db u radni list Sheet1 novog Excel fajla
> write.xlsx(x = list(Sheet1 = db), file = "db_oxlsx.xlsx")
>
> #eksportovati data frame db u Excel sablon
> wb <- openxlsx::loadWorkbook("db_oxlsx_tmpl.xlsx")
> writeData(wb = wb, sheet = "Sheet1", x = db)
> openxlsx::saveWorkbook(wb, file = "db_oxlsx_tmpl.xlsx", overwrite = TRUE)
> #narednu komandu izvrsiti ukoliko writexl paket vec nije instaliran
> #install.packages("writexl")
> library(writexl)
>
> #kreirati vjestacki data frame
> set.seed(1122)
> db <- data.frame(x = runif(100, 0, 100), y = sample(letters, 100, rep = TRUE))
> head(db)
x y
1 7.728814 o
2 1.392155 e
3 67.363041 z
4 14.321367 k
5 47.193364 y
6 47.118295 p
>
> #eksportovati data frame db u radni list Sheet1 novog Excel fajla
> write_xlsx(x = list(Sheet1 = db), path = "db_wxl.xlsx")
>
> #paket writexl nema mogucnost eksporta u vec postojeci Excel sablon