Hello everybody;

I'm writing a code where part of it is as follows:

for (i in nrow(dadosmax)){
  dadosmax$enchday[i] <- if (sum(dadosmax$above[i:(i+44)]) >= 45) 1 else 0
}

That is for each row of my data frame, sum an specific column (0 or 1) of
that row plus 44 rows. If It is >=45 than enchday is 1 else 0.

The following error is returned:

Error in if (sum(dadosmax$above[i:(i + 44)]) >= 45) 1 else 0 :
  missing value where TRUE/FALSE needed

I've tested the ifelse statement assigning different values to i and it
works. So I'm wondering if this error is due the fact that at the final of
my data frame there aren't 45 rows to sum anymore. I tried to use "try" but
It's simply hide the error.

How can I deal with this? Any ideas?
Thank you very much.

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to