[R] Gini index of frequencies in a data frame
Achim Zeileis
Achim.Zeileis at wu-wien.ac.at
Wed Feb 13 01:40:15 CET 2008
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
More information about the R-help
mailing list