にデータテーブル(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ステートメントの使用は避けたいと思います。