我試圖在我的一個R函數中鏈接ifelse語句。基本上我想要做的是:如何在dplyr中鏈接ifelse語句
do.something <- function (df, cond=TRUE){
df %>% ifelse(cond, do something, do something else)
}
使用mtcars數據集爲例:
select.vars <- function (df, cond=TRUE){
df %>% ifelse(cond, select(., mpg,wt), select(., hp, wt))
}
select.vars(mtcars)
錯誤消息:
Error in ifelse(., cond, select(., mpg, wt), select(., hp, wt)) : unused argument (select(., hp, wt))
我只是想知道我做錯了什麼。任何人都可以幫忙?非常感謝。
可能的複製https://stackoverflow.com/questions/30604107/r-conditional-evaluation-when-using-the-管道運營商) – HubertL
是的,purrr :: when(在HubertL的鏈接中)是我慣用的方式。這就是當我提出類似問題時我指出的問題https://github.com/tidyverse/magrittr/issues/91 – Frank