将数据帧的列的 "names"替换为 R 中另一个文件中的不同(新)名称

标签 r dataframe names

我有两个数据框:一个(数据框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

等等。

另一个(数据框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 循环并比较两个文件?

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

最佳答案

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

names(df1) <- c("S.No", as.character(df2$new_names)[match(n, df2$old_names)])

关于将数据帧的列的 "names"替换为 R 中另一个文件中的不同(新)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359937/

相关文章:

r - 使用重复名称更改 R 向量中的多个元素

java - 获取 Java 类的可用成员的名称

heroku - heroku 是如何想出应用名称的?

regex - 如何在 R 中 str_extract 百分比?

python - 将一个数据集中的值替换为另一个数据集中的值的有效方法

python - Pandas dataframe 连续列的差异与第一个值的比率

python - 更改 pandas dataframe 列中的值

r - 在编程中使用dplyr filter()

r - 为什么 mean() 和 mean(aggregate()) 返回不同的结果?

r - 在哪里可以找到 R session 警告日志?