【发布时间】:2022-01-02 03:44:53
【问题描述】:
我是 R 和一般编程方面的新手。我有一列包含日期列表。有些是“2020 年 1 月 1 日”格式,有些只有月份和年份(即只有“2020 年 1 月”)。我想将它们变异到一个新字段,在该字段中我在所有月年格式的日期前面添加一个 01,然后我将使用 lubridate 将其处理为日期
这是我尝试过的。我正在尝试提取 Date 列的第一个字符。如果它是大写字母,那么我将在其后面附加“01”。我正在使用包含 dplyr 的 tinyverse 包
df %>% mutate(new_date = ifelse(str_sub(Date, start = 1, end = 1)== "[:upper:]"), paste('01', Date, sep = ' '), new_date = Date)
我收到错误消息“no is missing”,但我认为我已包含 new_date = Date 以保持当前格式。
感谢您的帮助!
【问题讨论】:
-
非常感谢。如果我在条件中输入特定字母以匹配,它似乎可以工作,但不适用于正则表达式“[:upper:]”。正则表达式的格式是否正确?
标签: r regex if-statement conditional-statements