Apply a function to a re-mapped data frame.

replyr_apply_f_mapped(
  d,
  f,
  nmap,
  ...,
  restrictMapIn = FALSE,
  rmap = replyr::replyr_reverseMap(nmap),
  restrictMapOut = FALSE
)

Arguments

d

data.frame to work on

f

function to apply.

nmap

named list mapping with keys specifying new column names, and values as original column names.

...

force later arguments to bind by name

restrictMapIn

logical if TRUE restrict columns when mapping in.

rmap

reverse map (for after f is applied).

restrictMapOut

logical if TRUE restrict columns when mapping out.

See also

Examples

# an external function with hard-coded column names DecreaseRankColumnByOne <- function(d) { d$RankColumn <- d$RankColumn - 1 d } # our example data, with different column names d <- data.frame(Sepal_Length=c(5.8,5.7), Sepal_Width=c(4.0,4.4), Species='setosa',rank=c(1,2)) print(d)
#> Sepal_Length Sepal_Width Species rank #> 1 5.8 4.0 setosa 1 #> 2 5.7 4.4 setosa 2
# map our data to expected column names so we can use function nmap <- c(GroupColumn='Species', ValueColumn='Sepal_Length', RankColumn='rank') print(nmap)
#> GroupColumn ValueColumn RankColumn #> "Species" "Sepal_Length" "rank"
dF <- replyr_apply_f_mapped(d, DecreaseRankColumnByOne, nmap) print(dF)
#> Sepal_Length Sepal_Width Species rank #> 1 5.8 4.0 setosa 0 #> 2 5.7 4.4 setosa 1