On Jul 7, 2010, at 6:52 PM, Jim Bouldin wrote:
I'm trying to obtain the mean of the middle 95% of the values from
each row
of a matrix (that is, the highest and lowest 2.5% of values in each
row
are removed before calculating the mean).
A winsorized.mean?
I am having all sorts of
problems with this; for example the command:
apply(matrix1,1,function(x) quantile(c(.05,.90),na.rm=T))
returns the exact same quantile values for each row, which is clearly
wrong.
You gave quantile the same argument each time. Try:
apply(matrix1,1,function(x) quantile( x, probs= c(.05,.90),na.rm=T) )
Or:
apply(matrix1, 1, quantile, probs= c(.05,.90), na.rm=T )
But even if the values were right, I'm not sure how I would then
translate those quantile values into another apply function to get the
mean, since they differ from row to row.
That would be a problem. There is a path to success but it would so
much easier if someone already developed a function, wouldn't it?
RSiteSearch("winsorized")
I also tried:
apply(matrix,1,mean,na.rm=T,trim=.05))
and the trim argument was simply ignored
Stumped. Any help appreciated. Thanks.
Jim Bouldin, PhD
Research Ecologist
Department of Plant Sciences, UC Davis
Davis CA, 95616
530-554-1740
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.