我想创建一个rename_col_df()函数,重命名data.frame中除第一列(CODE_S)之外的所有列.

下面是一个重现这个问题的例子:

df <- data.frame(
  CODE_S = c(1, 2, 3),
  COL2 = c(10, 20, 30),
  COL3 = c(15, 25, 35)
)
colnames(df) <- c("CODE_S", "01/10/2023", "01/11/2023")

在本例中,我只有2个日期列,但在实际用例中,我有几十个日期列.

预期结果:栏目命名为"代码_S"、"2023-10-01"、"2023-11-01".

我正在考虑使用这样的东西,但我无法将其放入函数中:

names(df) <- c("CODE_S",format(as.Date("01/11/2023", format = "%d/%m/%Y"), "%Y-%m-%d"))

推荐答案

一种使用你的 idea 和rename_with的方法:

library(dplyr)
df |> 
  rename_with(~format(as.Date(., format = "%d/%m/%Y"), "%Y-%m-%d"), -"CODE_S")

Output

  CODE_S 2023-10-01 2023-11-01
1      1         10         15
2      2         20         25
3      3         30         35

R相关问答推荐

R:如何在没有for循环的情况下替换多边形几何中的值?

是否可以通过另一个DF的内容过滤数据帧列表?

用apply/map/etch替换循环以加快速度

计算转换的次数

是否有R函数来判断一个组中的所有值是否与另一个组中的所有值相同?

根据收件箱中的特定值提取列名

R创建一个数据透视表,计算多个组的百分比

如何从当前行上方找到符合特定条件的最接近值?

lightgbm发动机在tidymmodels中的L1正则化""

如何在R中合并两个基准点?

如何在R中对深度嵌套的tibbles中的非空连续行求和?

从BRM预测价值

如何在科学记数法中显示因子

列名具有特殊字符时的循环回归

如何在R中改变fviz_pca_biplot中圆的边界线的 colored颜色 ?

R中时间间隔的大向量与参考时间间隔的相交

如何移动点以使它们的打印不重叠

需要一个函数来在第一行创建一个新变量,然后用新变量替换一个不同的变量(对于多行)

禁用时,SelecizeInput将变得不透明

Broom.Mixed::Augment不适用于Sample::分析