Hi,
I have a dataset that looks like the following:
id<-c(1,1,2,2,2,3,3)
analysis<-c("CO","O","CO","CO","O","O","CO")
time<-c(1.5,2.1,1.2,33.6,24,71.9,72)
result<-c(5.4,14.1,7.0,3.2,12.3,15.5,4.3)
data<-data.frame(id,analysis,time,result)
I want to create a new column from analysis, time and result and have done so using the following:
data_CO0t<-data
data_CO0t$CO0t <- with(data_CO0t, ifelse(analysis == 'CO' &
time < 1 &
time >= 0,
result, NA))
data_CO0t <- subset(data_CO0t,CO0t!="NA")
data_CO1t<-data
data_CO1t$CO1t <- with(data_CO1t, ifelse(analysis == 'CO' &
time < 2 &
time >= 1,
result, NA))
data_CO1t <- subset(data_CO1t,CO1t!="NA")
data_CO2t<-data
data_CO2t$CO2t <- with(data_CO2t, ifelse(analysis == 'CO' &
time < 3 &
time >= 2,
result, NA))
data_CO2t <- subset(data_CO2t,CO2t!="NA")
data_CO <- merge(data_CO0t,data_CO1t,by=c("id"),all=TRUE)
data_CO<- merge(data_CO,data_CO2t,by=c("id"),all=TRUE)
Problem is, I want to this for time 0-72 in 1 hour intervals. There must be an easier way to do this instead of repeating it manually?
best wishes