1 Kurssipalaute

Kiitoksia palautteesta, sitä ehtii vielä antaa osoitteissa:

Palautteesta kävi päälimmäisenä ilmi se ilmeinen seikka, että kurssilla oli paljon sisältöä ja mikäli lähtötiedot olivat vähäiset, niin kurssin suorittaminen oli tiukka rutistus. Toinen asia oli että luenoilla olisi pitänyt käydä sisältöjä läpi yhdessä vuorovaikutteisesti sen sijaan että opettaja kävi asioita yksin läpi. Kolmantena asia oli ohjelmistoympäristön monimutkaisuus.

Teknisiin taitoihin ja etenkin ohjelmointiin tähtäävillä kursseilla ongelmana on aina se, että kurssin suorittamisen työmäärä vaihtelee rajusti opiskelijan lähtötason mukaan. Kenties jonkinlainen johdatus kurssin teemoihin olisi lisäksi vielä tarpeen, tai kurssille olisi jonkinlainen pääsykoe johon voisi valmistautua opiskelemalla omatoimisesti R:n perusteita joko yliopiston kurssilla tai verkosta löytyvillä kursseilla. Joka tapauksessa kurssin sisältöä täytyy vähän karsia ja ennen kaikkea järjestellä uudelleen. Kenties seuraavalla kerralla lähdetään liikkeelle kuvien piirtämisestä ja looppien kirjoittamisesta. Kaikenkaikkiaan työnjakoa verkossa avoimena olevien erinomaisten kurssien ja yliopiston tarjoamien kurssien välillä pitää tarkkaan miettiä sekä yliopiston että teidän opiskelijoiden.

Jatkossa vien kurssia enemmän siihen suuntaan, että opiskelijan tulee käydä uusia sisältöjä läpi omatoimisesti kotitehtävien yhteydessä ja live-sessiot omistetaan kotitehtävien läpikäymiselle ja yhdessä tekemiselle. Kenties luennon lopussa olisi aina lyhyt johdanto seuraaviin kotitehtäviin, jota opiskelija kävisi tosiaan läpi laajemmin omatoimisesti samalla kun suorittaa kotitehtäviä. Se on usein ajanhukkaa käydä läpi teknisiä asioita perinpohjin ennen kuin kukaan opiskelijoista on yrittänyt niitä itsenäisesti. Kokonaisuutena kurssin opetustunteja voi joutua lisäämään parilla mikäli sisältö säilyy nykyisen laajuisena.

Git:n ja Gitlabin mukaanottaminen oli jo alkujaan riski, mutta osoittautui vielä hivenen hankalammaksi CSC:n Poutapilven tilapäisten istuntojen kanssa. Siihen mennyt aika oli pois R:n opettamisesta sekä gitin käytön perusteluista. Joka tapauksessa git on se ympäristö tai alusta jossa avoimen lähdekoodin ohjelmistojen kehitys tapahtuu ja sitä on hyvä ymmärtää jollain tasolla. Toisaalta se on erinomaisen käyttökelpoinen etenkin laajempien opinnäytekokonaisuuksien hallinnassa. Jatkossa kurssin materiaalit tulevat olemaan samaan tapaan gitlab:ssa, ja opiskelijat saavat palauttaa työnsä gitin kautta, mutta huomattavasti yksinkertaisemmin kuin tällä kertaa. Turun yliopistolla on nyt myös oma gitlab https://gitlab.utu.fi/ ja myös sitä on mahdollista käyttää hyväksi. Kaiken kaikkiaan nykyinen git-konfiguraatio oli liian monimutkainen ja suunniteltu ensisijaisesti opettajan byrokratian minimoimisen näkökulmasta.

2 Opittua harjoitustöistä

Harjoitustyönb tavoitteena oli yhdistää kurssillä läpikäydyt data-analyysin vaiheet itsenäiseksi kokonaisuudeksi, jossa yhdistyvät yhdessä dokumentissa tutkimusongelman kuvaus, data-analyysi ja sen tulokset, sekä johtopäätökset. Harjoitustyöt olivat oivaltavia ja aiheiltaan kiinnostavia, mutta huomasin joidenkin asioiden jääneen kurssilla epäselväksi ja siten hidastaneen työn tekemistä

