Datové struktury
Jak jsme si již popsali v kapitoleObjekty, datová struktura je typ objektu, který obsahuje data, na rozdíl od jiných objektů, jako jsou funkce a podobně.
Popsali jsme si i typy datových struktur, a protože práce s každou z nich je specifická a má svá úskalí, v této kapitole se budeme věnovat podrobnějšímu rozdělení samotných datových struktur a prací s nimi.
Zopakujme si tedy základní datové struktury, kterým se budeme věnovat blíže (v závorce uvádíme pro orientaci i anglický ekvivalent, tak jak jsou označeny v R):
- vektor (vector)
- faktor (factor, speciální případ vektoru)
- matice (matrix)
- pole (array)
- datová tabulka (data frame)
- seznam (list)
Datové struktury mohou být několika datových typů a dají se rozdělit podle toho, jestli mohou obsahovat objekty jednoho typu nebo více typů.
Ve výukové jednotce Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R První sektání s jazykem R Datové struktury naleznete tabulku, která rozděluje jednotlivé datové struktury podle těchto kritérií.
Snad nejdůležitejší je uvědomit si, že nejzákladnější datovou strukturou v R je vektor. Matice a pole jsou speciálními případy vektoru. Jejich vlastností je, že musí obsahovat stejný typ objektů. Tedy například neexistuje matice, která by mohla obsahovat jak čísla, tak i textový řetězec.
Druhou důležitou datovou strukturou je seznam. Ten se skládá z více vektorů, ty však nejsou mezi sebou propojeny. Proto na rozdíl od vektorových struktur mohou tyto struktury obsahovat různé typy vektorů - každý vektor ovšem musí obsahovat stejný typ objektů. Datová tabulka je speciální případ seznamu. Tedy například první sloupec datové tabulky může obsahovat čísla, druhý řetězce znaků a další zas logické hodnoty.
Za zmínku také stojí, že v R neexistuje skalár jako samostatná struktura. Skaláry jsou v podstatě vektory o délce 1.