在R中创建一个从旧字符串中分类的新变量

时间:2016-07-08 23:14:25

标签: r

我希望在数据框中创建一个新列,查看数据框中的另一列并进行分类。这是一个问题陈述和示例,使其更具体。我在数据框中有一个产品编号的列,我想查看产品编号字符串中的前3个字符,并将所有具有相同3个字符的字符组分组并调用类似于产品1的字符并将其存储在另一列中叫做产品,就像这样:

Product_Number          Product
1000100                 Product 1
1000200                 Product 1
1000300                 Product 1
2000200                 Product 2
2000100                 Product 2
2000200                 Product 2

希望这很清楚,有没有人知道这可以实现的聪明方法。我试图将我的因子数量从Product_Number列中的1200减少到Product列中的大约100个因子。

詹姆

1 个答案:

答案 0 :(得分:1)

您可以使用substr提取前三个字符,然后从中构造一个因子。作为演示:

df$Product <- paste("Product", as.numeric(factor(substr(df$Product_Number, 1, 3))), sep = " ")

给出了:

df
#   Product_Number   Product
# 1        1000100 Product 1
# 2        1000200 Product 1
# 3        1000300 Product 1
# 4        2000200 Product 2
# 5        2000100 Product 2
# 6        2000200 Product 2