R data.table 语法替换列中的多个值

问题描述 投票:0回答:1

这可能很简单,但我很难找到一种方法来做到这一点。我有一个包含许多列的 data.table

dt
。如果其中一列是
sex
包含值
Male
Female
""
,我想将这些值重新映射到
Male
=
M
Female
=
F
""
=不适用。我怎样才能在不使用
ifelse
的情况下做到这一点。

r data.table
1个回答
0
投票

你可以使用

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>
© www.soinside.com 2019 - 2024. All rights reserved.