how to chain ifelse statement in dplyr

Viewed 2270

I was trying to chain ifelse statement in one of my R function. Basically what I want to do is:

do.something <- function (df, cond=TRUE){
    df %>% ifelse(cond, do something, do something else)
}

Use mtcars dataset as an example:

    select.vars <- function (df, cond=TRUE){
        df %>% ifelse(cond, select(., mpg,wt), select(., hp, wt))
    }

    select.vars(mtcars )

The error message:

Error in ifelse(., cond, select(., mpg, wt), select(., hp, wt)) : unused argument (select(., hp, wt))

I just wonder what I did wrong. Any one can help? Thanks a lot.

2 Answers
Related