R data.table创建虚拟列,用于映射已存在的列

Ha *_*ham 3 r correlation data.table

我想创建一个虚拟numeric列,用现有character列映射1-1 以运行correlation

我的表看起来像:

Code
US
UK
VN
US
VN
UK
Run Code Online (Sandbox Code Playgroud)

我想要新的列dummy映射US, UK, VN1, 2, 3

Code     dummy
US       1
UK       2
VN       3
US       1
VN       3
UK       2
Run Code Online (Sandbox Code Playgroud)

希望有人可以帮忙!

Dav*_*urg 5

或者您可以简单地使用内置.GRP函数

DT[, dummy := .GRP, by = Code][]
#    Code dummy
# 1:   US     1
# 2:   UK     2
# 3:   VN     3
# 4:   US     1
# 5:   VN     3
# 6:   UK     2
Run Code Online (Sandbox Code Playgroud)