Import

Andmete sisselugemiseks on R-is funktsioon read.table, millele tuleks ette anda

  1. andmefaili asukoht
  2. kas andmefaili esimeses reas paiknevad veergude nimed
  3. eraldajana kasutatav sümbol
  4. arvu täisosa murdosast eristav sümbol (ehk kümnendkohtade alguse tähis)
  5. puuduvate väärtuste tähistus

Argumente on funktsioonil veel teisigi ja peale andmefaili asukoha on kõigil argumentidel ka vaikeväärtused, ent sellest hoolimata on sageli mõistlik kõik need väärtused nö. kindluse mõttes ise kirja panna -- argumendi nime ja väärtuse kirjutamine on reeglina kiirem kui vaikeväärtuse järgi vaatamine.

  1. Andmefaili asukoha määrava argumendi nimi on file, ent kuivõrd tegu on esimese argumendiga, siis sageli antakse funktsioonile ette ainult selle argumendi väärtus (ülejäänud argumendid ei ole enam nii loogilise järjekorras). Faili asukoht antakse jutumärkide vahel ning see koht võib olla nt. kas asukoht kõvakettal ("C:\\hp\\andmed.csv") või ka internetiaadress ("http://lepo.it.da.ut.ee/~keiser/andmed.csv"). Kui veebiaadressi üleskirjutus on standardne, siis nn kohalikke aadresse on soovitav märkid just topeltkaldkriipsu abil. Tegelikult ei pea alati asukohta täispikalt välja kirjutama -- R-il on ka töökataloog, mille väärtust saab vaadata ja muuta vastavalt funktsioonide getwd ja setwd abil. Seega kui nt andmefail asub töökataloogis siis piisab asukohaks jutumärkide vahele paigutatud failinimest.
  2. Veerunimede olemasolu andmefailis määrab argument header, mille vaikeväärtus on FALSE. Seega kui andmefaili esimeses reas leiduvad veerunimed siis tuleks määrata header=T (R-is saab piiratud väärtustehulgaga argumentide korral kasutada väärtuste lühendeid ja seetõttu ei ole vaja header=TRUE välja kirjutada).
  3. Eraldaja määratakse argumendi sep abil. Sageli on eraldajaks kas semikoolon, koma, tühik või tabulaator (ehk tab). Vastavad väärtused on ";", ",", " " ja "\t". R-i vaikeväärtuseks on hoopis sep="", mis loeb eraldajaks ühe või ka mitu järjestikust tühikut või tabulaatorit. Kindlasti tuleb sep ise väärtustada puuduvate väärtuste korral andmestikus,
  4. Täisosa ja murdosa piiri määrab argument dec vaikeväärtusega ".", ent eestikeelse Windowsi korral on levinud selle piiri tähistamine koma abil ning sel juhul tuleks määrata sep=",".
  5. Puuduvate väärtuste tähistamise määramiseks on kasutusel argument na.strings vaikeväärtusega "NA". Ise võib anda ka mitu puuduva väärtuse tähist (mõistagi ei tohiks ükski neist kokku langeda sep ja dec sümbolitega) nt na.strings = c("NA","").

Argumente on funktsioonil read.table muidugi veel, ent enamustel juhtudel ülejäänute vaikeväärtusi põhjust muuta ei ole. Väga keeruka ülestähendusega andmefaili korral võib vaja olla hoopis funktsiooni scan.

Lõpetuseks tasub märkida, et kui andmetabelis ei esine puuduvaid väärtusi siis on lihtsaimaks variandiks hoopis andmete otse windowsi puhvrist sisse lugemine. Selleks tuleb Excelis andmed märgistada ja "Ctrl+C" abil puhvrisse võtta. Nüüd saab R-ile andmete asukohaks määrata "clipboard" ja lisaks tuleks seada ka sep="\t".

Lõpuks kaks näidet:

> andmed1=read.table("http://lepo.it.da.ut.ee/~keiser/andmed.csv",sep=";",dec=",",header=T,na.strings = c("NA",""))
> andmed2=read.table("clipboard",sep="\t",dec=".",header=T)