A. Mani : Tapply
Hi
PLEASE do read the posting guide!
******************************
On 25 Aug 2005 at 20:28, A Mani wrote:
Hello,
Is it safe to use tapply when the result will be of dim 20000
x 10000 or more ? In my PC R crashes.
or gave you an error message? I tried this
df<-data.frame(A=as.factor(sample(1:10000,100000,
replace=T)),B=as.factor(sample(100000:110000,100000, replace=T)), num=rnorm(100000))
ttt<-tapply(df$num, list(df$A,df$B), diff)
and got Error: cannot allocate vector of size 390664 Kb In addition: Warning messages: 1: Reached total allocation of 1000Mb: see help(memory.size) 2: Reached total allocation of 1000Mb: see help(memory.size)
and the result with smaller data sets are df1<-data.frame(A=as.factor(sample(1:2,100000, replace=T)),B=as.factor(sample(10:11,100000, replace=T)), num=rnorm(100000)) ttt1<-tapply(df1$num, list(df1$A,df1$B), diff)
ttt1
10 11 1 Numeric,24933 Numeric,25141 2 Numeric,24992 Numeric,24930 df<-data.frame(A=as.factor(sample(1:1000,100000, replace=T)),B=as.factor(sample(10000:11000,100000, replace=T)), num=rnorm(100000)) ttt<-tapply(df$num, list(df$A,df$B), diff)
ttt[1:2,1:5]
10000 10001 10002 10003 10004 1 NULL NULL NULL Numeric,0 NULL 2 NULL NULL NULL Numeric,0 NULL
so you are probably receiving humonguous table of NULLs, zeros and few nonzero entries. You probably need to use different approach Cheers Petr The code used was on a 3-col
data frame with two factor cols and a numeric column. The fn
was diff
. data form being <A, B, Num> tapply(data$A, list(data$A,
data$B),
diff) -- A. Mani Member, Cal. Math. Soc
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Petr Pikal petr.pikal at precheza.cz