hi, All.
Date Dtime Hour Min Second Rep App_dur
9 2006-02-22 14:36:11 14 36 11 4 1
10 2006-02-22 14:36:12 14 36 12 3 86
11 2006-02-22 14:37:38 14 37 38 0 58
14 2006-02-22 14:38:36 14 38 36 3 1
15 2006-02-22 14:38:37 14 38 37 4 1
16 2006-02-22 14:38:38 14 38 38 1 9
18 2006-02-22 14:38:47 14 38 47 0 3
20 2006-02-22 14:38:50 14 38 50 1 1
21 2006-02-22 14:38:51 14 38 51 4 2 ***
23 2006-02-22 14:38:53 14 38 53 4 39 ***
25 2006-02-22 14:39:32 14 39 32 3 1
26 2006-02-22 14:39:33 14 39 33 4 1
27 2006-02-22 14:39:34 14 39 34 3 8
28 2006-02-22 14:39:42 14 39 42 4 62
How to write a program to merge Rep with consecutive equal numbers to one of
that number and sum up App_dur??
on the above data frame, i want to merge
21 2006-02-22 14:38:51 14 38 51 4 2 ***
23 2006-02-22 14:38:53 14 38 53 4 39 ***
to 2006-02-22 14:38:51 14 38 51 4 41
and represent original two *** by the new one like:
9 2006-02-22 14:36:11 14 36 11 4 1
10 2006-02-22 14:36:12 14 36 12 3 86
11 2006-02-22 14:37:38 14 37 38 0 58
14 2006-02-22 14:38:36 14 38 36 3 1
15 2006-02-22 14:38:37 14 38 37 4 1
16 2006-02-22 14:38:38 14 38 38 1 9
18 2006-02-22 14:38:47 14 38 47 0 3
20 2006-02-22 14:38:50 14 38 50 1 1
2006-02-22 14:38:51 14 38 51 4 41 ***
25 2006-02-22 14:39:32 14 39 32 3 1
26 2006-02-22 14:39:33 14 39 33 4 1
27 2006-02-22 14:39:34 14 39 34 3 8
28 2006-02-22 14:39:42 14 39 42 4 62
??
Thanks.
Tammy
_________________________________________________________________
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.
http://www.microsoft.com/windows/windowslive/products/photos.aspx
[[alternative HTML version deleted]]
You can assign a group number to each run of identical
values of 'Rep' with
firstInRun <- with(data, c(TRUE, Rep[-1]!=Rep[-length(Rep)]))
group <- cumsum(firstInRun)
where 'data' is your data.frame's name. Once you've
assigned the runs to groups then you can use, e.g.,
sapply(split()) to compute the group sums
summed_App_dur <- with(data, sapply(split(App_dur,group), sum))
and put them into the shortened data.frame with
newdata <- data[firstInRun,]
newdata$App_dur <- summed_App_dur
There are various tricks for speeding up the sapply(split(),sum),
if that is a problem.
Bill Dunlap
TIBCO Software Inc - Spotfire Division
wdunlap tibco.com
-------------------------------------------------------------
Date Dtime Hour Min Second Rep App_dur
9 2006-02-22 14:36:11 14 36 11 4 1
10 2006-02-22 14:36:12 14 36 12 3 86
11 2006-02-22 14:37:38 14 37 38 0 58
14 2006-02-22 14:38:36 14 38 36 3 1
15 2006-02-22 14:38:37 14 38 37 4 1
16 2006-02-22 14:38:38 14 38 38 1 9
18 2006-02-22 14:38:47 14 38 47 0 3
20 2006-02-22 14:38:50 14 38 50 1 1
21 2006-02-22 14:38:51 14 38 51 4 2 ***
23 2006-02-22 14:38:53 14 38 53 4 39 ***
25 2006-02-22 14:39:32 14 39 32 3 1
26 2006-02-22 14:39:33 14 39 33 4 1
27 2006-02-22 14:39:34 14 39 34 3 8
28 2006-02-22 14:39:42 14 39 42 4 62
How to write a program to merge Rep with consecutive equal numbers to
one of that number and sum up App_dur??
on the above data frame, i want to merge
21 2006-02-22 14:38:51 14 38 51 4 2 ***
23 2006-02-22 14:38:53 14 38 53 4 39 ***
to 2006-02-22 14:38:51 14 38 51 4 41
...
Thanks.
Tammy