我有一个数据表 ( DatosMex
),R
并想在其中重新编码一个名为industry
. 此变量的不同类别是:
Agricultura,Ganaderia,Pesca,Caza Forestal
Asociaciones
Comercio
Construccion
Energia,Petroleo,Gas,Mineria
Gobierno
Industria
N/A
NULL
Servicios
我想创建一个新变量,例如gr_industry
,对某些类别进行分组。例如,我的新变量必须对类别Agricultura,Ganaderia,Pesca,Caza Forestal
、和进行分组Asociaciones
,并为它们分配代码 1。Energia,Petroleo,Gas,Mineria
Gobienro
你将如何使用data.table
包语法来做到这一点?
我的方法是这样的:
#Create an id for each industry
DatosMex[,cod_industria:=as.numeric(DatosMex$industry)]
#Create a new data table
ind =data.table(cod_industria=c(1:10),gr_industry=c(1,1,2,3,1,1,4,6,6,5))
setkey(DatosMex,cod_industria)
setkey(ind,cod_industria)
DatosMex[ind]
因此,如您所见,我必须创建一个新数据表ind
,然后进行内部连接。我的问题是:是否有另一种使用方式来做到这data.table
一点?我不想每次需要做类似的事情时都创建一个表。另外,我想避免使用 if 语句。