I can’t understand from the docs how can I retrieve a result from a series. Specifically, if I follow the example
y = rand(1000)
s = Series(Mean(), Variance())
fit!(s, y)
And after I want to apply std() to the resulting Variance(), I can’t find a way to subselect the Variance from the series
             
            
              
              
              
            
            
           
          
            
            
              I just found a way which seems convoluted, but works
x = randn(10^6)
things = Series(Mean(), Variance())
fit!(things,x)
std(things.stats[2])
             
            
              
              
              
            
            
           
          
            
            
              Have you tried var(things) or std(things)?
             
            
              
              
              
            
            
           
          
            
            
              yes it returns this error:
ERROR: MethodError: no method matching iterate(::Series{Number,Tuple{Mean{Float64,EqualWeight},Variance{Float64,EqualWeight}}})
             
            
              
              
              
            
            
           
          
            
            
              Indeed.
I think your approach is ok. consider the dump function which can be helpful.
using OnlineStats
y = rand(1000)
o = fit!(Variance(), y)
@show var(o)
@show std(o)
@show mean(o)
s = Series(Mean(), Variance())
fit!(s, y)
@show var(s.stats[2])
@show std(s.stats[2])
@show mean(s.stats[2])
value(s.stats[2]) 
value(s.stats[1]) 
dump(s)
dump(o)
             
            
              
              
              
            
            
           
          
            
            
              
That’s probably the most correct way to do this.  I don’t think adding a getter function e.g. stats(s) would be worth it.
Alternatively, you can give Series a named tuple:
julia> s = Series((m=Mean(), v=Variance()));
julia> fit!(s, randn(100));
julia> s.stats.v
Variance: n=100 | value=1.08054
             
            
              
              
              2 Likes