这可能很简单,但我很难找到一种方法来做到这一点。我有一个包含许多列的 data.table
dt
。如果其中一列是 sex
包含值 Male
、Female
和 ""
,我想将这些值重新映射到 Male
=M
、Female
=F
和 ""
=不适用。我怎样才能在不使用ifelse
的情况下做到这一点。
你可以使用
fcase
:
dt <- data.table(sex = c("Male", "Female", ""))
dt[, sex := fcase(sex == "Male", "M", sex == "Female", "F", default = NA)]
sex
1: M
2: F
3: <NA>