我有一个数据集,其股票代码范围为 2-90214(大约有 3000 个唯一值)。显然,2 到 90214 之间的一些值被跳过。我想转换这些股票代码,使它们的范围从1到3000,这样如果以前的股票代码是1234,那么每次出现这个数字时,都会分配新的股票代码(比如100)。
简而言之,我想转换:
Stock_Code
1234
5678
4321
1234
5678
into :
Stock_Code
100
101
102
100
101
我如何在 R 中执行此操作?
我们可以将数字转换为因子,然后将其转换为数字
as.numeric(factor(df$StockCode))
#[1] 1 3 2 1 3
如果我们需要从 100 开始,我们可以在其中添加 99
as.numeric(factor(df$StockCode)) + 99
相同的数字将获得相同的因子水平,转换为数字后将给出相同的数值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)