r - 如何最好地重命名 R 中的列值

标签 r dplyr mutated

所以我有一个专栏是这样读的。每年有 12 个值。这种情况从 2002 年一直持续到 2022 年。我面临的挑战是如何使它们看起来像下面这样。我该如何进行这样的转变?

  col_name

  2002mq1m1
  2002mq1m2
  2002mq1m3
  2002mq2m1
  2002mq2m2
  2002mq2m3
  ......
  2002mq4m3


  2002m1
  2002m2
  2002m3
  2002m4
  2002m5
  2002m6
  .....
  2002m12
  2003m1

最佳答案

关键是要认识到函数关系

3 * (x - 1) + y = m

x = 四分之一

y = 季度 x 的月份号 y

m = 月份 [1, 12]

然后可以将其转换为 R 公式,该公式使用 x 和 y 字符串的正确元素来计算 m。

df$col_name <- paste0(
   substr(df$col_name, 1, 5),
   3 * (as.numeric(substr(df$col_name, 7, 7)) - 1) + as.numeric(substr(df$col_name, 9, 9))
)

关于r - 如何最好地重命名 R 中的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71500680/

相关文章:

R - 使用 ifelse 语句在不同的列上分配一个数字的份额

Javascript正则表达式替换必须保留德语变异元音

r - 在 R 中计算每个周期的方差

r - 互动表 - 带有宠物和房屋的案例

r - 在 R 中绘制随机森林模型的重要性变量

r - 使用 tidyverse 和 base R 删除列 - 区别

r - 根据R中的组和行计算差异

R:如果填充了一列,那么接下来也填充的最常见的列是什么?

r - dplyr标准评估: summarise_ with variable name for summed variable

r - 变异 - NA 处理