6.21 CASE WHEN 和 fcase
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 女