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 )
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. |
# 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"#> Sepal_Length Sepal_Width Species rank #> 1 5.8 4.0 setosa 0 #> 2 5.7 4.4 setosa 1