Para verificar se uma data está contida num intervalo, tem o operador %within% do lubridate.Não entendi muito bem se era para lidar com dados de vários anos ou apenas do ano corrente, então o código abaixo funciona para vários anos. Também não sabia se você já tem a lista de datas de início e fim do carnaval, então fiz como se não a tivesse. Veja quais partes do código serão úteis.# ============================================================ ==================== # Package for creation and validation of dates intervalif( !require( lubridate ) ){ install.packages('lubridate'); library(lubridate); }# Data simulationdates <- seq( from = as.Date("2010-01-01"), to = as.Date("2017-12-31"), by = 1 )# Carnival begin and finish datescarnivals <- data.frame( d0 = as.Date( timeDate::Easter( 2010:2017 ) )-51, d1 = as.Date( timeDate::Easter( 2010:2017 ) )-46 )# Checks which dates are within (%within% operand from lubridate package) carnivals intervalsdates[ sapply( interval( carnivals$d0, carnivals$d1 ), function( x ){ which( dates %within% x ) }) ]# ============================================================ ==================== Abs,KarinaOn Mon, Jan 23, 2017 at 6:43 PM salah via R-br <r-br@listas.c3sl.ufpr.br> wrote:olá
Bem correto seus comentários Cesar, não compreendi bem o problema.
segue sugestão:
data = seq(as.Date('2016-01-01'), as.Date('2016-12-31'), by = 1)
DF = data.frame(data, N = 1:366)
DF[DF$data > "2016-02-05" & DF$data < "2016-02-10",]
ou
subset(DF, data > "2016-02-05" & DF$data < "2016-02-10")
saudações
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia ) e fornea cdigo mnimo reproduzvel.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia ) e forneça código mínimo reproduzível.