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

R中tibble使用rename重命名列后新名称恢复旧名问题

问题原因

dplyr里的rename()是tidyverse体系的函数,这类函数从设计上就不会直接修改传入的原始对象,只会把修改后的新结果作为返回值输出。
你执行rename(test,c=a)时,控制台只是临时把改完的结果打印出来预览,并没有把改动存到原来的test变量里,所以之后再打印test,它还是最开始列名为a、b的原始状态。

修复方法

把rename()输出的修改结果重新赋值回原变量,改动才会永久保存,示例代码如下:

# 提前加载依赖包
library(tibble)
library(dplyr)

# 创建初始tibble对象
test <- tibble(a=1:2,b=3:4)
# 重命名后将结果赋值回原变量
test <- rename(test, c = a)

如果习惯用管道符写法,也可以写成:

test <- test %>% rename(c = a)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:06:14