As with [[
method, the procedure works in steps.
First, the metadata
slot of x
is checked to
see whether it contains something named with i
.
If so, then the named item is replaced with value
.
Otherwise, if the string value of i
ends in Unit
, then the
characters preceding that are taken as the name of a variable, and
the metadata
slot of x
is updated to store that unit, e.g.
x[["temperatureUnits"]] <- list(unit=expression(degree*F),scale="")
Similarly, if i
ends in Flag
, then quality-control
flags are set up as defined by result
, e.g.
o[["temperatureFlags"]] <- c(2,4,2,2)
Otherwise, pmatch()
is used for a partial-string match with
the names of the items that are in the data
slot of x
.
The first item found (if any) is then updated to hold the value result
.
If none of these conditions is met, a warning is issued.