我想使用case_when()
函数选择一些列
df %>%
{
case_when(
.$ID == 1 ~ select(., Level, Time),
.$ID == 2 ~ select(., Time, Upgrade),
TRUE ~ select(., Level, Time, Upgrade)
)
}
但是,如果我使用if()
语句-它会起作用:
df %>%
{
if(.$ID == 1) {
select(., Level, Time)
} else if(.$ID == 2) {
select(., Time, Upgrade)
} else {
select(., Level, Time, Upgrade)
}
}
我得到一个错误,即在select()
语句之后的TRUE ~
的列数必须等于在select()
之后的.$ID == 1
的列数。
在这种情况下如何使用case_when()
函数?