【发布时间】:2015-01-28 17:38:13
【问题描述】:
我正在尝试使用for 循环创建一个日期向量(格式化为字符串not 作为日期)。我已经查看了其他一些 SO 问题,例如 (How to create a vector of character strings using a loop?),但它们没有帮助。我创建了以下for 循环:
start_dates <- c("1993-12-01")
j <- 1
start_dates <- for(i in 1994:as.numeric(format(Sys.Date(), "%Y"))){
date <- sprintf("%s-01-01", i)
j <- j + 1
start_dates[j] <- date
}
但是,它返回一个NULL (empty) 向量start_dates。当我手动增加i 索引时,它可以工作。例如:
> years <- 1994:as.numeric(format(Sys.Date(), "%Y"))
> start_dates <- c("1993-12-01")
> j <- 1
> i <- years[1]
> date <- sprintf("%s-01-01", i)
> j <- j + 1
> start_dates[j] <- date
> start_dates
[1] "1993-12-01" "1994-01-01"
> i <- years[2]
> date <- sprintf("%s-01-01", i)
> j <- j + 1
> start_dates[j] <- date
> start_dates
[1] "1993-12-01" "1994-01-01" "1995-01-01"
这一定与我的for() 语句的构造有关,但我想不通。我敢肯定这非常简单。提前致谢。
【问题讨论】: