Outliers, removing 1st and 99th percentiles in dataset
5 views (last 30 days)
Show older comments
alex monjambo
on 21 Sep 2014
Commented: alex monjambo
on 23 Sep 2014
Hi, here is my problem :
I have a dataset called "COMP" which includes many variables such as DY, etc...
The variable "DY" includes many zeros (approx 59300) and some negative numbers while the reste is positive for a total of 90483 observations.
I would like to create a function that removes the rows for the observations below the 1st and above the 99th percentiles.
Here is what i have been trying so far :
COMP = sortrows(COMP,'DY','ascend'); find(COMP.DY == prctile(COMP.DY,1))
The problem is that i dont want to remove all the zeros .. just the 1st percentile ....
Thanks for your help
0 Comments
Accepted Answer
Roger Wohlwend
on 22 Sep 2014
p = prctile(COMP.DY, [1 99]);
COMP.DY(COMP.DY <= p(1)) = [];
COMP.DY(COMP.DY >= p(2)) = [];
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!