Re: Removing Outliers from List
- To: mathgroup at smc.vnet.net
- Subject: [mg127687] Re: Removing Outliers from List
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 15 Aug 2012 03:33:05 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120814082041.A0DA26844@smc.vnet.net>
list = {24, 24, 3, 2, 1, 1, 1, 1}; Module[{clusters = FindClusters[list], len}, len = Max[Length /@ clusters]; Select[clusters, Length[#] == len &][[1]]] {3, 2, 1, 1, 1, 1} Bob Hanlon On Tue, Aug 14, 2012 at 4:20 AM, Murta <rodrigomurtax at gmail.com> wrote: > Hi All > > Some simple idea on how to remove the outliers from a list like this?: > > l={24, 24, 3, 2, 1, 1, 1, 1} > > to get this: > > l={3, 2, 1, 1, 1, 1} > > I have one complicated one that need a lower sigma parameter to work: > ------------------------------------------------ > l={24, 24, 3, 2, 1, 1, 1, 1} > > removeNormalOutliers[data_,\[Alpha]_:2.09]:=Block[{removeSub}, > > removeSub[dataSub_]:=Module[{\[Sigma],\[Mu],return}, > If[Length[dataSub]>1,\[Mu]=N@Mean[dataSub]; > \[Sigma]=N@StandardDeviation[dataSub]; > return=Select[dataSub,#<=\[Mu]+\[Alpha] \[Sigma]&],dataSub] > ]; > FixedPoint[removeSub,data,20] > ] > > removeNormalOutliers[l, 1] > ------------------------------------------------ > > Some better/simple idea? > tks in advance > Murta >
- References:
- Removing Outliers from List
- From: Murta <rodrigomurtax@gmail.com>
- Removing Outliers from List