Rev 3265 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4 | slib_title=Variance |
||
5 | slib_parms=1\ |
||
6 | ,[data] or [data],[weight] |
||
7 | slib_author=Bernadette PERRIN-RIOU |
||
8 | slib_out=standard variance of data x_1,..,x_n = sum(x_i^2-mean)/n, sum(x_i^2-mean)/(n-1) |
||
9 | slib_comment=Data and weight can be recognized under many formats, \ |
||
10 | in particular as a matrix (with data before weight). |
||
11 | slib_example=[2,-7,6]\ |
||
12 | [2,-7,6;1,1,4]\ |
||
13 | [2,-7,6],[1,1,4] |
||
14 | !exit |
||
15 | |||
16 | :proc |
||
17 | |||
18 | !readproc slib/stat/dataproc $wims_read_parm |
||
19 | slib_cnt=!itemcnt $slib_data |
||
20 | !if $slib_cnt=0 |
||
21 | slib_out=0 |
||
22 | !else |
||
23 | !if $slib_weight=$empty |
||
24 | slib_data1=!sum x for x in $slib_data |
||
25 | slib_mean=$[($slib_data1)/$slib_cnt] |
||
26 | slib_dev=!sum (x-($slib_mean))^2 for x in $slib_data |
||
27 | slib_out=$[$slib_dev/$slib_cnt],$[$slib_dev/($slib_cnt-1)] |
||
28 | slib_out =!trim $slib_out |
||
29 | !exit |
||
30 | !else |
||
31 | slib_out=!exec pari { slib_mean=([$slib_data]*[$slib_weight]~)/$slib_tw;\ |
||
32 | slib_dev=sum(x=1,$slib_cnt,[$slib_weight][x]*[$slib_data][x]^2)-$slib_tw*(slib_mean)^2;\ |
||
33 | print(1.*slib_dev/$slib_tw","1.*slib_dev/($slib_tw-1))} |
||
34 | slib_out =!trim $slib_out |
||
35 | !endif weight |
||
36 | |||
37 | slib_out =!trim $slib_out |
||
38 | !endif |
||
39 | slib_out=!trim $slib_out |