【问题标题】:Changing Column Names using a Key使用键更改列名
【发布时间】:2020-04-06 12:45:25
【问题描述】:

我有一个包含 3 个字母键列标题的数据框,如下所示:

MFB   MBB   WBB
 X     X     X 

和另一个具有全名的数据框:

Key   Descr
MFB   Men's Football
MBB   Men's Basketball
WBB   Women's Basketball

我的问题是,我将如何重命名列以使原始表看起来像:

Men's Football   Men's Basketball   Women's Basketball
       X                X                   X 

我要重命名大约 80 个列标题,因此不需要手动重命名每个列。我的猜测是可以使用 for 循环或 'purrr' 库中的 'map2' 函数来完成,但我不确定从哪里开始。

【问题讨论】:

    标签: r rename purrr


    【解决方案1】:

    类似于Rename multiple columns given character vectors of column names and replacement

    为了让您的问题完全可重现,让我们从

    开始
    library(tidyverse)
    sports <- tibble(MFB=c("bears", "texans", "packers"), 
        MBB=c("bulls", "heat", "bucks"), 
        WBB=c("dream", "sky", "sun"))
    
    pairs <- tibble(Key=c("MFB", "MBB", "WBB"), 
        Descr=c("Men's Football", "Men's Basketball", "Women's Basketball"))
    

    如果可以按照与原始列标题相同的顺序对键进行排序,那么一个简单的

    setNames(sports,pairs$Descr)

    有效。否则

    sports %&gt;% rename_at(pairs$Key, ~pairs$Descr)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 2017-05-14
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多