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)))
这是一个与其他帖子类似的问题,但我正在寻找比重新编码和类似解决方案更自动化的解决方案。
我有一个包含许多类别的列,即一个城市,我想在 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)))