| xmv {behavr} | R Documentation |
Expand a metavariable and map it against the data
Description
This function eXpands a MetaVariable from a parent behavr object. That is, it matches this variable (from metadata) to the data by id.
Usage
xmv(var)
Arguments
var |
the name of the variable to be extracted |
Details
This function can only be called within between the [] of a parent behavr object.
It is intended to facilitate operations between data and metadata.
For instance, when one wants to modify a variable according to a metavariable.
Value
a vector of the same type as var, but of the same length as the number of row in the parent data.
Each row of data is matched against metadata for this specific variable.
See Also
Examples
#### First, we create some data
library(data.table)
set.seed(1)
data <- data.table(
id = rep(c("A", "B"), times = c(10, 26)),
t = c(1:10, 5:30),
x = rnorm(36), key = "id"
)
metadata = data.table(id = c("A", "B"),
treatment = c("w", "z"),
lifespan = c(19, 32),
ref_x = c(1, 0),
key = "id")
dt <- behavr(data, metadata)
summary(dt)
#### Subsetting using metadata
dt[xmv(treatment) == "w"]
dt[xmv(treatment) == "w"]
dt[xmv(lifespan) < 30]
#### Allocating new columns using metavariable
# Just joining lifespan (not necessary)
dt[, lif := xmv(lifespan)]
print(dt)
# Anonymously (more useful)
dt[, x2 := x - xmv(ref_x)]
print(dt)
[Package behavr version 0.3.2 Index]