1 Johdanto

Kurssilla käydään tiiviisti läpi R-kielen kenties suosituin data-analyysin prosessi josta käytetään nimeä tidyverse. Nimi viittaa Hadley Wickhamin kirjoittamien pakettien ja tidy data -lähestymistavan muodostamaa kokonaisuutta (ks. alla oleva kuva).

The majority of the packages that you will learn in this book are part of the so-called tidyverse. All packages in the tidyverse share a common philosophy of data and R programming, which makes them fit together naturally. Because they are designed with a unifying vision, you should experience fewer problems when you combine multiple packages to solve real problems. The packages in the tidyverse are not perfect, but they fit together well, and over time that fit will continue to improve.

There are many other excellent packages that are not part of the tidyverse, because they are designed with a different set of underlying principles. This doesn’t make them better or worse, just different. In other words, the complement to the tidyverse is not the messyverse, but many other universes of interrelated packages. As you tackle more data science projects with R, you’ll learn new packages and new ways of thinking about data. But we hope that the tidyverse will continue to provide a solid foundation no matter how far you go in R.

Garrett Grolemund & Hadley Wickham (2016) R for Data Science

Kurssilla opitaan tidy data -lähestymistavan ohella myös ohjelmistokehityksen perustyökalujen käyttöä kuten versiohallintaa. Kaikki uudet työkalut otetaan käyttöön heti kurssin alussa ja ne opetellaan käytännön kautta.

1.1 Miksi R:ää?

Kolme syytä:

  1. lisensointi
  2. lisensointi
  3. lisensointi
licence()
# This software is distributed under the terms of the GNU General
# Public License, either Version 2, June 1991 or Version 3, June 2007.
# The terms of version 2 of the license are in a file called COPYING
# which you should have received with
# this software and which can be displayed by RShowDoc("COPYING").
# Version 3 of the license can be displayed by RShowDoc("GPL-3").
#
# Copies of both versions 2 and 3 of the license can be found
# at https://www.R-project.org/Licenses/.
#
# A small number of files (the API header files listed in
# R_DOC_DIR/COPYRIGHTS) are distributed under the
# LESSER GNU GENERAL PUBLIC LICENSE, version 2.1 or later.
# This can be displayed by RShowDoc("LGPL-2.1"),
# or obtained at the URI given.
# Version 3 of the license can be displayed by RShowDoc("LGPL-3").
#
# 'Share and Enjoy.'

Erityisesti Linux kernelistä tunnettu GNU General Public License (GPL) lienee ehkä kuuluisin vapaan lähdekoodin lisenssi. GPL on esimerkki copyleft (käyttäjänoikeus) lisenssistä. Copyleft-lisenssit ovat vapaan lähdekoodin lisenssejä jotka vaativat, että johdannaisteokset ovat myös copyleft-lisenssin alaisia. Copyleft-lisenssejä sanotaan tämän vuoksi myös tarttuviksi lisensseiksi. Kuten suomenkielinen nimi antaa ymmärtää, copyleftin tarkoitus on suojella loppukäyttäjää. Se tekee tämän kieltämällä uusien rajoitteiden lisäämisen lisenssiin ja näin kannustamalla kehittäjiä suosimaan vapaata lähdekoodia.

GPL sallii teoksen levityksen ja muokkauksen, kunhan seuraavia ehtoja noudatetaan:

  • Lisenssiä ei saa muuttaa tai poistaa
  • Muokkauksista pitää lisätä huomio
  • Ohjelman tulee sisältää tieto lisenssistä
  • Lähdekoodi pitää tehdä saataville kaikille, joille ohjelma on levitetty
  • Johdannaisteokset tulee lisensoida samalla lisenssillä

GPL ei ole kuitenkaan EULA, eli se ei koske ohjelmiston käyttäjää. Ehdot koskevat ainoastaan levittäjiä. Omia muutoksia ei myöskään tarvitse julkaista kenelle tahansa, vaan ainoastaan niille kenelle muokatusta ohjelmasta on annettu kopio. Eli sisäiseen käyttöön tehtyjä muutoksia ei ole pakko julkaista.

Lähde: Sofokus: Avoin lähdekoodi – Tiedätkö mitä rajoituksia se asettaa ohjelmistosi käytölle?

2 Teknologiat ja ohjelmistoympäristö

Kurssilla hyödynnetään Tieteen tietotekniikan keskuksen (CSC) Pouta Blueprints laskentaympäristö, joita opiskelijat voivat käyttää haka-verkon kautta pelkkää selainta käyttäen joko mikroluokkien koneilla tai omalla koneella. Kurssin edetessä halukkaat voivat rakentaa myös vastaavan ympäristön omalle koneelleen omatoimista käyttöä varten.

Kurssilla käytettävät ohjelmistot ovat poikkeuksetta vapaita ja avoimen lähdekoodin ohjelmistoja, joita voi käyttää sekä Windowsissa, OSX:ssä että eri linux-jakeluissa.

Ohjelmistoympäristö on perusteltu ja käyty läpi hyvin täällä: Jenny Bryan and the STAT 545 TAs: Happy Git and GitHub for the useR

2.1 R

W3Schools

2.2 Rstudio

W3Schools

2.2.1 Rmarkdown

2.3 git

W3Schools

2.4 Gitlab

W3Schools

  • versiohallintaa (git) tukeva koodin jakamisen verkkopalvelu
  • Gitlab ei ole ohjelmisto, vaan kenties suosituin lähdekoodin jakamisen ja yhdessä ohjelmoimisen (social coding) mahdollistava verkkopalvelu.
  • Kurssille osallistuminen edellyttää Gitlab:iin rekisteröitymistä.
  • Syy miksi emme käytä Github on se, että Gitlab:ssa on oletuksena tarjolla rajaton määrä privaatteja projekteja. Se voi olla monissa tutkimusprojekteissa tarpeen.

2.5 Slack

W3Schools

2.6 shell ie. komentorivi


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: