R 方法自动将数值分配给分类列以进行建模

R way to automatically assign numeric value to categorical column for modeling

这是一个与其他帖子类似的问题,但我正在寻找比重新编码和类似解决方案更自动化的解决方案。

我有一个包含许多类别的列,即一个城市,我想在 R 中创建一个新列,自动将城市分配给一个数值,如下所示:

City    CityCode
New York  0
New York  0
Boston    1
Boston    1
Chicago   2
New Haven 3

我有大约 1,000 个城市,因此单独编码没有意义。

data$CityCode = as.integer(factor(data$City)) 将起作用,默认情况下按字母顺序排列城市。要按照它们在您的数据中出现的顺序排列它们,data$CityCode = as.integer(factor(data$City, levels = unique(data$City))).

很少有建模应用程序认为这是个好主意。 (我想不出任何...)确保你知道自己在做什么。

另一个选项是 match

data$CityCode <- with(data, match(City, unique(City)))