User Tools

Site Tools


anadat:cs:theory:import

Načtení dat

Obvykle načítáme nějakou datovou tabulku, nejčastěji uloženou pomocí tabulkového editoru, např. Microsoft Excelu. Tabulka je obdélníkového tvaru a všechny sloupce obsahují stejný počet hodnot. Při načítání dat je potřeba pohlídat pár věcí. Ty základní jsou:

  1. oddělovač buněk - jaký znak odděluje buňky tabulky (např. mezera, Tabulátor, čárka, středník…)
  2. desetinný oddělovač (tečka “.”, nebo čárka “,”)
  3. zda mám záhlaví - zda tabulka obsahuje jména sloupců
  4. a zda mám jména řádků, ta bývají většinou v prvním sloupci a musí být jedinečná.

Funkce

Existuje celá rodina funkcí, vždy začíná na read. , a liší se v přednastavených hodnotách argumentů. Např. read.table(), read.delim(), viz ?read.table.

Základní argumenty

  • sep = kontroluje oddělovač buněk. Tabulátor značíme "\t".
  • dec = decimální oddělovač, buď ",", nebo ".".
  • header = zda máme záhlaví, logická hodnota TRUE/FALSE.
  • row.names = ve kterém sloupci jsou jména řádků? Buď pořadí sloupce, nebo jméno v uvozovkách. Nejčastěji jsou jména řádků v prvním sloupci, pak row.names = 1.

Osobně preferuji uložení tabulky pomocí Excelu jako Tabulátorem oddělený text (Tab-delimited text). Zároveň na počítači používám desetinné tečky a téměř vždy mám záhlaví. Takto přednastavené argumenty má funkce read.delim(). Pokud mám jména řádků v prvním sloupci, přidám row.names= 1. Následující dva příkazy jsou totožné:

dat<- read.table("data/spe.txt", sep= "\t", dec= ".", header= T, row.names= 1)
dat<- read.delim("data/spe.txt", row.names= 1)

Kontrola načtených dat

Nezapomeňte zkontrolovat načtená data! Ušetříte si tak mnoho chyb a nejasností pramenících ze špatně načtených dat. Data nejlépe zkontrolujete prohlédnutím jejich struktury:

str(dat)

Časté chyby při importu dat:

  • Numerické proměnné jsou načteny jako faktory (kategoriální proměnné) - příčinou bývá špatně zadaný desetinný oddělovač, případně zapomenuté záhlaví
  • Chybová hláška, hlásající, že x-tý řádek má méně než y elementů - příčinou bývá špatně zadaný oddělovač buněk (R jako default používá mezery)

Nahrazení NA hodnot nulami

Pokud v tabulce máme prázdné buňky, v R se změní na NA - neznámé - hodnoty. Často to jsou nulové abundance druhu v druhové tabulce. Ty můžeme přepsat na nuly, například takto:

dat[is.na(dat)]<- 0

Vytvoření zkratek druhů

Zkratky druhů namísto jejich plných jmen šetří místo v ordinačních diagramech, i počty úderů do klávesnice při psaní. Pokud je nemáme vytvořeny v tabulkovém editoru, můžeme je vytvořit pomocí funkce make.cepnames() z balíku vegan. Zde nahrazuji plná jména druhů v záhlaví tabulky dat nově vytvořenými zkratkami.

names(spe)<- make.cepnames(names(spe))
anadat/cs/theory/import.txt · Last modified: 2017/04/07 23:27 by vitek