如何在R语言中修改向量中的年份对格式
R语言向量格式转换方案
针对输入向量Input = c("20192020","20202021","20212022"),可以通过两种简单的字符串处理方法转换为目标格式c("2019-20","2020-21","2021-22"):
方法一:字符串截取拼接
使用substr提取指定位置的字符,再用paste0拼接:
Input <- c("20192020","20202021","20212022") Desired_output <- paste0(substr(Input, 1, 4), "-", substr(Input, 5, 6))
substr(Input, 1, 4):提取每个字符串的前4位(如"2019")substr(Input, 5, 6):提取每个字符串的第5-6位(如"20")paste0:无分隔符拼接,最终得到"2019-20"这类格式
方法二:正则表达式替换
使用gsub匹配字符串模式并替换:
Input <- c("20192020","20202021","20212022") Desired_output <- gsub("(\\d{4})(\\d{2})\\d{2}", "\\1-\\2", Input)
- 正则表达式
(\\d{4})(\\d{2})\\d{2}:将字符串分为三组,前4位、中间2位、最后2位 - 替换为
\\1-\\2:保留前4位和中间2位,用横杠连接,自动忽略最后2位
执行以上任意代码后,Desired_output都会得到目标向量。
内容的提问来源于stack exchange,提问作者Reza
相关产品推荐
相关产品推荐

