R语言如何修改数据框week列日期格式,删除横杠并在末尾追加01
实现方法
你可以通过以下几种简单方式实现需求,不需要复杂逻辑:
方法1:Base R 最简实现(无需正则)
直接用gsub替换所有横杠为空,再拼接后缀01即可:
x$week <- paste0(gsub("-", "", x$week), "01")
方法2:正则捕获组实现(适配性更强)
如果要严格匹配日期格式避免误改其他内容,可以用正则捕获年、月、日三个分组,直接拼接生成目标字符串:
x$week <- sub("(\\d{4})-(\\d{2})-(\\d{2})", "\\1\\2\\301", x$week)
方法3:tidyverse 生态写法
如果你习惯用dplyr管道流处理数据,可以搭配stringr包实现:
library(dplyr) library(stringr) x <- x %>% mutate(week = str_remove_all(week, "-") %>% str_c("01"))
三种方法输出结果完全一致,示例中2020-08-09运行后都会转换为2020080901。
内容的提问来源于stack exchange,提问作者Jane Miller
相关产品推荐
相关产品推荐

