Hi, I have a dataset which contains several time records for a number of days, plus a variable (light) that allows to determine night time (lihgt= 0) and daytime (light> 0). I need to obtain get dusk time and dawn time for each day and place them in two columns.
This is the starting point (d): day time light 1 1 20 1 12 10 1 11 6 1 9 0 1 6 0 1 12 0 ... 30 8 0 30 3 0 30 8 0 30 3 0 30 8 8 30 9 20 And this what I want to get: day time light dusk dawn 1 1 20 11 10 1 12 10 11 10 1 11 6 11 10 1 9 0 11 10 1 6 0 11 10 1 12 0 11 10 ... 30 8 0 9 5 30 3 0 9 5 30 8 0 9 5 30 3 0 9 5 30 8 8 9 5 30 9 20 9 5 This is the code for data frame d: day= rep(1:30, each=10) n= length(dia); x= c(1:24) time= sample(x, 300, replace= T) light= rep(c(20,10,6,0,0,0,0,0,8,20), 30) d=data.frame(day,time,light) I'd need to impose a double condition like the next but if does not take more than one: attach(d) for (i in 1: n){ if (light[i-1]>2 & light[i]<2){ d$dusk<- time[i-1] } if (light[i-1]<2 & light[i]>2){ d$dawn<- time[i] } } detach(d) d Thank you for your help [[alternative HTML version deleted]]
______________________________________________ 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.