R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Graafinen ohjelmointi R:llä

Graafisessa ohjelmoinnissa esimerkiksi analyysien tekeminen tapahtuu putkittamalla erilaisia komponentteja peräkkäin, joista sitten muodostuu analyysia kuvaava työnkulkukaavio tai aineiston reitti analyysin läpi. Kun koko työkulku suoritetaan, tehdään samalla itse analyysikin. Tällaisia analyysiohjelmistoja on useita, ilmaisista tunnetuimpina ehkä RapidMiner ja Knime, mutta R:ään vastaavanlaisia mahdollisuuksia ei ole kovin kattavasti ollut tarjolla.

Kirjoitin aiemmin Red-R -projektista, jonka tarkoituksena oli tuottaa graafinen ohjelmointiympäristö R:n päälle, mutta projekti on sittemmin ilmeisesti lopettanut toimintansa, sillä projektin kotisiu on ollut alhaalla jo pitkään. Tällä viikolla Revolution Analytics ilmoitti, että sen tarjoama kaupallinen R version Revolution R Enterprse ja Alteryxin grafiseen ohjelmointiin sopiva Alteryx Engine tullaan integroimaan.

Tämä on R:n ilmaisversiota käyttäville siinä mielessä mielenkiintoinen uutinen, että Alteryx tarjoaa omasta käyttöliittymästään myös ilmaista versiota, Alteryx Project Edition:ia. Toki graafiseen ohjelmointiin R:llä soveltuvia työkaluja on monia muitakin. Esimerkiksi avoimen lähdekoodin Taverna tarjoaa mahdollisuuden käyttää R:ää. Toinen vastaavankaltainen tuote on RAnalyticFlow. Näiden molempien eräänasteisena ongelmana on, etteivät ne juurikaan tarjoa valmiita solmuja, joita voisi suoraan käyttää analyysissä, vaan toiminnallisuus on ensin itse implementoitava. Alteryx sen sijaan tarjoaa suoraan valikoiman valmiita R:n ominaisuuksille perustuvia solmuja, mikä on selkeä etu muihin nähden. Lisäksi on tietysti mahdollista toteuttaa uusia solmuja, joilla voi toteuttaa omia lisäominaisuuksia.

Alla on esimerkki osittain R:llä toteutetusta CART-analyysistä Alteryxin käyttöliittymässä. Melko tavaomaiseen tapaan, käytettävissä olevat komponentit on luokiteltu asiakokonaisuuksiin, ja yksittäiset komponentit on lueteltu ikonein käyttöliittymän yläreunassa.

Olen työskennellyt Alteryxin lisäksi mm. RapidMinerillä ja Knimellä, mutten ole oikein koskaan kunnolla päässyt sisälle graafiseen ohjelmointiin. Esimerkiksi silmukoiden tai ristiinvalidoinnin toteuttaminen tuntuu usein kankealta. Sen sijaan graafisella ohjelmoinnilla voi olla mahdollista toteuttaa helposti käytettäviä analyysitoiminnallisuuksia sellaisille käyttäjille, joille esimerkiksi ohjelmointi ei sovellu. Lisäksi muun muassa RapidMinerin ja Knimen ongelmana on aiemmin ollut, että uudet komponentit on pitänyt koodata Javalla, joskin nykyisin niistäkin voi suoraan käyttää R:ää. Uusien R:ään perustuvien komponenttien työstäminen on silti helpompaa Alteryx:llä, joten pidän sitä nykyisin parhaana graafisena käytöliittymänä R:lle.


Category