重命名行中的对象并在R中跟踪更改的名称

时间:2016-02-24 20:28:19

标签: r

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

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提取数据。 非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

如:

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