addSunTimes <- function(data) { require(chron) if(length(data$sunrise) == 0 && length(data$sunset) == 0){ data <- data.frame(data, sunrise = sunriseset(data$date, data$lat, data$lon, timez = 0)$sunrise/60, sunset = sunriseset(data$date, data$lat, data$lon, timez = 0)$sunset/60) } if(length(data$day) == 0){ data <- data.frame(data, day = ifelse((data$time < data$sunrise | data$time > data$sunset), 2, 1)) } else {print(paste(deparse(substitute(data)), 'already contains sunrise/sunset times & day', sep = ' '))} return(data) }