【问题标题】:making a new variable categorized from old strings in R从 R 中的旧字符串中创建一个新变量
【发布时间】:2016-07-08 23:14:24
【问题描述】:

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

杰米

【问题讨论】:

    标签: r


    【解决方案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
    

    【讨论】:

    • 谢谢,这对我很有帮助,足以满足我的目的。我知道可能有一种简单的方法可以实现这一目标。谢谢阿甘!
    猜你喜欢
    • 2011-01-04
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2015-05-20
    • 2021-11-26
    相关资源
    最近更新 更多