R-ohjelmointi.org
Tilastotieteellistä ohjelmointia R-kielellä
Taulukoiden tuottaminen R:stä
Taulukoiden tuottaminen esimerkiksi Word-tiedostoon tai Excel-taulukoksi on perinteisesti ollut eräs R:n hankalimmin tehtävistä perustoimenpiteistä. Useimmiten olen vain kopioinut R:n komentoriviltä raaka-taulukon tekstinä, pilkkonut sen vaikkapa Excelissä sarakkeisiin, ja muokannut lopulliseen muotoon. Tiesin kyllä, että näppärämpiäkin keinoja on, mutten ollut jaksanut aiemmin niihin tutustua.
Kokosin nyt parin viikon testikäytön jälkeen alle lyhyen koodikatkelman ja esimerkkejä eräistä kevyimmistä toteutustavoista:
library(psych) tab<-describeBy(iris[1:4], list(iris$Species))[[1]] setwd("C:/Users/Jarno Tuimala/Desktop") # Merkkigrafiikalle tehdyt taulukot # Tulostuvat komentoriville table(iris$Species) prop.table(table(iris$Species)) library(ascii) print(ascii(table(iris$Species)), "rest") library(summarytools) frequencies(iris$Species) library(gmodels) CrossTable(infert$education, infert$induced) # Taulukko Excel-tiedostoon # Pienille taulukoille nopeaa, aineistoille hitaampaa library(xlsx) write.xlsx(tab, "tab_xlsx.xlsx", sheetName="Sheet1", col.names=TRUE, row.names=TRUE, append=FALSE, showNA=TRUE) # Taulukko html-taulukoksi # Enemmän muotoilumadollisuuksia library(htmlTable) options(browser="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe") htmlTable(round(tab, 1)) # Kevyempi toteutustapa library(xtable) print.xtable(xtable(tab), type="html", file="tab_xtable.html") # Taulukko PowerPoint:iin tai Word:iin # Paketti tarjoaa myös laajemman valikoiman funktioita, joilla voi toteuttaa # vaikkapa kokonaisen raportin. Sisältää myös erilaisten kaavioiden ja # kuvien tallentamiseen liittyviä funktioita. Esimerkiksi R-kaavio on # mahdollista tallentaa muokattavaksi vektorigrafiikaksi PowerPointiin. library(ReporteRs) mydoc = pptx( ) mydoc = addSlide( mydoc, "Vertical Title and Text" ) mydoc = addFlexTable( mydoc, FlexTable(tab) ) writeDoc( mydoc, "pp_simple_example.pptx" ) mydoc = docx( ) mydoc = addFlexTable( mydoc, FlexTable(tab) ) writeDoc( mydoc, "pp_simple_example.docx" ) |
Etenkin ReporteRs-paketti osoittautui varsin hyödylliseksi tuttavuudeksi. Suosittelen tutustumaan, jos se sopii työskentely-ympäristösi osaksi!
Vastaa