[R] Hello R User

Jessica Streicher j.streicher at micromata.de
Fri Dec 14 17:36:43 CET 2012


 dataset<-data.frame(id=c(1,1,2,3,3,3),time=c(3,5,1,2,4,6))
 dataset
  id time
1  1    3
2  1    5
3  2    1
4  3    2
5  3    4
6  3    6
 ids<-unique(dataset$id)
 for(id in ids){
+ 	dataset$time[dataset$id==id]<-c(0,diff(dataset$time[dataset$id==id]))
+ }
 dataset
  id time
1  1    0
2  1    2
3  2    0
4  3    0
5  3    2
6  3    2

might not be the fastest though.


On 14.12.2012, at 16:51, bibek sharma wrote:

> Hello R User,
> In the sample data given below, time is recorded for each id
> subsequently. For the analysis, for each id, I would like to set 1st
> recorded time to zero and thereafter find the difference from previous
> time. I.e. for ID==1, I would like to see Time=0,3,1,3,6. This needs
> to be implemented to big data set.
> Any suggestions are much appreciated!
> Thanks,
> Bibek
> 
> ID	Time
> 1	3
> 1	6
> 1	7
> 1	10
> 1	16
> 2	12
> 2	18
> 2	19
> 2	25
> 2	28
> 2	30
> 
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list