I need to do a simple cumulative sum by group and add the result to the 
data. I found an earlier thread in the help files with a few suggestions.

Somewhat, one of the suggestions does not work with "my data", and I don't 
really understand why ?

The error am getting using the "my data" below is...

Error in data.frame(..., check.names = FALSE) :
         arguments imply differing number of rows: 10, 0

I'd truly appreciate your input on this matter.

Am still a beginner on R, but am determined to use it for the rest of my 
life...

Thanks in advance.

Sincerely,

Jose


# The example I found on the help files provided by J. Fox on Wed Jul 24 2002
f <- c("left","left","left","left","left","left","left","left","left",
"right","right","right","right","right","right","right","right","right",)
x <- c(1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9)
y <- c(0,0,9,10,23,45,13,2,6,10,26,9,50,78,20,7,20,19)
tmp <- data.frame(f,x,y)

cbind(tmp, s=c(lapply(split(tmp, tmp$f), function(x) cumsum(x$y)), 
recursive=T))


# my data, the same code but it doesn't work...
v1 <- c(1,1,1,1,1,2,2,2,2,2)
v2 <- c(1,2,3,4,5,1,2,3,4,5)
v3 <- c(0,0.1,0.11,0.3,0.5,0,0.4,0.5,2.4,2.6)
d.1 <- data.frame(v1,v2,v3)

cbind(d.1, v4=c(lapply(split(d.1, d.1$v1), function(x) cumsum(x$y)), 
recursive=T))


-- 
Jose A. Hernandez
Ph.D. Candidate
Precision Agriculture Center

Department of Soil, Water, and Climate
University of Minnesota
1991 Upper Buford Circle
St. Paul, MN 55108

Ph. (612) 625-0445, Fax. (612) 625-2208 
	[[alternative HTML version deleted]]


