Bonjour,

Je suis actuellement en train d'écrire ma thèse de master et fais face à une erreur dans mon code sur R. J'essaie d'appliquer une event study en utilisant un for loop. Malheureusement pour certains cas, je ne dispose pas d'assez de données antérieures et je ne peux pas appliquer la fenêtre d'estimation. Je souhaiterais donc mettre en place un if loop afin de garder seulement les données pour lesquelles j'ai une antériorité de plus de 253 jours. Sans ce if loop, le for loop cesse de fonctionner et j'obtiens l'erreur suivante= [I]'Error in seq_len(nrows) :
only 0's may be mixed with negative subscripts'



Pourriez-vous s'il vous plait m'indiquer les modifications à effectuer? Merci par avance.


Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CAR2 <- data.frame(NA_col=rep(NA, 1))
VAR2 <- data.frame(NA_col=rep(NA, 1))
name2<-NULL
limit=253
 
for (i in 2:ncol(OHLCreturns)){
  DATA<-OHLCreturns[c(1,i)]
  DATA$Date<-as.Date(DATA$Date, format='%d/%m/%Y')
  DATA<-DATA[!is.na(DATA[,2]),]
  DATA$period<-NA
  date<-which(DATA$Date==IssueDates2$when[IssueDates2$name==colnames(DATA)[2]])
  if (date>253){
    DATA[date,'period']<-'event'
    DATA[date-1,'period']<-'event'
    DATA[date+1,'period']<-'event'
    DATA[date-2:251,'period']<-'estimation'
    estimation<-subset(DATA,period=="estimation")
    event<-subset(DATA,period=="event")
    DATA$AR<-DATA[,2]-mean(estimation[,2])
    car<-sum(event[,2])
    if (!is.na(car)){
      CAR2<-cbind(CAR2,car)
      name2<-append(name2,colnames(DATA)[2])}
  }
}
Error in if (date > 253) { : argument is of length zero