【问题标题】:Rename objects in rows and keep track of changed name in R重命名行中的对象并跟踪 R 中更改的名称
【发布时间】:2016-02-24 20:28:19
【问题描述】:

我有一个数据框,其中一列的行条目中有公司名称。但这些都是巨大的,并造成不便。所以,我想重命名它们,但这里重要的部分是我想跟踪哪个公司被分配了哪个新名称。由于公司名称是字符,所以我会给他们数字名称。一直跟踪哪家公司的名称是什么原因是我有几个数据框,以及何时必须为各个公司提取数据。 我举个例子

df1

    Month   variable
    Jan-05  A
    Feb-05  B
    Mar-05  C
    Apr-05  D
    May-05  E

重新编码或更改公司名称

df2
Month   variable
Jan-05  1
Feb-05  2
Mar-05  3
Apr-05  4
May-05  5

但是我的数据集有数千家公司,所以,如果在 df3 中仍然有 A、B 和 C 中的公司名称,我想输出公司 1 的数据,它会提取公司 A 的数据。 非常感谢您的帮助

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以将公司名称字符向量转换为因子,然后根据需要更改因子级别。并在单独的数据框中记录这些更改。

    如:

    df <- data.frame(Month = c("Jan", "Feb", "Mar", "Apr", "May"),
                     variable = c("A", "B", "C", "A", "C"))
    df$variable <- factor(df$variable)
    
    reference <- data.frame(name = levels(df$variable))
    reference$number_code <- c(1,2,3)
    
    levels(df$variable) <- reference$number_code
    
    > df
      Month variable
    1   Jan        1
    2   Feb        2
    3   Mar        3
    4   Apr        1
    5   May        3
    > reference
      name number_code
    1    A           1
    2    B           2
    3    C           3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 2019-11-30
      相关资源
      最近更新 更多