Hi,

I have a DF like this:

DF = data.frame(read.table(textConnection("    A  B  C 
1 b1  1999  0.25
2 c1  1999  0.25
3 d1  1999  0.25
4 a2  1999  0.25
5 c2  1999  0.25
6 d2  1999  0.25
7 a3  1999  0.25
8 b3  1999  0.25
9 d3  1999  0.25
10 a4  1999  0.25
11 b4  1999  0.25
12 c4  1999  0.25
13 b1  2001  0.5
14 a2  2001  0.5
15 b1  2004  0.33
16 c1  2004  0.33
17 a2  2004  0.33
18 c2  2004  0.33
19 a3  2004  0.33
20 b3  2004  0.33
21 d2  1980  0.4
22 a3  1980  0.4
23 b4  1981  0.4
24 c1  1981  0.4"),head=TRUE,stringsAsFactors=FALSE))

For each factor in A I want to sum the values of C for all years(Bn) prior
to the current year(Bi):

1 b1  1999  0.25  0
2 c1  1999  0.25  0.4
3 d1  1999  0.25  0
4 a2  1999  0.25  0
5 c2  1999  0.25  0
6 d2  1999  0.25  0.4
7 a3  1999  0.25  0.4
8 b3  1999  0.25  0
9 d3  1999  0.25  0
10 a4 1999  0.25  0
11 b4 1999  0.25  0.4
12 c4 1999  0.25  0
13 b1 2001  0.50  0.25
14 a2 2001  0.50  0.25
15 b1 2004  0.33  0.75
16 c1 2004  0.33  0.65
17 a2 2004  0.33  0.75
18 c2 2004  0.33  0.25
19 a3 2004  0.33  0.65
20 b3 2004  0.33  0.25
21 d2 1980  0.40  0
22 a3 1980  0.40  0
23 b4 1981  0.40  0
24 c1 1981  0.40  0

If I do this - DF$D<-ave(DF$C,DF$A,FUN = function(x) sum(x)) - it returns
for each factor the sum of C for all years. How do I build the (B) condition
in this function? Thanks very much! 

-- 
View this message in context: 
http://r.789695.n4.nabble.com/Conditional-sum-tp3315163p3315163.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.

Reply via email to