Hi,

I don't get any error...
DF <- cbind(DF[,c(1:3)],ave(DF[, c(4:5)],DF$B, FUN = f))
DF
   A B    C D E
1  1 a 1999 0 0
7  3 a 2004 1 0
2  1 b 1999 0 0
10 4 b 2001 0 1
8  3 b 2004 1 1
3  1 c 1999 0 0
5  2 c 2001 0 1
11 4 c 2001 1 1
4  1 d 1999 0 0
6  2 d 2001 1 0
12 4 d 2001 1 1
9  3 d 2004 1 2

Ivan


Le 2/25/2011 15:31, mathijsdevaan a écrit :
Hi, I am running the following script for a different (much larger data
frame):

DF = data.frame(read.table(textConnection("    A  B  C  D  E
1 1  a  1999  1  0
2 1  b  1999  0  1
3 1  c  1999  0  1
4 1  d  1999  1  0
5 2  c  2001  1  0
6 2  d  2001  0  1
7 3  a  2004  0  1
8 3  b  2004  0  1
9 3  d  2004  0  1
10 4  b  2001  1  0
11 4  c  2001  1  0
12 4  d  2001  0  1"),head=TRUE,stringsAsFactors=FALSE))
DF<-DF[order(DF$B,DF$C),]#order by developer_id and year
f<- function(x)
        {
        unlist(lapply(x, FUN = function(z) cumsum(z) - z))
        }
DF<-cbind(DF[,c(1:3)],ave(DF[, c(4:5)],DF$B, FUN = f))

I get the following error:

Error in `[<-.data.frame`(`*tmp*`, i, , value = integer(0)) :
   replacement has 0 items, need 37597770
In addition: Warning message:
In max(i) : no non-missing arguments to max; returning -Inf

The dimensions of the data frame are (50000,108), so the last line of the
script becomes:

DF<-cbind(DF[,c(1:3)],ave(DF[, c(4:108)],DF$B, FUN = f))

Any idea how to solve this problem? Thanks!



--
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calan...@uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php

______________________________________________
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