Načítanie dát

Dáta môžeme uložiť do premennej buď ručne cez konzolu (nevhodné pri väčšom objeme), alebo ich efektívne načítať zo súboru. Nižšie uvádzame niektoré užitočné funkcie na načítanie dát.

Načítanie dát pomocou funkcie scan

Funkcia scan() umožňuje jednoduché čítanie dát z konzoly alebo zo súboru. V prípade načítavanie z konzoly slúži ako oddeľovač medzera, tabulátor alebo nový riadok. Na ukončenie zadávania hodnôt stačí stlačiť Enter na prázdnom riadku. Výstupom príkazu je vektor alebo zoznam.

Zadávanie dát priamo z konzoly

Už na začiatku upozorňujeme na možné chyby pri zadávaní dát z konzoly. Povolené sú len reálne čísla s desatinnou bodkou. Dáta možno vložiť aj zo schránky, no musia byť oddelené medzerou, tabulátorom alebo novým riadkom.

x <- scan() 3.0 5.1 6.5 9.8 #zoznam dát, ktoré chceme načítať 2.1 5.7 6.0 #ukončenie zadávania dát Enterom x #zavolaný výpis premennej x [1] 3.0 5.1 6.5 9.8 2.1 5.7 6.0

Zadávanie string dát priamo z konzoly

y <- scan(what= "") 1: jozko #zoznam dát, ktoré chceme načítať 2: mrkvicka 3: alexander 4: martin y #zavolaný výpis premennej y [1] "jozko" "mrkvicka" "alexander" "martin"

Načítanie zo súboru a uloženie do zoznamu

x <- scan("d:/scan.txt", what=list(vek=0, meno="")) x #zavolaný výpis premennej x $vek #zavolaný výpis premennej x, konkrétna hodnota vek [1] 12 24 35 20 $meno #zavolaný výpis premennej x, konkrétna hodnota meno [1] "jozko" "mrkvicka" "david" "miroslav"

Načítanie zo súboru ale iba s uložením mien ako vektor

x <- x[sapply(x, length) > 0] x #zavolaný výpis premennej x $meno #zavolaný výpis premennej x, konkrétna hodnota meno [1] "jozko" "mrkvicka" "david" "miroslav" is.vector(x) #overenie, či je premenná x vektor [1] TRUE

Načítanie z xlsx. súboru

R používa bodku ako desatinný oddeľovač. Pri importe čísel z Excelu je preto potrebné upraviť jeho nastavenia: Office > Možnosti programu Excel > Rozšírené > Oddelovač desatinných miest – zmeňte na bodku. Na import dát z .xlsx súborov je potrebné nainštalovať a načítať knižnicu xlsx. Postup nájdete v sekcii Knižnice. Dáta načítate pomocou príkazu:

read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL, colIndex=NULL, header=TRUE) # file – názov súboru (relatívny k prac. adresáru, zistíte cez getwd()) # sheetIndex – číslo listu # sheetName – názov listu # rowIndex – riadky na import # colIndex – stĺpce na import # header – ak TRUE, prvý riadok sú názvy premenných

Príklad:

Na načítanie 1. stĺpca z prvého listu súboru dataSem.xlsx, pričom prvý riadok obsahuje názov premennej, použijeme tento príkaz:

time <- read.xlsx("c://ekonometria//dataSem.xlsx",1,colIndex=1, header=TRUE) #takto načítané dáta sú uložené v zozname time = unlist(time) #príkaz na prehodenie zo zoznamu do vektoru

Načítanie z CSV súboru

Na rozdiel od .xls a .xlsx súborov, .csv súbor nepotrebuje načítať žiadnu knižnicu. Načítanie dát sa realizuje pomocou jedného z dvojice príkazov:

read.csv(file, header = TRUE, sep = ",", dec = ".") read.csv2(file, header = TRUE, sep = ";", dec = ",") # file – názov súboru # header – či má 1. riadok názvy stĺpcov # sep – oddeľovač hodnôt # dec – desatinný oddeľovač # ?read.csv – zobrazenie ďalších voliteľných parametrov

Príklad:

Na načítanie obsahu súboru test.csv do premennej test_csv. použijeme tento príkaz:

test_csv <- read.csv("C://Ekonometria//test.csv") #načítanie obsahu súboru test.csv do premennej test_csv test_csv2 <- read.csv("C://Ekonometria//test.csv2") #stĺpce sú oddelené "," a desatinné znamienko je "."

🔍