You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何使用paste()函数重命名数据框列

问题说明

现有测试数据框:

df <- data.frame (var1  = c(12,56,23),
                  var2 = c(12,12,34))

需要用paste()函数重命名第一列,以下尝试代码无法生效:

x <- "USD"
df %>% rename(paste(x,"varNEW") = var1)
原因

dplyr::rename()默认要求等号左侧为固定字面量列名,不支持直接在等号左侧写表达式生成动态列名,动态命名场景需要使用专用语法。

实现方法
  • dplyr 管道操作写法
    用:=替换原代码中的=作为动态赋值符号,同时用!!将paste()拼接出的字符串解析为列名:

    library(dplyr)
    x <- "USD"
    # sep参数可自定义分隔符:默认是空格,sep=""为无分隔拼接,sep="_"为下划线分隔
    df <- df %>% 
      rename(!!paste(x, "varNEW", sep = "_") := var1)
    

    执行后第一列名为USD_varNEW,需要无分隔拼接时把sep设为""即可得到USDvarNEW。

  • base R 原生写法
    直接按列索引修改列名,不需要特殊语法:

    x <- "USD"
    names(df)[1] <- paste(x, "varNEW", sep = "_")
    

内容的提问来源于stack exchange,提问作者user18937485

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:09:37