R 如何将点添加到数字-YYYYMM到YYYY.MM

R 如何将点添加到数字-YYYYMM到YYYY.MM,r,date,R,Date,我有以下问题,我有很多数字: x <- c(200103, 200106,200109) x您可以分两组捕获数据。前4个字符和后2个字符,并在它们之间添加“” x <- c(200103, 200106,200109) sub('(.{4})(.{2})', '\\1.\\2', x) #[1] "2001.03" "2001.06" "2001.09" 我们可以转换成yearmon类,然后使用格式 library(zo

我有以下问题,我有很多数字:

x <- c(200103, 200106,200109)

x您可以分两组捕获数据。前4个字符和后2个字符,并在它们之间添加

x <- c(200103, 200106,200109)
sub('(.{4})(.{2})', '\\1.\\2', x)
#[1] "2001.03" "2001.06" "2001.09"

我们可以转换成
yearmon
类,然后使用
格式

library(zoo)
format(as.yearmon(as.character(x), "%Y%m"), "%Y.%m")
#[1] "2001.03" "2001.06" "2001.09"

请尝试
sub('([0-9]{4})(.*)$,'\\1\\.\\2','200103')
Great!R现在是将向量x识别为日期还是字符?如果是字符,则必须执行哪些操作才能将其类更改为最新版本?;)输出仍然是一个字符。要将其更改为课堂日期,您需要所有3个日期,即日期、月份和年份,它们是
as.date(粘贴0(x,1),“%Y%m%d”)的输出。
library(zoo)
format(as.yearmon(as.character(x), "%Y%m"), "%Y.%m")
#[1] "2001.03" "2001.06" "2001.09"