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.

Named Map Builder

John Mount

2023-08-19

“named map builder” is an operator written as “:=”. Named map builder is a very simple bit of code that performs a very simple task: it adds names to vectors or lists (making them work more like maps).

Here are some examples:

library("wrapr")

'a' := 5
## a 
## 5
c('a' := 5, 'b' := 6)
## a b 
## 5 6
c('a', 'b') := c(5, 6)
## a b 
## 5 6

The left-side argument of the := operator is called “the names”, and the right-side argument is called “the values”. The := operators returns the values with the names set to names.

:= is a left-over assignment operator in R. It is part of the syntax, but by default not defined.

data.table has long used := to denote “in-place assignment” as in the following.

library("data.table")

data.table(x = 1)[, y := x + 1][]
#    x y
# 1: 1 2

dplyr later adopted the := notation as this allows for substitution on the left-hand sides of assignments. wrapr::qc() uses the := for the same purpose.

A key use of the named map builder is the following:

`:=` <- wrapr::`:=` # in case data.tables "catch calls" definition is active

key = 'keycode'
key := 'value'
## keycode 
## "value"

Notice the value inside the variable key was used as the array name, this differs from what is easily done with R’s native c(key = 'value') style notation.

help(`:=`, package = 'wrapr')

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.