Re: list manipulation, mean value
- To: mathgroup at smc.vnet.net
- Subject: [mg23024] Re: list manipulation, mean value
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Tue, 11 Apr 2000 23:18:41 -0400 (EDT)
- Organization: University of Western Australia
- References: <8cp61k$cu5@smc.vnet.net> <8crskk$29k@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Allan Hayes wrote: > We can proceed as follows > > lis = { 1, 0, 2, 1, 3, 4} ; > > w[n_] := Partition[lis, n, 1] > > w[2] > > {{1, 0}, {0, 2}, {2, 1}, {1, 3}, {3, 4}} > > and go on to build up some custom code. > > But using the package > > << Statistics`DescriptiveStatistics` > > We can go directly to the moving averages. > > ma = MovingAverage[N[lis], 2] > > {0.5, 1., 1.5, 2., 3.5} You can avoid the partition operation using ListConvolve. A moving average can be computed using ListConvolve[Table[1/i, {i}], lis] > Well! However we can extend the definition of StandardDeviation to single > element lists. > > Unprotect[StandardDeviation]; > StandardDeviation[{x_}] := 0; > Protect[StandardDeviation]; So the overal code reads Flatten[Table[ReplaceList[ListConvolve[Table[1/i, {i}], lis], {x__, ___} :> StandardDeviation[{x}]], {i, Length[lis]}]] Cheers, Paul