Tärkein asia huomata on se, että kurssin kotitehtävien pohjat olivat tavallisia R-skriptejä, joihin toki olin kirjoittanut tehtävänannot #' etuliitteellä, jotta ne oli mahdollista generoida sivuiksi (lue lisää ko. merkintätavasta..). Ko. formaatin merkintätapa havainnollisettua alla

dokumentti_X.R

#' ---
#' title: "dokumentti X"
#' author: utu_tunnus
#' output: html_document
#' ---

#' # Johdanto 

#' Tekstiä tähän ja kappale
#' jatkuu ja jatkuu

#+ analyysi, fig.height=6, fig.width=9, echo=FALSE, message=FALSE, warning=FALSE, cache=TRUE
plot(cars)

Pyysin harjoitustyöt palautettavan Rmarkdown-muodossa, jossa R-koodin kimpaleet (chunk) sijoitetaan '''{r} ja ''' tagien sisään ja jolloin tekstiin eri tarvitse lisätä #' etuliitettä.

dokumentti_X.Rmd

---
title: "dokumentti X"
author: utu_tunnus
output: html_document
---

# Johdanto 

Tekstiä tähän ja kappale
jatkuu ja jatkuu

'''{r analyysi, fig.height=6, fig.width=9, echo=FALSE, message=FALSE, warning=FALSE, cache=TRUE}
plot(cars)
'''

Sekaannus näiden kahden merkintätavan välillä oli aiheuttanut turhaa työtä monelle. Jatkossa siis keskittykää tähän alempaan RMarkdown-merkintätapaan ja jättäkää tuo ylempi taka-alalle mahdollista myöhempää käyttöä varten. Katsokaa huolella vielä tämä video!

Getting started with R Markdown from RStudio, Inc. on Vimeo.

Muita pieniä huomioita

  • välttäkää ääkkösiä sekä tiedostojen, objektien että funktioiden nimissä. Ääkköset aiheuttavat enkoodausongelmia etenkin jos työskentelette välillä unix:ssa (OSX/linux) ja välillä Windowsissa. Lue: Escaping from character encoding hell in R on Windows
  • Jos haluatte katsoa dataa niin käyttäkää komentoa View(data). Jos taas haluatte printata osan datasta raporttiin* niin käyttäkää vaikka knitr::kable(head(data)). Ei View()-funktiota raportteihin!
  • muistakaa dokumentointi. Kirjoittakaa koodin sekaan aina paljon siitä mitä ja miksi haluatte koodin tekevän (intention) ja vähemmän siitä mitä koodi tekee (action).

3 Jatko-opinnot

Suosittelen lämpimästi jatkamaan R-opintoja itsenäisesti. Alla muutama linkki

3.1 Coursera

Allaolevat kolme ovat viiden tai useammin jakson R-erikoistumiskursseja:

4 Lopuksi

Mukin voittaja on käyttäjä hpleht - arvonta suoritettiin seuraavalla komennolla datasta, johon oli koottu kotitehtävän palauttaneiden tiedot:

voittaja <- grades[sample(nrow(grades), 1), ]

Poistakaa gitlab-tili jos että sitä tarvitse!

  1. Kirjaudu gitlabiin
  2. “profile settings”
  3. “account”
  4. “Remove account”

4.1 Massasähköpostien lähettäminen R:stä

Räätälöityjen massasähköpostien lähettäminen R:stä onnistuu näillä ohjeilla: https://github.com/jennybc/send-email-with-r


2016 Markus Kainu.

Creative Commons -lisenssi
Tämä teos on lisensoitu Creative Commons Nimeä 4.0 Kansainvälinen -lisenssillä.

Tämä sivusto on tehty R:ssä Rmarkdown-paketin uusimmassa kehitysversion uudella render_site()`-funktiolla, jonka tekee staattisten responsiivisten verkkosivujen tekemisen helpoksi. Katso ohjeet: