在R中拆分数字向量

在R中拆分数字向量,r,R,我的数据集中的日期是以monthdate格式写入的。5月12日写为512。我想把它分成月份日期 x <- 512 x对于它的价值,这里有一种可能使用gsub ss <- c(512, 503, 121, 1212); gsub("^(\\d+)(\\d{2})$", "\\1-\\2", as.character(ss)) #[1] "5-12" "5-03" "1-21" "12-12" 对于它的价值,这里有一种可能使用gsub ss <- c(512, 503,

我的数据集中的日期是以monthdate格式写入的。5月12日写为512。我想把它分成月份日期

x <- 512

x对于它的价值,这里有一种可能使用
gsub

ss <- c(512, 503, 121, 1212);
gsub("^(\\d+)(\\d{2})$", "\\1-\\2", as.character(ss))
#[1] "5-12"  "5-03"  "1-21"  "12-12"

对于它的价值,这里有一种可能使用
gsub

ss <- c(512, 503, 121, 1212);
gsub("^(\\d+)(\\d{2})$", "\\1-\\2", as.character(ss))
#[1] "5-12"  "5-03"  "1-21"  "12-12"

下面是另一个不使用捕获组的
sub
变体:

x <- 121
sub("(?<=[1-9]|1[0-2])(?=\\d{2})", "-", x, perl=TRUE)

[1] "1-21"

x这里是另一个不使用捕获组的
sub
变体:

x <- 121
sub("(?<=[1-9]|1[0-2])(?=\\d{2})", "-", x, perl=TRUE)

[1] "1-21"

x天中是否有前导零?5月3日是怎么写的,
53
还是
503
?你怎么知道
121
是指12月1日还是1月21日?@Gregor 503将是5月3日。前导零是几天,而不是几个月。@Tim 121表示1月21日。我找到了一个代码。谢谢这几天有领先的零吗?5月3日是怎么写的,
53
还是
503
?你怎么知道
121
是指12月1日还是1月21日?@Gregor 503将是5月3日。前导零是几天,而不是几个月。@Tim 121表示1月21日。我找到了一个代码。谢谢同样的代码在两位数的月份也能工作吗?@user9941892是的,它在两位数的月份也能工作。我的编辑中包含了一个示例。同样的代码是否也适用于两位数的月份?@user9941892是的,它也适用于两位数的月份。我在编辑中加入了一个例子。