R-ohjelmointi.org
Tilastotieteellistä ohjelmointia R-kielellä
Työhakemiston asettaminen interaktiivisesti
R:n käyttöä Windows:ssa haittaa pieni, mutta aavistuksen rasittava piirre: työhakemiston vaihtaminen on kankeaa. Periaatteessa työhakemisto on helppoa vaihtaa vaikkapa valikoista Menu->Choose Dir… tai komennolla setwd(choose.dir())
, mutta molemmat avaavat hakemistoselaimen, jossa pitää C-levyn juuuren kautta hakeutua työpöydälle (C:->Users->käyttäjä->Desktop). Turhia klikkauksia!
Jos kansiossa on tiedostoja, on eräs helpompi tapa siirtyä oikeaan kansioon komento setwd(dirname(file.choose()))
. Nyt on enää kaksi hiiren näpäytystä polun asettamiseksi, mutta komento on pidempi.
Pysyvämpiä ratkaisuja on muutamia. Ensinnäkin työhakemiston voi asettaa R:n pikakuvakkeeseen suoraan (hiiren oikean napii takaa löytyvät pikakuvakkeen ominaisuudet). Oletusarvoisesti se osoittaa käyttäjän ”My Documents”-kansioon, mutta sen voi vaihtaa osoittamaan vaikka työpöydälle. Toiseksi ylläolevan komennon voi laittaa R:n asetustiedostoon Rprofile.site seuraavasti:
wd<-function() { setwd(dirname(file.choose())) } |
Tämän jälkeen R:ssä voi työtiedostoa vaihtaa interaktiivisesti käyttäen komentoa wd()
.
Toinen vastaavankaltainen ratkaisu on käyttää tcltk:n ominaisuuksia:
library(tcltk) setwd(tclvalue(tkchooseDirectory())) |
Tämä ratkaisu toimii, vaikkei kohdekansiossa olisikaan yhtäkään tiedostoa.
Näiden muutosten jälkeen oma Rprofile.site-tiedostoni näyttää seuraavalta:
# Things you might want to change # options(papersize="a4") # options(editor="notepad") # options(pager="internal") # set the default help type # options(help_type="text") options(help_type="html") # set a site library # .Library.site <- file.path(chartr("\\", "/", R.home()), "site-library") # set a CRAN mirror # local({r <- getOption("repos") # r["CRAN"] <- "http://my.local.cran" # options(repos=r)}) # Give a fortune cookie, but only to interactive sessions # (This would need the fortunes package to be installed.) # if (interactive()) # fortunes::fortune() wd<-function() { setwd(dirname(file.choose())) } wdt<-function() { require(tcltk) setwd(tclvalue(tkchooseDirectory())) } |
Taas tuli hiukkasen virtaviivaistettua tekemistä. Minuutti päivässä on puoli päivää vuodessa.
Vastaa