Survo R -seminaari ma 16.3.2020

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Survo R -seminaari ma 16.3.2020

Kimmo Vehkalahti
Administrator
Survo-Käyttäjäyhdistys ry järjestää Survo R -aiheisen seminaaritilaisuuden ma 16.3.2020 klo 16-18 Helsingissä, psykologian seminaarihuoneessa 229 (Siltavuorenpenger 1 A).

Esitelmän tulee pitämään professori Reijo Sund Itä-Suomen yliopistosta Kuopiosta. Ohessa on ennakkotietoa esitelmän aihepiiristä.

Kaikki Survon ystävät ovat lämpimästi tervetulleita kuulemaan ja keskustelemaan.

Tapaamisiin siis - maaliskuussa!

<hr>

Survo R:n jatkokehitys - mitä tarvitaan ja mitä halutaan?


Survo R on Survon täysverinen implementaatio R:lle. Sitä on ylläpidetty niin, että toimintavalmius säilyy, vaikka R:n ja/tai käyttöjärjestelmien versiot päivittyvät. Editorin toteutus R:n Tcl/Tk-tuen avulla on kuitenkin osoittautunut vanhentumisen merkkejä ja sen käyttöön liittyy turhia liittymän sisäisiä ongelmia, joita ei voi korjata ulkoapäin. Vaihtoehtoisia toteutustapoja on ollut vaikea löytää, mutta parhaaksi vaihtoehdoksi on valikoitunut HTML5:n pohjainen editori hyödyntäen websocket-tekniikkaa. R:n help-systeemin sisäinen web-palvelin oli kuitenkin liian epästabiili interaktiiviseen käyttöön, mutta httpuv-paketin tarjoama ulkoinen palvelin vaikuttaisi toimivalta ratkaisulta alustavissa kokeiluissa. Riippuvuuksia Tcl/Tk:sta on kuitenkin ollut hankalahkoa purkaa ja siirtyminen asynkroniseen toimintaan aikaisemmasta aikaa vievien toimintojen valmistumisen synkronisesta odottamisesta vaatii merkittäviä muutoksia nykyiseen toteutukseen. Yksi kehitysmahdollisuus olisi myös lisätä R:n dataframe (tai tibble) Survon datatyypiksi ja toteuttaa niiden osalta tarvittavat perustavanlaatuiset dataoperaatiot R:n keinoin, jolloin dataa olisi mahdollisuus manipuloida suoraan ilman formaatista toiseen muuntaisia niin Survon kuin R:n keinoin.

Vaikka editoriaalinen työtapa on kiistatta Survolle keskeinen tunnusmerkki, ei editoria pystytä kaikissa ympäristöissä käyttämään. Toinen mahdollinen kehityslinja onkin mahdollistaa Survon ja Survolla kehitettyjen skriptien käyttö myös ilman editoria. Suoraviivaisin tapa tähän olisi mahdollistaa Survon komentojen suorittaminen R-funktioilla esim. työstämällä wrapper-funktioita nykyisiin komentojen toteutuksiin. Voisi olla myös hyödyllistä laatia erityisesti datanmanipulointikomennoille kääntäjä joka muuttaisi suoritettavan Survo-koodin R-koodiksi. Tämä voisi olla toteutettavissa oleva mahdollisuus käyttäen R:n ns. tidyverse-pakettikokoelmaa, joka tekee datan manipuloinnista myös R:n puolella joustavaa ja helposti ymmärrettävää. Näin siis tutuilla Survon mahdollisuuksilla tehdyt skriptit saisi ainakin datanmuokkauksen osalta käännettyä automaattiseti R:ksi, jolloin muokkausskriptien suorittamiseen ei välttämättä tarvittaisi Survoa, vaikka alkuperäinen datanmuokkausskripti olisikin toteutettu Survolla.

Kolmas kehityslinja liittyy Survo R:n julkaisemiseen CRANissa. Mitä kaikkea pitäisi saada peruspakettiin mukaan ja mitkä voisivat olla laajennuspaketeiksi sopivia kokonaisuuksia?

Aiheeseen liittyy myös Survo R:n toimintojen dokumentointi, jonka osalta onkin nähty joitain ehdotuksia, jotka eivät kuitenkaan ole johtaneet lopullisiin toteutuksiin.
Reply | Threaded
Open this post in threaded view
|

Re: Survo R -seminaari ma 16.3.2020

Petri
Tossa on kyllä aika isoja asioita mietittävänä :)

Olen itse käyttänyt Survo R:ää Windowsilla ja sitten Linuxin Ubuntussa, ks. asennus terminaalin .sh-skriptien kautta:

http://forum.survo.fi/Survo-R-Linuxissa-tt557.html#a766

jo niin pitkään, että oon sopeutunut Survo R:n vähän tahmeampaan editoriin. Etenkin Linuxissa musta editori toimii ihan hyvin. Joskin ongelma on ollut se, että en ole saanut Linuxia toimimaan Ubuntun 14 jälkeen (nyt uusin taitaa olla Ubuntu 19), mutta tuokin ongelma on varmaan ratkaistavissa?

Omasta mielestäni Survon ehdoton vahvuus on juuri editori, vieläkään en ole löytänyt yhtä inspiroivaa "kenttää", jossa voisi nimenomaan kehitellä asioita ja yhdistellä eri ohjelmia. Esim. Survon kontrollisarake on hyvin tärkeä osa käyttöä. Kehitellyt prosessit voi suorittaa Survo R:ssä tai sitten .r skripteinä jossain muualla. RStudio on vaikuttaa aika perinteiseltä editorilta. Hyvää siinä on mielestäni (input-output-)ikkunointi, tai ainakin mahdollisuus sellaiseen.

Monia ohjelmia on ihan hyvä käskyttää ja/tai kirjoittaa Survo R:n toimituskentässä (Python, html+javascript,...).

Jokin selainversio lienee kuitenkin tulevaisuutta. R on varmaan hyvä "noja". Toisaalta Python - jossa taas ei ole kunnon editoria :D) - on mielestäni vähän yleisempi ohjelmointialusta, sillähän koodataan Youtubea jne ja Pythonissa on R-yhteyksiä.