3.2 Jména proměnných
Jména proměnných musí splňovat určité vlastnosti. Jméno proměnné se může skládat jen z písmen, číslic, teček a podtržítek a musí začínat písmenem nebo tečkou, za kterou nenásleduje číslice. Jména a
, a2
, myNumber
, my_number
, nebo .my.way
jsou přípustná; jména jako 2way
, .2way
nebo my-number
nejsou povolená. Stejně tak nejsou povolená rezervovaná slova: if
, else
, repeat
, while
, function
, for
, in
, next
, break
, TRUE
, FALSE
, NULL
, Inf
, NaN
, NA
, NA_integer_
, NA_real_
, NA_complex_
a NA_character_
. Ve jménech proměnných záleží na velikosti písmenem, takže x
a X
jsou dvě různé proměnné.
Jmeno promenne by idealne melo byt strucne a melo by vystizne popisovat, jakou hodnotu promenna obsahuje. Pokud se jmeno sklada z vice slov, slova se historicky oddelovala teckami (napr. pv.of.bond
). V soucasne dobe se to nedoporucuje, protoze tecky se pouzivaji i k oddeleni genericke a specificke casti jmen objektovych metod, viz kapitola 9. Místo toho se doporučuje používat podtržítka (pv_of_bond
) nebo případně tzv. “Camel Case” standard (pvOfBond
), který však v R není příliš obvyklý.
Pokud si nejste jistí, jak jméno proměnné sestavit, může vám pomoci funkce make.names()
, která převede zadaný řetězec na syntakticky platné jméno proměnné, ovšem bohužel s tečkami:
make.names("pv of bond")
## [1] "pv.of.bond"
Někdy je potřeba pracovat s proměnnou, jejíž jméno není v R povoleno. (Taková situace nejčastěji vznikne při importu dat z jiného softwaru.) Proměnnou s nelegálním jménem můžete použít, pokud její jméno uzavřete mezi dva zpětné apostrofy (“backticks”). Jméno proměnné nemůže obsahovat (mimo jiné) mezeru. Pomocí zpětných apostrofů však můžete pracovat i s proměnnou, jejíž jméno mezeru obsahuje:
`ahoj lidičky!` <- 5
2 * `ahoj lidičky!`
## [1] 10
I když je možné používat i “nedovolená” jména proměnných, výrazně to nedoporučujeme.