R日期序列 - 每个月的前n天

时间:2014-10-25 03:49:41

标签: r

我想生成一个日期序列。我可以用

做到
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?中做到这一点?

1 个答案:

答案 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")