3.5 Atributy (metadata)
Proměnné v R obsahují kromě vlastních hodnot také metadata (informace o datech). V R se metadata nazývají atributy.
Funkce attributes()
vypíše seznam všech atributů dané proměnné.
<- c(a = 1, b = 2, c = 3) # vektor s pojmenovanými prvky
x x
## a b c
## 1 2 3
attributes(x)
## $names
## [1] "a" "b" "c"
<- matrix(1:12, nrow = 3) # matice má počet řádků a sloupců
X X
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
attributes(X)
## $dim
## [1] 3 4
Atributy proměnných mohou zahrnovat třídu objektu, dimenze proměnných (počet řádků, sloupců a případně dalších rozměrů objektu), jména řádků, sloupců, jednotlivých prvků vektorů a případně další informace.
Hodnotu jednoho atributu je možné získat funkcí attr()
; tuto funkci je zároveň možné použít i ke změně hodnoty atributu (ve skutečnosti se volá jiná funkce, syntaxe však vypadá stejně):
attr(x, "names")
## [1] "a" "b" "c"
attr(x, "names") <- c("Ahoj", "Bum", "Cak")
attr(x, "names")
## [1] "Ahoj" "Bum" "Cak"
x
## Ahoj Bum Cak
## 1 2 3
Pokud se zeptáte na hodnotu atributu, který není v proměnné přítomen, funkce attr()
vrací hodnotu NULL
:
attr(x, "coriandr")
## NULL
Atribut zrušíte tak, že do něj přiřadíte hodnotu NULL
.
attr(x, "names") <- NULL
x
## [1] 1 2 3