首页 > 解决方案 > Dplyr 相当于 CASE WHEN IS NOT NULL?

问题描述

我希望创建一些在 SQL 中看起来像这样的逻辑

CASE WHEN COLUMN IS NOT NULL THEN 1 ELSE 0 END 

这在使用 dplyr 的 mutate 动词中会是什么样子?

我刚在想

mutate(Bucket = case_when(!is.na(COLUMN) ~ 1,0))

这行得通吗

标签: rdplyr

解决方案


我会在if_else这里使用:

mutate(Bucket = if_else(!is.na(COLUMN), 1, 0))

case_when函数将更适合具有多个逻辑分支的 SQLCASE表达式。


推荐阅读