Outliers, removing 1st and 99th percentiles in dataset
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Roger Wohlwend
2014-9-22
p = prctile(COMP.DY, [1 99]);
COMP.DY(COMP.DY <= p(1)) = [];
COMP.DY(COMP.DY >= p(2)) = [];
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!