Thanks Mark,

[EMAIL PROTECTED] wrote:


# MAKE POSIXct OBJECTS FROM CHARACTER STRINGS
temp1 <- as.POSIXct(strptime("2007-02-02","%Y-%m-%d"))
temp2 <- as.POSIXct(strptime("2007-02-01","%Y-%m-%d"))

# TEMP1 AND TEMP2 ARE SORT OF NUMBERS BUT EACH UNIT IS ONE
# SECOND

result <- difftime(temp1,temp2)

# STILL NOT REALLY A NUMBER
print(result)
print(str(result))

# MAKE IT A NUMBER
numberresult <- unclass(result)
attributes(numberresult) <- NULL
print(numberresult)

This does the trick:

endPeriod<-as.POSIXct(strptime("2008-09-30","%Y-%m-%d"))
startPeriod<-as.POSIXct(strptime("2007-10-01","%Y-%m-%d"))
endProject<-as.POSIXct(strptime("2007-12-31","%Y-%m-%d"))
startProject<-as.POSIXct(strptime("2006-12-01","%Y-%m-%d"))

attributes(endPeriod) <- NULL
attributes(startPeriod) <- NULL
attributes(endProject) <- NULL
attributes(startProject) <- NULL

overlappingDays <- length(intersect(startPeriod:endPeriod,startProject:endProject))/86400
print(overlappingDays)

[1] 91.04168

But as far as I see here, the method is extremely slow (some seconds for a single case). It solves the problem now, but taking into account that I must use the method for a quite large database, I think I must look for anything faster.

Any new idea will be welcome!!!

Cheers,

Ricardo

--
Ricardo Rodríguez
Your XEN ICT Team

______________________________________________
R-help@r-project.org mailing list
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