A convenience function to easily look for values in a data frame.
look_up(data, ..., bin = FALSE, value = "value")
data | A reference data frame. |
---|---|
... | Individual characteristics, should be named
like the columns of |
bin | Either logical: should all numeric variable be binned, or character vector giving the names of variables to bin (see examples). |
value | The value to extract from the reference data frame. |
A vector of values, same lenght as ...
.
This function is mostly used to extract population informations (such as mortality rates), given some individual caracteristics.
If binning is activated, numeric individual characteristics are matched to the corresponding reference value that is directly inferior.
tempdf <- expand.grid(arg1 = c("A", "B", "C"), arg2 = 1:4, arg3 = 1:5) tempdf$value <- 1:60 look_up( data = tempdf, value = "value", arg1 = c("A", "B", "C", "B", "A"), arg2 = c(1, 1, 3.2, 3.0, 5), arg3 = c(-1, 1, 1, 2, 3) )#> Warning: Some values were not found, returning missing data: #> arguments to look_up: #> arg1 : A, C, A #> arg2 : 1, 3.2, 5 #> arg3 : -1, 1, 3#> [1] NA 2 NA 20 NA# binning doesnt catch values lesser than the smaller # reference value look_up( data = tempdf, value = "value", arg1 = c("A", "B", "C", "B", "A"), arg2 = c(1, 1, 3.2, 3.0, 5), arg3 = c(-1, 1, 1, 2, 3), bin = TRUE )#> Warning: Some values were not found, returning missing data: #> arguments to look_up: #> arg1 : A #> arg2 : [1,2) #> arg3 : NA#> [1] NA 2 9 20 34# bin can alos be given as a charater vector # to avoid binning all numeric variables look_up( data = tempdf, value = "value", arg1 = c("A", "B", "C", "B", "A"), arg2 = c(1, 1, 3.2, 3.0, 5), arg3 = c(-1, 1, 1, 2, 3), bin = c("arg2") )#> Warning: Some values were not found, returning missing data: #> arguments to look_up: #> arg1 : A #> arg2 : [1,2) #> arg3 : -1#> [1] NA 2 9 20 34age_related_df <- data.frame(age = 10 * 0:9, decade = 1:10) look_up(age_related_df, age = c(0, 10, 20), value = "decade")#> [1] 1 2 3# binning might help in the situation look_up(age_related_df, age = c(5, 15, 23.5), value = "decade")#> Warning: Some values were not found, returning missing data: #> arguments to look_up: #> age : 5, 15, 23.5#> [1] NA NA NA#> [1] 1 2 3