Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data<-matrix(c(1,2,3,100,101,101,1,2,2,102,103,101,2,1,2),3,5)
- colnames(data)<-c("id","start_y","start_s","end_y","end_s")
- newdata<-data.frame(t(c(data[1,1:3])))
- for(i in min(data[,"id"]):max(data[,"id"])){
- if(max(newdata[,1]==i)){
- while(as.numeric(paste(newdata[nrow(newdata),2],newdata[nrow(newdata),3],sep=""))<as.numeric(paste(data[i,"end_y"],data[i,"end_s"],sep=""))){
- if(newdata[nrow(newdata),3]==1){
- newdata<-rbind(newdata,c(newdata[nrow(newdata),1],newdata[nrow(newdata),2],2))
- }else{
- newdata<-rbind(newdata,c(newdata[nrow(newdata),1],newdata[nrow(newdata),2]+1,1))
- }
- }
- }else{
- newdata<-rbind(newdata,c(data[i,1:3]))
- while(as.numeric(paste(newdata[nrow(newdata),2],newdata[nrow(newdata),3],sep=""))<as.numeric(paste(data[i,"end_y"],data[i,"end_s"],sep=""))){
- if(newdata[nrow(newdata),3]==1){
- newdata<-rbind(newdata,c(newdata[nrow(newdata),1],newdata[nrow(newdata),2],2))
- }else{
- newdata<-rbind(newdata,c(newdata[nrow(newdata),1],newdata[nrow(newdata),2]+1,1))
- }
- }
- }
- }
- colnames(newdata)<-c("id","years","s")
Advertisement
Add Comment
Please, Sign In to add comment