【问题标题】:R - dplyr rename colname by variableR - dplyr 通过变量重命名 colname
【发布时间】:2020-10-05 06:56:41
【问题描述】:

我的数据框看起来像这样

df <-
  data.frame(
    date = c("2020-01-01", "2020-02-01"),
    id = c(1, 2),
    sold = c(100, 200),
    country = c("us", "eu")
  )

我想通过粘贴我的 var 值和实际 colname 来重命名 date、id 和 sold 列,因此结果将是

var = "rename_to"

result <-
  df <-
  data.frame(
    rename_to_date = c("2020-01-01", "2020-02-01"),
    rename_to_id = c(1, 2),
    rename_to_sold = c(100, 200),
    country = c("us", "eu")
  )

我正在寻找一些 dplyr 解决方案。

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    你可以使用rename_with

    library(dplyr)
    df %>% rename_with(~paste(var, ., sep = '_'), .cols = c(date, id, sold))
    
    #  rename_to_date rename_to_id rename_to_sold country
    #1     2020-01-01            1            100      us
    #2     2020-02-01            2            200      eu
    

    【讨论】:

      【解决方案2】:

      使用base R

      names(df)[1:3] <- paste0(var, "_", names(df)[1:3])
      

      【讨论】:

        猜你喜欢
        • 2019-05-10
        • 2018-12-07
        • 1970-01-01
        • 1970-01-01
        • 2015-08-03
        • 2017-06-10
        • 2021-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多