c("Fred", "Daphne", "Velma", "Shaggy", "Scooby")
[1] "Fred" "Daphne" "Velma" "Shaggy" "Scooby"
V předchozí kapitole jsme si představili nejdůležitější typy objektů. Řekli jsme si také, jak můžeme objekty vytvářet. Character vektor bychom například vytvořili takto:
c("Fred", "Daphne", "Velma", "Shaggy", "Scooby")
[1] "Fred" "Daphne" "Velma" "Shaggy" "Scooby"
S takto vytvořeným vektorem se nám ale nebude dobře pracovat. To proto, že R ho vytvoří, vytiskne do konzole a promptně zapomene. Pokud si chceme data odložit na později, je nutné objektu, ve kterém jsou uložena, přiřadit jméno. Přiřazování jmen je velmi jednoduché:
<- c("Fred", "Daphne", "Velma", "Shaggy", "Scooby") name
V tomto případě jsme našemu vektoru přiřadili jméno name
. Obsah vektoru nebyl vytisknut v konzoli. Místo toho ho R uložilo do paměti a pokud používáte Rstudio, můžete ho vidět v pravém horním rohu v záložce Environment. K přiřazování jmen se využívá operátor <-
, který nejsnadněji vytvoříte pomocí klávesové Alt
+ -
(resp. option
+ -
na MacOS). Alternativně můžete použít =
, výsledek bude stejný:
= c("Fred", "Daphne", "Velma", "Shaggy", "Scooby") name
Jakmile má objekt přiřazené jméno, můžeme na něj v budoucnu odkazovat. Pokud bychom chtěli zjistit kolik elementů náš vektor má, můžeme použít funkci length()
:
length(name)
[1] 5
Jak je vidět, objekt name
obsahuje pět elementů.
Jména můžeme stejným přiřazovat i elementům uvnitř složitějších objektů než jsou vektory, jako jsou listy a dataframy. Pokud bychom chtěli vytvořit dataframe a pojmenovat jednotlivé sloupce (proměnné), udělali bychom to následovně:
<- data.frame(name = c("Fred", "Daphne", "Velma", "Shaggy", "Scooby"),
gang age = c(16, 16, 15, 17, 3),
is_dog = c(FALSE, FALSE, FALSE, FALSE, TRUE))
Náš nový dataframe můžeme zobrazit v konzoli pomocí funkce print()
:
print(gang)
name age is_dog
1 Fred 16 FALSE
2 Daphne 16 FALSE
3 Velma 15 FALSE
4 Shaggy 17 FALSE
5 Scooby 3 TRUE
Nejenže můžeme pracovat s naším dataframem pomocí jeho jména (name
), ale každý sloupec dataframu má jméno, které jsme muß přiřadili. O tom, jak pracovat s jednotlivými sloupci, si povíme v příští kapitole.
Přestože R nabízí značnou volnost v tom, jak své objekty pojmenujete, je nutné dodržovat alespoň některá pravidla. Jména musí začínat buď písmenem nebo tečkou. Pokud začínají tečkou, druhý znak nesmí být číslice (například .2scale
tedy není použitelné jméno). Jména také mohou obsahovat pouze písmena, číslice, tečky nebo podtržítka (_
). Žádné $, ~ a podobně.
Následující slova také nemůžou být jmény objektů: if
, else
, repeat
, while
, function
, for
, in
, next
, break
, TRUE
, FALSE
, NULL
, Inf
, NaN
, NA
, NA_integer_
, NA_real_
, NA_complex_
, NA_character_
a …
. Těmto výrazům se říká rezervovaná slova a jsou využívaná pro vnitřní fungování R. Už jsme se například setkali s výrazem NA
, který je rezervován pro vyjádření chybějících hodnot.
Kromě těchto pravidel, které musíte dodržovat ať se vám to líbí nebo ne, také silně doporučujeme, aby jména vašich objektů byla krátká, ale srozumitelná. Věk respondentů dotazníkového šetření by měl být ideálně uložen v proměnné age
, spíše než I2
nebo age_of_respondents
. Řiďte se také jednou z jmenovacích konvencí popsaných v kapitole Jak si organizovat práci. My osobně preferujeme snake_case, tedy všechna písmena malá a slova oddělená podtržítkem.