Marius, several remarks which might help you to improve your code (and your style of asking questions):
> I wish to calculate the Gini index (ineq from same package) and some > other indices for the diameter distribution of each plot (df dgtot). > > dgtot: > IDPlot Diameter(cm) I would recommend to use names that would also work as variable names, especially if you're a beginner, i.e., better use "Diameter" omitting the "(cm)". > I use: > > aggregate(dgtot,by=list(dgtot$IDSupr),FUN=ineq(dsp)) The argument FUN must be a function (as the name tries to convey). Above, you evaluate the function which leads to the error because you can't do ineq(dsp) because dsp is a function which makes no sense as the first argument of ineq(). > dsp <- function(x) # compute frequency distribution for each plot > { > cd<-seq(5,max(x),by=2) > Fi <<- table(cut(x, br = seq(5, max(x)+1, 2), right = FALSE)) > K <- length(names(Fi)) > } This is really not good programming style with "<<-" and without explicitely returning something useful. Probably, you want to return Fi, but I'm not sure... > I'm at the beginning in R and I kindly request your experienced help. Have a look at the R introduction or some some book which gets you started. If you want to ask anything on R-help... > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. This also tells you to choose a meaningful subject. Your problem was not at all about the "ineq" package which shouldn't have been too difficult to find out. hth, Z ______________________________________________ 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.