我想生成一个日期序列。我可以用
做到seq(from=as.POSIXct("2011-01-01 0:00", tz="UTC"),
to=as.POSIXct("2012-12-19 23:00", tz="UTC"),
by="hour")
现在我想要一个仅包含每个月前n
天的序列。我怎么能在R?中做到这一点?
答案 0 :(得分:3)
尝试
n <- 1:10
indx <- as.numeric(format(dt, "%d")) %in% n
dtSub <- dt[indx]
你可以把它变成一个函数
f1 <- function(x, n){
n1 <- seq(n)
indx <- as.numeric(format(x, "%d")) %in% n1
x[indx]
}
res <- f1(dt, 10)
max(as.numeric(format(res, "%d")))
#[1] 10
dt <- seq(from=as.POSIXct("2011-01-01 0:00", tz="UTC"),
to=as.POSIXct("2012-12-19 23:00", tz="UTC"),
by="hour")