2

我有两个数据框:一个(数据框A)如下:

S.No    A1     A2    A3   A4     A6
  1      0      0     0    0      0
  2      2      4     7    7      9
  3      6      7     9    10     0

等等。

另一个(dataframe B)文件如下:

S.No   old_names      new_names
   1     A1              qq
   2     A2              ww
   3     A3              gg
   4     A4              zz
   5     A6              mm

A 的名称不必与 B$old_names 的顺序相同。

我的新文件应如下所示:

S.No    qq     ww    gg   zz     mm
  1      0      0     0    0      0
  2      2      4     7    7      9
  3      6      7     9    10     0

有没有更简单的方法在 R 中执行此操作而不使用 for 循环并比较两个文件?

任何帮助将不胜感激。两个文件都太大了。

4

1 回答 1

4
n <- names(df1)[-1]  # get rid of S.No

names(df1) <- c("S.No", as.character(df2$new_names)[match(n, df2$old_names)])
于 2013-06-28T08:35:33.317 回答