创建具有共同特征的价值向量

时间:2019-04-09 20:12:03

标签: r

我正在尝试创建“ yyyymm”形式的字符数据向量。

以下代码为我提供了理想的结果,但如果要查看较大的时间范围,则需要进行大量手动键入。

for(i in 2000:2010){
yyyy.mm=format(seq(i+.01, 1+.12, by=.01), digits=6)
yyyymm=sub("[.]","",yyyy.mm)
name=paste0("Y",i)
assign(name, yyyymm)
}

date=as.character(c(Y2000, Y2001, etc.))

是否有系统地将字符附加到向量的每个元素上的方法?就像我有一个

形式的向量
y=c("2000","2001",...)

另一种形式

m=c("01", "02",...)

我将m中的每个元素添加到y中每个元素的末尾?有关如何解决此问题的任何其他建议,将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您已经拥有两个向量,则可以使用expand.grid

例如

years <- seq(2000, 2012, 1)
months <- seq(1, 12, 1)

ymo <- expand.grid(years, months)
key <- paste0(ymo$Var1, ymo$Var2)

但是,如果您希望序列的格式在单位月份(“ 201201”对“ 20121”)中具有前导零,则必须在扩展之前进一步处理月份向量。

答案 1 :(得分:0)

这是您想要的吗?

seq(as.Date("2000-01-01"),as.Date("2010-12-31"),1)