我希望在数据框中创建一个新列,查看数据框中的另一列并进行分类。这是一个问题陈述和示例,使其更具体。我在数据框中有一个产品编号的列,我想查看产品编号字符串中的前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个因子。
詹姆
答案 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