This function generates utterance identifiers.

generate_uids(x, origin = Sys.time())

Arguments

x

The number of identifiers te generate.

origin

The origin to use when generating the actual identifiers. These identifiers are the present UNIX timestamp (i.e. the number of seconds elapsed since the UNIX epoch, the first of january 1970), accurate to two decimal places (i.e. to centiseconds), converted to the base 30 system using numericToBase30(). By default, the present time is used as origin, one one centisecond is added for every identifiers to generate. origin can be set to other values to work with different origins (of course, don't use this unless you understand very well what you're doing!).

Value

A vector of UIDs.

Examples

rock::generate_uids(5);
#> [1] "[[uid=7rzwgb4m]]" "[[uid=7rzwgb4n]]" "[[uid=7rzwgb4p]]" "[[uid=7rzwgb4q]]"
#> [5] "[[uid=7rzwgb4r]]"

### Show how UIDs are the converted date/time
x <- rock::generate_uids(1);
x;
#> [1] "[[uid=7rzwgb4m]]"
x_UID <- gsub(
  "\\[\\[uid=(.*)\\]\\]",
  "\\1",
  x
);
x_as_nr <- rock::base30toNumeric(x_UID);
x_as_timestamp <- x_as_nr / 100;
x_as_date <-
  as.POSIXct(
    x_as_timestamp,
    origin = "1970-01-01",
    tz = "UTC"
  );
x_as_date
#> [1] "2024-01-21 10:04:31 UTC"