The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Specification of the ‘tiny_labelled’ class

library(tinylabels)

Setting a variable label

x <- 1:4
variable_label(x) <- "A variable label"

Extracting and replacing parts of an object

If elements of a vector are extracted, the new vector retains label and class tiny_labelled.

x[1:2]
#> Variable label     : A variable label
#> [1] 1 2
str(x)
#>  'tiny_labelled' int [1:4] 1 2 3 4
#>  - attr(*, "label")= chr "A variable label"
x[1:2] <- 5:6
str(x)
#>  'tiny_labelled' int [1:4] 5 6 3 4
#>  - attr(*, "label")= chr "A variable label"

Using double brackets removes label and class tiny_labelled, similar to how names are handled:

x[[1]]
#> [1] 5

It is still possible top keep variable label and class by setting keep_label = TRUE:

x[[1, keep_label = TRUE]]
#> Variable label     : A variable label
#> [1] 5

Math, Ops, Summary, Complex

If a vector is modified (e.g., via mathematical operations), label and tiny_labelled class are removed.

str(exp(x))
#>  num [1:4] 148.4 403.4 20.1 54.6
str(x + 1)
#>  num [1:4] 6 7 4 5
str(min(x))
#>  int 3
str(Re(x))
#>  num [1:4] 5 6 3 4

Coercion

Vectors of class tiny_labelled keep label and class if they are modified via as.character(), as.numeric(), etc.

as.character(x)
#> Variable label     : A variable label
#> [1] "5" "6" "3" "4"

If keep_label = FALSE, label and class are removed.

as.character(x, keep_label = FALSE)
#> [1] "5" "6" "3" "4"

as() methods are always strict, i.e. label and class are removed:

as(x, "character")
#> [1] "5" "6" "3" "4"

Data-frame methods

It is possible to assign multiple labels to the columns of a data frame by passing a named list or a named vector of key-value pairs. Note that mixing different types of labels (e.g. character and expression labels) is only possible if the right-hand side is a list.

variable_label(npk) <- c(
  N = "Nitrogen"
  , P = "Phosphate"
)
variable_label(npk) <- list(
  yield = expression(bar(Yield))
)
variable_label(npk)
#> $block
#> NULL
#> 
#> $N
#> [1] "Nitrogen"
#> 
#> $P
#> [1] "Phosphate"
#> 
#> $K
#> NULL
#> 
#> $yield
#> expression(bar(Yield))

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.