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.