Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyAnalýza dat v R Rozšířené základy R R jako programovací jazyk Objekty

Logo Matematická biologie

Objekty

Pro základní práci s objekty (zobrazení, odstranění) v pracovním prostoru doporučujeme nastudovat sekci "Další užitečné příkazy"  ve výukovém modulu Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R První setkání s jazykem R Workspace(pracovní prostor).

Objekty v R jsou vždy vytvořeny přiřazením a uloženy pod nějakým názvem (viz kapitola Příkazy v R).

Z uživatelského hlediska objekty v R můžeme rozdělit na datové struktury - které obsahují data a ostatní. Datovou strukturou je například vektor, matice nebo seznam, zatímco nedatovou strukturou je například funkce, prostředí (environment), jazykový výraz a podobně.

Objekty jsou charakterizovány svými atributy (vlastnostmi). Patří sem například typ a mód objektu, ale i atributy, které jsou specifické pro druh objektu, které objekt může a nemusí mít. Příkladem je například dimenze, která není definována u vektoru nebo listu, ale je definována u matice:

> dim(1:10)
NULL

> dim(a)
NULL

> dim(matrix(1:4,2,2))
[1] 2 2

Nejdůležitějšími vlastnostmi z hlediska analýzy dat jsou typ (typeof, mode, strorage.mode) a třída objektu (class).

Typ objektu z pohledu R se dá zjistit funkcí

> typeof()

Existují ještě další starší typů objektů, jako úložný mód:

> storage.mode()

...nebo mód - ještě starší klasifikace typu objektu z pohledu S (Becker, Chambers & Wilks (1988))

> mode()

Třída objektu je klasifikace potřebná pro generické funkce.

> class()

Pro základy rozdělení typů datových objektů doporučujeme nastudovat výukovou jednotku Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Datové typy objektů.

Víme tedy, že mezi základní datové typy patří:

  • číslo (numeric) - integer a double
  • komplexní číslo (complex)
  • logické hodnoty (logical)
  • řeťězec (character)
  • NA (chybějící hodnota)
  • NULL (neexistující hodnota)
  • NaN, Inf, -Inf

Typů objektů (které nejsou "data") je ovšem více, například "expression" nebo "builtin".

Do Tabulky 1 jsme pro orienatci vypsali typy objektů v R na základě všech čtyř dostupných klasifikací. Zvýrazněny jsou případy, u kterých se klasifikace liší.

Na objektu, který je výsledkem funkce hist() si ukážeme rozdíl atributu třída od atributu typ

> a = hist(rnorm(1000), plot=FALSE)

Zobrazíme-li si objekt a, vypadá jako seznam (list)

> a
$breaks
 [1] -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5  0.0  0.5  1.0  1.5  2.0  2.5  3.0  3.5
$counts
 [1]   1   0   5  19  43  87 168 168 193 149 101  43  16   6   1
$density
 [1] 0.002 0.000 0.010 0.038 0.086 0.174 0.336 0.336 0.386 0.298 0.202 0.086 0.032 0.012 0.002
$mids
 [1] -3.75 -3.25 -2.75 -2.25 -1.75 -1.25 -0.75 -0.25  0.25  0.75  1.25  1.75  2.25  2.75  3.25
$xname
[1] "rnorm(1000)"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"

Typ objektu je opravdu "list"

> typeof(a)
[1] "list"

... ale jeho třída je "histogram"

> class(a)
[1] "histogram"
 

Generická funkce plot() vyhodnotí, že se jedná o histogram a proto vykreslí histogram

> plot(a)


 

Více o vlastnostech objektů si můžete přečíst v Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Další příkazy v R  Vlastnosti objektů.

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity