R从单元格中提取和组合字符

R Extract and combine characters from cell

我想更改时间格式,它在我的数据框 ("data") 中作为列 ("Date")。它是从 csv 导入的 -Q1 1990-,我想将它作为 -1990Q1-,但我的功能并不完美。 我试过了:

  for (i in 1:length(data$Date)){
    data$Date[i] <- paste(substr(data$Date[i], 4,8),substr(data$Date[i], 1,2),
    sep="")
    }

结果是每一行都有一个 NA 的列,我不知道为什么。有人可以帮忙吗? 我已经找到线程 Extracting the last n characters from a string in R。在那个威胁中他们只提到了问题,但没有以我可以理解的方式解决它。

提前致谢

您可以尝试以下方法:

data$Date <- sub('-(\w+) *(\d{4})-', '-\2\1-', data$Date)