6.21 CASE WHENfcase

CASE WHEN 是 SQL 中的条件判断语句,data.table 中的函数 fcase() 可与之等价。值得注意的是,fcase() 需要 data.table 版本 1.13.0 及以上。

dat <- data.table(
  weights = c(56.8, 57.2, 46.3, 38.5),
  gender = c("1", "0", "", "0")
)
# 1 表示男,0表示女,空表示未知
transform(dat, gender_cn = fcase(
  gender == "1", "男",
  gender == "0", "女",
  gender == "", "未知"
))
##    weights gender gender_cn
## 1:    56.8      1        男
## 2:    57.2      0        女
## 3:    46.3             未知
## 4:    38.5      0        女