HSAUR3/0000755000176200001440000000000014416446713011231 5ustar liggesusersHSAUR3/NAMESPACE0000644000176200001440000000037714172224353012450 0ustar liggesusers export(HSAURtable) import(utils) importFrom("tools", "delimMatch") importFrom("stats", "complete.cases") S3method(HSAURtable, table) S3method(HSAURtable, data.frame) S3method(toLatex, tabtab) S3method(toLatex, dftab) # S3method(toBibtex, HSAURcitation)HSAUR3/data/0000755000176200001440000000000014172224353012133 5ustar liggesusersHSAUR3/data/toenail.rda0000644000176200001440000001213214172224352014254 0ustar liggesusers] |YUٚ&i;ti-kt6U>e6q0<pC8;`W-.Qhqt@%9w5/,s=ܛ:L$͉MhYmm^)ޱ|m_>HXض|ݺm Z h3@: t2EVܤ`tU` Vл { U~ )_e .cH`A#F 8dఁ#G ܦepdR2r>|g' |/2b5<w& |/5|_/74^` |1] o01M^d` 4p{Co5pf 3f` ^j~/3^n^i; |2 =W~2j?` 6#^cG7ZS' <`'i?cg 7 ~  _ C~ 7)U i 15{~x?Tp#ޢ x?1+ iaT! S diP. | |zam45hVb@M l^j`B 0p[ 4c`z 1> 0ge 6p0k}7Ji{鵝Ϧqqx&7iMnǏ89t4e.KwgGqv%d8爟'~y֓Vx$.I$$Q$"E)HQ;RAڑ"~)U8s8s___eH  q q,i%~Y%9K Y%9#~9#~9#~92~|o&6ŷimo/-gl3qf9-3sc:fY-3_<3gIV2","","ɪ'YZooCMifffiff%7JYDz_7"27|37|37êgXDfY,2,3ˮJYYͱ9c%s,#?η|moS| ߲2AY8s,q:Bǡp,q@:H8 [%Y0uya86Ǧtcq@:HdIVq:Sa8L]Ep:Sb#q:X8LǦtfƱ8 t.|!:dq:Bǡ8szCsy799'km'OO/@<0%~5GNW%:zj2JS 8=2Voq|#69X9^8ZJWr۵J;4{Wc/ՐQ-;W+jm+o_-7MֻKreT[j-QӡcaVި^ho1}XK[KXj 84qǟJ=Jv5ջ֓WZ۵ܹv.U)>VoyL++GϷ+;[fffOgNMO.\SSEno\K|O-V^հG5Sk h_x#jzٰMW+Yh?zwmFa|hhR8X߮ GȩnZSz/U[qibjR~=#ئ]Ϯxs#U#zkmU jl=$zy#S9:sܥWL |br:}x_[cK3oyO>7}/|H9q O,ͼsNz.?"Z|۱w>Xo랉zc~-ͼ|y{Wfhn:FywF^K'塞׶+?RX>"]b]8JzF].=p=7u[>]cEAyvIC[|n> dO'>v$x*:vx۳K?7G?݊P>~v?)'Z;a|4;A\r/A3 Ѝ=[PֿR<|kx3x[џ7[g'`@?VQJ''}`<|% <;(OKv:/0G9_ ϵq8t]3g|bK|߇oGf٥{^&ҝP'9~ ?w9 0}U!3\8//W4mֵz=83.aa׏L =w OOvFO E&_8ż r|\1=g12Q~I=/)H[Gt8uu7@CTu$;1h.ã`;|Dwt<&Uߔ3n? Q?_F)@ȟ{>r*sn\ϭCtr}\ׅ)-SQ_T:8O7A*'F],Q^8F? ĕȫռ'ϸyf1C˺_8<*z5^1P>Lew7 .A/!_ϘOEZc}Pup\-5ꏑ-/?~1[hCpzTbOw羢{a{h]Drǝ'#ǝt.qr|^B`Ky`4|}ړ"rBRqK߸.u98yQ1?Q^O2kB6CZ݊ x8+_SM5jqߢɚ\WnOM_ك-`|O86 TKwq~<,H/˸/'oeݍ'Bb]*Pwu~&(φ*X)yJG{+RǗ1_+yJTH 3:UyyUcwk(g/\Fŵ:iFJ`ߢdyֳ•=OY^6% :`\O@.Yg<+ꀴuĈ}>q\n,j Ws\qeD@%yg;oyW4SaOSe݀2(yk`>vXZwY[_::{!^;q+ !:<BO!gwX?N<۾)q@iI}Biv,/0syyC1}L~Dq݈u6\?Ãȡ]WO6s<<9󂔇v`_yXw]-ցЏzH˧p=$0Os꾵7:9h޿DŽEB~tZW~~xNrOO"#\??]b\z|>c`^2.uL3A ;h~%HȨ}8/T!x?f~.ciq&y;e >KYG yHυ :9y(xs)O+^]{׹99}$ %s0`Ww4uMe]0s[5mXѶxV,R/G}5V%X4}ӔRDjz۫HQջKAtƳJU6R[)_ڿ|cFFxv#6^'glsƏZmכ֫*zKYQk֫ aF>2V/eə3kn/;^20=50q;|>҅s3S|a~jraf ua?}fzA队{m(j^yk1mOW~X2HHSAUR3/data/GHQ.rda0000644000176200001440000000046214172224353013244 0ustar liggesusersMk0 mH`0(aq?wtm^M&wSI8!ڏ-KLtJ)V0I!f!tv hƠ b=n@ RWq]VFst1q/E tڤQS,WxPH]{G@x-[@ =n=;*WwE[Oتl¼ceX1c?//-?kE?sCʟg"x :Kԟ?% Bo"{.ck/GQ?<pxUԕ~ixE-_/~̳ϢVO9,ڮ틳kOjqptǵ&By]RVr'p8*{n66d2E;Qi9]5pyHSAUR3/data/Smoking_DollHill1950.rda0000644000176200001440000000044214172224352016333 0ustar liggesusers r0b```b`b&f H020pi̼x̜CKSf>884@|CP*_@@(Ug eJPZр*!_S2s/ l`ce@ey@)aZz<_~^10RL0)l`!PӘB>y ɉypXK2Tu,9P6[j.nVژ%31=/8 ݬbYp$ g\HSAUR3/data/mastectomy.rda0000644000176200001440000000062514172224352015012 0ustar liggesusersŒ?K@I+6(Rۻ[ɩkhPlZlB~ ~7gg7"7"'<=.iْ^B8Bn! X^Dnp"d*(  xXNk`l{ $8G N K1<+x7hm~,S\so'iǺ fG ܉R OpN7q vkf^ g;z׺ JӊLŊVVjVVVWʴ MͧUi5Z֠!ِlH6$ ɆdC!ِl(6 ņbCPl(6>>>>??ݏ:AHL>HSAUR3/data/CYGOB1.rda0000644000176200001440000000103114416277550013552 0ustar liggesuserse=LAG8LXٝ]aA&gg€EHLVkjjl[,;{sϼ߼ɮڰFPIU?6R|&l.>uW^ehUܠًGQG_̄ݵ_On!{NmoGq:ȹߤx]x=4#ϥ/qKZ'e_1?̙o^)8hT2~10oJWJ_C7Y{'+P>J80G-sj@sxP-oQi[}/sy W㟿cji{X_v?l&هao~p>|J <}l ۃ`ZU]S xd]T*2sNvN5}hvj6va(U"Ĥy%fIO**UlJ-cM WKx#HSAUR3/data/polyps3.rda0000644000176200001440000000063714172224352014241 0ustar liggesusersN@ǗR0`7lE^ON̺4oggvf;t<{$Ek|`S#3u^^pn};giEK^_*i4\] a17sߕ_{GSKc 2`ة,NJOM)]mZYMw? "S}Tp,Z)ѹaeQWHSAUR3/data/meteo.rda0000644000176200001440000000105014416277550013740 0ustar liggesusers]S=hA[/EZD9vgsb?2‘۰Y#'(*bgc!ABAM;s{+U q*U? <(qH0ʣq 5#OLQ.(XK(XEE}ƹE9Eg,:xӢMg-:xˢ-C-f ;%r`rX4mQu7qS#N%baDtg{ __!_I`6BD}| {l)tGUﵷ;uG>A\A=E{0@^6 L 3 xr[o.xtJ>Ts6uE1{ "\D }x|o|s"D{028LFҭN3<nh}Zyo'cd>HGx%}(}FA Yzaf͡fgj f7 jMDP`/HSAUR3/data/planets.rda0000644000176200001440000000276114416277550014307 0ustar liggesuserse lEǷ@hArUoSqF%*&@hʇ"|Ep"r i4ă$\*5X!TC RTwaʦޛ7ޛٙ6F hŶ?Uܟ-Nk̜H~Hqx;?"umiݢE 08vEyT` 7!qzlg`q5q5꺨Zf⊇>Kq:QN?MX~5D={aby{qrU#]? oơ~AE#6~ o]%AMP2y ^d+S̯-đ#l iG #$/IL] w@<n< 6a2._WO7=Q}Pc?;~/Ѽ ?\Y\/F=`߫yIF=roȄ"w ٶv+o~ _2yƱ ʺyd1W\|MRُ/O^re?g(ITjj/!EcO:8g)ljoMrf0.||]qrV~uԎߜ25ڳ~-Ɤ}%cE\ ,lGeZ/*q$aGH:02M7n Ż/S܌6a]ɴ۱.u~-Ͷ."UO.ͮ~kx_f8gw\罷%8D%W,}MaoaK`ُw<%Gݏ/EĹJ:ϙsԼq>e;ྨƽC|*{%U 3̫؉q%G}7AT*.S.n|KnߗWW8G]T=Nn T=nla=?9Q?Q]Wv=9ֻ~U~F)|?To!AU&>ZdNkZ}Qg̼<譢&*HVV$6f bJѕb(%S)Rl8J C dMg`-ĚɚŚ͚3tfЙ3Cg :3tf0a0` 3 f0a0#Č3B1#Č3B1#Č3Lf0a2d &3Lf̰a1b 3,fX̰a1f 63lf̰a3f 3f8p0a 33#̌033#̌03+F`z5<:Tg`bf~Iᶚ2BoIHSAUR3/data/skulls.rda0000644000176200001440000000254014172224352014140 0ustar liggesusersřNGRU ?m 8QPA)Q(~;loAڜsf9ofgw#os=t]Ioφsϟ-ӛqne_/*Q#]t=ykq]Nޟ>W*ߍ?]]/u۴iΚE|e.8?oc~OYIB4f=Zj3AKm{Mx4:[<<~::iyk$I^x]h]ӡ[1o.B]jq+:opҗyvDx.֡,dm>./t)g.M:~:u~/Q8>A꽥}/'ΓSУ9hq;6<+IF>9ߊİJ,ܡn}/<׭:xQuy]~pb~wb_1@JS/9վy\<ǭXGrk:So$6u}OQnuc(M{ub"O0F_H_̟ĺ_Qߤ,ny #ї@'%Z}.]rUc'%|@מ>NK+S]zC Gx?Gb=su]zn]3>vT5} z&&\^:>ŗ]ocF pr8N3;yz^NWҫdx2< O'Ódx2@F #d2!C2d 1$cHƐ!C06\on0770426h2eFˌ-3Zfh2yyyyyyyyyyFˍ-7ZnhrFˍ?lV_8}14~zp?|G6_HSAUR3/data/pottery.rda0000644000176200001440000000274414172224353014340 0ustar liggesusersWklTU]RK.r.~]Zjķ5"4lBA4R@y@{|^ܝsffιٹw7a Nt$`G+[ZQQT0;:yrls;Q~lӊĎ`_6܏mZnt?9.qsI2ygB >%lhq6>(ȱ97fyx">RWݻnK-Z1̚ڹvڂ1mwvc3? ^UCoYe7ݵyߪEשN7u Π_.'g7.2x}dV 4ox{~_WyDas0ps; ~Uk_z}$_gpqn+y/Ͼ_GA}dσ}_OxEۻ>V^<2O~Q?O1?x:Gs5Ays|`0GR7R8Wo&/^!_Bݚ=C=W:?aE܇ x/cǹr)qNAMwZ 89x9k%"yŽgQK?kw{U;FUi3RmS-Wǥ^m\8ʼn޶g75Jo^\'v xD]>t#ղJ~ #N7ۢw3'/΅}仫փͅ'K^~ UM矎£1w=+T[Udt|]q\fø]^g bO:߯^:^AWDC6 O:p)BC 7x ׯ;17]~|]/mo?Ħ?3K?|$ڧ_%EˋJ9Z2<ՄE%Je'U%e$c +;Z׽4h݃\Vb[4.1g?OuFj1S5iޒ|SKczO#KJJ=KW7lV&PHeP|<"YEE/&6I40 S0L0 S0L0 K0, K0, K0, FT0`Dq5=1(VW\F? HSAUR3/data/schizophrenia.rda0000644000176200001440000000216314416277550015503 0ustar liggesuserskWbH)K(qR%q.V8rp mH;U94BѼy3:/G/l0 ;0fscnM7_{ZY 盃u5~^5:sG}9{y>^^͍ütw޷{aqpp6c}>0O8{7sX{?~9C >]E=yWl{jڹ~]g_gSݾtvq[{~{''gK N'/VS~x/+7ⷃo&Ih2igFv.̮h a40Fh hFhFhFiDFiDFh$Fh$Fh$FidFidFQhFQhFQhFQiTFQiTFh4Fh4Fh4lvTkjڨ6jڪV(m6JFiQ(mfLI3i&ͤ4fLZiAZiAZEiQZEiQZEiQZ%iIZ%iIZeiYZeiYZeiYZViEZViEZVUiUZVUiUZVUiUZ֤5iMZ֤5iMZ,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSl~}1lx88]MC/ß{KQHSAUR3/data/plasma.rda0000644000176200001440000000071714416277550014115 0ustar liggesusers;/Q<; %kIdcx&)(4]d^ ڇЫVi8wcm&soڎv<\Q*XUY-qtz)bd]h>S^n]uo݀u|⭜@;f^71n=adgq8W/M13}Fy>; W lL,^b;x<|wv(-n?moJy|*˧;G~%{9\?}gϸz߼+׷t+w>=|O>5ܼ/^h8yu۷DNՇW_yl$枺r[ם 7u~hn`޽]woOs]~tr aqmc>zy-{*zK7?@|]u]c]7_-ͷz~N}Xuڻ~[x]m-َoSWm7-]>ލX_֋N^G|=!|ܸuLolz%^j9 迦zcܻuZ:wۉ2N 9oހqmWއX6K~f|4?7qqf;2twmn[/3ӳܴ?Ut^:O;LGg֯;~<~@g}^Ooӳ>y\2M =^ކ~ַxjc}>c|_Ǡ֣qz4[^z61%i~7nq_K=H<-g#ym;8qmzx_vxgaal/)}'Kyy3g\ބyxtlw/{2^v7nR>_s&_۟Ƹnow^9?>?[_{u|qڎ/xd!]m_~g쟼7}]5~ףm>tH'jk|_mO|h,09 eks(O'ͯ|0?t>=@}s~geGg^Bny#)-{6qWr'4ϥڴSp}D'C[_|f_~u*_}l_qNOU.kϷC/ %'^G{c8>v5ty?w|KͧqC0;z|}.򾘞w<3b?s+Gaܠyt/t;Hrt|v'%}y|2_,q{郜<`(mjw2{_x~SqX~g>{m>G>vt\|s~k;kWv21).um/ϣ^?E}./8|ƸN\r1y}m|_@}{D/ayz?ϫ'Fqv%sa>?1(/OϷI﫻ϓ|aԶ7y jA>ϼt<9|m>.}bu^!vh\|9g|x_6z^~żqנmwSca?/|`C^zco׶{avmєu/|6?Wb-|}Ntt>߷|~y|ޛpjxOacaJq|vm/ϛ{tK-A>뱘Bq y`.h@iߒLzݝxX@_럙5OW̾[0^Kǃxgyi1nuտQs!A귯wQ=*adaa,A7忣!I@?ޔ71pNUc߾,%:, К>f̧Kq/o+<[mo<~%SOĖgH[JEW$ۡPR>u)|L%R*#t?BE1ÌQ+A>͒5W-v]ؗ؟/_aߥ3;z^ "gPI JKqN)fmߋw~&*yWn>g>sn3~z.Ƶ\{4tk޼~Ӯn?wñ9w/kz O4^-Gve>?{_5skt澝~z<^O!_Zg[hַǣ}w!a>iz4ni'^oz_E~bzz¸y$"C|ׯ/2c^]Þ(nQ_c`?Hxoz;rAz8~5iğx m>ד.g'l/Cړ#7W'ޗEGG7qvI"&.Wwvl^u{nM;Nuh1o<#]0~HQH.(kcr? i`7/=_KO&+|22OynG~ѥ9N9#CP>#vKH s^g131GA/ů(.D4\跔?ޝ?i!~A~q*3i^do}U <(n:_|8 r~<'(<EFB8<qC~NmxDCN|  `|1Q|kyݗ_ cykϧ]G_Fb||.N~?GxFE-Yc4>9_$_sX^bL|an;q|_Y?ny%}spQ~ԟy S"ngy_ڗvF.s~p̯Cy8/3r=>ŏ(<|i qo_{>팯S q4|n'U\Ÿqlӏ[DyX^1s/|uM~Sr9$(nҾwƩ酟/Gy1rσictoW/|8 ~_yk̭_*_'PAӠQ?*i>E_EW*:\疾6vj}NQGۋD=Ok |+u+bɎK_g՗ս\@J_|(n켤'm}5o#яQ|އƸȘ2&RRh[#z%JOQ{Ҿ]^ڧ-ilod y;WaޯX}aRSZ[™nI&|{ɷ#s>o>P.Fy@doO椇J AW?a=#⥏Gs%FRxxYJ{/Β>PPK~@ktw6_P_ѹU:(gcIh_X7A#J: t}"K$ҷ_Ҧg%p/žx]د#MF>JŁt:^x77WJ+MA=Job,b~Eg-źR,:t Q.R_U>ޥ3o[^!Kŭ=Ge((2 萯R%?$KtJ:)ŝal~hZeɣ7o=7oW&]ɛ^_Yuowu~u/Wϻ t΂}Za?}6ֹj7OyO}&i6;ȋN=~wu}0/ѱ'ɹyt@/C8י`߄k7t_qWϺtDk.hG%ȏ'G~I=XIr~w'+~ 99+#ҩ0tJ^w>ΰv;=r?G]'?p9yx]iG ֙->OϿ[I?ƙݛC?kcy,9s%{sM~<̟m>,K]z-9:=ƿkh;ƍώ܃/y^;vUnɮ1h'#ch? ۡ"wXm~W׃֭gy^׹ ^G/@nt86tݶ8nzi;zt7^)~{VGܞ*w̗Ymޢt ?+|Vtvº~u99A `;8?A?t>Os階kKSE>> c]<|N9^;{rx m9(. K<Ǔ@ė 'yݿ ^i}yw3ߔdUy? Oy 9 /sY.O~og =~^73խK؂n}OWV/r=Ӡ?xd~<<1 x|8q<~+{󺓼N|Y|O=_Cyr[x>%>QxAvy+'|}ɗ>Ozgy;C9|6'wwb/UyhO˱z˅}ޣ ~vq;)~>Oҹ濛{o'9;nU^wz;xyю:?=NyyS|nov:s:\$|{} >h!'<ߤgʻ}Qn+&sv7#9=>ț<?<|u|q닠k!h>ϥo-]꒼/Eo6cC /G\C?fwy)xYK6^IޢѾ.U^J%z$!"]H/}hR>G]4[;?k$Ό1;+!EFg!?tRYP¾˕$ܳ<ȷ#KeyW/L[5ⅶY_2 ([c7&"|syxuaJ3R8ʇRs K졼![|;KeJem2?=/ш.}.kC/ڗJ8D}}z4^_\ϊR,ǙFYz(F_he֗rnb^z蜸,Qrr"=#ĉƎO{lߢgyN7 <g>ݳ|;>';>)|wqK׶\s~9Nן~u| lOn^OQ_y>Ż4}^javutə|~WQ%;t{$y?b#s ȵz}Lcqa`?f^7"~Jw ?ٗGyE>/"o[s?vKĿuճ`^zKv?Bm:]I/ (x!<=C?r'a_W~0٧?C6t:y{`O(rzgyvOH`A}wS|%'z|~K{]U||uf<̃Ayg8Y n7w{=jK`U^[ Dw.{ 'c`~q}u+s|^ǰ}tAyj>.ؽX'y)|5yQvy?? 'giqy/:KoGw &|>>M{Nz_%=8/}0׃swxZgzq󎯎={>M/gs*osTh{I{ &>+W6Ǽsn<'<'?/GyC:ۗ=_b\/rM@o`'w^_ޭU>OOmgrzy:Czs:9S4[|yF:}|bҹڍ%=8qӁ|晃rB{Oz6㾤Z{'u'7\9v|ȝ'?z#n<|y9@xC~!m9ǫ|?]=Až|{';\񁽘Osc>ۮ]6??@;)71h._78_0>h;:ɟy#q_R^Ǽz~r]A68wo~,7} >ݾ >g0xyU^u^C.>Y>ot,yQ^7Nrza~˃I >ߟAW;{Bҹ) sh[!F@*믂Ntt4ߦGy<<>ٿtH`'Xon O ﺣϼh>vvtOb*GnygAy<}^gy=YNc pyg'xx?O^>SKDji7U[wX͏ioM*?/->H]f=ToMicr!L~ח #%nz}MUIɦJn}Tey,7q9ޛb>Mq07oҷN0oR ePƃv`=ac Nүmwm #A_Wsh ޯ}|C}~3?ӽ7Kq@{l}Qܠ>Kz放iM?s !](Ĵۡ8\U:{IdGs)#ysھOLzmT!="Z9}R.cgaF^h%_Ơ_*뮄mch~#;>үPA]6l|>)-@k j(yIHIoc:+e^u+-q3מ~#< F6ݚ7_?}m51ߌ2Puꋼ~y>ZWy:w[?O#χwy}/qȓj{Ŀ?WOAtvƟ|tC:''ϯ}oo=%>!I~'#=~.?c]m?v8 /5~?X8 u?O!›G}Hfdn[>WgMx iնGgsv7}']swqM{Ѻkw,N|xd _W#QH.]KG{y({3:wߢ|*:W.[Gʱ8pٸ~nM"I=sO2tt_ޘ~`iĿqm"|=~<|ryQD>#";zλxo;oh?9{>iݻ>Z8 WF|G>^3NݚQyC%=%Ȏ>wz~wx=X#D!m1y~ho!H<磸\!1"Wqh=l+;\<#c| ԛvG1 )(qzsj~ҿ<}9 ~Byy^(_#\hċv _M{AirDz"t5F{ƹ X￁}P)D7:(迌7'ԇ2qb;(EK?G|c;¹#QuM Ǥ}'rOG_3 ڛF>-:x'+s~}3/:Uy322Gc8!9kO~Ny==G3]ӞYŽ(l7\'ǃ.Pn30EyK*Qxfb?网ވG7=(/QB+0zw׶@|' ߿Dy%Ǐ=:}yoA:{(o9FyD#ǣȋ78">5c[>/a}mY_CD7o_]a@50q=Vw5vw|ӧݼI+Kj>g^q{N_l?szgkO?sGPbߛOӾ״sn~m,Ѫ,UʷW*Q;lURszo}UWyVu*_z79)(^TWM*oVyDKTUy;UdS?RGh*O\UyREVw~Ώa>rXOP*?I'UJ*?O嗫 _T~ʯQʯU*E巪6ߡu*ϫ.߭{T~Sz?T_R*E寪 TQ{*_oUQo*]OU~囄 JE؎6*FE8軨   PA*?XEHTyHE8tE*oSba7zʗKENTuTyʏW"VyW|TQPlsU_U~/U~#7~#7~#a7:Su*^7FߤTʟQ*NExHXH8p p UV#4*rJ2SjP Z8¡g|ʷUX-M-O-|T|SE­np[-jP Z8¡ZxZ~TˏjaS Tdʈ"_np[-]-_o?KE_"|jS˗jaT Z¨E*¨F/SNpS-jTjaUjaU ZXªV|ZWvaU˯jaU˯jU Zx]EU ZX T[|oȷjxr`㉊ ۱ ۱ ۱vcXX8XXX~5a*Ut(^/NJc˱bX~7ߍwcXq, p p p˯7T[cX5o[cžbXo7V+PXxXxXXXXXXVExXnX7*PTV#**T叩|\叫ȇe,\e,ga0NJkcŵEa8{xMDXL|PH~"||kY*DHu"N׉ΡUtL6LD~1?LD0?LtL6'D:HŮU&]9|"O;5'?ME6?OdDi"=Ot;^'|'TbDjX5Q(VM&"'"۟(^Mt='WzT&:_&T埩7&|b"JSTqkz'7T*vM]SŮbTk5U~gTqk*T~0LuLuLuL?W凨PT=mOeSa4FӷIT_S4U*~MTxMTXMTk5Uܚ*7*nMc*Ta2&ST1kx5U\bT1k*ܦm*; p p 0*&MTLTLTLed*\d*L3O:ӧ:aHHl鿑龑龑tHtHߍΆF:oF:ooC#hgřFqQit7:齑?4w#}7u#]7u#]7FnFnthFzoΗeUFgF#}7w*;N3Q6(4{#7y3鼑4FC#_i+bR(&5F14=bO1şFQi[#7Fo0hF~o|*F?G#htn4I3ŢL̄Ld3a03L̄Lv?Y0903a1"۟g΅΅Lqj|y|y|y&ns6ns9sa7׹3ns6W\˯j. 0 b\gs\m._ |j. i. b\ͅ\ͅ\_s\m.˿|k.ߚ˷|k.z>*j!j!j!ʹй& a& aP-s ž|mk![ By_-W > > > PP,\(Z(.B-B/.t&- ſBoP[o![Yȯ 7 Zȧ򩅰Yȧg!|e!\ʓf8P[|m!_[ʇ.B>6 Q Q Q Q ᲐO-S B>> > P[(?^(-g B~-g ?VU+|Z V§>i[UV¬f0kY+Za VXªVc+ZUjs|ϵVZZ+jC|>i7|ϴasNba+-_KR-[KR.R-u-K\ ǥZ h8R~,'KR~RyR_ofsj)YwpY X RRqn)Z pY pY pY*-򫥰Y XZ*-_,cXT[*Xʿg)Z 0Z 0Z 0Z #Jp%_[Vj%\VpXɗVb%,V򥕰X X X X XɗVw+++R<[I+%ݯΠi%Z JqnR[)ƭW+JgJ>;+JnxC+J>?+JfflJJxJgJxJxJxJJJJ8J8JnX/+J>+>+y+aF+++CWPVkSkSkŹX d8+kZyZZZZZ9Zql8V[+gX+'_ 0Y 0Y Π|d-lf-lY Y ZZجu'k7kqkk3k/k{XZ^Kk{-YKk|-kZ~VZ+Nc-a-a-Zjx&ka&kaݯekZ6=hg-ݯt~fH~#:7`# 6FH#omm/Ů(7(HFHy#=o|`#odydd#}o dFoWoWoF1k#<6Ώllz#l666hFwl}#[(vmFlFlFlFl7F(6m6`#\(l{6=Ş7G}+ԭ+w^drsHSAUR3/data/Lanza.rda0000644000176200001440000000131014416277550013673 0ustar liggesusersߎ@܀ј̽7$/V( KM}} s4($ e~ ͔onv(D/E{mhDO b">i/ Ӳ kiV<[_ŪMG7W.dwKp(Vi =+&MUEy-4 ʺ zn>ժ]E1)?UWZBsyZ/ڿm=HjCѹ=ǩ}s=s<ު~d *I_*몞u9W沸+ӆUe{2hheu\|R4j3࠮<O!/GHI!i$dG H0 CP0 CP0 C04 C04 C0 00 00 °0, °0, °0 p0 p0 0< 0< 0#0#0#ˆ0"#ˆ0"#ˆh(f41zHMR$5IMR$5IMR5EMQS5EMQS5EMS45MMS45MMS 5CP3 5CP3 5CR,5KR,5KR5GQs5GQs5GS<5OS<5OS@-P @-P @-R"H-R"H]JoNX__l6yHSAUR3/data/Forbes2000.rda0000644000176200001440000014423114172224353014352 0ustar liggesusers|#Id3`{׽53V83VlKUNKi)[LMJih~ J>.[RS7G_}ZR1+[6?RYſk'IzL?+kmV*Uw+ǮF=@;D{s}/2گU~گ}!oD{=7oF#4CGh?F h6/~wA]~;ZD;B;F;A;E;C;G{vvBBFkE{+~h{}ݡh=m}6Bh1Z6A9Z6Eehhhoh~oE~߁hhGhǠh'hڟhڟghڟhڟh_h_Wh_נh_7hߌhߎwhߍhߏh?h?Oh?Ϡhϣ h"ڿ/+h*ڿh&ڿo;h.ڿh!'h)h%_7h-ߣh#?/h+h'?h7?7 o7 o7 o7*7 o7 o7 o7 oh7 o7 o7 o7 o4o7 o7 o7 o7; o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 o7 oEMo`fB&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Mo&7 Moo [-o [-ok/+,o [-o [-o [-o ["[-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [-o [_mx6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6 mo6;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w~]..w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ].w ]"_={={{={={={={={={={={={={={={={={={={={={={={={={={=_Z'_mp&٤xa4ԏQЛax}>WYT=U>vm0*^1}8Y.M̯YwqՖQ姳jo F?թv7szÏ: o~0L?׫6&Co:o.?z]mixz5N/E~8I~=#?GA)}S0vߛa&q7xE}[N'~:ozQx8WW~ڋ9;3?[|f!ݹ '\D՗>&~*"ދ{4M`V$? ٴ7 ~Ӟ j/gk>9f'= (?5{Ix~VA~;<;7]a[^U׾I',"EB;s5a{m7IGy^GFw~R}sY"GL,.{~ckg F($b AĘ?H x?7B6W$JXVWǗ0 p`qjeL̟&gSLmz=_&FG}t<Wx"zE-:raf_ $kuq4fX{ݩHm$tAtcGl4&q8^DEa3&Gdca0Ɯlw * Vf$q,ס fգp C5ճ)! yI{7IŬni'YZ7t;`aOXHc&@b>V]x,蓾Apv!uݠ7(BѹDTQXz0HHIO#s=y~>Tv->)WIϯ52 v.px`2 Vk4CT!66@.@^uU8bz5]>SY%Ag?o08 I|6εݗ]{P$ԍV[@pZ< |Ӵn0{~wfK.IqTFM1`aq}vqU/~~Jz74\Բw?OC 6>'>&fխs;O,VO )Y`2HΩj?`g~P ?OGz&$z:ABbxW /߲UcmNE>CAqgsH51a*a7TUC ] Y4ÿǐW}r㇑2w0 I$"" x@qi!j@|SzⳛW<¼tx lX?6]a_B|CL=bYR;Jap_6[INظH]!j44_C~?~;z~+I6 8 #}F\1=5(Ĕyƥ40ryc Z;Ŕ Ɠi&Cq)9<U_m/͆R6,Z6!.{`u& m ,Z#KohϚ\8Hx2LUðݰ%blP3O'1OMN"M⑶. fI6/&t+|.a$՛0v1JKWʱ? j^=AM0| !U&YuB @VNR!aE>$}i zҩ3a;L3r;\A6ۍ ",6sm izo5ק!"ˋp&u=^w8N"&]Pu&JJLo-q`*~yB|>&FvCv3} GfIP(PX} n 2ʏ%&O^8?  UAbg.TM'A`.ߗVLARb.i^}4ρz~pS'zI)}(L;9+rN9XFv00/eBcɤϻZ7B>'k CAn~lPm~J6.KEp$6x#@u*HГbOu`c͒1(Q,L =:E8pjgwCO !02Fqshl&1{z$b{\YfLY?2mF>{lv|ŀ:}>!f8{sܨuFdi0IRwLY ;3e)Б%)f."oFv*0OY$QCpmQLyJW$\UQqL*IPNV sAxw?d8'@/3/}C:Zh'J&{0BmN۹m0٣2 xɼ8FALnT3SPثe'M7,Ra.̇+CM0HwMOڧ| &1,Uo`>SgT[n.c@|w ZۏƸP)DGD2&% R}CRYkGI6C'T76؇k(j⚱ zn^M!;po.ةcd#uq;lN?~Gr)Ӽ9cރ;_PtXy{IL5 x4b9 ?f!4 ˾aYq̢D 1hƥet:ӢR;qH\|>ju|:}͕ qQT.h.eL >NΜb=sޓq\4ȗ 2Kq+| %Y@ >S0IeWs%?2y}|PxRڽ $8zv5a=M;GoQpD*艩eKnӵN)HW<-_!+_DQ;n;9R|IKMĕBa)nJ2RW\v=cb՛riwM `+ ~L}C;nW3MZb (Uv},{VZ/o2jo^#'Z5WZßK *PڊF'{`]tvI1Y\S )ÅͫPzc_oxG-p8j!#HID |Sd>6pW?qF]k@cL }+ƒaJ+UxI >4oI 4{(%Kv1L- 7Q`myو~˲T~߳(sFN  rqMGs4 "w}4i!=P$/NWVgxF͕.کM<(֕4}E4_Vïq@ˤգe*[( 7P@ ȟqir>&*_XZlAxH\; }=wh8n!Md'] (pޙ2 YD Apq<$5JEs1x2rBxt"JQ[ZwTmR,u ,zwk]SŻ2)SmY ݀%(]%X4$,oy0 g?lu__mG0ŗzPfۭi?('V <ͽE)z4WnDB5imJR2, d,j6l(n8a_Sd2#hE.Us5ɣzRe ?1Su7s3mD$,EIH> +ye$?~dkI)sjDavm;I7"zCZSѢ$~ϸsR,s"5PVA~20ڑȅ?MI񞦔|-?nF\f#7n)c ; B(^%+S&B~4dJyʲUQ!dպ]hVPHQ=z,e2Z;\J^+&FkP/ޔ'Y6๋mk/rMnf0 Jf0æ) Wz3έ"X"4i%V6Deumn+ݻ01V+m>€PEҕ-D.֠`:pJd[mukx'1 \|S|C.9a/ר󜀅%6.S,SK/RAYWy8OG CAP(\r*R"& ^ 0kb`RqgpmocP TPgt)}T͑.ҥGۤBw~y{sV NL&ֹL)%LKsj_KOH?=Z,މ@-heؗQ`ۥUNB]ޤMTw h!& Ok7Ku.jlsf(Дsn|Ȑ{vn]`uz/sF+~?hi(.U͵F2#Y-&=_ʟ ;L55)1CJn]Vf%>äAVc .ˌVrmDX[:"im)N[8Ϗ{7R)]X0뗇K{-;*8YżYܛ Si?D;d8kߕdճ7F$IF" \\1NP?c<{b&mS)4Y3i>GYqMUZj7I{ñ̗j^R%7`Shi7*"ѯg!\,%alZoO3"Xqϔ=k, )̌g`eVZE)ؔ_$[6 I;=^*R_j}_0ݡHw=ZkbQ"0'.: Jcޗ:Gq Iጒ"gj:tǧDA򮡔J! et_ |4{,&;.mk 1刈Q TdE{4˾I;{%K"@:$8|naf)'"d3"7Ԍ{y4Llҙuf|$wRM0-L 3ZHiTɼ-0Sa宧$5XRr&]F <^nB6Lx֥ $Tr[H`E{gl4=D UdQyǐHZ`~<=KF#z:G!a^*+ Y6;1G_o )!kpO) Ud^&r]>[nmv1@9erlv|ܚLnœ}|Fٚ.H :|- D!g0m1$Z,XTf >WO0ɂ8DF@;dӢwˎƶK+sw)D&Ұ 7]F^dqKіoqv[2 6X]]n4$J&Dә܎V FغWQ L=J"Yg)d5̻<vl깝+p?0KĚSJ’TVWi UܦWl$XՋD?S$o!#{wQ$Oԣ2XxnȟPt%glv] @A}F x]txZ4(m&[q/q{(V]RͶ?LF9Ym9w9{SJ1a%7ʕzHw|$7Zߧ+?EVt W6~PI Åz+r,= uI#i7!F#IJ+7%YKm@UFPXl)t"z{;7\2 ɀRQ,<-UU['=ڴ{?/azÒNRd;}UÀErh<@c uW)tg#"R{,qU-`VA9zZŢH5U?3٦|2,hq;=imn<ƴ'T~(]HR7!kIl5"T: ӌm4,ޫԿ$!eqҟՔ(Sn>*X eK\:WI,f0#a0^dƽlS&>!ʵ&1Uv7-=p\cYH/=Ö.Eo;"m!OZ!)8.zD7gnh9y^<]&+-8,v)tmV*&3:eKK P0doYTND~bR;,g:-[dDb;52d>җ<<̐r}52j] |)TPąrubKr9˽h.R6]V+Z"B)p,s[5F}pN?^7Sb)sX1+Lpq^TCǟLpXq1蛀gaTD/dq8Ϊ7a/D\-$OBڼ EKl_A0h3ؼzH+,вK,|P6]]$>%F}xW?oojc To`N㛷/ok%A5xj^ףpm#VBy.)1aYo-,o8fSQM"z7>1%# WpRDa#MQn.ȍ=Z܋&gKƈ*(ڴTڋj|\ЎTG4mț`n)}%JP\ܩOiҍʖ{6Ϸ7t;iy(|GB kρ_&ex1*iꏖ!2dy=Ы/W4ꔇʫ:ڥAB4#/TSr6nr{Z<-~|zGs%Pά*WdI!t VHh*KA4ºG,JwtJz ~aD )%H)2*~A.9Ų!Ȑ_JuW].UQw~ubdq$eeڌ.A(e.4z Dꅘƅ8nJze%=b_V xf"TmQni4; Ke#ndAFea㖾}l\T!/SW~ٯ2ю/}~rGrVe{%#ZeF3Jg(v3pgp{M<]#Pn VmJhBx3Iy4,RQRC_ZWlPr$?T;2]p ~A`=y>uiXJ^RMj,_m*6}O u,% 'ӯOM 󌰫1i2kb =KO.n,aP4YtxׂXγ*j?"FyϞt!iS l^"9[*foFHMNDoZ8Rϙ$d<--leĹٹѓ!lx(6=nQ2!(í<\J~BfY^pHDPllfBQp , #Idv5)|$Ph?U(6Ɨp+Eh;N9%nDӚ2*bA]~$*.WcN +!3PN G_O[^.մ۔QRvECi7AzE\+4V?zK8&BS Au{ĊKQ0Q)U4 DCy ZC܉M0 /ALrfi& oeYHAa+ђ|Um1"ʔcP<97[<}} J'Ag]-T7^/>Ky<0~.Äbj+=[ΩX B+!+apy(2o$ hDbCvn}N7o*f(l*^cY7N䵕8djnxKS WeO"u4OC hm9cYO$Q6U+6ŘjfRx;{r c2R CO:*LU/ƫX#=ie [qY;QĎp0NrVdL=Zf{騂eQ~>%!1ֵ<Ƭ9RLXka_Y-YCb:ҌPk0;j.J?i% z9/g<_bї+Y".rK!SXn}6C^.[:dX)2k L/di2l^ӹ ʵ&Vn攍ߊaB1)RPXFXeCNr-վ=ǁG^**^a>rkUe+> _!l%Y^DQ[y]Zg, gas}@L,m-/aJ|]~z̛|=]āv +$TtVC37꯫ZmY<} ~,u"p(owڶ4%.t9|@ lz6ꎉ 9tރς!dhB-K*l&;..Z$tJ$;.].Tɢz}(ᨴXx%?.-.z@!ץ8<}nъ SYdIѹv7p$DzR'Y/߿Qqɨ:n&y4kAzZ&jzGmͅR ' j()ż) רz `AᩐaD2lIQ^Y|E̮} ig6B$Ķ,{ݵ#-:u !L|Q៣ZA|G.D5]\@l"ŭ3-m#R'.hSBECX"/ ݡGcZ洹Q(ŢeaA _Wnk>zNX=cJYSI^t-5hw.X,pqYuX+:!1 bϊo $r3H+ԷՋ_B;;:i({'̳~dv .w/)t5W0)NcSVeFL4cpȓV;u=sʄXl-iaa"Qja ,|r@k~ >cq$ / $LVJj0$ᶻ0@ A& M~; d@It[ga0S<ԿPiC}(65C%Vf-.g%!EE*Րv] Qr}_tCڹjx.jk0L6^@<K( ϱU ثsS37 RK}NJ_}oK;; $WC'J-**kXu ~ʬ#(ҔQdn֧o bzfvTY=\KGQoh3Ec%"6aS&9xF`Hz||:ԦFqVU}Y)N}̀j{W(u~))fA ]Ioy*kz"f^L;ʒ6N>MKZ;1YbPΒKpaXkJ63$ X=(+[ ֠j䑾AWTνO|MATZjCE߱,N -φ -V(Ӫ)؅I" G3eζReɺ&KZLW~/#tRH-^e@kfq80ɡNF1PB{~-Y$oifNUV:(TM5waO֓Q5+Y`ʝ')bѷ*cJI-T*#a2U7#Ӊ?[b.%u!cptON٥Ɋ^KtgwV?.2lc~=ߵvAqd#S pFsTΧ{ۢdڄ=D{+p̖dKx"枼a^/O.+Zץaklk?j(`B!enl\ĺHa"5g)FB4X.-ʷ, SJr>R 5F0p b+C{p:] KqYnf#$c-yِS=V5v7ްxb_K PbS_|Nr6wi|+pe*TyzFwb΋Pf,6bU(3{OÈvrmqbXy,.q!z|KG|_`~ijcJ!)9A'5b @NT^Kp 0Ǚ!;80sW.9w\> )F)UKSv`SjPI;^J `st굼;)}?m2J%•ӌd'Qm2ޑ ^*~9s%A ~M%ՅllA|sv,2yǷAPܲͪ8TD&Vڍ@oz)~C+juy~+c40I~ nњ L"!sJ7o^.beUTi<*tDE>H;ׅ(yb Ԥϸ[vV 3XF<;(UT+%Ct!o֓%XRb~GyszIYm5透^}'K]DF[$(>۷}Pyоrܨ4w'g-q ""N 1Nc[W<羰qz\ [;bE)" Ǥst7L㢵O 2ЗL븯TǭF8-yXxzT,._g dbZjn򌢌 3ɍ>$5 m[L |bl[e:dI't$?*Xg5Bعmak`bX:埯Z] 3e58ko(%ذEN ~]ve91xʏy쨨(ƿ%{ixd+3YP$?]@I_^ FޑBg^uX IWUv@+6>-6d^"Enm(yH:3,h 5`Ph}k̓E|CA^O8%o:,-ˬ;0KwW:PNȂ`棌s,G; Q)dUKsuyS'ʭFy\kr1,ռfͳgZܵǥe2CBetDBqv'>U'#IG Pe, ϋbPV?2{,&="!: |#'˗ySq?K:x['.,0;m~dGJc{Z3FO@wISo)q%G /7߬PH2+otiaN),JQ/Y4~ܫ୬\ToVQowM_ʿ/?G7޿S4%Trϕnڧ'>TsUiG{k6m+5~X\Kz-Çʿnj*iq}/^|U׫߶?,΃赃%7>)rųP[,)zQzjeԹe1Zo,|\?S^r |N|'{wsKe\x=(}>Kʽ{>Z\5e6^(]^}Xr.{|4f|>*yO|NVKګ^sϨ2YE5h\?'G)+?/%O?\Wa1X'ީHYG)g?/=ϧE?}Oy?ݟ[zԱP>7>/_d,P3|ZY긫_f.?Tҽ(cSf>(ݫ|\\G}^>>TŒ~QjE'U|.;ˏ*lUQAs']?s^c٬ȹEE$Yꯍsύ.UǍ:6|͟(]x׹Uy]6_9˟"~eq~>zyW>y?HPzZY;k,}^YVaEr>qSg~S9sGwYſIu|AE/J~ZYdmTt>cQO+r|"ҿ:'T8rEe|RmeA|=W.Z*߫j{/G3|Fǽ%ߡg>oL=1Q$߸<"8b~{T {QJyQ'k}:@[C>&tTzϔ,j[ѹQϗ|FҳJiKWu5r]>W|*t]ul|:Eџe^㊜_(sqsxŵqʢe>\m}s}]^Hީ٥*2.㻥[7+TKs]Z=VIeYqyAEf*+EE9c7lUGi/>}|WW+Ee9,.e?O*wՆVfBgIEKnD*(Qgs=p]L(?Q-]!pۅb|Êv.뿫\<Χ~ yeE9OOlp?t]"㢪M?@Nc;G:rE{Uw!7U}r}b)yEcvTcVq+e4>TX^αƂ6D*29VJ+ck?ɩ8i?1?}j|NM߿\%Pczj\dۻ+1'r{^]UtrS Tv:?MyVų}Tr]|EE\W:W+z?(}'su~~]S>[Eg.g}~G>Pu:rE%__@y7'?YrmHs{L}6U<iV_U2VܦW6_(\_q+ו ?(&xįIeqc߫kfwPzt XFJwlr؃jUhi&}j\~~:׾(^PWgV׌_Tt_rO*r="M7~={ٝ_ރyÖ#T7-drrsG|wEH)b~X{쩲Xۙ6$ػjsV]GKpԳ p;ڕOJ_xJG2M=QO2~_q#l(}k'Ws(rˏ_~#Qy'r%x.ݷklkM۹{lnznD_ O 5;e7g,_x)^sOpAx-=|ׇS<\imolwwԎuf6U]OM/]= d_1O@Dh}-t}ZoM~'F^:,N U2u{ rc3GvՃt ^Mmڲ_1u\Wk"'o۪VՒwA'蘶l5 ^*yuj ׆u:t8</e[Vh*ZV#nQDzhD3u:O׺6nN>uT2ֹ2׸k6HîW7l]UCH'];mL*rgdx{^'\[ K:f_۲3z٫CV9/ظj}77/qu7>[ڱ1ɘg50̡϶9 VF:6'Y%YXǖ7tl~sf uab[]\ϊ-m H evl3hwM9s?3dlwr]Vxh+kc q߆MR/gu_ڱ.1 ]re/{pVmcz/s}AWt~G/.8wӀqRecOT]|۲G8c6s3\tɦMcL-S蓍Rr&Wvwpvz_=,U׳ 91x|vrh߫;??IetSͪr8Ay0ֱq6{v~A? f K~ctAQlc*XÝAVܳeܰ/ ^ֱcW>K047.bg|*W&P4Qm}uVb9_qϨ+{_weR8J_bE˸b<{~~>F1M-q~y쒎Uc62}`Oޖmb GWwc*6pbPb͝Xa=1DۘultmN0v~y;f'vӗÒ 7|[ß9e1O+U7~0[gEoE2+m wWwɾn:8A?v.; {XzdQu`#聸rvs "K~#t/}E \ClK$w¿l~GSos3{689`Ե+:t_\ׯX|E{? 7O5x\b3/ /_!Zwv91'NFv35N1`=ccKbj2 &Fa0/`|k!XnyV8y:X8cB؊{ț=hb*cCu57}G gX NIdwj|1<Μ&yDb< ž뉡}otl@y 6@- 2;p` o/3V}L hߡ]2|\I]0aKǘZu,eW1>-wrv|:`0|Kg0Y''#a9/^Ram8>qcmY y;67B귭c+:6V[:_ڱ<aC\;+|s{+:9-tFȣw||AeMǼqo?La&|U>K\|z$xږҸ燼0`+>m]LJ1;6Εs[u3~y(ea)s>Kw&7M>q݋]%bW>V;srIgp}j{g0^e_N\ٷ닾lYڱ9 yݐg<{YiX&[٬;z]0`<1ɩ؞wa}:w.sὧw]=mJ+^aߤ@x‹xґ~׻7JԽ o6t~3 /|e /C}ݛśi1w>2~]8*tv{ѻNf};Δ~{˥Cr)_:[zc8co%Yo~`|1^B |<7\80}]/tߥPꪗ7n][}Gnt?06wƒfwpq٦#v>Iv۱o8]*Am+ܻCӒ.=vU>Rûq w }, m_O>޾cgmo>p|M?;ڷl tE{Fe- _־Pk_{Pޙ?njoƅ}pᲑg/vs/kN|wWr<|>}$=d~:tPWMK_Իʹ?.m_zkbmw7 Nt*|\v^ӽ$'F_*'k?W~ڹ? g_Pj?@g3vS|c םo8.GoAgzzg./4k{Xꩿ zG7HI_ wDTT V{PyteVz:rׇs?sb①SAٛ*ݗIǞS}WW\/WC?wB97rdGsQ;BvjkF$gVsP}Jr[Qqko7w2c&of{Ee[>7!oGտ,n#oPN3~xjS;Q׹qC;Džvʟ E6 w\G;ǤϤ7+_tT}=37&ǥJڦmS4[7K~ZْwZz٧~#ޫv'NwZ<8+?W5.f9YFɔ#z`kK8 =*vܮ~ݫdʙϊs;_7#%__iȠS/]uTF}>zV2ctc즔:*ψ]١vlQ}KqjIoO'-y)qIWv5^1*w\[)ǥ#QZkʻpjə;UC*g)!6(fseT+im߶}ߡqvk}B0mQ94n2*wXz@׍$gR]w֤"o#~muI8^*.ڬ_ϓzSN>;${ >4;vQ?]=U?cR8Unũu]P.~lSש?tۈ_k0~ܢr~Okj~MxKY/ʮvɮ6Ro\o8~O^u5-;73gťU'^sg5'OGǸxA'F:jv٭vT;c&Ok[C *g#qW38Jz$K_t>{>3ݷ5]rJeW'Ǖcy=,.{W dHvO7zlSUoagaW/hQz]vmiaFz>$,T\q󌾟?jP.~vJ.e~h-Ѹ[ߗ_1L~]8H׍]M)~\zI{GU̻7KG5vz_(+Uo6~v%qfqZ\roCiO?ߓ~OgeoU+4_Ϩ+SeF7׫?$=b?iφr!R2>v?~U7[{TM_GIjn}G? 5C;)=0_θJo?%S.RIzDy8zΊ#bo}C/j'WvK|>K'm Ϫ[=ߖ^rn(?T}~XBR=Ļ p[zѸX֪Q<.I? ]ĥå̏/Q\Yz 'cQ)կ#==aWKTn~Vr\ O&8??&Svюj}yZڥ{أ>gocZGz I^f)^tZ}+vidpU='^z _V9C|!ŽU^?+{TOk1AW&nQAO; G{ŞF 9e+~W_T!T}"O* Uźhx^]keM̫ϫTyM; $w W}v/ӑIOzX]߷aMg|P>-?Gø|gKIvnS~[m5Nwx0_%[rcy ߤ-OoW?o>kek$wZiʁ_SWuAٱ{-c?(?KAZS'TQecgĩHTj鉼vj7%7zj3؍5T9v_uG#j.N~뫲=Uo׆_3 |ߢz',=|YoK8| mKIϽ.p`X͆?t1wߕhPV>J'ecRug/✌yVڳxC퀷="- qx0N[!}`ŕKkk2^Mi< w%%>8}ҧAiՓG.Q}co$.?r>zwL\8IR҃#/WWT/j͘ܞpMQ1~!JCutߘN.U^)+3T]"cFU_ِ7R1?쇸yŴF/v/ϴ `=p=Q>z u'{eG%OK__ T)W=|c,KlϨ+;Y!OǼ,GWk]V*w ~U|Q_w"!;gyOYz~Ź8.Y?ީ!?J~iyI]։va/bsG'ϓ vpuk1|+*YxQy̷סOGvI?㏓H/_n E*G+H^~\"oL/˸'K\&9o<M^{>%5Ff>yĸE?Ogn!DNyz/p` ՗/Nr?3_qy3$oqx8V$'? #b0ΈU5Az"VݘW}_t=&wTg0 .~7J/OG>\[:bܦף7CvNK<LsϪ1ƏK>'a_1zsiO<Gߊݫ_>ؑ{#o_$'yHcjBPqXyܧU?+oki$ nqJ?-{$Qou"'^yKk;׺Q=y4䷘Nз$/?;Ek?,3Ɠ3k*n(+;]0?gG7h~Nγ]v<}Sֿb?2)-oq =L~Ukߍy%oK(z74zUojF,Ga.%,dWYGVL_u-3ߵkS=TC}ɫ# f'vJ^Ljy kiH+< qymsY7xxNU%¯$H~DqvEG^]ı<@Әnkn&=uo٧q|?aJs_0#c=<8~2n?)hb?RG~q'._+[ѿ*/vuxK|ik}M.8B[98})_ԗ~̿t(#|3k_.X/}}1@?q/J$ΰgɒO'翪O%\FĎ%zc8cݟs?vxdv2Nr$>ԃ<1=!^& Q`0~rhHvD?C=K}UO +:_ ՇExsR;Mv@>?q1Oszb}POI?ɧ~9+;N*mr7Hܞ3ȁ+pϒ?O}{UO Y$>?/Xx<6Ba_Izho䱥gʏy:}P'I?Ȯ扣O$:OB=_g5ډIjp} H̫AUdcw q1yYy.T<7?TΧ+|^۠+08Wxޏ%/_PY'G\q'9}Gqީ<~y>;9T1G~bWi/~?g9j< "y$PwgW rPdc5#Kz> .q82i\~eHԇ'>_C{ڃ>t`KvQFo8Xbo#}$2a8z ?z=A>G:a\G;dwU4/~K+~#Y?8cj_d*7zoSGvS/__;BnC՛@1~w>yN?_*$S''/I=}'qGKz|XxK퟇SlnEHGyy̸);=9_SI;gҮhv}S8ηN Wԓ\ܣ뉣O G;N?ю/ޑ$/TŻB_q򢽥q^I=r?q;O^4΂/Oy\é{1._%GA=;癷=z^Կ1c}=_ycF?Rڧ4{G&|c^O=~I<&c~Gi~ ў"Ou';vBG5oq;KERAa'ދt;E=\M|WzJyqxv18L}c(?Iy@yKz';hvUQ;|,$ށ)w׻x~A'v 9 .0_KI9&ܤ^|.~&_~8O惩S=Zyǟ/ q}ۉqߖOp=`Ϗ$~M+~3r;%AoߧzHɸN+'\~_LMxIzw?1N#5N8H7?rO牗?3>r?'d_Q@(I>Ec#dR$θȾ8z>Dqλc\?bwNyNK|'$z##$yḾG=#_icC7A{>0?8Xv8}7G`i^3W~ K? 'Ghicb//?)QhO߇K +i'~ zouqꉞ?xW}K^Zb}91~@iiF^xLp2o5ߤrRݧ}Ky̗8y8H2nyUGddqt}_o™o?O}S=?WxE~S9i^r1͏P/ݻz3_%Ӽ˻F">'iW iJaDv\F{YJ)we] b =;zA|o>]']ir$~d>FЄ+t]z%'r~Jx' фWL%q~")Λ>Q)I)?]߈Q$0|ކkO$2Φvо?ۙR$H 7='͇${q~:H#rɸN5b|<7R}>.x7c zL'^RvRt\E:HCK?oyO^x9Rn$2)"kO1zqxvǻq)~rC?ܿ_Ƶ|r(?my>wϩӸ~c~-Ǹ}g/ ~#wP|p k,_F?~|BRd}a!?@_#.37cxa*"MJi~4xI?K>|Rw~j/շ}{Z3<xG/?ַ_u,\ s;%{i_yo B9߾PYrq4^\jG{/_R`CK<%~oob6]^Y?3aОӹ﷼=П?#uzk{Η:<`^su-:{?"u!$Rh|;B9?`wcʽm_ |K?~-L`yg z1ߚ}Z {P~n}dw !.m_;|>\@x@=>{G߸8~|oUe{߇z|Ui|7o 雡TPh>q~'mkqS(W{{~8|0ګYwg9#a]'}^ǥc?$iI_ʻ`_>{Uϻ y?^G4NZ9\pq;C{nrO^]} A Yo&;~2\:N{rυ 'e?떿 z}.TL|iRI.jV{u_ su{{ xeW~PVvx۟J(;|9÷geݐhOg^N(P*+VӲBޑ}>v?u7zݬq> UeEGŕ&=wH㯐8wxtB =n_^ԾNרpJ~ԡzO.n1CwGhᏅ~QGCχwӸ^~@ ׆vJ8ߗjlc_#n`7[7keυT2L ~!Ie6s߳?u?*}ϝ/5xtH] /S=q E_u{dS꟮rAr-=~w^J; d?N9_?{,t)gλVׇsnݙEA=m 勡Lqi_L7^Yv'e'gt58qq_N;#&OJW^+e73j.\C騾^~jō:6yP^)?+گ~9*qM߶Uz:qFN)IՋozOkpXv_*PqN-ȟwUޝ'_\,sZMfdōVq'EW0)??`QɯT‹W9b9:V~F*N\⓳_8wBhqc߅v^8rӡBqΫ?x'_վJڟ|Mgޛ>z\q.)ԾԟOwv9+=.\y_9W~:ǮBvq}W8'Rؼ.=/HwF:?~ܠBD CU=i]+b8.>}pTAs9o9{좧vONjN؉=~zW[+<ݲxG9WiPܼY)n&{㽇W> ެzO5uEvLKJcysFog_&;dqveZy5M>'KUcuOjwG9UԞLT{UJqoy-{PNrvI/h>t3oW/x>գ a#jܨoGP}8t?8Ǘaɜ;qtPc gGCGt#X=Q+;,}y5{xVs&-*~TyB5j'qx_*oڻԮBi˕V3A? EǙx Z7+4xoY5569_iv缚)ktz*OKU?U|@Ӽ}F~vFqݏCU6}BR(ۦϜ[=sޣmwI_GwPﮔaGwuhq٣ oѼv!xɹ1U/]8`kHC3 dpHx~y]ʝPy4yg8jzTovM_LhMk>qޯzaEV}j9|Z.Fԏ8h5-[ij/fSFE*oVv uP?õݪ/¿Y?㹞qWn{94L3 %~'sr9s;G]OqRvtqwSpf>.=3$z;NռvRZ 7as38*g6w8|ӔG=8ցuGO7WFOk~Tbwnj<]P1Ջs[i.˴C"`a~}@t,΅$'STa'/ɼu_>'䧥'%.y~Įtw|?\#~붋EC#~t3.-j79Ŝwsx|;9OQFsu?3hl]C.;"^Vs å$~p^ _8U ~=|i~: '?>Uy~s~ l?wTo(.'R^D[|8aNS9QpVדzzgO$?ކԯg9Ӳ #1&&΢|y ̳8x5SؓĮ9_vBq3yq\v;)<劏9vgFsB@x|<ss{lZΛ,ycJ^8ox'}~˜zs GG884+W78D^y|a~1bzsH/Gra0Fm.)ů1H?*:%8fV|h ua0cm)?&;~;ru5)/ٯ٧Bv[8xYvY+dOjTΧkO,q9kscOqtN+΍ϱN'.go[w ΓNײ>>S1~ 1ιx^(OmC8olX@j/R;G}c1Uy/=%;R?m8y.ޖ鼷S?zrnG{X+{ɾ'g)m?گ)OxaP]v= )o} ϸ]p!;gD<2rrӳ&q~A/Y'0j<^ ZqFzgn|fsE9E2+x19MrޗUs+ϨN+h|3C?jHGxs7,Ԧxܧh'q}Σl'޹i9-Ms{_% }[UuQָkwgM?8;G/~CO.:OOEWCs79/hNn'M|Rj'%ĹJ3?R=f 7z~-oM]PƸQY8]+???ڻ{D=Bϼ6Wk<l0{dOĩK8 yi\ϋ80.I?ow/sV0?|}̧'Iey`5WeA<);!VGecgΫxmyƜ/qq{;e~W>2ΛGT9amTLi-_8'Yw{Xx}wzV}GENmV9SKMZ;skPc[PHV/V}VqM!ߞR^sW@ןP|Lkוᾫ^r/jM(ͫ69׈׼3{r.9_ A_gQ7)s'S!OO~EѺϭ*)Sv; 󜮻MvsG5^ӵq|@o zVWZ?ɞxiԞµ\+ds_Ko]g6,{x^T<<{GR~4~hԊfX7dwHuO~~Nv"f` .e_W}&_ro~98lZ~[KO[?ZN?" ~kwLgG);eW>v|r{HzOy>A-W㲷q7V'qeeOKͧOiܲ~!sdGdG8H~Nٓ}3v C{+~bm&7- 2P`=]_za:Vs}jL="3~?=;qx@qBG(@q@N?!7xefſFz4Nx}W)f=I?yq"mG.&p+?vPz%OWrs=gT>3,rŝgW751?aŷc1=coo>y<[~˞g5/HY_:rlj%o^v||nFvEG9&{leW v>t+>z]B wG'e7歊kH5j!e}aFMqf(>9qtJ\.ۚ*NI->I!\XW}Wdۥ`8so敧TW*ş{[E=gTve}X&|L_i?o8I>>]{ssUW忦؟saվGr^u q?x^wx"7zCy6s<<^K~ľ}䲎W<| /]ܮbm4Ӻ~{Fg? }\scdG~c.y}ą-F]c9 yfz+Ypиnb<{&eG0?W|D}1uͺՃq{?Q%T|7謓*usI;c?OX}4jqO>4` {)miy}TGx2qv=cFz٪~qN`Xy]};燎+<5׼ȼ2I<[.FIKs͔=RN wY9CY[TxNyNvZv:x^>AjegKOKT9zݤ򘇱/T^cHڨz aؕ908 8.5йm)}o(7COk<7s,Ta稞3#=4G]by#௙[ 7z-u ?z幢~&u?vEDN~-']vmćy ?;\שy>? cyzcyWQȋOw6 _Oc<O9_3/+m>~xnL/ gx.'>7s6o'~My~4gD9[+mv-?+>[])+rnHߊ] +$Nc'+O_XM`vпN#/b17}k;qdܯ쿃pzfqFp9_}Hqk#SG+? XJ܃R?ߕv|0q*G◉xzqNs`<{AȏQZϾEć=\ <<ǹ>?b? qphܷy yhSUg ;*!Iʼn3d^ =o`ORy>-my/g"^gO@j׳K77s [p.W\og{(y<揌ګ8˜(h7|.$C?T.yvW1ɼVGƹC2 ʼ$P|V7sE?L{cj-qKKՃ|)G1n`B^uk//}}9Ox>Ex<&ʹT[{*y筹玕9?^g-qY_G8{sXycb o_֡x oc7fZrwįC>RGq璙~y} "PX㊧~C{pDcjeKŽZ % ϏMg'3Fj ?%:z!Y֭G<,oaqOoaZ=88ns_F&Iŏ|:n-q'CӃS/ϧ1^xNG^8kJ_&?!z0_ ֑5⹆zKԃX8%{/To|35~&=?+yܙ/"#-#>?w#'c)cU,f|Ⱥgi=#yĝ#'?pK? sT?hėⰽCv]*nW~9ߪ`^*%*cp]W|O|~xMu򆺞x}O:ϧ|Cvs3/޳? _Lm=pFψϩO9gKqPoew/I|f>~Q~N  XZ_~Ay"v{>qE\g `e~#qJo~ԟy64%q`P8yȃOb}v'~P{G*O0Eq^rAEhy*?D,(,"}3js}e1F{pę\9|'/O! ?K>˧TW>#~ >8@j'Do_ŏ/Nge]?@}y6>L%=u8\Rѿ(d|D{W ^K擻ސo}@7;Qe \^J'>!_LyopPs̬1_=ڷbއ>!\x}v'nh};PzƷ:|d}<|?7&( 'x 1~ӏ 5#G1B|Fܯ럐/&(}hQ\$O.?5o9.<ЅBmG\V|T,G? Q]?g_YWU_UWu㿢<ȣ<ȣ<ȣ<ȣ<ȣ"("("("("(2(2(2(2(2(*ʨ*ʨ*ʨ*ʨ*ʨ:ʨ:ʨ:ʨ:ʨ:ʨ&h&h&h&h&hnэ2QF7F(etnэ2zQF/E(e^ы2zQFKYgfퟅV?O̤e&-3iILZf2̤&-7iIMZnrܤ&-7iI+LZa V¤&0iI+LZiJVҤ&4iI+MZiJVʤU&2iILZe*Vʤ&6iIMZmjVڤ&6iIkLZc֘Ƥ5&1iIkLZפuMZפuMZפuMZפuMZפuMZϤLZϤLZϤLZϤLZϤKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%$7ƒXKrcIn,ɍ%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRK cIa,)%0ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%4ƒXRKJcIi,)%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRK*cIe,%2TƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%6ƒXRKjcIm,%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKcIc,i%14ƒXKƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kƒk,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,Kzƒg,E,f#L߅w]ߍw͜͜͜͜͜͝͝͝͝͝----------ɭɭɭɭɭɭɭɭɭɭmmmmm:]'vܮurNn:]'ܞsr{Nn9=':^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^eWUx9^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUx;^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU8^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^WUxU:^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^UWUxU9^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^ՎWUxU;^5WUx8^5WUx8^5WUx8^5WwPPä}/E9C[m?WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WU*x ^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^WūUxU*^Wūjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5^ Wëjx5b~߷5*B~Zпo_HSAUR3/data/Smoking_SchairerSchoeniger1944.rda0000644000176200001440000000053614172224352020406 0ustar liggesusers]MK0ۍnӽ"xQ{ a&&1 mM$̈́~a>-&Kv>Y\w7m3=h@4'{LSS 0u5"gRg9B `yl9`ѯ3/B>K=~Cן8=@NaV5% -8@LD&r.[(7a E&LBKwglW-^u(w 0?]$DzNgʿl}M$ږX˜ԉ$eEBoN!B+9jbvPVpYmn.@3RT Riqz?$HSAUR3/data/suicides2.rda0000644000176200001440000000064414172224352014520 0ustar liggesusers]_O0+8HW1> 04E[ê.l#Dh~2c'swsv́Qc9ے}^s[cR,S{"6Ȁ&۶le{$} u {%XQid,*l3_kg}z&l=K> ek(yNKCz:~6H"߅>yq:y~g 鼨7?sAD,p KKUtsLKVʲJ,Th<۔`~CqRnq@i>!Ħ3_fE< zш$G$57ңH>DЋi8ݛp\7z3 RO1{À,z<[$7C߱?DHSAUR3/data/EFT.rda0000644000176200001440000000052014172224352013235 0ustar liggesusers r0b```b`b&f H020pifW ) b/KH(N`I-K)P$icMI,邛\T@q( !B-u tF.8nU t%TiΆˆ8@B;*4@s\{+!sP:(m-P:꾠Tq(mtv ҾPu1P}yc @9,%(N`уJL ?jJI,IK+ja3 HSAUR3/data/epilepsy.rda0000644000176200001440000000310314416277550014462 0ustar liggesusersZrE%Y082zaņle{2D.I' =cXBa'sv{q[<(ZE66vѯ:[Zn~s+Ѻ +{Z\.jkͳau0K糇ӃjwO lMOym=t =ׄW p0 [ ~$xן-Oxp0"p}v}GM˄=»/ 1Mw <~_nY .ǁu5q\xݳ5`>/߹>Ǔ!Ǜ}>Ǘ!>|_7}N/[ׇN G˚c]u`#==ѻx;N/}f[I[Ik_ƾMu$nڽ/TJ״]ϿA**lofMOG+K6{o-k/Mck9+wSFtY[)67 [i9@qv[Xڙ~ob ;):?Z7?i?FUǷ=t~<,V/+:A׿_ƗOsStؚ>6EjcqQm~YY֧˴m___ߛp|mFWCuֱ+l~Tͫ.Ko:t/.|R/y7 rr0'Lqr&'GNv9'.Ms]ȗlsʗO>#t'E CH— ½Ul搌Pc5&hffyĬ`V4khȬY7o8qxG0`8q#G0`8qD#G4h8NKs]QHT_ΫQx El7}Euۓy7.{VOfzNm.T.?3?Ja2O_fuOS  +ExFxFxbCS{hjmm#sL뱹mln6&61 >+E P+qeyVZjY P+@-o\Zje P+@,CrjVę "ԊP Îef L$WJ*C"Բ4EVZYE[YrhjEVZ)"ԊPRIVZjES+Bbh8 LHRa$HSAUR3/data/gardenflowers.rda0000644000176200001440000000165114172224352015467 0ustar liggesusersUsE-@VS^ m%! T-\:.;cld9^Ñp3)=hRDE܄ nzD{uF ٷ}L׆/\DQp>օT a(:Sγ'>ޞ}y%v`fe}4|f*3S{k9. g؆;}b~fX~ʖn{@ׯ'瞇KCs;6[+ r$tm_u݈bxB8ѹouuq#Ol_5oG^|gY?~^c|Nǻ^F݉~xCy2A@?![ңS<yvF}Foyި6?+yV <sp//CQy"[D|a=Odg_=c>0Mo|ݿÒ7~,vC7T}I{Q2/5p'A0Z8Zx(9-Irz{3'CB<, [CX#9tx7п?blC)Qզ mm5͋=GFZi3/!.p+gУr-[W5!5FKd5ct#X/Y)Ẓcmp'cBU8r:ɧPF yq*XJipCF]>!hg·CqctEzlMLcj8)^LNeRƸR2s*/!R q'{'{sw+P$mKH%zZ>gHSAUR3/data/schizophrenia2.rda0000644000176200001440000000214714416277550015567 0ustar liggesusers[oU$M-r)Pʽ9s_S_UҸ-i⳾\vH<{s9Y?VfYg nd J=]s|s2Z oǽ';8Xp`MV:xn9 w-w:x=;>rO|`g;_8Wvo|I;GA'=={HLELE:M*Tt"/B*UEUZUU%a0q8L&G)R8Jq(QG)((((]4]K]^\a]w]c|6|vg.fa4~ˎ;ρYR#$ # %5B TwFH S)BGZ %5B БHGeI!tTY @iU4)0@<+KIGZ e% B #-ʒ!FґneIH:1,ibIGZ u% B #Hc$xnbIG+$uH:X"[FґI"04HB!tD1#%Ea$i,-BJ#%@EHtD'oRb$i}GApwɔ/A6HSAUR3/data/weightgain.rda0000644000176200001440000000057114416277550014764 0ustar liggesusers]O0ˆ&,11OpEKxrhLL1 y .\pACO}^d {O /'1Xpx"'Gfn)lʘULbtYwԏ-fq:}_DZ~q6x)]Άktx m; # f s5<pkip5ߴVkz {eqGߵ5gI߸HͮR`یċҶh*.H Uj.]htRf0I&Te1ՙLM&:$IC!tH:$ECѡPt(:EZF&HSAUR3/data/heptathlon.rda0000644000176200001440000000223214416277550015000 0ustar liggesusersuU]hUm&45i5FTf7r_c7 M&;ά;M_|" $"DA j@_*kxfιls9Lnˍ1 c'`oTrUTU4; - wxsewH][6`# tw5!UvWy=nzG&rdyqםޓޏ~e>?_9nzYO>d?wGKs'wi{z_L.ϓXAg'qxDo`BN֍Cywn )@y_x.Jλ_ͅi48 )O"M-\d>F);Jm~)qw^I#/$H&?9N~uHޤ ezz[Yh8yE 'o.qGG<| SLDZO{Ca<{r905:ԗH HSAUR3/data/phosphate.rda0000644000176200001440000000132314416277550014625 0ustar liggesusersrPoR gw}I쇫 \u6 >>}Whwl g4sO={owoom'F3T (B\\-,fMTI՞߻w|e6_UQI.۞e9A~̃X1uMu'|wMNmtlInwMzl3CԱK kl^b}ƁC~duy޷,aѱq->#u C'Nŏϖy>7?@:``VP귭:_ӑq ^֏V-9^WO;?y_ҏu_N ʺOU'zg<yq]ѥGϗQ\y(>\I~\i ϦMe3r^{t߄sg zDz"PK+k7`cRmlSgң+=r12#s12#s12#w1P|(ݲ:<}n~ܳ HSAUR3/data/birthdeathrates.rda0000644000176200001440000000133314416277550016010 0ustar liggesusers]T[RAm?,BR" Q?&UI'3yɗ p7\. -soC׹>z2Յ!ČGJsG̉T.v0vJn(c 1( q?6c+;~G'dL7CڶG5_4ʉƵs:Bu؇/4ϻ:nNQUfq YC5T  }V4/u\yU^*:~VPw_M"?x~^v˃L8/u,o@.K/"do /?պO -8Eo&ȟuF|Ao?o#NE6!KS A~rͺ}4o|ŽMDDFJ&r' Ծ+IT_r 38gU1zgL v#VOF\jz83/I.1rMfs/6SBt}N'u|ԡpaCDL&CpgS1:oIWq;!;W\M&ɎQ[$D񘊯1YtSrk/d^/fPqapSG€{F\8PF0֌9NAFd0wr292tN_ֿq HSAUR3/data/aspirin.rda0000644000176200001440000000053514172224353014273 0ustar liggesusers r0b```b`bd`b2Y#s1{bqAfQf0H@@!B7@hg( Jg'@YCBwM*.Πw ;@Cԝ3:췀oW|BwBݱp P5/17H)*Rbhp!I,Iv, r)OI-I147*DV_XT T`S iFpyjjInbP%L 2Ԕ<]p5( H-*N+20)@VI:bF@YZPMI,L+%$Q/N@?ќHSAUR3/data/orallesions.rda0000644000176200001440000000041714416277550015167 0ustar liggesusersRN1wa7/ FMnYjڎlKbotO~W % +4ؚ Jɭ myk=\fuiŲ*SPFF[C|M)ߐVOW;qH M˾QKzC;|/01EN 3xL <<"_hХR{YױۓNXxzIH#&3S _HSAUR3/data/agefat.rda0000644000176200001440000000057714172224353014063 0ustar liggesusersN@ƗhH<(A %'OxK>N3hb&_K}e~B89 u@pϡۧ"tuA%P]Pey QuP³m,u/jAקjs%{[v87(Z_D+e>7[+룻sRʠ:٘pT@d70sMBclz =74 O&3?Tu%."d<IP%uAxLd2՘|:S3$gHΐ!9CKHSAUR3/data/voting.rda0000644000176200001440000000103414416277550014137 0ustar liggesusersUJ@h[Q#vE%HHH7n`:#MT~8<d{Ͻw&pr{ںm !?aߚM[O&SUȡK#;}^?vo@YoI &s:7?y8D^]#>OqدG]>4rݼ~ȃq}3"?\&>G~> 1(>=҇QE| .~U\ _uC@ϜW]c}:/=sO}e!;4>7cQM<>|s*_ɍH-,wҰ-qj}oOunغ:ZH]XS,Q0aznхb?Ҹsa*%i$e+4q)4N2ޫ M)fJt^Z1#SRɥ|Q*)OVq\, ]y? HSAUR3/data/UStemp.rda0000644000176200001440000000074714172224353014050 0ustar liggesusers]KkA}dqEEַAYEDa7E%K09v;$zCT> 뿱jsMWuU{6W%IEju>ǢF4ufkUE3!Nd1ı~1K+s2o7X?0ϳGEp6hc=b9dGJ,@\.>%-few*XkqMaE .,>3C_jgnupr^i)S_P7>ْw˵a/ԻW*?9NUw^ސ$y=2^g.W"9=Wxg%<)W*U3B2gלu4;/" &]ѵ#eH7_hʴNx_3y]͍rx0v2rʌ!g9TCEO;%/ZQkLvSug~ÿ0ˬHSAUR3/data/respiratory.rda0000644000176200001440000000526414172224353015215 0ustar liggesuserswWmar! I8Y 67r嵁D$cemI^䅷~j;=rN3ߙ{motΟmn7,<ZlS/6L3h~fѵ/9wem;c\6WzCۼm}rȻIޞI=qr]:\06] b1yoA,.ub1:D1<}ϣtt]rr%b=v0F9|#`z'DZ0^bt>D(bquR0F(u5OF}^{XuycBe e`q^G9}uX{s޹9l |8w=؞$ǹw?/zaa6ޣxT؉>q^a7(FyT?׸1{G#8 Eqk>}︹qܯ/z5GOqVgfffffffǦؾgq~jF>DwGc/?[ptiGg-:zYG=Kr/;:+G_suGpMGrmGq]Gs}G?pCG?rcG::/^p_9׎.:Jđ:ʎQqu7^u%G]vtUG]wtMG Go:zێq跎~菎n;?;:;:9h]G}Gw}_V:Zsiː?v5&1ma6a6{tZZb-VVVeZCCCCCCCCCCCCCCCCCCCC#G6lsu.\NYojlGe7NlrYP{sbNNN60lVl;:Utfh۩SM'y6׶j:5t>9PiP6m';Smk;"^6/mD'[օSЉfm i{ ^,U0!00ai|h \I#*(f`*AAi i J0$02XN(`遢EEZ`e  i 40J`$`6X(`FFZ`e i `0J`$`6X(`iFFZi%00 6H(VAzF  R0J`$`lQ##` iC`HH+ uFFZi%00 6H(ְAF  R=0J`$`5lQ##a i `HHk 5FFZi,%006Hy(ְAz F  Ri0J`$` lvQ##m` i`HH FFe%006()(6AF  J0J`$` lt)ea0Z(VQ`0j{Q" a 00RèEY `$`Qۋ6HH 6lFm/Js##5^FFj(a0j{`$`TDž-*0J`$`) Y`H(Ss(Q|H̹HSAUR3/data/USairpollution.rda0000644000176200001440000000243714172224353015622 0ustar liggesusers]V[hU4dscVTVh $%]4-ғ!3T}h_ЗJE|)*>HM_DE ~'?|gfsG'iz{t4m_'hyݪcYu;! t}`=DC0L"sB1H.xnSi/t`|BM2Rc$I:'ϛ|xMߑ~c1'xg'߉2oA' i!$՗!^g) M_$M_qU]I;{Q>R?=MTTvC?"W$϶ (I?teL8oC (egA/Ov8|i{} _sA} 'f!d"bS'twa#C:$}uԪcR_jZϠQ3j0!{kԩo-'oȞ|e}~곀<ї;oC~?*to`o8yOs=F+~(|^1J Ƀ$&^?L1;H|ԣ#UG Uv#ʏvO?]3wA#q_B0R?#E&w`aĄٝ F9A9`Dݣi۟<18F✖DžxوD۟3}S{ΘԺ1] LU6?i2 5}{B2b&yW拭K:}IW ̤_<?Y0Ľ.=OBgP9yF[$\Ld+q$ns5-|gj,JR3V걘!s@Q_B&jH3X)}ۙ j)>7> |Gc=ns~e]6v,5> |G"kP+_/y| tƑfATc3.y=v}xO)G> |GvQNSO߄:tƑgߨ<@k tƑ<7n><@k >@}NPr;}7n8<ƽAST%(cqK|%N5Ub.\7vǖZ&^I6Jsۓu#~.}k{F|#5=IӜCSkTS%‘;\njzD>].UkNMsGqd߈ x45iLe?%[|lxHSAUR3/data/foster.rda0000644000176200001440000000104414416277550014134 0ustar liggesusersNAjB#o#C< YOmYGx-96o  pʼ+nVt:73u6t}T-(/גe>e1Q*~-u&3z9kvfT|)FSx;-n£Q>cpufw]`ϫ(^s]{cɹ٬I]F@{uI4[g/~qp6u?$u:߸UO|E=`^#qrXrnpg8'u7~ ]#F26m}P'+)[KrPWÿ{!qU~'ԯpQ!/\<(:߶NÃ)/'㓕۰uyH"#Šp""VEx 5P54TIJFE&Cdh24 M&Ca0d2  C!Ða0dX2, K%ÒaɰdX2, G#Ñpd82 GFfC_ukHSAUR3/data/schooldays.rda0000644000176200001440000000162014172224353014772 0ustar liggesusers[OA鶅\5j0dn{I|O. Ii@*|Xt-"gwg73{]R"Q"KkSb鶭Ώn Q]qGnටVw1BDwqșvq\]5ejq^vwtdRi w=XZ^1—gK ^q ګ r߲Z^]ܳQ!nVnk\׍q1WG4m; ծ?+2L"SX|ݷ< Fm3nm^V$|\n)<|~{2JrιX=p_E1j_.2:LqŚ.6\ӵ )V]r[1JiO\~4&ӒL8IԄhT۲X JoѩKk{ѲD=VCeKY4x92 mQ3:0L ~1y̮++v ̘7s[f6͜k{ޚ-~ R6cP]$dI0|~k+mYrEY\Wrzn?(ZD[aUKzXO,  viᓆO>iᓆO>iF@iF@iF@iFH!iFH!iFDiDFDiDFDizky4J_o HSAUR3/data/backpain.rda0000644000176200001440000000261114172224353014373 0ustar liggesuserswU&(bk;^`AņMS@{޻3.yn'sn晝;{gɌ3]BP,W6W-ʗBa҄v|{cByrvb%Yf` bcZD1 `]LzX`Cl 6f[`Kl v;`G석 vnSPBD`O셽~@8Pi8GH8Xq8'D8TqY(N8sp. ЍyE1XB\q .b\qUZ\qnMV܆q]^܇CxQ<SxY<^KxU%xoM{xC| >g_K| w?G ~oOnlWήhϨ~\:ҁt( aP,٨d#g#F6l58ܸוw]4Os>qiue]3rj{u:ck:jus#YFx=u5|[u֚ 7}9Ýzy9[Zkn\KQ=Kk޲k;y5VkϚzkg]{o|֚zk?kY+F_57?gük5jd{#1o^w=N]Y1_鶸o^:߼65r@_Yst7>^ = 9Uqq˲eK8Yٽ<g6 (&HSAUR3/data/pistonrings.rda0000644000176200001440000000032714416277550015214 0ustar liggesusers]0GL\1pt AVI}Yiカ5eL*ӵ,UV/Q.<;G7HebaD' "q!Ed[n_y}ՙ&U8eDg=mz\HtYTJh-U\fx:cݝ:~MC۵HSAUR3/data/men1500m.rda0000644000176200001440000000161314172224352014065 0ustar liggesusersuToEq)U4+CDAg'Yьvv昝҂;$-B $4T"!Hs{o{y;^ AԂZZPF .b'yo}g]ɳ %  ˆp0!>!|JH ݡ*WrJ9)=igW=bx' -2.ġ*R4T7RB9<橊YЃRtB4H*uwW&[Hgվ؃ν8,HhcHCO̡-|bq4l9!)|ڨݶG{];;cw۰oӔ gf1f请N4ϊsc .`%|u+Pvht;`]42Ս-WJm>P>XgY:qrGe{A.ٍ%h)Nuꚝ [M6?[ Φ-pf7WAs_^YOqK{hSsg~Mauc;OJSdJ?}wJ2=wf_$HLG//Y.&) `,eq>vJa e j; jOʰ~ziv6VmO5)@>HSAUR3/data/rearrests.rda0000644000176200001440000000026714416277550014652 0ustar liggesusers r0b```b`abf" H020pi΢Ģbf>Cp(R z@19%3Hc%@%y@+j nAs+ER[YVvL))QH/-UZ e`nRrNb1$`IbRN*D5?)iHSAUR3/data/smoking.rda0000644000176200001440000000102214416277550014275 0ustar liggesusers]NARh(JLLU`J AB*fq,b270--L}3Cm9g3mF݈1Vbð +֊'Mrg*X<~s_; xN)Q:1&6/ h8k~讋 J/P-iNon7k`%:?nW&t>K9H;x ~x_{`}]O;}H*hM\晰DawE K'L1hRs'^'Jgvc gqӋ"67!ʊA&6Y%sÕǭdWrqcs:0qkmZBm ';j;\bvv~.N|hx62<Uw%wvд'!7Q~B7Z }T'aG; ?CwQzaqM6HSAUR3/data/clouds.rda0000644000176200001440000000150214172224352014111 0ustar liggesusersT[HQ]w)u\WYs d躊9V*/l.^%BR!DH7z,]/ٍR+gZs95w\0 ˰Yo%ƒalb/gki9!c(`I`3h4q"*%(ÃBeeO F8a=,J]  } .b/A)A*~A=A#Ff6v\-e$Y'7 ?i?@|892gYk>.COׁBMs.`]Jй![NFzZ-uÁm/|A-g>B:۟΢]o9~O=n1>F+}yOGУ.EjhVrjC8?9>hph 4Ui/Yy塲ѝ.3hX{FfK?kI{{b"ȢgT'ꊱE-ܸ@gVع嚷 K?MNvppqAW&abB\~ƘzoG_a&(YIqqI -I͊˔r#TJ{UGJȒ=RK)Zǩ9,FiVx`G@I %)$@I=% @XL&d&d՛!93`BG :z=HSAUR3/data/womensrole.rda0000644000176200001440000000103414172224353015013 0ustar liggesusersTMo@8ipW8pB*5N*\dUJl T)$~Aay.Gzά|vƘYuIfqWz%Xl+9Ƀ!DW=Q}jT_://f EnfSGmYKtp[mlT<0U$Է\b5cҲޗeuz_--}#ZZַp}[DKz?z?COn%usM߯.~/4_sndq8T:fCVƒ,,ò,, !1$ĐCbH !1P Ca( 0Cch 14` a0 0` a1,ŰbX a1pa8 0cx 1<#1r#1r#ȣˆ44e*MIӦi&-KZ,iգ~|%;.F`o&E HSAUR3/data/suicides.rda0000644000176200001440000000026114416277550014442 0ustar liggesusers r0b```b`abf" H020pi̔bf>80@i(-@Ϝ xV1@%y +j N{&AyK\]]J4-N%yP._~^Tnbn`IbRN*m,$HSAUR3/data/household.rda0000644000176200001440000000112614172224352014614 0ustar liggesusersKhQL&m@,X,čF-"JQ&!'F AŅPĥct!" \ B~wF۬ ?9s{LFv墈(Q]\sthQX-" j=2~g`LSGzA N XxA$ܠob{_H!b_? z~pl59za=Cl8`.;b<]sdztK[6#| F)9Y<55[`q`Fˤ_b%FTB{<{,^3e԰3,W@/'pxcw皝cv䬁;}0 4Ѵ>MvK{.bsOLmRSF PKj2n^rNb1< WJbI^Z*4EzNJ9gdE!<ĂD=4ȭ)M)3''&JQ9y0ΉE0.KH" 'M-LɲyY0Wpb^IobQI"Լ03WHSAUR3/data/toothpaste.rda0000644000176200001440000000064014416277550015025 0ustar liggesuserseR9LA`Qv9Zh Y|bCA B]cJJ06XPkv&X 3+d7߿v7Y1f0l.1ְ+{jZv1O7 ^`Hj|Rgp&B?az~>ʵimݧF.Elt!_4r:QfbPC8hLN>~%[\QX֙|E(س}ԀKxeƩz AvP,jiWIݸ0)%}&OSPHhdCݫ|l _| r`e[K8=A FrPrSyWq M ^pktb y׭r;b9Ȃ[a ;0Cݡw^'R}rߠV9aPA4x8-R Q2Do1\>z`%A`AԒCTV΢r=dBP FFF#01La 3ư1, &C82,82, `HI,&ȕXV"N<HSAUR3/data/polyps.rda0000644000176200001440000000052014416277550014156 0ustar liggesusersuMO@? ѐѣ'R - jh BI)odL`M癝ngc0*9Tv\271bxLȽ2Q4O=z{ߊ/k>=Z{A?OȽs[I^avCcvޱOPvl%˓t=&cyT$5> `ނozw<;>Pse\b=?R2ikJ|5v#QX|Kf Y:,]b/ bXG+&{͢>:De1MM8?p]HSAUR3/data/BtheB.rda0000644000176200001440000000241014172224353013604 0ustar liggesusersMo[E'vN$P$肅eYecRZ`@*KӸR -K[,Yl|ޗ޹X̙39_3vsZ{{=|Z9wLWoS_'kgky5p-?GwJynUo<[]LUUД*FżPOWѡYnoly~u~u5>f}Wy_wNuQ]Te9t_3]M[KۧópcՆU}}}5ŸKK.j\wzWBM}X'+>TxLL&c'&492 d~f]q?ɡMNm]م6sOm79L>6o\n'&q_78<=5uE= Y>@?DSXe~I}xt~"sΉ}Z^'G&'p"+s o1{e*|38HusOk,zMB7";=_3eDe;۱!.^?ڼ?-< <*ꝞL K[;>A uD_!}yT\?{<ߨ/ꁺud_T=PWN] n-Ņ󊼣7?}x$|Ẇ֟vț|q}GiTz?~wW:?u|N o E sN5sO#Y︸>qC<=׿MߓJ~ogIqsѫ˗G%;;'%ad~iIu5{Ckz=C~}~PG#WxyωֽW/Kk=t?N>ߝ"ՙ̃|£ToF7=i'C>J﫾l SܧD?]sp17xff|Z̯Wx97`qfqa-ĝo.m~Q,00101H0H10m 9qprqsprqDF@F@F@F@F@F@F@F@F@F@FHFHFHFHFHFHFHFHFHFHFDFDFDFDFDFDFDFDFDFDFLFLFLFLFLFLFLFLFLFLFBFBFBFBFBFBFBFBFBFBFJFJFJFJFJFJFJFJFJFJFFFFFFFFFFFFFFFFFFFFFNFNFNFNFNFNFNFNFNFF{4z~y~ ZnHSAUR3/data/USmelanoma.rda0000644000176200001440000000173014172224353014665 0ustar liggesusersuU;oG>S$HwLƦd-Kr]awO4  l6E`rÅt)7AR$H&Mw29RfvolTzzqRN*LtqV` =&gp  1[oXmo?s#s[_"׀'_w?:opT e9Niב-_y3'Y"OsGp<-m-:](Upy(ulR@MҗлԟA%'uRJu̻HsIԯ'zm̻bdٽ#50Dhak;&=8wFmXA.꽊<;7p}bhw]xu_ w!UK (yzpԜ=4Hr>%㉺_Er/FєTp$J2 U<Z]2]2Szy_iM-xG2 IKQƳ-G"f{p'fq[/]RwfRcX3s\iQD|4i M-;\0Hd &&6i0FPV;U>E/", HSAUR3/man/0000755000176200001440000000000014416277347012011 5ustar liggesusersHSAUR3/man/men1500m.Rd0000644000176200001440000000151314172224352013525 0ustar liggesusers\name{men1500m} \alias{men1500m} \docType{data} \title{ Winners of the Olympic Men's 1500m } \description{ The data gives the winners of the men's 1500m race for the Olympic Games 1896 to 2004. } \usage{data("men1500m")} \format{ A data frame with 25 observations on the following 5 variables. \describe{ \item{\code{year}}{the olympic year.} \item{\code{venue}}{city where the games took place.} \item{\code{winner}}{winner of men's 1500m race.} \item{\code{country}}{country the winner came from.} \item{\code{time}}{time (in seconds) of the winner.} } } \examples{ data("men1500m", package = "HSAUR3") op <- par(las = 2) plot(time ~ year, data = men1500m, axes = FALSE) yrs <- seq(from = 1896, to = 2004, by = 4) axis(1, at = yrs, labels = yrs) axis(2) box() par(op) } \keyword{datasets} HSAUR3/man/Smoking_Mueller1940.Rd0000644000176200001440000000231014172224352015671 0ustar liggesusers\name{Smoking_Mueller1940} \alias{Smoking_Mueller1940} \docType{data} \title{Smoking and Lung Cancer (I) } \description{ Number of smokers in a case-control study. } \usage{data(Smoking_Mueller1940)} \format{ The format is: table [1:5, 1:2] 25 18 13 27 3 4 5 22 41 14 - attr(*, "dimnames")=List of 2 ..$ Smoking_type: chr [1:5] "Extreme smoker" "Very heavy smoker" "Heavy smoker" "Moderate smoker" ... ..$ Group : chr [1:2] "Lung cancer" "Healthy control" } \details{ Extreme smoker: 10-15 cigars, >35 cigarettes, or >50 g pipe tobacco/day. Very heavy smoker: 7-9 cigars, 26-35 cigarettes, or 36-50 g pipe tobacco/day. Heavy smoker: 4-6 cigars, 16-25 cigarettes, or 21-35 g pipe tobacco/day. Moderate smoker: 1-3 cigars, 1-15 cigarettes, or 1-20 g pipe tobacco/day. } \source{ Franz-Hermann Mueller (1940), Tabakmissbrauch und Lungencarcinom. \emph{Zeitschrift fuer Krebsforschung} \bold{49}(1), 57-85. } \references{ Richard Doll (1998), Uncovering the effects of smoking: historical perspective. \emph{Statistical Methods in Medical Research}, \bold{7}(87), 87-117 } \examples{ data(Smoking_Mueller1940) ## maybe str(Smoking_Mueller1940) ; plot(Smoking_Mueller1940) ... } \keyword{datasets} HSAUR3/man/respiratory.Rd0000644000176200001440000000414214172224352014647 0ustar liggesusers\name{respiratory} \alias{respiratory} \docType{data} \title{ Respiratory Illness Data } \description{ The respiratory status of patients recruited for a randomised clinical multicenter trial. } \usage{data("respiratory")} \format{ A data frame with 555 observations on the following 7 variables. \describe{ \item{\code{centre}}{the study center, a factor with levels \code{1} and \code{2}.} \item{\code{treatment}}{the treatment arm, a factor with levels \code{placebo} and \code{treatment}.} \item{\code{gender}}{a factor with levels \code{female} and \code{male}.} \item{\code{age}}{the age of the patient.} \item{\code{status}}{the respiratory status (response variable), a factor with levels \code{poor} and \code{good}.} \item{\code{month}}{the month, each patient was examined at months \code{0}, \code{1}, \code{2}, \code{3} and \code{4}.} \item{\code{subject}}{the patient ID, a factor with levels \code{1} to \code{111}.} } } \details{ In each of two centres, eligible patients were randomly assigned to active treatment or placebo. During the treatment, the respiratory status (categorised \code{poor} or \code{good}) was determined at each of four, monthly visits. The trial recruited 111 participants (54 in the active group, 57 in the placebo group) and there were no missing data for either the responses or the covariates. The question of interest is to assess whether the treatment is effective and to estimate its effect. Note that the data are in long form, i.e, repeated measurments are stored as additional rows in the data frame. } \source{ C. S. Davis (1991), Semi-parametric and non-parametric methods for the analysis of repeated measurements with applications to clinical trials. \emph{Statistics in Medicine}, \bold{10}, 1959--1980. } \examples{ data("respiratory", package = "HSAUR3") mosaicplot(xtabs( ~ treatment + month + status, data = respiratory)) } \keyword{datasets} HSAUR3/man/BtheB.Rd0000644000176200001440000000475114172224352013256 0ustar liggesusers\name{BtheB} \alias{BtheB} \docType{data} \title{ Beat the Blues Data } \description{ Data from a clinical trial of an interactive multimedia program called `Beat the Blues'. } \usage{data("BtheB")} \format{ A data frame with 100 observations of 100 patients on the following 8 variables. \describe{ \item{drug}{did the patient take anti-depressant drugs (\code{No} or \code{Yes}).} \item{length}{the length of the current episode of depression, a factor with levels \code{<6m} (less than six months) and \code{>6m} (more than six months).} \item{treatment}{treatment group, a factor with levels \code{TAU} (treatment as usual) and \code{BtheB} (Beat the Blues)} \item{bdi.pre}{Beck Depression Inventory II before treatment.} \item{bdi.2m}{Beck Depression Inventory II after two months.} \item{bdi.3m}{Beck Depression Inventory II after one month follow-up.} \item{bdi.5m}{Beck Depression Inventory II after three months follow-up.} \item{bdi.8m}{Beck Depression Inventory II after six months follow-up.} } } \details{ Longitudinal data from a clinical trial of an interactive, multimedia program known as "Beat the Blues" designed to deliver cognitive behavioural therapy to depressed patients via a computer terminal. Patients with depression recruited in primary care were randomised to either the Beating the Blues program, or to "Treatment as Usual (TAU)". Note that the data are stored in the wide form, i.e., repeated measurments are represented by additional columns in the data frame. } \source{ J. Proudfoot, D. Goldberg, A. Mann, B. S. Everitt, I. Marks and J. A. Gray, (2003). Computerized, interactive, multimedia cognitive-behavioural program for anxiety and depression in general practice. \emph{Psychological Medicine}, \bold{33}(2), 217--227. } \examples{ data("BtheB", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) ylim <- range(BtheB[,grep("bdi", names(BtheB))], na.rm = TRUE) boxplot(subset(BtheB, treatment == "TAU")[,grep("bdi", names(BtheB))], main = "Treated as usual", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) boxplot(subset(BtheB, treatment == "BtheB")[,grep("bdi", names(BtheB))], main = "Beat the Blues", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) } \keyword{datasets} HSAUR3/man/gardenflowers.Rd0000644000176200001440000000112514231245366015130 0ustar liggesusers\name{gardenflowers} \alias{gardenflowers} \docType{data} \title{ Garden Flowers Data} \description{ The dissimilarity matrix of 18 species of garden flowers. } \usage{data("gardenflowers")} \format{ An object of class \code{\link{dist}}. } \details{ The dissimilarity was computed based on certain characteristics of the flowers. } \source{ L. Kaufman and P. J. Rousseeuw (1990), \emph{Finding groups in data: an introduction to cluster analysis}, John Wiley & Sons, New York. } \examples{ data("gardenflowers", package = "HSAUR3") gardenflowers } \keyword{datasets} HSAUR3/man/water.Rd0000644000176200001440000000302214172224352013402 0ustar liggesusers\name{water} \alias{water} \docType{data} \title{ Mortality and Water Hardness } \description{ The mortality and drinking water hardness for 61 cities in England and Wales. } \usage{data("water")} \format{ A data frame with 61 observations on the following 4 variables. \describe{ \item{location}{a factor with levels \code{North} and \code{South} indicating whether the town is as north as Derby.} \item{town}{the name of the town.} \item{mortality}{averaged annual mortality per 100.000 male inhabitants.} \item{hardness}{calcium concentration (in parts per million).} } } \details{ The data were collected in an investigation of environmental causes of disease. They show the annual mortality per 100,000 for males, averaged over the years 1958-1964, and the calcium concentration (in parts per million) in the drinking water for 61 large towns in England and Wales. The higher the calcium concentration, the harder the water. Towns at least as far north as Derby are identified in the table. Here there are several questions that might be of interest including, are mortality and water hardness related, and do either or both variables differ between northern and southern towns? } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("water", package = "HSAUR3") plot(mortality ~ hardness, data = water, col = as.numeric(water$location)) } \keyword{datasets} HSAUR3/man/Smoking_DollHill1950.Rd0000644000176200001440000000154414172224352016000 0ustar liggesusers\name{Smoking_DollHill1950} \alias{Smoking_DollHill1950} \docType{data} \title{ Smoking and Lung Cancer (IV) } \description{ Number of smokers in a case-control study. } \usage{data(Smoking_DollHill1950)} \format{ The format is: table [1:6, 1:2, 1:2] 2 33 250 196 136 32 27 55 293 190 ... - attr(*, "dimnames")=List of 3 ..$ Smoking : chr [1:6] "Nonsmoker" "1-" "5-" "15-" ... ..$ Diagnosis: chr [1:2] "Lung cancer" "Other" ..$ Sex : chr [1:2] "Male" "Female" } \details{ This is Table V from Doll and Hill (1950). } \source{ Richard Doll and A. Bradford Hill (1950), Smoking and Carcinoma of the Lung, \emph{British Medical Journal}, \bold{2}, 739-748 } \references{ Richard Doll (1998), Uncovering the effects of smoking: historical perspective. \emph{Statistical Methods in Medical Research}, \bold{7}(87), 87-117 } \keyword{datasets} HSAUR3/man/bp.Rd0000644000176200001440000000135214172224352012665 0ustar liggesusers\name{bp} \alias{bp} \docType{data} \title{ Lowering Blood Pressure Data } \description{ Lowering a patient's blood pressure during surgery, using a hypotensive drug. } \usage{data(bp)} \format{ A data frame with 53 observations on the following 3 variables. \describe{ \item{\code{logdose}}{the logarithm (base 10) of the dose of drug in milligrams} \item{\code{bloodp}}{average systolic blood pressure achieved while the drug was being administered} \item{\code{recovtime}}{time in minutes before the patient's systolic blood pressure returned to 100mm of mercury} } } \source{ J. D. Robertson and P. Armitage (1959) Comparison of Two Hypotensive Agents, \emph{Anaesthesia}, \bold{14}(1), 53--64 } \keyword{datasets} HSAUR3/man/orallesions.Rd0000644000176200001440000000113314172224352014613 0ustar liggesusers\name{orallesions} \alias{orallesions} \docType{data} \title{ Oral Lesions in Rural India } \description{ The distribution of the oral lesion site found in house-to-house surveys in three geographic regions of rural India. } \usage{data("orallesions")} \format{ A two-way classification, see \code{\link{table}}. } \source{ Cyrus R. Mehta and Nitin R. Patel (2003), \emph{StatXact-6: Statistical Software for Exact Nonparametric Inference}, Cytel Software Cooperation, Cambridge, USA. } \examples{ data("orallesions", package = "HSAUR3") mosaicplot(orallesions) } \keyword{datasets} HSAUR3/man/pistonrings.Rd0000644000176200001440000000164014172224352014643 0ustar liggesusers\name{pistonrings} \alias{pistonrings} \docType{data} \title{ Piston Rings Failures } \description{ Number of failures of piston rings in three legs of four steam-driven compressors. } \usage{data("pistonrings")} \format{ A two-way classification, see \code{\link{table}}. } \details{ The data are given in form of a \code{\link{table}}. The table gives the number of piston-ring failures in each of three legs of four steam-driven compressors located in the same building. The compressors have identical design and are oriented in the same way. The question of interest is whether the two classification variables (compressor and leg) are independent. } \source{ S. J. Haberman (1973), The analysis of residuals in cross-classificed tables. \emph{Biometrics} \bold{29}, 205--220. } \examples{ data("pistonrings", package = "HSAUR3") mosaicplot(pistonrings) } \keyword{datasets} HSAUR3/man/weightgain.Rd0000644000176200001440000000224314172224352014412 0ustar liggesusers\name{weightgain} \alias{weightgain} \docType{data} \title{ Gain in Weight of Rats } \description{ The data arise from an experiment to study the gain in weight of rats fed on four different diets, distinguished by amount of protein (low and high) and by source of protein (beef and cereal). } \usage{data("weightgain")} \format{ A data frame with 40 observations on the following 3 variables. \describe{ \item{\code{source}}{source of protein given, a factor with levels \code{Beef} and \code{Cereal}.} \item{\code{type}}{amount of protein given, a factor with levels \code{High} and \code{Low}.} \item{\code{weightgain}}{weigt gain in grams.} } } \details{ Ten rats are randomized to each of the four treatments. The question of interest is how diet affects weight gain. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("weightgain", package = "HSAUR3") interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain) } \keyword{datasets} HSAUR3/man/polyps.Rd0000644000176200001440000000330614231245405013611 0ustar liggesusers\name{polyps} \alias{polyps} \docType{data} \title{ Familial Andenomatous Polyposis } \description{ Data from a placebo-controlled trial of a non-steroidal anti-inflammatory drug in the treatment of familial andenomatous polyposis (FAP). } \usage{data("polyps")} \format{ A data frame with 20 observations on the following 3 variables. \describe{ \item{\code{number}}{number of colonic polyps at 12 months.} \item{\code{treat}}{treatment arms of the trail, a factor with levels \code{placebo} and \code{drug}.} \item{\code{age}}{the age of the patient.} } } \details{ Giardiello et al. (1993) and Piantadosi (1997) describe the results of a placebo-controlled trial of a non-steroidal anti-inflammatory drug in the treatment of familial andenomatous polyposis (FAP). The trial was halted after a planned interim analysis had suggested compelling evidence in favour of the treatment. Here we are interested in assessing whether the number of colonic polyps at 12 months is related to treatment and age of patient. } \source{ F. M. Giardiello, S. R. Hamilton, A. J. Krush, S. Piantadosi, L. M. Hylind, P. Celano, S. V. Booker, C. R. Robinson and G. J. A. Offerhaus (1993), Treatment of colonic and rectal adenomas with sulindac in familial adenomatous polyposis. \emph{New England Journal of Medicine}, \bold{328}(18), 1313--1316. S. Piantadosi (1997), \emph{Clinical Trials: A Methodologic Perspective}. John Wiley & Sons, New York. } \examples{ data("polyps", package = "HSAUR3") plot(number ~ age, data = polyps, pch = as.numeric(polyps$treat)) legend(40, 40, legend = levels(polyps$treat), pch = 1:2, bty = "n") } \keyword{datasets} HSAUR3/man/schizophrenia2.Rd0000644000176200001440000000306414172224352015216 0ustar liggesusers\name{schizophrenia2} \alias{schizophrenia2} \docType{data} \title{ Schizophrenia Data } \description{ Though disorder and early onset of schizophrenia. } \usage{data("schizophrenia2")} \format{ A data frame with 220 observations on the following 4 variables. \describe{ \item{\code{subject}}{the patient ID, a factor with levels \code{1} to \code{44}.} \item{\code{onset}}{the time of onset of the disease, a factor with levels \code{< 20 yrs} and \code{> 20 yrs}.} \item{\code{disorder}}{whether thought disorder was \code{absent} or \code{present}, the response variable.} \item{\code{month}}{month after hospitalisation.} } } \details{ The data were collected in a follow-up study of women patients with schizophrenia. The binary response recorded at 0, 2, 6, 8 and 10 months after hospitalisation was thought disorder (absent or present). The single covariate is the factor indicating whether a patient had suffered early or late onset of her condition (age of onset less than 20 years or age of onset 20 years or above). The question of interest is whether the course of the illness differs between patients with early and late onset? } \source{ Davis (2002), \emph{Statistical Methods for the Analysis of Repeated Measurements}, Springer, New York. } \examples{ data("schizophrenia2", package = "HSAUR3") mosaicplot(xtabs( ~ onset + month + disorder, data = schizophrenia2)) } \keyword{datasets} HSAUR3/man/watervoles.Rd0000644000176200001440000000265614172224352014467 0ustar liggesusers\name{watervoles} \alias{watervoles} \docType{data} \title{ Water Voles Data } \description{ Percentage incidence of the 13 characteristics of water voles in 14 areas. } \usage{data("watervoles")} \format{ A dissimilarity matrix for the following 14 variables, i.e, areas: \code{Surrey}, \code{Shropshire}, \code{Yorkshire}, \code{Perthshire}, \code{Aberdeen}, \code{Elean Gamhna}, \code{Alps}, \code{Yugoslavia}, \code{Germany}, \code{Norway}, \code{Pyrenees I}, \code{Pyrenees II}, \code{North Spain}, and \code{South Spain}. } \details{ Corbet et al. (1970) report a study of water voles (genus Arvicola) in which the aim was to compare British populations of these animals with those in Europe, to investigate whether more than one species might be present in Britain. The original data consisted of observations of the presence or absence of 13 characteristics in about 300 water vole skulls arising from six British populations and eight populations from the rest of Europe. The data are the percentage incidence of the 13 characteristics in each of the 14 samples of water vole skulls. } \source{ G. B. Corbet, J. Cummins, S. R. Hedges, W. J. Krzanowski (1970), The taxonomic structure of British water voles, genus \emph{Arvicola}. \emph{Journal of Zoology}, \bold{61}, 301--316. } \examples{ data("watervoles", package = "HSAUR3") watervoles } \keyword{datasets} HSAUR3/man/roomwidth.Rd0000644000176200001440000000237714172224352014310 0ustar liggesusers\name{roomwidth} \alias{roomwidth} \docType{data} \title{ Students Estimates of Lecture Room Width } \description{ Lecture room width estimated by students in two different units. } \usage{data("roomwidth")} \format{ A data frame with 113 observations on the following 2 variables. \describe{ \item{unit}{a factor with levels \code{feet} and \code{metres}.} \item{width}{the estimated width of the lecture room.} } } \details{ Shortly after metric units of length were officially introduced in Australia, each of a group of 44 students was asked to guess, to the nearest metre, the width of the lecture hall in which they were sitting. Another group of 69 students in the same room was asked to guess the width in feet, to the nearest foot. The data were collected by Professor T. Lewis and are taken from Hand et al (1994). The main question is whether estimation in feet and in metres gives different results. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("roomwidth", package = "HSAUR3") convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) boxplot(I(width * convert) ~ unit, data = roomwidth) } \keyword{datasets} HSAUR3/man/Forbes2000.Rd0000644000176200001440000000224714172224352014012 0ustar liggesusers\name{Forbes2000} \alias{Forbes2000} \docType{data} \title{ The Forbes 2000 Ranking of the World's Biggest Companies (Year 2004) } \description{ The Forbes 2000 list is a ranking of the world's biggest companies, measured by sales, profits, assets and market value. } \usage{data("Forbes2000")} \format{ A data frame with 2000 observations on the following 8 variables. \describe{ \item{rank}{the ranking of the company.} \item{name}{the name of the company.} \item{country}{a factor giving the country the company is situated in.} \item{category}{a factor describing the products the company produces.} \item{sales}{the amount of sales of the company in billion USD.} \item{profits}{the profit of the company in billion USD.} \item{assets}{the assets of the company in billion USD.} \item{marketvalue}{the market value of the company in billion USD.} } } \source{ \url{https://www.forbes.com}, assessed on November 26th, 2004. } \examples{ data("Forbes2000", package = "HSAUR3") summary(Forbes2000) ### number of countries length(levels(Forbes2000$country)) ### number of industries length(levels(Forbes2000$category)) } \keyword{datasets} HSAUR3/man/clouds.Rd0000644000176200001440000000503614172224352013560 0ustar liggesusers\name{clouds} \alias{clouds} \docType{data} \title{ Cloud Seeding Data } \description{ Data from an experiment investigating the use of massive amounts of silver iodide (100 to 1000 grams per cloud) in cloud seeding to increase rainfall. } \usage{data("clouds")} \format{ A data frame with 24 observations on the following 7 variables. \describe{ \item{seeding}{a factor indicating whether seeding action occured (\code{no} or \code{yes}).} \item{time}{number of days after the first day of the experiment.} \item{sne}{suitability criterion.} \item{cloudcover}{the percentage cloud cover in the experimental area, measured using radar.} \item{prewetness}{the total rainfall in the target area one hour before seeding (in cubic metres times \code{1e+8}).} \item{echomotion}{a factor showing whether the radar echo was \code{moving} or \code{stationary}.} \item{rainfall}{the amount of rain in cubic metres times \code{1e+8}.} } } \details{ Weather modification, or cloud seeding, is the treatment of individual clouds or storm systems with various inorganic and organic materials in the hope of achieving an increase in rainfall. Introduction of such material into a cloud that contains supercooled water, that is, liquid water colder than zero Celsius, has the aim of inducing freezing, with the consequent ice particles growing at the expense of liquid droplets and becoming heavy enough to fall as rain from clouds that otherwise would produce none. The data available in \code{cloud} were collected in the summer of 1975 from an experiment to investigate the use of massive amounts of silver iodide 100 to 1000 grams per cloud) in cloud seeding to increase rainfall. In the experiment, which was conducted in an area of Florida, 24 days were judged suitable for seeding on the basis that a measured suitability criterion (\code{SNE}). } \source{ W. L. Woodley, J. Simpson, R. Biondini and J. Berkeley (1977), Rainfall results 1970-75: Florida area cumulus experiment. \emph{Science} \bold{195}, 735--742. R. D. Cook and S. Weisberg (1980), Characterizations of an empirical influence function for detecting influential cases in regression. \emph{Technometrics} \bold{22}, 495--508. } \examples{ data("clouds", package = "HSAUR3") layout(matrix(1:2, nrow = 2)) boxplot(rainfall ~ seeding, data = clouds, ylab = "Rainfall") boxplot(rainfall ~ echomotion, data = clouds, ylab = "Rainfall") } \keyword{datasets} HSAUR3/man/toenail.Rd0000644000176200001440000000372114172224352013721 0ustar liggesusers\name{toenail} \alias{toenail} \docType{data} \title{ Toenail Infection Data } \description{ Results of a clinical trial to compare two competing oral antifungal treatments for toenail infection. } \usage{data("toenail")} \format{ A data frame with 1908 observations on the following 5 variables. \describe{ \item{\code{patientID}}{a unique identifier for each patient in the trial.} \item{\code{outcome}}{degree of separation of the nail plate from the nail bed (onycholysis).} \item{\code{treatment}}{a factor with levels \code{itraconazole} and \code{terbinafine}.} \item{\code{time}}{the time in month when the visit actually took place.} \item{\code{visit}}{number of visit attended.} } } \details{ De Backer et al. (1998) describe a clinical trial to compare two competing oral antifungal treatments for toenail infection (dermatophyte onychomycosis). A total of 378 patients were randomly allocated into two treatment groups, one group receiving 250mg per day of terbinafine and the other group 200mg per day of itraconazole. Patients were evaluated at seven visits, intended to be at weeks 0, 4, 8, 12, 24, 36, and 48 for the degree of separation of the nail plate from the nail bed (onycholysis) dichotomized into \code{moderate or severe} and \code{none or mild}. But patients did not always arrive exactly at the scheduled time and the exact time in months that they did attend was recorded. The data is not balanced since not all patients attended for all seven planned visits. } \source{ M. D. Backer and C. D. Vroey and E. Lesaffre and I. Scheys and P. D. Keyser (1998), Twelve weeks of continuous oral therapy for toenail onychomycosis caused by dermatophytes: A double-blind comparative trial of terbinafine 250 mg/day versus itraconazole 200 mg/day. \emph{Journal of the American Academy of Dermatology}, \bold{38}, S57--S63. } \examples{ data("toenail", package = "HSAUR3") } \keyword{datasets} HSAUR3/man/Smoking_SchairerSchoeniger1944.Rd0000644000176200001440000000154314172224352020046 0ustar liggesusers\name{Smoking_SchairerSchoeniger1944} \alias{Smoking_SchairerSchoeniger1944} \docType{data} \title{ Smoking and Lung Cancer (II) } \description{ Number of smokers in a case-control study. } \usage{data(Smoking_SchairerSchoeniger1944)} \format{ The format is: table [1:5, 1:7] 3 11 31 19 29 2 0 4 6 3 ... - attr(*, "dimnames")=List of 2 ..$ Smoking : chr [1:5] "Nonsmoker" "Moderate smoker" "Medium smoker" "Heavy smoker" ... ..$ Diagnosis: chr [1:7] "Lung cancer" "Lip cancer" "Throat cancer" "Stomach cancer" ... } \source{ E. Schairer and E. Sch\"oninger (1944), Lungenkrebs und Tabakverbrauch, \emph{Zeitschrift fuer Krebsforschung}, \bold{54}(4), 261-269 } \references{ Richard Doll (1998), Uncovering the effects of smoking: historical perspective. \emph{Statistical Methods in Medical Research}, \bold{7}(87), 87-117 } \keyword{datasets} HSAUR3/man/epilepsy.Rd0000644000176200001440000000350714172224352014122 0ustar liggesusers\name{epilepsy} \alias{epilepsy} \docType{data} \title{ Epilepsy Data } \description{ A randomised clinical trial investigating the effect of an anti-epileptic drug. } \usage{data("epilepsy")} \format{ A data frame with 236 observations on the following 6 variables. \describe{ \item{\code{treatment}}{the treatment group, a factor with levels \code{placebo} and \code{Progabide}.} \item{\code{base}}{the number of seizures before the trial.} \item{\code{age}}{the age of the patient.} \item{\code{seizure.rate}}{the number of seizures (response variable).} \item{\code{period}}{treatment period, an ordered factor with levels \code{1} to \code{4}.} \item{\code{subject}}{the patient ID, a factor with levels \code{1} to \code{59}.} } } \details{ In this clinical trial, 59 patients suffering from epilepsy were randomized to groups receiving either the anti-epileptic drug Progabide or a placebo in addition to standard chemotherapy. The numbers of seizures suffered in each of four, two-week periods were recorded for each patient along with a baseline seizure count for the 8 weeks prior to being randomized to treatment and age. The main question of interest is whether taking progabide reduced the number of epileptic seizures compared with placebo. } \source{ P. F. Thall and S. C. Vail (1990), Some covariance models for longitudinal count data with overdispersion. \emph{Biometrics}, \bold{46}, 657--671. } \examples{ data("epilepsy", package = "HSAUR3") library(lattice) dotplot(I(seizure.rate / base) ~ period | subject, data = epilepsy, subset = treatment == "Progabide") dotplot(I(seizure.rate / base) ~ period | subject, data = epilepsy, subset = treatment == "Progabide") } \keyword{datasets} HSAUR3/man/plasma.Rd0000644000176200001440000000360714172224352013546 0ustar liggesusers\name{plasma} \alias{plasma} \docType{data} \title{ Blood Screening Data } \description{ The erythrocyte sedimentation rate and measurements of two plasma proteins (fibrinogen and globulin). } \usage{data("plasma")} \format{ A data frame with 32 observations on the following 3 variables. \describe{ \item{\code{fibrinogen}}{the fibrinogen level in the blood.} \item{\code{globulin}}{the globulin level in the blood.} \item{\code{ESR}}{the erythrocyte sedimentation rate, either less or greater 20 mm / hour. } } } \details{ The erythrocyte sedimentation rate (ESR) is the rate at which red blood cells (erythrocytes) settle out of suspension in blood plasma, when measured under standard conditions. If the ESR increases when the level of certain proteins in the blood plasma rise in association with conditions such as rheumatic diseases, chronic infections and malignant diseases, its determination might be useful in screening blood samples taken form people suspected to being suffering from one of the conditions mentioned. The absolute value of the ESR is not of great importance rather it is whether it is less than 20mm/hr since lower values indicate a healthy individual. The question of interest is whether there is any association between the probability of an ESR reading greater than 20mm/hr and the levels of the two plasma proteins. If there is not then the determination of ESR would not be useful for diagnostic purposes. } \source{ D. Collett and A. A. Jemain (1985), Residuals, outliers and influential observations in regression analysis. \emph{Sains Malaysiana}, \bold{4}, 493--511. } \examples{ data("plasma", package = "HSAUR3") layout(matrix(1:2, ncol = 2)) boxplot(fibrinogen ~ ESR, data = plasma, varwidth = TRUE) boxplot(globulin ~ ESR, data = plasma, varwidth = TRUE) } \keyword{datasets} HSAUR3/man/CHFLS.Rd0000644000176200001440000001647414231472441013136 0ustar liggesusers\name{CHFLS} \alias{CHFLS} \docType{data} \title{ Chinese Health and Family Life Survey } \description{ The Chinese Health and Family Life Survey sampled $60$ villages and urban neighborhoods chosen in such a way as to represent the full geographical and socioeconomic range of contemporary China. } \usage{data("CHFLS")} \format{ A data frame with 1534 observations on the following 10 variables. \describe{ \item{\code{R_region}}{a factor with levels \code{Coastal South}, \code{Coastal East}, \code{Inlands}, \code{North}, \code{Northeast}, \code{Central West}.} \item{\code{R_age}}{age of the responding woman.} \item{\code{R_edu}}{education level of the responding woman, an ordered factor with levels \code{Never attended school} < \code{Elementary school} < \code{Junior high school} < \code{Senior high school} < \code{Junior college} < \code{University}.} \item{\code{R_income}}{monthly income of the responding woman.} \item{\code{R_health}}{self-reported health status, an ordered factor with levels \code{Poor} < \code{Not good} < \code{Fair} < \code{Good} < \code{Excellent}.} \item{\code{R_height}}{height of the responding woman.} \item{\code{R_happy}}{self-reportet happiness of the responding woman, an ordered factor with levels \code{Very unhappy} < \code{Not too happy} < \code{Somewhat happy} < \code{Very happy}.} \item{\code{A_height}}{height of the woman's partner.} \item{\code{A_edu}}{level of education of the woman's partner, an ordered factor with levels \code{Never attended school} < \code{Elementary school} < \code{Junior high school} < \code{Senior high school} < \code{Junior college} < \code{University}.} \item{\code{A_income}}{montjly income of the woman's partner.} } } \details{ Contemporary China is on the leading edge of a sexual revolution, with tremendous regional and generational differences that provide unparalleled natural experiments for analysis of the antecedents and outcomes of sexual behavior. The Chinese Health and Family Life Study, conducted 1999--2000 as a collaborative research project of the Universities of Chicago, Beijing, and North Carolina, provides a baseline from which to anticipate and track future changes. Specifically, this study produces a baseline set of results on sexual behavior and disease patterns, using a nationally representative probability sample. The Chinese Health and Family Life Survey sampled 60 villages and urban neighborhoods chosen in such a way as to represent the full geographical and socioeconomic range of contemporary China excluding Hong Kong and Tibet. Eighty-three individuals were chosen at random for each location from official registers of adults aged between 20 and 64 years to target a sample of 5000 individuals in total. Here, we restrict our attention to women with current male partners for whom no information was missing, leading to a sample of 1534 women. The data have been extracted as given in the example section. } \source{ \url{https://sscs.uchicago.edu} } \references{ William L. Parish, Edward O. Laumann, Myron S. Cohen, Suiming Pan, Heyi Zheng, Irving Hoffman, Tianfu Wang, and Kwai Hang Ng. (2003), Population-Based Study of Chlamydial Infection in China: A Hidden Epidemic. \emph{Journal of the American Medican Association}, \bold{289}(10), 1265--1273. } \examples{ \dontrun{ ### for a description see http://popcenter.uchicago.edu/data/chfls.shtml library("TH.data") load(file.path(path.package(package="TH.data"), "rda", "CHFLS.rda")) tmp <- chfls1[, c("REGION6", "ZJ05", "ZJ06", "A35", "ZJ07", "ZJ16M", "INCRM", "JK01", "JK02", "JK20", "HY04", "HY07", "A02", "AGEGAPM", "A07M", "A14", "A21", "A22M", "A23", "AX16", "INCAM", "SEXNOW", "ZW04")] names(tmp) <- c("Region", "Rgender", ### gender of respondent "Rage", ### age of respondent "RagestartA", ### age of respondent at beginning of relationship ### with partner A "Redu", ### education of respondent "RincomeM", ### rounded monthly income of respondent "RincomeComp", ### inputed monthly income of respondent "Rhealth", ### health condition respondent "Rheight", ### respondent's height "Rhappy", ### respondent's happiness "Rmartial", ### respondent's marital status "RhasA", ### R has current A partner "Agender", ### gender of partner A "RAagegap", ### age gap "RAstartage", ### age at marriage "Aheight", ### height of partner A "Aedu", ### education of partner A "AincomeM", ### rounded partner A income "AincomeEst", ### estimated partner A income "orgasm", ### orgasm frequency "AincomeComp", ### imputed partner A income "Rsexnow", ### has sex last year "Rhomosexual") ### R is homosexual ### code missing values tmp$AincomeM[tmp$AincomeM < 0] <- NA tmp$RincomeM[tmp$RincomeM < 0] <- NA tmp$Aheight[tmp$Aheight < 0] <- NA olevels <- c("never", "rarely", "sometimes", "often", "always") tmpA <- subset(tmp, Rgender == "female" & Rhomosexual != "yes" & orgasm \%in\% olevels) ### 1534 subjects dim(tmpA) CHFLS <- tmpA[, c("Region", "Rage", "Redu", "RincomeComp", "Rhealth", "Rheight", "Rhappy", "Aheight", "Aedu", "AincomeComp")] names(CHFLS) <- c("R_region", "R_age", "R_edu", "R_income", "R_health", "R_height", "R_happy", "A_height", "A_edu", "A_income") levels(CHFLS$R_region) <- c("Coastal South", "Coastal Easth", "Inlands", "North", "Northeast", "Central West") CHFLS$R_edu <- ordered(as.character(CHFLS$R_edu), levels = c("no school", "primary", "low mid", "up mid", "j col", "univ/grad")) levels(CHFLS$R_edu) <- c("Never attended school", "Elementary school", "Junior high school", "Senior high school", "Junior college", "University") CHFLS$A_edu <- ordered(as.character(CHFLS$A_edu), levels = c("no school", "primary", "low mid", "up mid", "j col", "univ/grad")) levels(CHFLS$A_edu) <- c("Never attended school", "Elementary school", "Junior high school", "Senior high school", "Junior college", "University") CHFLS$R_health <- ordered(as.character(CHFLS$R_health), levels = c("poor", "not good", "fair", "good", "excellent")) levels(CHFLS$R_health) <- c("Poor", "Not good", "Fair", "Good", "Excellent") CHFLS$R_happy <- ordered(as.character(CHFLS$R_happy), levels = c("v unhappy", "not too", "relatively", "very")) levels(CHFLS$R_happy) <- c("Very unhappy", "Not too happy", "Relatively happy", "Very happy") } } \keyword{datasets} HSAUR3/man/students.Rd0000644000176200001440000000231214172224352014132 0ustar liggesusers\name{students} \alias{students} \docType{data} \title{ Student Risk Taking } \description{ Students were administered two parallel forms of a test after a random assignment to three different treatments. } \usage{data("students")} \format{ A data frame with 35 observations on the following 3 variables. \describe{ \item{\code{treatment}}{a factor with levels \code{AA}, \code{C}, and \code{NC}.} \item{\code{low}}{the result of the first test.} \item{\code{high}}{the result of the second test.} } } \details{ The data arise from a large study of risk taking (Timm, 2002). Students were randomly assigned to three different treatments labelled AA, C and NC. Students were administered two parallel forms of a test called \code{low} and \code{high}. The aim is to carry out a test of the equality of the bivariate means of each treatment population. } \source{ N. H. Timm (2002), \emph{Applied Multivariate Analysis}. Springer, New York. } \examples{ data("students", package = "HSAUR3") layout(matrix(1:2, ncol = 2)) boxplot(low ~ treatment, data = students, ylab = "low") boxplot(high ~ treatment, data = students, ylab = "high") } \keyword{datasets} HSAUR3/man/USstates.Rd0000644000176200001440000000144614172224352014043 0ustar liggesusers\name{USstates} \alias{USstates} \docType{data} \title{ US States } \description{ Socio-demographic variables for ten US states. } \usage{data(USstates)} \format{ A data frame with 10 observations on the following 7 variables. \describe{ \item{\code{Population}}{population size divided by 1000} \item{\code{Income}}{average per capita income} \item{\code{Illiteracy}}{illiteracy rate (per cent population)} \item{\code{Life.Expectancy}}{life expectancy (years)} \item{\code{Homicide}}{homicide rate (per 1000)} \item{\code{Graduates}}{percentage of high school graduates} \item{\code{Freezing}}{average number of days per below freezing} } } \details{ The data set contains values of seven socio-demographic variables for ten states in the USA. } \keyword{datasets} HSAUR3/man/womensrole.Rd0000644000176200001440000000245214172224352014460 0ustar liggesusers\name{womensrole} \alias{womensrole} \docType{data} \title{ Womens Role in Society } \description{ Data from a survey from 1974 / 1975 asking both female and male responders about their opinion on the statement: Women should take care of running their homes and leave running the country up to men. } \usage{data("womensrole")} \format{ A data frame with 42 observations on the following 4 variables. \describe{ \item{\code{education}}{years of education.} \item{\code{gender}}{a factor with levels \code{Male} and \code{Female}.} \item{\code{agree}}{number of subjects in agreement with the statement.} \item{\code{disagree}}{number of subjects in disagreement with the statement.} } } \details{ The data are from Haberman (1973) and also given in Collett (2003). The questions here are whether the response of men and women differ. } \source{ S. J. Haberman (1973), The analysis of residuals in cross-classificed tables. \emph{Biometrics}, \bold{29}, 205--220. D. Collett (2003), \emph{Modelling Binary Data}. Chapman and Hall / CRC, London. 2nd edition. } \examples{ data("womensrole", package = "HSAUR3") summary(subset(womensrole, gender == "Female")) summary(subset(womensrole, gender == "Male")) } \keyword{datasets} HSAUR3/man/meteo.Rd0000644000176200001440000000207214172224352013375 0ustar liggesusers\name{meteo} \alias{meteo} \docType{data} \title{ Meteorological Measurements for 11 Years } \description{ Several meteorological measurements for a period between 1920 and 1931. } \usage{data("meteo")} \format{ A data frame with 11 observations on the following 6 variables. \describe{ \item{\code{year}}{the years.} \item{\code{rainNovDec}}{rainfall in November and December (mm).} \item{\code{temp}}{average July temperature.} \item{\code{rainJuly}}{rainfall in July (mm).} \item{\code{radiation}}{radiation in July (millilitres of alcohol).} \item{\code{yield}}{average harvest yield (quintals per hectare).} } } \details{ Carry out a principal components analysis of both the covariance matrix and the correlation matrix of the data and compare the results. Which set of components leads to the most meaningful interpretation? } \source{ B. S. Everitt and G. Dunn (2001), \emph{Applied Multivariate Data Analysis}, 2nd edition, Arnold, London. } \examples{ data("meteo", package = "HSAUR3") meteo } \keyword{datasets} HSAUR3/man/EFT.Rd0000644000176200001440000000111614172224352012700 0ustar liggesusers\name{EFT} \alias{EFT} \docType{data} \title{ Embedded Figures Test Data } \description{ Embedded figures test for 24 school children. } \usage{data(EFT)} \format{ A data frame with 24 observations on the following 3 variables. \describe{ \item{\code{group}}{a factor with levels \code{row} \code{corner}} \item{\code{time}}{time to complete the pattern} \item{\code{EFT}}{Embedded Figures Test} } } \source{ M. Aitkin, D. Anderson, B. Francis, and J. Hinde (1989), \emph{Statistical Modelling in GLIM}, Oxford University Press, New York, USA } \keyword{datasets} HSAUR3/man/birds.Rd0000644000176200001440000000150214172224352013364 0ustar liggesusers\name{birds} \alias{birds} \docType{data} \title{ Birds in Paramo Vegetation Data } \description{ The data were originally derived from a study which investigated numbers of bird species in isolated islands of paramo vegetation in the northern Andes. } \usage{data(birds)} \format{ A data frame with 14 observations on the following 5 variables. \describe{ \item{\code{N}}{number of species} \item{\code{AR}}{area of island in thousands of square km} \item{\code{EL}}{elevation in thousands of m} \item{\code{Dec}}{distance from Ecuador in km} \item{\code{DNI}}{distance to the nearest island in km} } } \source{ F. Vuilleumier (1970), Insular biogeography in continental regions. I. The northern Andes of South America. \emph{The American Naturalist} \bold{104}, 373--388 } \keyword{datasets} HSAUR3/man/schizophrenia.Rd0000644000176200001440000000245514172224352015137 0ustar liggesusers\name{schizophrenia} \alias{schizophrenia} \docType{data} \title{ Age of Onset of Schizophrenia Data } \description{ Data on sex differences in the age of onset of schizophrenia. } \usage{data("schizophrenia")} \format{ A data frame with 251 observations on the following 2 variables. \describe{ \item{\code{age}}{age at the time of diagnosis.} \item{\code{gender}}{a factor with levels \code{female} and \code{male}} } } \details{ A sex difference in the age of onset of schizophrenia was noted by Kraepelin (1919). Subsequently epidemiological studies of the disorder have consistently shown an earlier onset in men than in women. One model that has been suggested to explain this observed difference is know as the subtype model which postulates two type of schizophrenia, one characterised by early onset, typical symptoms and poor premorbid competence, and the other by late onset, atypical symptoms, and good premorbid competence. The early onset type is assumed to be largely a disorder of men and the late onset largely a disorder of women. } \source{ E. Kraepelin (1919), \emph{Dementia Praecox and Paraphrenia}. Livingstone, Edinburgh. } \examples{ data("schizophrenia", package = "HSAUR3") boxplot(age ~ gender, data = schizophrenia) } \keyword{datasets} HSAUR3/man/agefat.Rd0000644000176200001440000000220014172224352013504 0ustar liggesusers\name{agefat} \alias{agefat} \docType{data} \title{ Total Body Composision Data } \description{ Age and body fat percentage of 25 normal adults. } \usage{data("agefat")} \format{ A data frame with 25 observations on the following 3 variables. \describe{ \item{\code{age}}{the age of the subject.} \item{\code{fat}}{the body fat percentage.} \item{\code{gender}}{a factor with levels \code{female} and \code{male}.} } } \details{ The data come from a study investigating a new methods of measuring body composition (see Mazess et al, 1984), and give the body fat percentage (percent fat), age and gender for 25 normal adults aged between 23 and 61 years. The questions of interest are how are age and percent fat related, and is there any evidence that the relationship is different for males and females. } \source{ R. B. Mazess, W. W. Peppler and M. Gibbons (1984), Total body composition by dual-photon (153Gd) absorptiometry. \emph{American Journal of Clinical Nutrition}, \bold{40}, 834--839. } \examples{ data("agefat", package = "HSAUR3") plot(fat ~ age, data = agefat) } \keyword{datasets} HSAUR3/man/toothpaste.Rd0000644000176200001440000000255014172224352014457 0ustar liggesusers\name{toothpaste} \alias{toothpaste} \docType{data} \title{ Toothpaste Data } \description{ Meta-analysis of studies comparing two different toothpastes. } \usage{data("toothpaste")} \format{ A data frame with 9 observations on the following 7 variables. \describe{ \item{\code{Study}}{the identifier of the study.} \item{\code{nA}}{number of subjects using toothpaste A.} \item{\code{meanA}}{mean DMFS index of subjects using toothpaste A.} \item{\code{sdA}}{standard deviation of DMFS index of subjects using toothpaste A.} \item{\code{nB}}{number of subjects using toothpaste B.} \item{\code{meanB}}{mean DMFS index of subjects using toothpaste B.} \item{\code{sdB}}{standard deviation of DMFS index of subjects using toothpaste B.} } } \details{ The data are the results of nine randomised trials comparing two different toothpastes for the prevention of caries development. The outcomes in each trial was the change, from baseline, in the decayed, missing (due to caries) and filled surface dental index (DMFS). } \source{ B. S. Everitt and A. Pickles (2000), \emph{Statistical Aspects of the Design and Analysis of Clinical Trials}, Imperial College Press, London. } \examples{ data("toothpaste", package = "HSAUR3") toothpaste } \keyword{datasets} HSAUR3/man/birthdeathrates.Rd0000644000176200001440000000107214172224352015440 0ustar liggesusers\name{birthdeathrates} \alias{birthdeathrates} \docType{data} \title{ Birth and Death Rates Data } \description{ Birth and death rates for 69 countries. } \usage{data("birthdeathrates")} \format{ A data frame with 69 observations on the following 2 variables. \describe{ \item{\code{birth}}{birth rate.} \item{\code{death}}{death rate.} } } \source{ J. A. Hartigan (1975), \emph{Clustering Algorithms}. John Wiley & Sons, New York. } \examples{ data("birthdeathrates", package = "HSAUR3") plot(birthdeathrates) } \keyword{datasets} HSAUR3/man/aspirin.Rd0000644000176200001440000000163514172224352013735 0ustar liggesusers\name{aspirin} \alias{aspirin} \docType{data} \title{ Aspirin Data } \description{ Efficacy of Aspirin in preventing death after a myocardial infarct. } \usage{data("aspirin")} \format{ A data frame with 7 observations on the following 4 variables. \describe{ \item{\code{dp}}{number of deaths after placebo.} \item{\code{tp}}{total number subjects treated with placebo.} \item{\code{da}}{number of deaths after Aspirin.} \item{\code{ta}}{total number of subjects treated with Aspirin.} } } \details{ The data were collected for a meta-analysis of the effectiveness of Aspirin (versus placebo) in preventing death after a myocardial infarction. } \source{ J. L. Fleiss (1993), The statistical basis of meta-analysis. \emph{Statistical Methods in Medical Research} \bold{2}, 121--145. } \examples{ data("aspirin", package = "HSAUR3") aspirin } \keyword{datasets} HSAUR3/man/rearrests.Rd0000644000176200001440000000175514172224352014305 0ustar liggesusers\name{rearrests} \alias{rearrests} \docType{data} \title{ Rearrests of Juvenile Felons } \description{ Rearrests of juventile felons by type of court in which they were tried. } \usage{data("rearrests")} \format{ A two-way classification, see \code{\link{table}}. } \details{ The data (taken from Agresti, 1996) arise from a sample of juveniles convicted of felony in Florida in 1987. Matched pairs were formed using criteria such as age and the number of previous offences. For each pair, one subject was handled in the juvenile court and the other was transferred to the adult court. Whether or not the juvenile was rearrested by the end of 1988 was then noted. Here the question of interest is whether the true proportions rearrested were identical for the adult and juvenile court assignments? } \source{ A. Agresti (1996). \emph{An Introduction to Categorical Data Analysis}. Wiley, New York. } \examples{ data("rearrests", package = "HSAUR3") rearrests } \keyword{datasets} HSAUR3/man/voting.Rd0000644000176200001440000000177514172224352013603 0ustar liggesusers\name{voting} \alias{voting} \docType{data} \title{ House of Representatives Voting Data } \description{ Voting results for 15 congressmen from New Jersey. } \usage{data("voting")} \format{ A 15 times 15 matrix. } \details{ Romesburg (1984) gives a set of data that shows the number of times 15 congressmen from New Jersey voted differently in the House of Representatives on 19 environmental bills. Abstentions are not recorded. } \source{ H. C. Romesburg (1984), \emph{Cluster Analysis for Researchers}. Lifetime Learning Publications, Belmont, Canada. } \examples{ data("voting", package = "HSAUR3") require("MASS") voting_mds <- isoMDS(voting) plot(voting_mds$points[,1], voting_mds$points[,2], type = "n", xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(voting_mds$points[,1])*1.2) text(voting_mds$points[,1], voting_mds$points[,2], labels = colnames(voting)) voting_sh <- Shepard(voting[lower.tri(voting)], voting_mds$points) } \keyword{datasets} HSAUR3/man/suicides.Rd0000644000176200001440000000120614172224352014072 0ustar liggesusers\name{suicides} \alias{suicides} \docType{data} \title{ Crowd Baiting Behaviour and Suicides } \description{ Data from a study carried out to investigate the causes of jeering or baiting behaviour by a crowd when a person is threatening to commit suicide by jumping from a high building. } \usage{data("suicides")} \format{ A two-way classification, see \code{\link{table}}. } \source{ L. Mann (1981), The baiting crowd in episodes of threatened suicide. \emph{Journal of Personality and Social Psychology}, \bold{41}, 703--709. } \examples{ data("suicides", package = "HSAUR3") mosaicplot(suicides) } \keyword{datasets} HSAUR3/man/skulls.Rd0000644000176200001440000000306314172224352013602 0ustar liggesusers\name{skulls} \alias{skulls} \docType{data} \title{ Egyptian Skulls } \description{ Measurements made on Egyptian skulls from five epochs. } \usage{data("skulls")} \format{ A data frame with 150 observations on the following 5 variables. \describe{ \item{\code{epoch}}{the epoch the skull as assigned to, a factor with levels \code{c4000BC} \code{c3300BC}, \code{c1850BC}, \code{c200BC}, and \code{cAD150}, where the years are only given approximately, of course.} \item{\code{mb}}{maximum breaths of the skull.} \item{\code{bh}}{basibregmatic heights of the skull.} \item{\code{bl}}{basialiveolar length of the skull.} \item{\code{nh}}{nasal heights of the skull.} } } \details{ The question is whether the measurements change over time. Non-constant measurements of the skulls over time would indicate interbreeding with immigrant populations. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("skulls", package = "HSAUR3") means <- tapply(1:nrow(skulls), skulls$epoch, function(i) apply(skulls[i,colnames(skulls)[-1]], 2, mean)) means <- matrix(unlist(means), nrow = length(means), byrow = TRUE) colnames(means) <- colnames(skulls)[-1] rownames(means) <- levels(skulls$epoch) pairs(means, panel = function(x, y) { text(x, y, levels(skulls$epoch)) }) } \keyword{datasets} HSAUR3/man/smoking.Rd0000644000176200001440000000410614231245414013731 0ustar liggesusers\name{smoking} \alias{smoking} \docType{data} \title{ Nicotine Gum and Smoking Cessation } \description{ Data from a meta-analysis on nicotine gum and smoking cessation } \usage{data("smoking")} \format{ A data frame with 26 observations (studies) on the following 4 variables. \describe{ \item{\code{qt}}{the number of treated subjetcs who stopped smoking.} \item{\code{tt}}{the totla number of treated subjects.} \item{\code{qc}}{the number of subjetcs who stopped smoking without being treated.} \item{\code{tc}}{the total number of subject not being treated.} } } \details{ Cigarette smoking is the leading cause of preventable death in the United States and kills more Americans than AIDS, alcohol, illegal drug use, car accidents, fires, murders and suicides combined. It has been estimated that 430,000 Americans die from smoking every year. Fighting tobacco use is, consequently, one of the major public health goals of our time and there are now many programs available designed to help smokers quit. One of the major aids used in these programs is nicotine chewing gum, which acts as a substitute oral activity and provides a source of nicotine that reduces the withdrawal symptoms experienced when smoking is stopped. But separate randomized clinical trials of nicotine gum have been largely inconclusive, leading Silagy (2003) to consider combining the results studies found from an extensive literature search. The results of these trials in terms of numbers of people in the treatment arm and the control arm who stopped smoking for at least 6 months after treatment are given here. } \source{ C. Silagy (2003), Nicotine replacement therapy for smoking cessation (Cochrane Review). \emph{The Cochrane Library}, \bold{4}, John Wiley & Sons, Chichester. } \examples{ data("smoking", package = "HSAUR3") boxplot(smoking$qt/smoking$tt, smoking$qc/smoking$tc, names = c("Treated", "Control"), ylab = "Percent Quitters") } \keyword{datasets} HSAUR3/man/planets.Rd0000644000176200001440000000243014172224352013730 0ustar liggesusers\name{planets} \alias{planets} \docType{data} \title{ Exoplanets Data } \description{ Data on planets outside the Solar System. } \usage{data("planets")} \format{ A data frame with 101 observations from 101 exoplanets on the following 3 variables. \describe{ \item{mass}{Jupiter mass of the planet.} \item{period}{period in earth days.} \item{eccen}{the radial eccentricity of the planet.} } } \details{ From the properties of the exoplanets found up to now it appears that the theory of planetary development constructed for the planets of the Solar System may need to be reformulated. The exoplanets are not at all like the nine local planets that we know so well. A first step in the process of understanding the exoplanets might be to try to classify them with respect to their known properties. } \source{ M. Mayor and P. Frei (2003). \emph{New Worlds in the Cosmos: The Discovery of Exoplanets}. Cambridge University Press, Cambridge, UK. } \examples{ data("planets", package = "HSAUR3") require("scatterplot3d") scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen), type = "h", highlight.3d = TRUE, angle = 55, scale.y = 0.7, pch = 16) } \keyword{datasets} HSAUR3/man/bladdercancer.Rd0000644000176200001440000000206214231245352015033 0ustar liggesusers\name{bladdercancer} \alias{bladdercancer} \docType{data} \title{ Bladder Cancer Data } \description{ Data arise from 31 male patients who have been treated for superficial bladder cancer, and give the number of recurrent tumours during a particular time after the removal of the primary tumour, along with the size of the original tumour. } \usage{data("bladdercancer")} \format{ A data frame with 31 observations on the following 3 variables. \describe{ \item{\code{time}}{the duration.} \item{\code{tumorsize}}{a factor with levels \code{<=3cm} and \code{>3cm}.} \item{\code{number}}{number of recurrent tumours.} } } \details{ The aim is the estimate the effect of size of tumour on the number of recurrent tumours. } \source{ G. U. H. Seeber (1998), Poisson Regression. In: \emph{Encyclopedia of Biostatistics} (P. Armitage and T. Colton, eds), John Wiley & Sons, Chichester. } \examples{ data("bladdercancer", package = "HSAUR3") mosaicplot(xtabs(~ number + tumorsize, data = bladdercancer)) } \keyword{datasets} HSAUR3/man/BCG.Rd0000644000176200001440000000541014172224352012656 0ustar liggesusers\name{BCG} \alias{BCG} \docType{data} \title{ BCG Vaccine Data } \description{ A meta-analysis on the efficacy of BCG vaccination against tuberculosis (TB). } \usage{data("BCG")} \format{ A data frame with 13 observations on the following 7 variables. \describe{ \item{\code{Study}}{an identifier of the study.} \item{\code{BCGTB}}{the number of subjects suffering from TB after a BCG vaccination.} \item{\code{BCGVacc}}{the number of subjects with BCG vaccination.} \item{\code{NoVaccTB}}{the number of subjects suffering from TB without BCG vaccination.} \item{\code{NoVacc}}{the total number of subjects without BCG vaccination.} \item{\code{Latitude}}{geographic position of the place the study was undertaken.} \item{\code{Year}}{the year the study was undertaken.} } } \details{ Bacille Calmette Guerin (BCG) is the most widely used vaccination in the world. Developed in the 1930s and made of a live, weakened strain of Mycobacterium bovis, the BCG is the only vaccination available against tuberculosis today. Colditz et al. (1994) report data from 13 clinical trials of BCG vaccine each investigating its efficacy in the treatment of tuberculosis. The number of subjects suffering from TB with or without BCG vaccination are given here. In addition, the data contains the values of two other variables for each study, namely, the geographic latitude of the place where the study was undertaken and the year of publication. These two variables will be used to investigate and perhaps explain any heterogeneity among the studies. } \source{ G. A. Colditz, T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg and F. Mosteller (1994), Efficacy of BCG vaccine in the prevention of tuberculosis. Meta-analysis of the published literature. \emph{Journal of the American Medical Association}, \bold{271}(2), 698--702. } \examples{ data("BCG", package = "HSAUR3") ### sort studies w.r.t. sample size BCG <- BCG[order(rowSums(BCG[,2:5])),] ### to long format BCGlong <- with(BCG, data.frame(Freq = c(BCGTB, BCGVacc - BCGTB, NoVaccTB, NoVacc - NoVaccTB), infected = rep(rep(factor(c("yes", "no")), rep(nrow(BCG), 2)), 2), vaccined = rep(factor(c("yes", "no")), rep(nrow(BCG) * 2, 2)), study = rep(factor(Study, levels = as.character(Study)), 4))) ### doubledecker plot library("vcd") doubledecker(xtabs(Freq ~ study + vaccined + infected, data = BCGlong)) } \keyword{datasets} HSAUR3/man/polyps3.Rd0000644000176200001440000000274614231245376013712 0ustar liggesusers\name{polyps3} \alias{polyps3} \docType{data} \title{ Familial Andenomatous Polyposis } \description{ Data from a placebo-controlled trial of a non-steroidal anti-inflammatory drug in the treatment of familial andenomatous polyposis (FAP). } \usage{data("polyps3")} \format{ A data frame with 22 observations on the following 5 variables. \describe{ \item{\code{gender}}{a factor with levels \code{female} and \code{male}.} \item{\code{treatment}}{a factor with levels \code{placebo} and \code{active}.} \item{\code{baseline}}{the baseline number of polyps.} \item{\code{age}}{the age of the patient.} \item{\code{number3m}}{the number of polyps after three month.} } } \details{ The data arise from the same study as the \code{\link{polyps}} data. Here, the number of polyps after three months are given. } \source{ F. M. Giardiello, S. R. Hamilton, A. J. Krush, S. Piantadosi, L. M. Hylind, P. Celano, S. V. Booker, C. R. Robinson and G. J. A. Offerhaus (1993), Treatment of colonic and rectal adenomas with sulindac in familial adenomatous polyposis. \emph{New England Journal of Medicine}, \bold{328}(18), 1313--1316. S. Piantadosi (1997), \emph{Clinical Trials: A Methodologic Perspective}. John Wiley & Sons, New York. } \examples{ data("polyps3", package = "HSAUR3") plot(number3m ~ age, data = polyps3, pch = as.numeric(polyps3$treatment)) legend("topright", legend = levels(polyps3$treatment), pch = 1:2, bty = "n") } \keyword{datasets} HSAUR3/man/CYGOB1.Rd0000644000176200001440000000222314172224352013206 0ustar liggesusers\name{CYGOB1} \alias{CYGOB1} \docType{data} \title{ CYG OB1 Star Cluster Data } \description{ Energy output and surface termperature for Star Cluster CYG OB1. } \usage{data("CYGOB1")} \format{ A data frame with 47 observations on the following 2 variables. \describe{ \item{\code{logst}}{log survface termperature of the star.} \item{\code{logli}}{log light intensity of the star.} } } \details{ The Hertzsprung-Russell (H-R) diagram forms the basis of the theory of stellar evolution. The diagram is essentially a plot of the energy output of stars plotted against their surface temperature. Data from the H-R diagram of Star Cluster CYG OB1, calibrated according to VanismaGreve1972 are given here. } \source{ F. Vanisma and J. P. De Greve (1972), Close binary systems before and after mass transfer. \emph{Astrophysics and Space Science}, \bold{87}, 377--401. D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("CYGOB1", package = "HSAUR3") plot(logst ~ logli, data = CYGOB1) } \keyword{datasets} HSAUR3/man/Lanza.Rd0000644000176200001440000000474614172224352013343 0ustar liggesusers\name{Lanza} \alias{Lanza} \docType{data} \title{ Prevention of Gastointestinal Damages } \description{ Data from four randomised clinical trials on the prevention of gastointestinal damages by Misoprostol reported by Lanza et al. (1987, 1988a,b, 1989). } \usage{data("Lanza")} \format{ A data frame with 198 observations on the following 3 variables. \describe{ \item{\code{study}}{a factor with levels \code{I}, \code{II}, \code{III}, and \code{IV} describing the study number.} \item{\code{treatment}}{a factor with levels \code{Misoprostol} \code{Placebo}} \item{\code{classification}}{an ordered factor with levels \code{1} < \code{2} < \code{3} < \code{4} < \code{5} describing an ordered response variable.} } } \details{ The response variable is defined by the number of haemorrhages or erosions. } \source{ F. L. Lanza (1987), A double-blind study of prophylactic effect of misoprostol on lesions of gastric and duodenal mucosa induced by oral administration of tolmetin in healthy subjects. \emph{British Journal of Clinical Practice}, May suppl, 91--101. F. L. Lanza, R. L. Aspinall, E. A. Swabb, R. E. Davis, M. F. Rack, A. Rubin (1988a), Double-blind, placebo-controlled endoscopic comparison of the mucosal protective effects of misoprostol versus cimetidine on tolmetin-induced mucosal injury to the stomach and duodenum. \emph{Gastroenterology}, \bold{95}(2), 289--294. F. L. Lanza, K. Peace, L. Gustitus, M. F. Rack, B. Dickson (1988b), A blinded endoscopic comparative study of misoprostol versus sucralfate and placebo in the prevention of aspirin-induced gastric and duodenal ulceration. \emph{American Journal of Gastroenterology}, \bold{83}(2), 143--146. F. L. Lanza, D. Fakouhi, A. Rubin, R. E. Davis, M. F. Rack, C. Nissen, S. Geis (1989), A double-blind placebo-controlled comparison of the efficacy and safety of 50, 100, and 200 micrograms of misoprostol QID in the prevention of ibuprofen-induced gastric and duodenal mucosal lesions and symptoms. \emph{American Journal of Gastroenterology}, \bold{84}(6), 633--636. } \examples{ data("Lanza", package = "HSAUR3") layout(matrix(1:4, nrow = 2)) pl <- tapply(1:nrow(Lanza), Lanza$study, function(indx) mosaicplot(table(Lanza[indx,"treatment"], Lanza[indx,"classification"]), main = "", shade = TRUE)) } \keyword{datasets} HSAUR3/man/mastectomy.Rd0000644000176200001440000000163614172224352014456 0ustar liggesusers\name{mastectomy} \alias{mastectomy} \docType{data} \title{ Survival Times after Mastectomy of Breast Cancer Patients } \description{ Survival times in months after mastectomy of women with breast cancer. The cancers are classified as having metastized or not based on a histochemical marker. } \usage{data("mastectomy")} \format{ A data frame with 42 observations on the following 3 variables. \describe{ \item{time}{survival times in months.} \item{event}{a logical indicating if the event was observed (\code{TRUE}) or if the survival time was censored (\code{FALSE}).} \item{metastasized}{a factor at levels \code{yes} and \code{no}.} } } \source{ B. S. Everitt and S. Rabe-Hesketh (2001), \emph{Analysing Medical Data using S-PLUS}, Springer, New York, USA. } \examples{ data("mastectomy", package = "HSAUR3") table(mastectomy$metastasized) } \keyword{datasets} HSAUR3/man/USairpollution.Rd0000644000176200001440000000244714172224352015263 0ustar liggesusers\name{USairpollution} \alias{USairpollution} \docType{data} \title{ Air Pollution in US Cities } \description{ Air pollution data of 41 US cities. } \usage{data("USairpollution")} \format{ A data frame with 41 observations on the following 7 variables. \describe{ \item{\code{SO2}}{SO2 content of air in micrograms per cubic metre.} \item{\code{temp}}{average annual temperature in Fahrenheit.} \item{\code{manu}}{number of manufacturing enterprises employing 20 or more workers.} \item{\code{popul}}{population size (1970 census); in thousands.} \item{\code{wind}}{average annual wind speed in miles per hour.} \item{\code{precip}}{average annual precipitation in inches.} \item{\code{predays}}{average number of days with precipitation per year.} } } \details{ The annual mean concentration of sulphur dioxide, in micrograms per cubic metre, is a measure of the air pollution of the city. The question of interest here is what aspects of climate and human ecology as measured by the other six variables in the data determine pollution? } \source{ R. R. Sokal and F. J. Rohlf (1981), \emph{Biometry}, W. H. Freeman, San Francisco (2nd edition). } \examples{ data("USairpollution", package = "HSAUR3") } \keyword{datasets} HSAUR3/man/waves.Rd0000644000176200001440000000245714172224352013420 0ustar liggesusers\name{waves} \alias{waves} \docType{data} \title{ Electricity from Wave Power at Sea } \description{ Measurements of root mean square bending moment by two different mooring methods. } \usage{data("waves")} \format{ A data frame with 18 observations on the following 2 variables. \describe{ \item{method1}{Root mean square bending moment in Newton metres, mooring method 1} \item{method2}{Root mean square bending moment in Newton metres, mooring method 2} } } \details{ In a design study for a device to generate electricity from wave power at sea, experiments were carried out on scale models in a wave tank to establish how the choice of mooring method for the system affected the bending stress produced in part of the device. The wave tank could simulate a wide range of sea states and the model system was subjected to the same sample of sea states with each of two mooring methods, one of which was considerably cheaper than the other. The question of interest is whether bending stress differs for the two mooring methods. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("waves", package = "HSAUR3") plot(method1 ~ method2, data = waves) } \keyword{datasets} HSAUR3/man/USmelanoma.Rd0000644000176200001440000000221614172224352014325 0ustar liggesusers\name{USmelanoma} \alias{USmelanoma} \docType{data} \title{ USA Malignant Melanoma Data } \description{ USA mortality rates for white males due to malignant melanoma 1950-1969. } \usage{data("USmelanoma")} \format{ A data frame with 48 observations on the following 5 variables. \describe{ \item{\code{mortality}}{number of white males died due to malignant melanoma 1950-1969 per one million inhabitants.} \item{\code{latitude}}{latitude of the geographic centre of the state.} \item{\code{longitude}}{longitude of the geographic centre of each state.} \item{\code{ocean}}{a binary variable indicating contiguity to an ocean at levels \code{no} or \code{yes}.} } } \details{ Fisher and van Belle (1993) report mortality rates due to malignant melanoma of the skin for white males during the period 1950-1969, for each state on the US mainland. Questions of interest about these data include how do the mortality rates compare for ocean and non-ocean states? } \source{ Fisher and van Belle (1993) } \examples{ data("USmelanoma", package = "HSAUR3") } \keyword{datasets} HSAUR3/man/foster.Rd0000644000176200001440000000212314172224352013563 0ustar liggesusers\name{foster} \alias{foster} \docType{data} \title{ Foster Feeding Experiment } \description{ The data are from a foster feeding experiment with rat mothers and litters of four different genotypes. The measurement is the litter weight after a trial feeding period. } \usage{data("foster")} \format{ A data frame with 61 observations on the following 3 variables. \describe{ \item{\code{litgen}}{genotype of the litter, a factor with levels \code{A}, \code{B}, \code{I}, and \code{J}.} \item{\code{motgen}}{genotype of the mother, a factor with levels \code{A}, \code{B}, \code{I}, and \code{J}.} \item{\code{weight}}{the weight of the litter after a feeding period.} } } \details{ Here the interest lies in uncovering the effect of genotype of mother and litter on litter weight. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("foster", package = "HSAUR3") plot.design(foster) } \keyword{datasets} HSAUR3/man/pottery.Rd0000644000176200001440000000206214172224352013771 0ustar liggesusers\name{pottery} \alias{pottery} \docType{data} \title{ Romano-British Pottery Data } \description{ Chemical composition of Romano-British pottery. } \usage{data("pottery")} \format{ A data frame with 45 observations on the following 9 chemicals. \describe{ \item{Al2O3}{aluminium trioxide.} \item{Fe2O3}{iron trioxide.} \item{MgO}{magnesium oxide.} \item{CaO}{calcium oxide.} \item{Na2O}{natrium oxide.} \item{K2O}{calium oxide.} \item{TiO2}{titanium oxide.} \item{MnO}{mangan oxide.} \item{BaO}{barium oxide.} \item{kiln}{site at which the pottery was found.} } } \details{ The data gives the chemical composition of specimens of Romano-British pottery, determined by atomic absorption spectrophotometry, for nine oxides. } \source{ A. Tubb and N. J. Parker and G. Nickless (1980), The analysis of Romano-British pottery by atomic absorption spectrophotometry. \emph{Archaeometry}, \bold{22}, 153--171. } \examples{ data("pottery", package = "HSAUR3") plot(pottery) } \keyword{datasets} HSAUR3/man/heptathlon.Rd0000644000176200001440000000361414172224352014435 0ustar liggesusers\name{heptathlon} \alias{heptathlon} \docType{data} \title{ Olympic Heptathlon Seoul 1988 } \description{ Results of the olympic heptathlon competition, Seoul, 1988. } \usage{data("heptathlon")} \format{ A data frame with 25 observations on the following 8 variables. \describe{ \item{\code{hurdles}}{results 100m hurdles.} \item{\code{highjump}}{results high jump.} \item{\code{shot}}{results shot.} \item{\code{run200m}}{results 200m race.} \item{\code{longjump}}{results long jump.} \item{\code{javelin}}{results javelin.} \item{\code{run800m}}{results 800m race.} \item{\code{score}}{total score.} } } \details{ The first combined Olympic event for women was the pentathlon, first held in Germany in 1928. Initially this consisted of the shot putt, long jump, 100m, high jump and javelin events held over two days. The pentathlon was first introduced into the Olympic Games in 1964, when it consisted of the 80m hurdles, shot, high jump, long jump and 200m. In 1977 the 200m was replaced by the 800m and from 1981 the IAAF brought in the seven-event heptathlon in place of the pentathlon, with day one containing the events-100m hurdles, shot, high jump, 200m and day two, the long jump, javelin and 800m. A scoring system is used to assign points to the results from each event and the winner is the woman who accumulates the most points over the two days. The event made its first Olympic appearance in 1984. In the 1988 Olympics held in Seoul, the heptathlon was won by one of the stars of women's athletics in the USA, Jackie Joyner-Kersee. The results for all 25 competitors are given here. } \source{ D. J. Hand, F. Daly, A. D. Lunn, K. J. McConway and E. Ostrowski (1994). \emph{A Handbook of Small Datasets}, Chapman and Hall/CRC, London. } \examples{ data("heptathlon", package = "HSAUR3") plot(heptathlon) } \keyword{datasets} HSAUR3/man/phosphate.Rd0000644000176200001440000000205214172224352014255 0ustar liggesusers\name{phosphate} \alias{phosphate} \docType{data} \title{ Phosphate Level Data } \description{ Plasma inorganic phosphate levels from 33 subjects. } \usage{data("phosphate")} \format{ A data frame with 33 observations on the following 9 variables. \describe{ \item{\code{group}}{a factor with levels \code{control} and \code{obese}.} \item{\code{t0}}{baseline phosphate level}, \item{\code{t0.5}}{phosphate level after 1/2 an hour.} \item{\code{t1}}{phosphate level after one an hour.} \item{\code{t1.5}}{phosphate level after 1 1/2 hours.} \item{\code{t2}}{phosphate level after two hours.} \item{\code{t3}}{phosphate level after three hours.} \item{\code{t4}}{phosphate level after four hours.} \item{\code{t5}}{phosphate level after five hours.} } } \source{ C. S. Davis (2002), \emph{Statistical Methods for the Analysis of Repeated Measurements}, Springer, New York. } \examples{ data("phosphate", package = "HSAUR3") plot(t0 ~ group, data = phosphate) } \keyword{datasets} HSAUR3/man/backpain.Rd0000644000176200001440000000322514172224352014035 0ustar liggesusers\name{backpain} \alias{backpain} \docType{data} \title{ Driving and Back Pain Data} \description{ A case-control study to investigate whether driving a car is a risk factor for low back pain resulting from acute herniated lumbar intervertebral discs (AHLID). } \usage{data("backpain")} \format{ A data frame with 434 observations on the following 4 variables. \describe{ \item{\code{ID}}{a factor which identifies matched pairs.} \item{\code{status}}{a factor with levels \code{case} and \code{control}.} \item{\code{driver}}{a factor with levels \code{no} and \code{yes}.} \item{\code{suburban}}{a factor with levels \code{no} and \code{yes} indicating a suburban resident.} } } \details{ These data arise from a study reported in Kelsey and Hardy (1975) which was designed to investigate whether driving a car is a risk factor for low back pain resulting from acute herniated lumbar intervertebral discs (AHLID). A case-control study was used with cases selected from people who had recently had X-rays taken of the lower back and had been diagnosed as having AHLID. The controls were taken from patients admitted to the same hospital as a case with a condition unrelated to the spine. Further matching was made on age and sex and a total of 217 matched pairs were recruited, consisting of 89 female pairs and 128 male pairs. } \source{ Jennifer L. Kelsey and Robert J. Hardy (1975), Driving of Motor Vehicles as a Risk Factor for Acute Herniated Lumbar Intervertebral Disc. \emph{American Journal of Epidemiology}, \bold{102}(1), 63--73. } \examples{ data("backpain", package = "HSAUR3") summary(backpain) } \keyword{datasets} HSAUR3/man/schooldays.Rd0000644000176200001440000000346014172224352014436 0ustar liggesusers\name{schooldays} \alias{schooldays} \docType{data} \title{ Days not Spent at School } \description{ Data from a sociological study, the number of days absent from school is the response variable. } \usage{data("schooldays")} \format{ A data frame with 154 observations on the following 5 variables. \describe{ \item{\code{race}}{race of the child, a factor with levels \code{aboriginal} and \code{non-aboriginal}.} \item{\code{gender}}{the gender of the child, a factor with levels \code{female} and \code{male}.} \item{\code{school}}{the school type, a factor with levels \code{F0} (primary), \code{F1} (first), \code{F2} (second) and \code{F3} (third form).} \item{\code{learner}}{how good is the child in learning things, a factor with levels \code{average} and \code{slow}.} \item{\code{absent}}{number of days absent from school.} } } \details{ The data arise from a sociological study of Australian Aboriginal and white children reported by Quine (1975). In this study, children of both sexes from four age groups (final grade in primary schools and first, second and third form in secondary school) and from two cultural groups were used. The children in age group were classified as slow or average learners. The response variable was the number of days absent from school during the school year. (Children who had suffered a serious illness during the years were excluded.) } \source{ S. Quine (1975), Achievement Orientation of Aboriginal and White Adolescents. Doctoral Dissertation, Australian National University, Canberra. } \examples{ data("schooldays", package = "HSAUR3") plot.design(schooldays) } \keyword{datasets} HSAUR3/man/UStemp.Rd0000644000176200001440000000102614172224352013477 0ustar liggesusers\name{UStemp} \alias{UStemp} \docType{data} \title{ Temperatures in 22 US cities } \description{ Lowest temperatures in Fahrenheit in 22 US cities in four months. } \usage{data(UStemp)} \format{ A data frame with 22 observations on the following 4 variables. \describe{ \item{\code{January}}{lowest temperature in Fahrenheit} \item{\code{April}}{lowest temperature in Fahrenheit} \item{\code{July}}{lowest temperature in Fahrenheit} \item{\code{October}}{lowest temperature in Fahrenheit} } } \keyword{datasets} HSAUR3/man/household.Rd0000644000176200001440000000202514172224352014254 0ustar liggesusers\name{household} \alias{household} \docType{data} \title{ Household Expenditure Data } \description{ Survey data on household expenditure on four commodity groups. } \usage{data("household")} \format{ A data frame with 40 observations on the following 5 variables. \describe{ \item{\code{housing}}{expenditure on housing, including fuel and light.} \item{\code{food}}{expenditure on foodstuffs, including alcohol and tobacco.} \item{\code{goods}}{expenditure on other goods, including clothing, footwear and durable goods.} \item{\code{service}}{expenditure on services, including transport and vehicles.} \item{\code{gender}}{a factor with levels \code{female} and \code{male}} } } \details{ The data are part of a data set collected from a survey of household expenditure and give the expenditure of 20 single men and 20 single women on four commodity groups. The units of expenditure are Hong Kong dollars, } \source{ FIXME } \examples{ data("household", package = "HSAUR3") } \keyword{datasets} HSAUR3/man/GHQ.Rd0000644000176200001440000000237614172224352012712 0ustar liggesusers\name{GHQ} \alias{GHQ} \docType{data} \title{ General Health Questionnaire } \description{ Data from an psychiatric screening questionnaire } \usage{data("GHQ")} \format{ A data frame with 22 observations on the following 4 variables. \describe{ \item{\code{GHQ}}{the General Health Questionnaire score.} \item{\code{gender}}{a factor with levels \code{female} and \code{male}} \item{\code{cases}}{the number of diseased subjects.} \item{\code{non.cases}}{the number of healthy subjects.} } } \details{ The data arise from a study of a psychiatric screening questionnaire called the GHQ (General Health Questionnaire, see Goldberg, 1972). Here the main question of interest is to see how caseness is related to gender and GHQ score. } \source{ D. Goldberg (1972). \emph{The Detection of Psychiatric Illness by Questionnaire}, Oxford University Press, Oxford, UK. } \examples{ data("GHQ", package = "HSAUR3") male <- subset(GHQ, gender == "male") female <- subset(GHQ, gender == "female") layout(matrix(1:2, ncol = 2)) barplot(t(as.matrix(male[,c("cases", "non.cases")])), main = "Male", xlab = "GHC score") barplot(t(as.matrix(male[,c("cases", "non.cases")])), main = "Female", xlab = "GHC score") } \keyword{datasets} HSAUR3/man/suicides2.Rd0000644000176200001440000000157514172224352014165 0ustar liggesusers\name{suicides2} \alias{suicides2} \docType{data} \title{ Male Suicides Data } \description{ Number of suicides in different age groups and countries. } \usage{data("suicides2")} \format{ A data frame with 15 observations on the following 5 variables. \describe{ \item{\code{A25.34}}{number of suicides (per 100000 males) between 25 and 34 years old.} \item{\code{A35.44}}{number of suicides (per 100000 males) between 35 and 44 years old.} \item{\code{A45.54}}{number of suicides (per 100000 males) between 45 and 54 years old.} \item{\code{A55.64}}{number of suicides (per 100000 males) between 55 and 64 years old.} \item{\code{A65.74}}{number of suicides (per 100000 males) between 65 and 74 years old.} } } \details{ Each of the numbers gives the number of suicides per 100000 male inhabitants of the countries given by the row names. } \keyword{datasets} HSAUR3/man/HSAURtable.Rd0000644000176200001440000000414714172224352014163 0ustar liggesusers\name{HSAURtable} \alias{HSAURtable} \alias{toLatex.tabtab} \alias{toLatex.dftab} \alias{HSAURtable.table} \alias{HSAURtable.data.frame} \title{ Produce LaTeX Tables } \description{ Generate \code{longtable} LaTeX environments. } \usage{ HSAURtable(object, ...) \method{HSAURtable}{table}(object, xname = deparse(substitute(object)), pkg = NULL, ...) \method{HSAURtable}{data.frame}(object, xname = deparse(substitute(object)), pkg = NULL, nrows = NULL, ...) \method{toLatex}{tabtab}(object, caption = NULL, label = NULL, topcaption = TRUE, index = TRUE, ...) \method{toLatex}{dftab}(object, pcol = 1, caption = NULL, label = NULL, rownames = FALSE, topcaption = TRUE, index = TRUE, ...) } \arguments{ \item{object}{ an object of \code{table} or \code{data.frame}. } \item{xname}{ the name of the object. } \item{pkg}{ the package \code{object} comes from, optionally. } \item{nrows}{ the number of rows actually printed for a \code{data.frame}.} \item{caption}{ the (optional) caption of the table without label. } \item{label}{ the (optional) label to be defined for this table. } \item{pcol}{ the number of parallel columns. } \item{rownames}{ logical, should the rownames be printed in the first row without column name? } \item{topcaption}{ logical, should the captions be placed on top (default) of the table?} \item{index}{ logical, should an index entry be generated?} \item{\dots}{ additional arguments, currently ignored. } } \details{ Based on the data in \code{object}, an object from which a Latex table (in a \code{longtable} environment) may be constructed (via \code{\link[utils]{toLatex}}) is generated. } \value{ An object of class \code{tabtab} or \code{dftab} for which \code{\link[utils]{toLatex}} methods are available. \code{toLatex} produces objects of class \code{Latex}, a character vector, essentially. } \examples{ data("rearrests", package = "HSAUR3") toLatex(HSAURtable(rearrests), caption = "Rearrests of juvenile felons.", label = "rearrests_tab") } \keyword{misc} HSAUR3/man/Smoking_Wassink1945.Rd0000644000176200001440000000143414172224352015716 0ustar liggesusers\name{Smoking_Wassink1945} \alias{Smoking_Wassink1945} \docType{data} \title{ Smoking and Lung Cancer (III) } \description{ Number of smokers in a case-control study. } \usage{data(Smoking_Wassink1945)} \format{ The format is: table [1:4, 1:2] 6 18 36 74 19 36 25 20 - attr(*, "dimnames")=List of 2 ..$ Smoking : chr [1:4] "Nonsmoker" "Moderate smoker" "Heavy smoker" "Very heavy smoker" ..$ Diagnosis: chr [1:2] "Lung cancer" "Healthy control" } \source{ W. F. Wassink (1945), Ontstaansvoorwaarden voor Longkanker, \emph{Nederlands Tijdschrift voor Geneeskunde}, \bold{92}, 3732--3747 } \references{ Richard Doll (1998), Uncovering the effects of smoking: historical perspective. \emph{Statistical Methods in Medical Research}, \bold{7}(87), 87-117 } \keyword{datasets} HSAUR3/DESCRIPTION0000644000176200001440000000336214416446712012742 0ustar liggesusersPackage: HSAUR3 Title: A Handbook of Statistical Analyses Using R (3rd Edition) Date: 2023-04-14 Version: 1.0-14 Author: Torsten Hothorn and Brian S. Everitt Maintainer: Torsten Hothorn Description: Functions, data sets, analyses and examples from the third edition of the book ''A Handbook of Statistical Analyses Using R'' (Torsten Hothorn and Brian S. Everitt, Chapman & Hall/CRC, 2014). The first chapter of the book, which is entitled ''An Introduction to R'', is completely included in this package, for all other chapters, a vignette containing all data analyses is available. In addition, Sweave source code for slides of selected chapters is included in this package (see HSAUR3/inst/slides). The publishers web page is ''. Depends: R (>= 3.0.0), tools Suggests: boot (>= 1.3-9), lattice (>= 0.20-23), MASS (>= 7.3-29), mgcv (>= 1.7-27), rpart (>= 4.1-4), survival (>= 2.37-4), ape (>= 3.0-11), coin (>= 1.1-3), flexmix (>= 2.3-11), Formula (>= 1.1-1), gamair (>= 0.0.8), gamlss.data (>= 4.2.6), gee (>= 4.13-18), KernSmooth (>= 2.23-10), lme4 (>= 1.0-5), maps (>= 2.3-6), mboost (>= 2.2-3), mclust (>= 4.2), mlbench (>= 2.1-1), mice (>= 2.18), multcomp (>= 1.3-1), mvtnorm (>= 0.9-9996), partykit (>= 0.8-0), quantreg (>= 5.05), randomForest (>= 4.6-7), rmeta (>= 2.16), sandwich (>= 2.3-0), scatterplot3d (>= 0.3-34), sf (>= 1.0-9), sp (>= 1.0-14), TH.data (>= 1.0-2), vcd (>= 1.3-1), wordcloud (>= 2.4), HSAUR2 LazyData: yes License: GPL-2 Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-04-14 16:29:28 UTC; hothorn Repository: CRAN Date/Publication: 2023-04-15 07:10:02 UTC HSAUR3/build/0000755000176200001440000000000014416277543012333 5ustar liggesusersHSAUR3/build/vignette.rds0000644000176200001440000000223514416277543014674 0ustar liggesusersVo6Wm/u֏ک)&@ VbSieG'Rew,x(&l2E~u|Nb|䂯2+IF49;\ z>qXe&R oȆ*$/]HJi*[] #3 g2͒El3Αqпa%1'M/5M_QN%p_Bd4[ʰ3~u4uO]Z + 5*-b³Q5u&=DP@61dq+P|ՔLtuh b3T ! ҫ>YGO֏Cm=3[hv,$e|NⰣAF:;wN^'qIJtN:C ;:n$t38X'q-A'$, ;w9|d/vN“_hn;Ldz].ЬIWs|2~`F>>!?2y1y4 F66yEȋw`&2Ѫyybѳ?`^^]3]Qځ7;vmF,E} Mpg*ޠ -spF)j2۷Zs! |aN5W>E2o /TB},tݺa4t5Jv:Rb{e1WЛoXzS7DŽAֶ&1nSR1gswc9 b^F:;>Q &d=kj-\)'X=~yE$XIAqCO6CL/˓S^?wOhIylC;h_C<: conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Cluster Analysis} %%\VignetteDepends{scatterplot3d,mclust,mvtnorm,lattice} \setcounter{chapter}{20} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} <>= library("mclust") library("mvtnorm") mai <- par("mai") options(SweaveHooks = list(rmai = function() { par(mai = mai * c(1,1,1,2))})) data("pottery", package = "HSAUR3") @ \chapter[Cluster Analysis]{Cluster Analysis: Classifying Romano-British Pottery and Exoplanets \label{CA}} \section{Introduction} \section{Cluster Analysis} \section{Analysis Using \R{}} \subsection{Classifying Romano-British Pottery} We start our analysis with computing the dissimilarity matrix containing the Euclidean distance of the chemical measurements on all $\Sexpr{nrow(pottery)}$ pots. The resulting $\Sexpr{nrow(pottery)} \times \Sexpr{nrow(pottery)}$ matrix can be inspected by an \stress{image plot}, here obtained from \index{Image plot} function \Rcmd{levelplot} available in package \Rpackage{lattice} \citep{PKG:lattice, HSAUR:Sarkar2008}. Such a plot associates each cell of the dissimilarity matrix with a color or a gray value. We choose a very dark grey for cells with distance zero (i.e., the diagonal elements of the dissimilarity matrix) and pale values for cells with greater Euclidean distance. Figure~\ref{CA-pottery-distplot} leads to the impression that there are at least three distinct groups with small inter-cluster differences (the dark rectangles) whereas much larger distances can be observed for all other cells. \begin{figure} \begin{center} <>= pottery_dist <- dist(pottery[, colnames(pottery) != "kiln"]) library("lattice") levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number") @ <>= trellis.par.set(standard.theme(color = FALSE)) plot(levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number")) @ \caption{Image plot of the dissimilarity matrix of the \Robject{pottery} data. \label{CA-pottery-distplot}} \end{center} \end{figure} We now construct three series of partitions using single, complete, and average linkage hierarchical clustering as introduced in Subsections~\ref{CA:HC} and \ref{CA:diss}. The function \Rcmd{hclust} performs all three procedures based on the dissimilarity matrix of the data; its \Rcmd{method} argument is used to specify how the distance between two clusters is assessed. The corresponding \Rcmd{plot} method draws a dendrogram; the code and results are given in Figure~\ref{CA-pottery-hclust}. Again, all three dendrograms lead to the impression that three clusters fit the data best (although this judgement is very informal). \begin{figure} \begin{center} <>= pottery_single <- hclust(pottery_dist, method = "single") pottery_complete <- hclust(pottery_dist, method = "complete") pottery_average <- hclust(pottery_dist, method = "average") layout(matrix(1:3, ncol = 3)) plot(pottery_single, main = "Single Linkage", sub = "", xlab = "") plot(pottery_complete, main = "Complete Linkage", sub = "", xlab = "") plot(pottery_average, main = "Average Linkage", sub = "", xlab = "") @ \caption{Hierarchical clustering of \Robject{pottery} data and resulting dendrograms. \label{CA-pottery-hclust}} \end{center} \end{figure} From the \Robject{pottery\_average} object representing the average linkage hierarchical clustering, we derive the three-cluster solution by cutting the dendrogram at a height of four (which, based on the right display in Figure~\ref{CA-pottery-hclust} leads to a partition of the data into three groups). Our interest is now a comparison with the kiln sites at which the pottery was found. <>= pottery_cluster <- cutree(pottery_average, h = 4) xtabs(~ pottery_cluster + kiln, data = pottery) @ The contingency table shows that cluster 1 contains all pots found at kiln site number one, cluster 2 contains all pots from kiln sites number two and three, and cluster three collects the ten pots from kiln sites four and five. In fact, the five kiln sites are from three different regions defined by one, two and three, and four and five, so the clusters actually correspond to pots from three different regions. \subsection{Classifying Exoplanets} \begin{figure} \begin{center} <>= data("planets", package = "HSAUR3") library("scatterplot3d") scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, pch = 16, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, scale.y = 0.7, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") @ \caption{3D scatterplot of the logarithms of the three variables available for each of the exoplanets. \label{CA-planets-scatter}} \end{center} \end{figure} \begin{figure} \begin{center} <>= rge <- apply(planets, 2, max) - apply(planets, 2, min) planet.dat <- sweep(planets, 2, rge, FUN = "/") n <- nrow(planet.dat) wss <- rep(0, 10) wss[1] <- (n - 1) * sum(apply(planet.dat, 2, var)) for (i in 2:10) wss[i] <- sum(kmeans(planet.dat, centers = i)$withinss) plot(1:10, wss, type = "b", xlab = "Number of groups", ylab = "Within groups sum of squares") @ \caption{Within-cluster sum of squares for different numbers of clusters for the exoplanet data. \label{CA-planets-ss}} \end{center} \end{figure} Sadly Figure~\ref{CA-planets-ss} gives no completely convincing verdict on the number of groups we should consider, but using a little imagination `little elbows' can be spotted at the three and five group solutions. %%' We can find the number of planets in each group using <>= planet_kmeans3 <- kmeans(planet.dat, centers = 3) table(planet_kmeans3$cluster) @ The centers of the clusters for the untransformed data can be computed using a small convenience function <>= ccent <- function(cl) { f <- function(i) colMeans(planets[cl == i,]) x <- sapply(sort(unique(cl)), f) colnames(x) <- sort(unique(cl)) return(x) } @ which, applied to the three-cluster solution obtained by $k$-means gets <>= ccent(planet_kmeans3$cluster) @ @ for the three-cluster solution and, for the five cluster solution using <>= planet_kmeans5 <- kmeans(planet.dat, centers = 5) table(planet_kmeans5$cluster) ccent(planet_kmeans5$cluster) @ \subsection{Model-based Clustering in \R{}} We now proceed to apply model-based clustering to the \Robject{planets} data. \R{} functions for model-based clustering are available in package \Rpackage{mclust} \citep{PKG:mclust,HSAUR:FraleyRaftery2002}. Here we use the \Rcmd{Mclust} function since this selects both the most appropriate model for the data \stress{and} the optimal number of groups based on the values of the BIC computed over several models and a range of values for number of groups. The necessary code is: <>= library("mclust") planet_mclust <- Mclust(planet.dat) @ and we first examine a plot of BIC values using the \R{} code that is displayed on top of Figure~\ref{CA-mclust1}. In this diagram the different plotting symbols refer to different model assumptions about the shape of clusters: \begin{description} \item[EII] spherical, equal volume, \item[VII] spherical, unequal volume, \item[EEI] diagonal, equal volume and shape, \item[VEI] diagonal, varying volume, equal shape, \item[EVI] diagonal, equal volume, varying shape, \item[VVI] diagonal, varying volume and shape, \item[EEE] ellipsoidal, equal volume, shape, and orientation, \item[EEV] ellipsoidal, equal volume and equal shape, \item[VEV] ellipsoidal, equal shape, \item[VVV] ellipsoidal, varying volume, shape, and orientation \end{description} \begin{figure} \begin{center} <>= plot(planet_mclust, planet.dat, what = "BIC", col = "black", ylab = "-BIC", ylim = c(0, 350)) @ \caption{Plot of BIC values for a variety of models and a range of number of clusters. \label{CA-mclust1}} \end{center} \end{figure} The BIC selects model VVI (diagonal varying volume and varying shape) with three clusters as the best solution as can be seen from the \Rcmd{print} output: <>= print(planet_mclust) @ This solution can be shown graphically as a scatterplot matrix. The plot is shown in Figure~\ref{CA-planets-mclust-scatter}. Figure~\ref{CA-planets-mclust-scatterclust} depicts the clustering solution in the three-dimensional space. \begin{figure} \begin{center} <>= clPairs(planet.dat, classification = planet_mclust$classification, symbols = 1:3, col = "black") @ \caption{Scatterplot matrix of planets data showing a three-cluster solution from \Rcmd{Mclust}. \label{CA-planets-mclust-scatter}} \end{center} \end{figure} \begin{figure} \begin{center} <>= scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, scale.y = 0.7, pch = planet_mclust$classification, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") @ \caption{3D scatterplot of planets data showing a three-cluster solution from \Rcmd{Mclust}. \label{CA-planets-mclust-scatterclust}} \end{center} \end{figure} The number of planets in each cluster and the mean vectors of the three clusters for the untransformed data can now be inspected by using <>= table(planet_mclust$classification) ccent(planet_mclust$classification) @ Cluster 1 consists of planets about the same size as Jupiter with very short periods and eccentricities (similar to the first cluster of the $k$-means solution). Cluster 2 consists of slightly larger planets with moderate periods and large eccentricities, and cluster 3 contains the very large planets with very large periods. These two clusters do not match those found by the $k$-means approach. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_analysing_longitudinal_dataII.Rnw0000644000176200001440000005336314416236367022330 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analyzing Longitudinal Data II} %%\VignetteDepends{gee,lme4} \setcounter{chapter}{13} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= options(digits = 3) if (!interactive()) { print.summary.gee <- function (x, digits = NULL, quote = FALSE, prefix = "", ...) { if (is.null(digits)) digits <- options()$digits else options(digits = digits) cat("...") cat("\nModel:\n") cat(" Link: ", x$model$link, "\n") cat(" Variance to Mean Relation:", x$model$varfun, "\n") if (!is.null(x$model$M)) cat(" Correlation Structure: ", x$model$corstr, ", M =", x$model$M, "\n") else cat(" Correlation Structure: ", x$model$corstr, "\n") cat("\n...") nas <- x$nas if (!is.null(nas) && any(nas)) cat("\n\nCoefficients: (", sum(nas), " not defined because of singularities)\n", sep = "") else cat("\n\nCoefficients:\n") print(x$coefficients, digits = digits) cat("\nEstimated Scale Parameter: ", format(round(x$scale, digits))) cat("\n...\n") invisible(x) } } @ \chapter[Analyzing Longitudinal Data II]{ Analyzing Longitudinal Data II -- Generalized Estimation Equations and Linear Mixed Effect Models: Treating Respiratory Illness and Epileptic Seizures \label{ALDII}} \section{Introduction} \section{Methods for Non-normal Distributions} \section{Analysis Using \R{}: GEE} \subsection{Beat the Blues Revisited} To use the \Rcmd{gee} function, package \Rpackage{gee} \citep{PKG:gee} has to be installed and attached: <>= library("gee") @ The \Rcmd{gee} function is used in a similar way to the \Rcmd{lme} function met in \Sexpr{ch("ALDI")} with the addition of the features of the \Rcmd{glm} function that specify the appropriate error distribution for the response and the implied link function, and an argument to specify the structure of the working correlation matrix. Here we will fit an independence structure and then an exchangeable structure. The \R{} code for fitting generalized estimation equations to the \Robject{BtheB\_long} data (as constructed in \Sexpr{ch("ALDI")}) with identity working correlation matrix is as follows (note that the \Rcmd{gee} function assumes the rows of the \Rclass{data.frame} \Robject{BtheB\_long} to be ordered with respect to subjects): <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) names(BtheB_long)[names(BtheB_long) == "treatment"] <- "trt" @ <>= osub <- order(as.integer(BtheB_long$subject)) BtheB_long <- BtheB_long[osub,] btb_gee <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "independence") @ and with exchangeable correlation matrix: <>= btb_gee1 <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "exchangeable") @ The \Rcmd{summary} method can be used to inspect the fitted models; the results are shown in Figures~\ref{ALDII-gee-summary} and \ref{ALDII-gee1-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{btb\_gee} model (slightly abbreviated). \label{ALDII-gee-summary}} \SchunkLabel <>= summary(btb_gee) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{btb\_gee1} model (slightly abbreviated). \label{ALDII-gee1-summary}} \SchunkLabel <>= summary(btb_gee1) @ \SchunkRaw \subsection{Respiratory Illness \label{ALDII:resp}} The baseline status, i.e., the status for \Robject{month == 0}, will enter the models as an explanatory variable and thus we have to rearrange the \Rclass{data.frame} \Robject{respiratory} in order to create a new variable \Robject{baseline}: <>= data("respiratory", package = "HSAUR3") resp <- subset(respiratory, month > "0") resp$baseline <- rep(subset(respiratory, month == "0")$status, rep(4, 111)) resp$nstat <- as.numeric(resp$status == "good") resp$month <- resp$month[, drop = TRUE] @ <>= names(resp)[names(resp) == "treatment"] <- "trt" levels(resp$trt)[2] <- "trt" @ The new variable \Robject{nstat} is simply a dummy coding for a poor respiratory status. Now we can use the data \Robject{resp} to fit a logistic regression model and GEE models with an independent and an exchangeable correlation structure as follows. <>= resp_glm <- glm(status ~ centre + trt + gender + baseline + age, data = resp, family = "binomial") resp_gee1 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) resp_gee2 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) @ \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_glm} model. \label{ALDII-resp-glm-summary}} \SchunkLabel <>= summary(resp_glm) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_gee1} model (slightly abbreviated). \label{ALDII-resp-gee1-summary}} \SchunkLabel <>= summary(resp_gee1) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_gee2} model (slightly abbreviated). \label{ALDII-resp-gee2-summary}} \SchunkLabel <>= summary(resp_gee2) @ \SchunkRaw The estimated treatment effect taken from the exchangeable structure GEE model is \Sexpr{round(coef(resp_gee2)["trttrt"], 3)} which, using the robust standard errors, has an associated $95\%$ confidence interval <>= se <- summary(resp_gee2)$coefficients["trttrt", "Robust S.E."] coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975) @ These values reflect effects on the log-odds scale. Interpretation becomes simpler if we exponentiate the values to get the effects in terms of odds. This gives a treatment effect of \Sexpr{round(exp(coef(resp_gee2)["trttrt"]), 3)} and a $95\%$ confidence interval of <>= exp(coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975)) @ The odds of achieving a `good' respiratory status with the active treatment is between %' about twice and seven times the corresponding odds for the placebo. \subsection{Epilepsy} Moving on to the count data in \Robject{epilepsy} from Table~\ref{ALDII-epilepsy-tab}, we begin by calculating the means and variances of the number of seizures for all interactions between treatment and period: <>= data("epilepsy", package = "HSAUR3") itp <- interaction(epilepsy$treatment, epilepsy$period) tapply(epilepsy$seizure.rate, itp, mean) tapply(epilepsy$seizure.rate, itp, var) @ Some of the variances are considerably larger than the corresponding means, which for a Poisson variable may suggest that overdispersion may be a problem, see \Sexpr{ch("GLM")}. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) ylim <- range(epilepsy$seizure.rate) placebo <- subset(epilepsy, treatment == "placebo") progabide <- subset(epilepsy, treatment == "Progabide") boxplot(seizure.rate ~ period, data = placebo, ylab = "Number of seizures", xlab = "Period", ylim = ylim, main = "Placebo") boxplot(seizure.rate ~ period, data = progabide, main = "Progabide", ylab = "Number of seizures", xlab = "Period", ylim = ylim) @ \caption{Boxplots of numbers of seizures in each two-week period post randomization for placebo and active treatments. \label{ALDII-plot1}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) ylim <- range(log(epilepsy$seizure.rate + 1)) boxplot(log(seizure.rate + 1) ~ period, data = placebo, main = "Placebo", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) boxplot(log(seizure.rate + 1) ~ period, data = progabide, main = "Progabide", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) @ \caption{Boxplots of log of numbers of seizures in each two-week period post randomization for placebo and active treatments. \label{ALDII-plot2}} \end{center} \end{figure} We can now fit a Poisson regression model to the data assuming independence using the \Rcmd{glm} function. We also use the GEE approach to fit an independence structure, followed by an exchangeable structure using the following \R{} code: <>= per <- rep(log(2),nrow(epilepsy)) epilepsy$period <- as.numeric(epilepsy$period) names(epilepsy)[names(epilepsy) == "treatment"] <- "trt" fm <- seizure.rate ~ base + age + trt + offset(per) epilepsy_glm <- glm(fm, data = epilepsy, family = "poisson") epilepsy_gee1 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) epilepsy_gee2 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) epilepsy_gee3 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = FALSE, scale.value = 1) @ As usual we inspect the fitted models using the \Rcmd{summary} method, the results are given in Figures~\ref{ALDII-epilepsy-glm-summary}, \ref{ALDII-epilepsy-gee1-summary}, \ref{ALDII-epilepsy-gee2-summary}, and \ref{ALDII-epilepsy-gee3-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_glm} model. \label{ALDII-epilepsy-glm-summary}} \SchunkLabel <>= summary(epilepsy_glm) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee1} model (slightly abbreviated). \label{ALDII-epilepsy-gee1-summary}} \SchunkLabel <>= summary(epilepsy_gee1) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee2} model (slightly abbreviated). \label{ALDII-epilepsy-gee2-summary}} \SchunkLabel <>= summary(epilepsy_gee2) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee3} model (slightly abbreviated). \label{ALDII-epilepsy-gee3-summary}} \SchunkLabel <>= summary(epilepsy_gee3) @ \SchunkRaw \section{Analysis Using \R{}: Random Effects} As an example of using generalized mixed models for the analysis of longitudinal data with a non-normal response, the following logistic model will be fitted to the respiratory illness data \begin{eqnarray*} \text{logit}(\P(\text{status} = \text{good})) & = & \beta_0 + \beta_1 \text{treatment} + \beta_2 \text{time} + \beta_3 \text{gender} \\% & & + \beta_4 \text{age} + \beta_5 \text{centre} + \beta_6 \text{baseline} + u \end{eqnarray*} where $u$ is a subject-specific random effect. The necessary \R{} code for fitting the model using the \Rcmd{glmer} function from package \Rpackage{lme4} \citep{PKG:lme4,HSAUR:Bates2005} is: <>= library("lme4") resp_lmer <- glmer(status ~ baseline + month + trt + gender + age + centre + (1 | subject), family = binomial(), data = resp) exp(fixef(resp_lmer)) @ The significance of the effects as estimated by this random effects model and by the GEE model described in Section~\ref{ALDII:resp} is generally similar. But as expected from our previous discussion the estimated coefficients are substantially larger. While the estimated effect of treatment on a randomly sampled individual, given the set of observed covariates, is estimated by the marginal model using GEE to increase the log-odds of being disease free by $\Sexpr{round(coef(resp_gee2)["trttrt"], 3)}$, the corresponding estimate from the random effects model is $\Sexpr{round(fixef(resp_lmer)["trttrt"], 3)}$. These are not inconsistent results but reflect the fact that the models are estimating different parameters. The random effects estimate is conditional upon the patient's random effect, a quantity that is rarely known in practice. Were we to examine the log-odds of the average predicted probabilities with and without treatment (averaged over the random effects) this would give an estimate comparable to that estimated within the marginal model. <>= su <- summary(resp_lmer) if (!interactive()) { summary <- function(x) { cat("\n...\n") cat("Fixed effects:\n") lme4V <- packageDescription("lme4")$Version if (compareVersion("0.999999-2", lme4V) >= 0) { printCoefmat(su@coefs) } else { printCoefmat(su$coefficients) } cat("\n...\n") } } @ \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_lmer} model (abbreviated). \label{ALDII-resp-lmer-summary}} \SchunkLabel <>= summary(resp_lmer) @ \SchunkRaw \clearpage \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_graphical_display.Rnw0000644000176200001440000010244414416236367020031 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Data Analysis using Graphical Displays} %%\VignetteDepends{lattice, maps, sf, sp} \setcounter{chapter}{1} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} \chapter[Data Analysis Using Graphical Displays]{Data Analysis Using Graphical Displays: Malignant Melanoma in the US and Chinese Health and \\ Family Life \label{DAGD}} \section{Introduction} \section{Initial Data Analysis} \section{Analysis Using \R{}} \subsection{Malignant Melanoma} \index{Boxplot|(} \index{Histogram|(} \index{Scatterplot|(} We might begin to examine the malignant melanoma data in Table~\ref{DAGD-USmelanoma-tab} by constructing a histogram or boxplot for \stress{all} the mortality rates in Figure~\ref{DAGD-USmelanoma-histbox}. The \Rcmd{plot}, \Rcmd{hist} and \Rcmd{boxplot} functions have already been introduced in \Sexpr{ch("AItR")} and we want to produce a plot where both techniques are applied at once. The \Rcmd{layout} function organizes two independent plots on one plotting device, for example on top of each other. Using this relatively simple technique (more advanced methods will be introduced later) we have to make sure that the $x$-axis is the same in both graphs. This can be done by computing a plausible range of the data, later to be specified in a plot via the \Rcmd{xlim} argument: <>= xr <- range(USmelanoma$mortality) * c(0.9, 1.1) xr @ Now, plotting both the histogram and the boxplot requires setting up the plotting device with equal space for two independent plots on top of each other. Calling the \Rcmd{layout} function on a matrix with two cells in two rows, containing the numbers one and two, leads to such a partitioning. The \Rcmd{boxplot} function is called first on the mortality data and then the \Rcmd{hist} function, where the range of the $x$-axis in both plots is defined by $(\Sexpr{xr[1]}, \Sexpr{xr[2]})$. One tiny problem to solve is the size of the margins; their defaults are too large for such a plot. As with many other graphical parameters, one can adjust their value for a specific plot using function \Rcmd{par}. The \R{} code and the resulting display are given in Figure~\ref{DAGD-USmelanoma-histbox}. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 2)) par(mar = par("mar") * c(0.8, 1, 1, 1)) boxplot(USmelanoma$mortality, ylim = xr, horizontal = TRUE, xlab = "Mortality") hist(USmelanoma$mortality, xlim = xr, xlab = "", main = "", axes = FALSE, ylab = "") axis(1) @ \caption{Histogram (top) and boxplot (bottom) of malignant melanoma mortality rates. \label{DAGD-USmelanoma-histbox}} \end{center} \end{figure} Both the histogram and the boxplot in Figure~\ref{DAGD-USmelanoma-histbox} indicate a certain skewness of the mortality distribution. Looking at the characteristics of all the mortality rates is a useful beginning but for these data we might be more interested in comparing mortality rates for ocean and non-ocean states. So we might construct two histograms or two boxplots. Such a \stress{parallel boxplot}, visualizing the conditional distribution of a numeric variable in groups as given by a categorical variable, are easily computed using the \Rcmd{boxplot} function. The continuous response variable and the categorical independent variable are specified via a \Rclass{formula} as described in \Sexpr{ch("AItR")}. Figure~\ref{DAGD-USmelanoma-boxocean} shows such parallel boxplots, as by default produced the \Rcmd{plot} function for such data, for the mortality in ocean and non-ocean states and leads to the impression that the mortality is increased in east or west coast states compared to the rest of the country. \begin{figure} \begin{center} <>= plot(mortality ~ ocean, data = USmelanoma, xlab = "Contiguity to an ocean", ylab = "Mortality") @ \caption{Parallel boxplots of malignant melanoma mortality rates by contiguity to an ocean. \label{DAGD-USmelanoma-boxocean}} \end{center} \end{figure} Histograms are generally used for two purposes: counting and displaying the distribution of a variable; according to \cite{HSAUR:Wilkinson1992}, `they are effective for neither'. Histograms can often be misleading for displaying distributions because of their dependence on the number of classes chosen. An alternative is to formally estimate the density function of a variable and then plot the resulting estimate; details of density estimation are given in \Sexpr{ch("DE")} but for the ocean and non-ocean states the two density estimates can be produced and plotted as shown in Figure~\ref{DAGD-USmelanoma-dens} which supports the impression from Figure~\ref{DAGD-USmelanoma-boxocean}. For more details on such density estimates we refer to \Sexpr{ch("DE")}. \begin{figure} \begin{center} <>= dyes <- with(USmelanoma, density(mortality[ocean == "yes"])) dno <- with(USmelanoma, density(mortality[ocean == "no"])) plot(dyes, lty = 1, xlim = xr, main = "", ylim = c(0, 0.018), xlab = "Mortality") lines(dno, lty = 2) legend("topleft", lty = 1:2, legend = c("Coastal State", "Land State"), bty = "n") @ \caption{Estimated densities of malignant melanoma mortality rates by contiguity to an ocean. \label{DAGD-USmelanoma-dens}} \end{center} \end{figure} Now we might move on to look at how mortality rates are related to the geographic location of a state as represented by the latitude and longitude of the center of the state. Here the main graphic will be the scatterplot. The simple $xy$ scatterplot has been in use since at least the eighteenth century and has many virtues -- indeed according to \cite{HSAUR:Tufte1983}: \begin{quote} The relational graphic -- in its barest form the scatterplot and its variants -- is the greatest of all graphical designs. It links at least two variables, encouraging and even imploring the viewer to assess the possible causal relationship between the plotted variables. It confronts causal theories that $x$ causes $y$ with empirical evidence as to the actual relationship between $x$ and $y$. \end{quote} Let's begin with simple scatterplots of mortality rate against longitude %%' and mortality rate against latitude which can be produced by the code preceding Figure~\ref{DAGD-USmelanoma-xy}. Again, the \Rcmd{layout} function is used for partitioning the plotting device, now resulting in two side-by-side plots. The argument to \Rcmd{layout} is now a matrix with only one row but two columns containing the numbers one and two. In each cell, the \Rcmd{plot} function is called for producing a scatterplot of the variables given in the \Rclass{formula}. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) plot(mortality ~ longitude, data = USmelanoma, ylab = "Mortality", xlab = "Longitude") plot(mortality ~ latitude, data = USmelanoma, ylab = "Mortality", xlab = "Latitude") @ \caption{Scatterplot of malignant melanoma mortality rates by geographical location. \label{DAGD-USmelanoma-xy}} \end{center} \end{figure} Since mortality rate is clearly related only to latitude we can now produce scatterplots of mortality rate against latitude separately for ocean and non-ocean states. Instead of producing two displays, one can choose different plotting symbols for either states. This can be achieved by specifying a vector of integers or characters to the \Rcmd{pch}, where the $i$th element of this vector defines the plot symbol of the $i$th observation in the data to be plotted. For the sake of simplicity, we convert the \Robject{ocean} factor to an \Rclass{integer} vector containing the numbers one for land states and two for ocean states. As a consequence, land states can be identified by the dot symbol and ocean states by triangles. It is useful to add a legend to such a plot, most conveniently by using the \Rcmd{legend} function. This function takes three arguments: a string indicating the position of the legend in the plot, a character vector of labels to be printed and the corresponding plotting symbols (referred to by integers). In addition, the display of a bounding box is anticipated (\Rcmd{bty = "n"}). \begin{figure} \begin{center} <>= plot(mortality ~ latitude, data = USmelanoma, pch = (1:2)[ocean], ylab = "Mortality", xlab = "Latitude") legend("topright", legend = c("Land state", "Coast state"), pch = 1:2, bty = "n") @ \caption{Scatterplot of malignant melanoma mortality rates against latitude. \label{DAGD-USmelanoma-lat}} \end{center} \end{figure} The scatterplot in Figure~\ref{DAGD-USmelanoma-lat} highlights that the mortality is lowest in the northern land states. Coastal states show a higher mortality than land states at roughly the same latitude. The highest mortalities can be observed for the south coastal states with latitude less than $32^\circ$, say, that is <>= subset(USmelanoma, latitude < 32) @ Alternatively, we also may simply want to look at a color-coded map of the United States, where each state is plotted in a color that corresponds to its mortality rate. It is fairly simple to set-up such a plot using the \Rpackage{sp} family of packages \citep{PKG:sp}. We start with loading a map of the mainland states, basically a number of polygons: <>= library("sp") library("sf") library("maps") states <- map("state", plot = FALSE, fill = TRUE) @ It is of course important to match the mortality rates to the corresponding state. We therefore create unique names of the states in lower-case letters for both the polygons and the mortality data <>= IDs <- sapply(strsplit(states$names, ":"), function(x) x[1]) rownames(USmelanoma) <- tolower(rownames(USmelanoma)) @ Now we are ready to merge these two objects into a so-called \Rclass{SpatialPolygonsDataFrame} object. We first create a \Rclass{SpatialPolygons} object from the map in the correct reference system (WGS84, in our case) and then merge the polygons with the data <>= us1 <- merge(st_as_sf(states), USmelanoma) us2 <- as(us1, "Spatial") @ The resulting object \Robject{us2} can now be plotted using the \Rcmd{spplot} function, see Figure~\ref{DAGD-USmelanoma-long-lat}. The colors correspond to the mortality rate, as shown in the color legend to the right of the map. We see that darker grey values corresponding to higher mortality rates appear in the southern costal states, both on the east and the west coast in good agreement with our earlier results. \begin{figure} \begin{center} <>= spplot(us2, "mortality", col.regions = rev(grey.colors(100))) @ \caption{Map of the United States of America showing malignant melanoma mortality rates. \label{DAGD-USmelanoma-long-lat}} \end{center} \end{figure} Up to now we have primarily focused on the visualization of continuous variables. We now extend our focus to the visualization of categorical variables. \index{Boxplot|)} \index{Histogram|)} \index{Scatterplot|)} \subsection{Chinese Health and Family Life} \index{Barchart|(} \index{Spineplot|(} \index{Spinogram|(} One part of the questionnaire the Chinese Health and Family Life Survey focuses on is the self-reported health status. Two questions are interesting for us. The first one is `Generally speaking, do you consider the condition of your health to be excellent, good, fair, not good, or poor?'. The second question is `Generally speaking, in the past twelve months, how happy were you?'. The distribution of such variables is commonly visualized using barcharts where for each category the total or relative number of observations is displayed. Such a barchart can conveniently be produced by applying the \Rcmd{barplot} function to a tabulation of the data. The empirical density of the variable \Robject{R\_happy} is computed by the \Rcmd{xtabs} function for producing (contingency) tables; the resulting barchart is given in Figure~\ref{DAGD-CHFLS-happy}. \begin{figure} <>= barplot(xtabs(~ R_happy, data = CHFLS)) @ \caption{Bar chart of happiness. \label{DAGD-CHFLS-happy}} \end{figure} The visualization of two categorical variables could be done by conditional barcharts, i.e., barcharts of the first variable within the categories of the second variable. An attractive alternative for displaying such two-way tables are \stress{spineplots} \citep{HSAUR:Friendly1994,HSAUR:HofmannTheus2005,HSAUR:Chenetal2008}; the meaning of the name will become clear when looking at such a plot in Figure~\ref{DAGD-CHFLS-health_happy}. Before constructing such a plot, we produce a two-way table of the health status and self-reported happiness using the \Rcmd{xtabs} function: <>= xtabs(~ R_happy + R_health, data = CHFLS) @ <>= hh <- xtabs(~ R_health + R_happy, data = CHFLS) @ A \stress{spineplot} is a group of rectangles, each representing one cell in the two-way contingency table. The area of the rectangle is proportional with the number of observations in the cell. Here, we produce a mosaic plot of health status and happiness in Figure~\ref{DAGD-CHFLS-health_happy}. \begin{figure} <>= plot(R_happy ~ R_health, data = CHFLS, ylab = "Happiness", xlab = "Health") @ \caption{Spineplot of health status and happiness. \label{DAGD-CHFLS-health_happy}} \end{figure} Consider the right upper cell in Figure~\ref{DAGD-CHFLS-health_happy}, i.e., the $\Sexpr{hh["Excellent", "Very happy"]}$ very happy women with excellent health status. The width of the right-most bar corresponds to the frequency of women with excellent health status. The length of the top-right rectangle corresponds to the conditional frequency of very happy women given their health status is excellent. Multiplying these two quantities gives the area of this cell which corresponds to the frequency of women who are both very happy and enjoy an excellent health status. The conditional frequency of very happy women increases with increasing health status, whereas the conditional frequency of very unhappy or not too happy women decreases. When the association of a categorical and a continuous variable is of interest, say the monthly income and self-reported happiness, one might use parallel boxplots to visualize the distribution of the income depending on happiness. If we were studying self-reported happiness as response and income as independent variable, however, this would give a representation of the conditional distribution of income given happiness, but we are interested in the conditional distribution of happiness given income. One possibility to produce a more appropriate plot is called \stress{spinogram}. Here, the continuous $x$-variable is categorized first. Within each of these categories, the conditional frequencies of the response variable are given by stacked barcharts, in a way similar to spineplots. For happiness depending on log-income (since income is naturally skewed we use a log-transformation of the income) it seems that the proportion of unhappy and not too happy women decreases with increasing income whereas the proportion of very happy women stays rather constant. In contrast to spinograms, where bins, as in a histogram, are given on the $x$-axis, a \stress{conditional density plot} uses the original $x$-axis for a display of the conditional density of the categorical response given the independent variable. \begin{figure} <>= layout(matrix(1:2, ncol = 2)) plot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") cdplot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") @ \caption{Spinogram (left) and conditional density plot (right) of happiness depending on log-income. \label{DAGD-CHFLS-happy_income}} \end{figure} \index{Barchart|)} \index{Spineplot|)} \index{Spinogram|)} \index{Trellis plot|(} For our last example we return to scatterplots for inspecting the association between a woman's monthly income and the income of her partner. Both income variables have been computed and partially imputed from other self-reported variables and are only rough assessments of the real income. Moreover, the data itself is numeric but heavily tied, making it difficult to produce `correct' scatterplots because points will overlap. A relatively easy trick is to jitter the observation by adding a small random noise to each point in order to avoid overlapping plotting symbols. In addition, we want to study the relationship between both monthly incomes conditional on the woman's education. Such conditioning plots are called \stress{trellis} plots and are implemented in the package \Rpackage{lattice} \citep{PKG:lattice, HSAUR:Sarkar2008}. We utilize the \Rcmd{xyplot} function from package \Rpackage{lattice} to produce a scatterplot. The formula reads as already explained with the exception that a third \stress{conditioning} variable, \Robject{R\_edu} in our case, is present. For each level of education, a separate scatterplot will be produced. The plots are directly comparable since the axes remain the same for all plots. \begin{figure} <>= library("lattice") xyplot(jitter(log(R_income + 0.5)) ~ jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, pch = 19, col = rgb(.1, .1, .1, .1), ylab = "log(Wife's income + .5)", xlab = "log(Husband's income + .5)") @ <>= library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) xyplot(jitter(log(R_income + 0.5)) ~ jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, pch = 19, col = rgb(.1, .1, .1, .1), ylab = "log(Wife's income + .5)", xlab = "log(Husband's income + .5)") @ \caption{Scatterplot of jittered log-income of wife and husband, conditional on the wife's education. \label{DAGD-CHFLS-RAincome3}} \end{figure} The plot shown in Figure~\ref{DAGD-CHFLS-RAincome3} reveals several interesting issues. Some observations are positioned on a straight line with slope one, most probably an artifact of missing value imputation by linear models (as described in the data dictionary, see the documentation \texttt{?CHFLS}). Four constellations can be identified: both partners have zero income, the partner has no income, the woman has no income or both partners have a positive income. For couples where the woman has a university degree, the income of both partners is relatively high (except for two couples where only the woman has income). A small number of former junior college students live in relationships where only the man has income, the income of both partners seems only slightly positively correlated for the remaining couples. For lower levels of education, all four constellations are present. The frequency of couples where only the man has some income seems larger than the other way around. Ignoring the observations on the straight line, there is almost no association between the income of both partners. \index{Trellis plot|)} \section{Summary of Findings} Using relatively straightforward graphical techniques only on the two sets of data considered in this chapter we have been able to uncover a number of important features of each data set; \begin{description} \item[Melanoma mortality] Mortality is related only to the latitude of a state not to its longitude, mortality is higher for costal states than for land states, and the highest mortality is observed in the south costal states with latitude less than 32 degrees. \item[Health and family life] We saw that happiness depends on health status. Women reported to be very happy more often when they also reported a good or excellent health status. The dependency of happiness on the income of the women seems to be less clear, but we conclude that, conditional on education, the income of wives and their husbands is highly correlated. \end{description} \section{Final Comments} Producing publication-quality graphics is one of the major strengths of the \R{} system and almost anything is possible since graphics are programmable in \R{}. Naturally, this chapter can be only a very brief introduction to some commonly used displays and the reader is referred to specialized books, most important \cite{HSAUR:Murrell2005}, \cite{HSAUR:Sarkar2008}, and \cite{HSAUR:Chenetal2008}. Interactive 3D-graphics are available from package \Rpackage{rgl} \citep{PKG:rgl}. \section*{Exercises} \begin{description} \exercise The data in Table~\ref{DAGD-household-tab} are part of a data set collected from a survey of household expenditure and give the expenditure of $20$ single men and $20$ single women on four commodity groups. The units of expenditure are Hong Kong dollars, and the four commodity groups are \begin{description} \item[\Robject{housing}] housing, including fuel and light, \item[\Robject{food}] foodstuffs, including alcohol and tobacco, \item[\Robject{goods}] other goods, including clothing, footwear, and durable goods, \item[\Robject{service}] services, including transport and vehicles. \end{description} The aim of the survey was to investigate how the division of household expenditure between the four commodity groups depends on total expenditure and to find out whether this relationship differs for men and women. Use appropriate graphical methods to answer these questions and state your conclusions. <>= data("household", package = "HSAUR3") toLatex(HSAURtable(household), caption = paste("Household expenditure for single men and women."), label = "DAGD-household-tab") @ \exercise The data set shown in Table~\ref{DAGD-USstates-tab} contains values of seven variables for ten states in the US. The seven variables are \begin{description} \item[\Robject{Population}] population size divided by $1000$, \item[\Robject{Income}] average per capita income, \item[\Robject{Illiteracy}] illiteracy rate (\% population), \item[\Robject{Life.Expectancy}] life expectancy (years), \item[\Robject{Homicide}] homicide rate (per $1000$), \item[\Robject{Graduates}] percentage of high school graduates, \item[\Robject{Freezing}] average number of days per below freezing. \end{description} With these data \begin{enumerate} \item Construct a scatterplot matrix of the data labeling the points by state name (using function \Rcmd{text}). \item Construct a plot of life expectancy and homicide rate conditional on average per capita income. \end{enumerate} \begin{sidewaystable} \vspace*{12.5cm} \begin{center} <>= data("USstates", package = "HSAUR3") toLatex(HSAURtable(USstates), caption = paste("Socio-demographic variables for ten US states."), label = "DAGD-USstates-tab") @ \end{center} \end{sidewaystable} \exercise Mortality rates per $100,000$ from male suicides for a number of age groups and a number of countries are given in Table~\ref{DAGD-suicides2-tab}. Construct side-by-side box plots for the data from different age groups, and comment on what the graphic tells us about the data. <>= data("suicides2", package = "HSAUR3") toLatex(HSAURtable(suicides2), caption = paste("Mortality rates per $100,000$ from male suicides."), label = "DAGD-suicides2-tab", rownames = TRUE) @ \exercise \cite{HSAUR:FluryRiedwyl1988} report data that give various length measurements on $200$ Swiss bank notes. The data are available from package \Rpackage{mclust} \citep{PKG:mclust}; a sample of ten bank notes is given in Table~\ref{DAGD-banknote-tab}. <>= data("banknote", package = "mclust") banknote$Status <- NULL banknote <- banknote[c(1:5, 101:200),] toLatex(HSAURtable(banknote, pkg = "mclust", nrow = 10), caption = paste("Swiss bank note data."), label = "DAGD-banknote-tab", rownames = FALSE) @ Use whatever graphical techniques you think are appropriate to investigate whether there is any `pattern' or structure in the data. Do you observe something suspicious? \exercise The data in Table~\ref{DAGD-birds-tab} were originally derived from a study reported in \cite{HSAUR:Vuilleumier1970} which investigated numbers of bird species in isolated `islands' of paramo vegetation in the northern Andes. The aim of the study was to investigate how the number of species (\Robject{N}) is related to four other variables, \Robject{AR} (area of `island' in thousands of square km), \Robject{EL} (elevation in thousands of m), \Robject{Dec} (distance from Ecuador in km) and \Robject{DNI} (distance to the nearest `island' in km). Begin by constructing a scatterplot matrix of the data differentiating the islands on each panel by a different plotting symbol and on each diagonal panel showing the histogram of the associated variable. What can you conclude from this plot about how N is related to the other four variables? <>= data("birds", package = "HSAUR3") toLatex(HSAURtable(birds), caption = paste("Birds in paramo vegetation."), label = "DAGD-birds-tab", rownames = TRUE) @ \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_conditional_inference.Rnw0000644000176200001440000003731214416236367020674 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Conditional Inference} %%\VignetteDepends{coin} \setcounter{chapter}{3} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Conditional Inference]{Conditional Inference: Guessing Lengths, Suicides, Gastrointestinal Damage, and Newborn Infants \label{CI}} <>= data("roomwidth", package = "HSAUR3") nobs <- table(roomwidth$unit) ties <- tapply(roomwidth$width, roomwidth$unit, function(x) length(x) - length(unique(x))) library("coin") @ \section{Introduction} \section{Conditional Test Procedures} \section{Analysis Using \R{}} \subsection{Estimating the Width of a Room Revised} The unconditional analysis of the room width estimated by two groups of students in \Sexpr{ch("SI")} led to the conclusion that the estimates in meters are slightly larger than the estimates in feet. Here, we reanalyze these data in a conditional framework. First, we convert meters into feet and store the vector of observations in a variable \Robject{y}: <>= data("roomwidth", package = "HSAUR3") convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) feet <- roomwidth$unit == "feet" meter <- !feet y <- roomwidth$width * convert @ The test statistic is simply the difference in means <>= T <- mean(y[feet]) - mean(y[meter]) T @ In order to approximate the conditional distribution of the test statistic $T$ we compute $9999$ test statistics for shuffled $y$ values. A permutation of the $y$ vector can be obtained from the \Rcmd{sample} function. <>= meandiffs <- double(9999) for (i in 1:length(meandiffs)) { sy <- sample(y) meandiffs[i] <- mean(sy[feet]) - mean(sy[meter]) } @ \begin{figure} \begin{center} <>= hist(meandiffs) abline(v = T, lty = 2) abline(v = -T, lty = 2) @ \caption{An approximation for the conditional distribution of the difference of mean \Robject{roomwidth} estimates in the feet and meters group under the null hypothesis. The vertical lines show the negative and positive absolute value of the test statistic $T$ obtained from the original data. \label{CI:perm}} \end{center} \end{figure} The distribution of the test statistic $T$ under the null hypothesis of independence of room width estimates and groups is depicted in Figure~\ref{CI:perm}. Now, the value of the test statistic $T$ for the original unshuffled data can be compared with the distribution of $T$ under the null hypothesis (the vertical lines in Figure~\ref{CI:perm}). The $p$-value, i.e., the proportion of test statistics $T$ larger than \Sexpr{-round(T, 3)} or smaller than \Sexpr{round(T, 3)}, is <>= greater <- abs(meandiffs) > abs(T) mean(greater) @ with a confidence interval of <>= binom.test(sum(greater), length(greater))$conf.int @ Note that the approximated conditional $p$-value is roughly the same as the $p$-value reported by the $t$-test in \Sexpr{ch("SI")}. \renewcommand{\nextcaption}{\R{} output of the exact permutation test applied to the \Robject{roomwidth} data. \label{CI-roomwidth-p-fig}} \SchunkLabel <>= library("coin") independence_test(y ~ unit, data = roomwidth, distribution = exact()) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the exact conditional Wilcoxon rank sum test applied to the \Robject{roomwidth} data. \label{CI-roomwidth-w-fig}} \SchunkLabel <>= wilcox_test(y ~ unit, data = roomwidth, distribution = exact()) @ \SchunkRaw \subsection{Crowds and Threatened Suicide} \renewcommand{\nextcaption}{\R{} output of Fisher's exact test for the %' \Robject{suicides} data. \label{CI-suicides-fig}} \SchunkLabel <>= data("suicides", package = "HSAUR3") fisher.test(suicides) @ \SchunkRaw <>= ftp <- round(fisher.test(suicides)$p.value, 3) ctp <- round(chisq.test(suicides)$p.value, 3) @ \subsection{Gastrointestinal Damage} \label{CI:Lanza} Here we are interested in the comparison of two groups of patients, where one group received a placebo and the other one Misoprostol. In the trials shown here, the response variable is measured on an ordered scale -- see Table~\ref{CI:scores}. Data from four clinical studies are available and thus the observations are naturally grouped together. From the \Rclass{data.frame} \Robject{Lanza} we can construct a three-way table as follows: <>= data("Lanza", package = "HSAUR3") xtabs(~ treatment + classification + study, data = Lanza) @ <>= options(width = 65) @ For the first study, the null hypothesis of independence of treatment and gastrointestinal damage, i.e., of no treatment effect of Misoprostol, is tested by <>= library("coin") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "I") @ and, by default, the conditional distribution is approximated by the corresponding limiting distribution. The $p$-value indicates a strong treatment effect. For the second study, the asymptotic $p$-value is a little bit larger: <>= cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II") @ and we make sure that the implied decision is correct by calculating a confidence interval for the exact $p$-value: <>= p <- cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II", distribution = approximate(B = 19999)) pvalue(p) @ The third and fourth study indicate a strong treatment effect as well: <>= cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "III") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "IV") @ At the end, a separate analysis for each study is unsatisfactory. Because the design of the four studies is the same, we can use \Robject{study} as a block variable and perform a global linear-association test investigating the treatment effect of Misoprostol in all four studies. The block variable can be incorporated into the \Rclass{formula} by the \texttt{|} symbol. <>= cmh_test(classification ~ treatment | study, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30))) @ Based on this result, a strong treatment effect can be established. \subsection{Teratogenesis} \index{Teratogenesis} In this example, the medical doctor (MD) and the research assistant (RA) assessed the number of anomalies ($0, 1, 2$ or $3$) for each of $395$ babies: <>= anomalies <- c(235, 23, 3, 0, 41, 35, 8, 0, 20, 11, 11, 1, 2, 1, 3, 1) anomalies <- as.table(matrix(anomalies, ncol = 4, dimnames = list(MD = 0:3, RA = 0:3))) anomalies @ We are interested in testing whether the number of anomalies assessed by the medical doctor differs structurally from the number reported by the research assistant. Because we compare \stress{paired} observations, i.e., one pair of measurements for each newborn, a test of marginal homogeneity (a generalization of McNemar's test, \Sexpr{ch("SI")}) needs to be applied: %%' %\newpage <>= mh_test(anomalies) @ The $p$-value indicates a deviation from the null hypothesis. However, the levels of the response are not treated as ordered. Similar to the analysis of the gastrointestinal damage data above, we can take this information into account by the definition of an appropriate score. Here, the number of anomalies is a natural choice: <>= mh_test(anomalies, scores = list(response = c(0, 1, 2, 3))) @ In our case, one can conclude that the assessment of the number of anomalies differs between the medical doctor and the research assistant. %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/chapman.cls0000644000176200001440000007263314172224353015357 0ustar liggesusers% CHAPMAN.STY % v0.17 --- released 6th April 1993 % v0.16 --- released 11th November 1991 % v0.15 --- released 8th November 1991 % v0.14 --- first release 3rd November 1991 % % A LaTeX style file for Chapman and Hall books % Copyright 1993 Cambridge University Press %Modified Sept 1995 to work under Latex 2e % % based on the BOOK DOCUMENT STYLE -- Released 26 April 88 % for LaTeX version 2.09 % Copyright (C) 1988 by Leslie Lamport % \typeout{Document Style `chapman' v0.17 <6th April 1993>} % % Books use two-sided printing. % %\usepackage{times,mathtime}%for latex 2e user to use mathtimes font \@twosidetrue \@mparswitchtrue % % draft option % \def\ds@draft{\overfullrule 5pt} \@options % **************************************** % * FONTS * % **************************************** % \lineskip 1pt \normallineskip 1pt \def\baselinestretch{1} \def\normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 6pt plus 1pt minus 1pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3pt% \belowdisplayshortskip 3.25pt plus 1pt minus 1pt% \let\@listi\@listI} \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 5.5pt plus 2pt minus 2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus3pt% \belowdisplayshortskip 3.25pt plus 1pt minus 1pt% \def\@listi{\leftmargin\leftmargini \topsep 3pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt \itemsep \z@ plus 2pt}} \def\footnotesize{\@setsize\footnotesize{9pt}\viiipt\@viiipt \abovedisplayskip 5pt plus 2pt minus 2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus 1pt% \belowdisplayshortskip 3pt plus 1pt minus 2pt \def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt \itemsep \z@ plus 2pt}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{19pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{22pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} \normalsize % **************************************** % * PAGE LAYOUT * % **************************************** % % All margin dimensions measured from a point one inch from top and side % of page. % % SIDE MARGINS: % \oddsidemargin 6pc %5pc \evensidemargin 5.7pc %5pc \marginparwidth 4pc \marginparsep 1pc \topmargin 12pt %0pt \headheight 12pt \headsep 8pt \footskip 2pc % % DIMENSION OF TEXT: % \textheight = 45\baselineskip %\advance\textheight by \topskip \addtolength\textheight{3pt} \textwidth 28pc \addtolength\textwidth{.5pt} % \textheight = 43\baselineskip % %\advance\textheight by \topskip %\addtolength\textheight{3pt} % \textwidth 26pc %\addtolength\textwidth{.5pt} \columnsep 1pc \columnseprule 0pt % % FOOTNOTES % \footnotesep 6.65pt \skip\footins 12pt plus 3pt minus 1.5pt % % FLOATS % % FOR FLOATS ON A TEXT PAGE: % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \floatsep 12pt plus 2pt minus 2pt \textfloatsep 18pt plus 2pt minus 4pt \intextsep 12pt plus 2pt minus 2pt % TWO-COLUMN FLOATS IN TWO-COLUMN MODE: \dblfloatsep 12pt plus 2pt minus 2pt \dbltextfloatsep 18pt plus 2pt minus 4pt % % FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \@fptop 0pt plus 0fil \@fpsep 12pt plus 0fil \@fpbot 0pt plus 3fil % % DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. \@dblfptop 0pt plus 0fil \@dblfpsep 12pt plus 0fil \@dblfpbot 0pt plus 3fil % % MARGINAL NOTES: % \marginparpush 5pt % **************************************** % * PARAGRAPHING * % **************************************** % \parskip 0pt plus .25pt \parindent 1em \partopsep 2pt plus 1pt minus 1pt % % The following page-breaking penalties are defined % \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty -\@lowpenalty % \clubpenalty=0 % 'Club line' at bottom of page. \widowpenalty=10000 % 'Widow line' at top of page. % \displaywidowpenalty % Math display widow line. % \predisplaypenalty % Breaking before a math display. % \postdisplaypenalty % Breaking after a math display. % \interlinepenalty % Breaking at a line within a paragraph. % \brokenpenalty % Breaking after a hyphenated line. % \def\thin@rule{{\parindent0pt\par\rule{\textwidth}{0.5pt}\par}} \def\thick@rule{{\parindent0pt\par\rule{\textwidth}{1pt}\par}} % **************************************** % * CHAPTERS AND SECTIONS * % **************************************** % % DEFINE COUNTERS: % \newcounter{part} \newcounter{chapter} \newcounter{section}[chapter] \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thepart {\Roman{part}} \def\thechapter {\arabic{chapter}} \def\thesection {\thechapter.\arabic{section}} \def\thesubsection {\thesection.\arabic{subsection}} \def\thesubsubsection{\thesubsection .\arabic{subsubsection}} \def\theparagraph {\thesubsubsection.\arabic{paragraph}} \def\thesubparagraph {\theparagraph.\arabic{subparagraph}} \def\@chapapp{CHAPTER} % **************************************** % * PARTS * % **************************************** % \def\part{% \cleardoublepage \thispagestyle{empty}% \if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \secdef\@part\@spart } % % Heading for the \part command. % \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart \hspace{1em}#1}% \typeout{PART \number\c@part.}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% \vspace*{-17pt}% \vbox{\thin@rule\par \parindent 0pt \centering \vskip 17pt% \ifnum \c@secnumdepth >\m@ne \normalfont PART \thepart\par \else \normalfont \phantom{PART \thepart}\par \fi \vskip 17pt% \LARGE \bfseries #1\par \nobreak \addvspace{-4pt}% \thick@rule \vskip 25pt}% \@endpart } % % Heading for the \part* command. % \def\@spart#1{% \vspace*{-17pt}% \vbox{\thin@rule\par \parindent 0pt \centering \vskip 17pt% \normalfont\phantom{PART \thepart}\par \vskip 17pt% \LARGE \bfseries #1\par \nobreak \addvspace{-4pt}% \thick@rule \vskip 25pt}% \@endpart } % % \@endpart finishes the part page. % \def\@endpart{% \vfil\newpage \if@twoside \hbox{}% \thispagestyle{empty}% \newpage \fi \if@tempswa \twocolumn\fi } % **************************************** % * CHAPTERS * % **************************************** % % Chapter text macros % \newif\if@chptxt \newbox\@chptxtbox % \def\chaptertext{\global\@chptxttrue\global\setbox\@chptxtbox=\vbox\bgroup% \hsize=\textwidth\normalfont\small\noindent\ignorespaces} \def\endchaptertext{\egroup} % % Heading for the \chapter command. % \def\@makechapterhead#1{% \vspace*{-17pt}% \vbox{\thin@rule\par \parindent 0pt \centering \vskip 17pt% \ifnum \c@secnumdepth >\m@ne \normalfont \@chapapp{} \thechapter\par \else \normalfont \phantom{\@chapapp{} \thechapter}\par \fi \vskip 17pt% \LARGE \bfseries #1\par \nobreak \addvspace{-4pt}% \thick@rule \if@chptxt \addvspace{24pt plus 2pt}\unvbox\@chptxtbox \addvspace{6pt}\global\@chptxtfalse \else \vskip 23.5pt% \fi}% } % % Heading for the \chapter* command. % \def\@makeschapterhead#1{% \vspace*{-17pt}% \vbox{\thin@rule\par \parindent 0pt \centering \vskip 17pt% \normalfont\phantom{\@chapapp{} \thechapter}\par \vskip 17pt% \LARGE \bf #1\par \nobreak \addvspace{-4pt}% \thick@rule \if@chptxt \addvspace{24pt plus 2pt}\unvbox\@chptxtbox \addvspace{6pt}\global\@chptxtfalse \else \vskip 23.5pt% \fi}% } % % \secdef{UNSTARCMDS}{STARCMDS} : % \def\chapter{% \cleardoublepage \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter } % \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10pt}}% \addtocontents{lot}{\protect\addvspace{10pt}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}\@afterheading \fi } % \def\@schapter#1{% \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10pt}}% \addtocontents{lot}{\protect\addvspace{10pt}}% \thispagestyle{empty}% %% \if@nocntentry %% \else %% \addcontentsline{toc}{chapter}{#1}% %% \fi \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]% \else \@makeschapterhead{#1}\@afterheading \fi } % **************************************** % * SECTIONS * % **************************************** % % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} % optional * [ALTHEADING]{HEADING} % \def\section{\@startsection{section}{1}{\z@} {-1.5pc plus -1pt minus -2pt} {6pt plus 1pt} {\normalsize\bf\raggedright}} \def\subsection{\@startsection{subsection}{2}{\z@} {-1.5pc plus -1pt minus -2pt} {6pt plus 1pt} {\normalsize\it\raggedright}} \def\subsubsection{\@startsection{subsubsection}{3}{\z@} {-1.0pc plus -1pt minus -2pt} {6pt plus 1pt} {\normalsize\it\raggedright}} \def\paragraph{\@startsection{paragraph}{4}{\z@} {3.25pt plus 1pt minus .2pt} {-1em} {\normalsize\it}} \def\subparagraph{\@startsection{subparagraph}{4}{\parindent} {3.25pt plus 1pt minus.2pt} {-1em} {\normalsize\normalfont}} % % Default initializations of \...mark commands % \def\chaptermark#1{} \setcounter{secnumdepth}{2} % % APPENDIX % \def\appendix{\par \setcounter{chapter}{0} \setcounter{section}{0} \def\@chapapp{APPENDIX} \def\thechapter{\Alph{chapter}}} % **************************************** % * LISTS * % **************************************** % \leftmargini 1pc \leftmarginii 1pc \leftmarginiii 1pc \leftmarginiv 1pc \leftmarginv 1pc \leftmarginvi 1pc \leftmargin\leftmargini \labelsep 0.5em \labelwidth\leftmargini\advance\labelwidth-\labelsep \def\@listI{\leftmargin\leftmargini \parsep 3pt plus 1pt minus 1pt% \topsep 3pt plus 1pt minus 2pt% \itemsep \z@ plus 2pt} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 3pt plus 2pt minus 1pt \parsep 2pt plus 1pt minus 1pt \itemsep \z@ plus 2pt} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 3pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \z@ plus 2pt} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} % % ENUMERATE -- with optional argument to set left margin % % label macros for Range-Left and Range-Right labels \def\makeRLlabel#1{\rlap{#1}\hss} \def\makeRRlabel#1{\hss\llap{#1}} % \def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}% \fi \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% } \def\@enumeratetwo[#1]{% \list{\csname label\@enumctr\endcsname}% {\settowidth\labelwidth{[#1]} \leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{\@enumctr} \let\makelabel\makeRRlabel} } \def\@enumerateone{% \list{\csname label\@enumctr\endcsname}% {\usecounter{\@enumctr} \let\makelabel\makeRRlabel}} % \def\labelenumi{\theenumi} \def\theenumi{\arabic{enumi}.} \def\labelenumii{\theenumii} \def\theenumii{(\alph{enumii})} \def\p@enumii{\theenumi} \def\labelenumiii{\theenumiii} \def\theenumiii{\roman{enumiii}.} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\theenumiv} \def\theenumiv{\Alph{enumiv}.} \def\p@enumiv{\p@enumiii\theenumiii} % % ITEMIZE % \def\labelitemi{$\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\ast$} \def\labelitemiv{$\cdot$} % % VERSE % \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1em}\item[]} \let\endverse\endlist % % QUOTATION % \def\quotation{\list{}{\listparindent 1em \itemindent\listparindent \rightmargin\z@ \parsep 0pt plus 1pt}\item[]\small} \let\endquotation=\endlist % % QUOTE % \def\quote{\list{}{\rightmargin\z@}\item[]\small} \let\endquote=\endlist % % DESCRIPTION % \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist \newdimen\descriptionmargin \descriptionmargin=3em % **************************************** % * OTHER ENVIRONMENTS * % **************************************** % % PROOF \def\proof{\normalfont \trivlist \item[\hskip \labelsep{\itshape Proof.}]} \def\endproof{\hspace*{1em}{\begin{picture}(6.5,6.5)% \put(0,0){\framebox(6.5,6.5){}}\end{picture}}\endtrivlist} \@namedef{proof*}{\normalfont\trivlist \item[\hskip \labelsep{\itshape Proof.}]} \@namedef{endproof*}{\endtrivlist} \def\proofbox{\begin{picture}(6.5,6.5)% \put(0,0){\framebox(6.5,6.5){}}\end{picture}} % % ARRAY AND TABULAR % \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .5pt \doublerulesep 0pt % % TABBING % \tabbingsep \labelsep % % MINIPAGE % % \skip\@mpfootins : plays same role for footnotes in a minipage as % \skip\footins does for ordinary footnotes \skip\@mpfootins = \skip\footins \def\thempfootnote{\mbox{{$\fnsymbol{mpfootnote}$}}} % % FRAMEBOX % \fboxsep = 3pt \fboxrule = .5pt % **************************************** % * TABLE OF CONTENTS, ETC. * % **************************************** % \def\@pnumwidth{2.5em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5} \setcounter{tocdepth}{1} % % \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE} : % \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip \z@ plus .2pt {\leftskip #2\relax \rightskip \@tocrmarg plus2em% v.0.16 \parfillskip -\rightskip \parindent #2\relax \@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{}\hskip -\leftskip #4\nobreak % \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$} \hfill \nobreak \hbox to\@pnumwidth{\hfil\normalfont #5}\par}% \fi } % TABLEOFCONTENTS % \newif\if@nocntentry % \def\tableofcontents{\@restonecolfalse \if@twocolumn \@restonecoltrue\onecolumn \fi \@nocntentrytrue \chapter*{Contents}% \@nocntentryfalse % \@mkboth{Contents}{Contents}% \@starttoc{toc}% \if@restonecol\twocolumn\fi } \def\l@chapter#1#2{\pagebreak[3] \vskip 12pt plus 1pt \@tempdima 1.5em \begingroup \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip {\raggedright #1}\nobreak \hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par \endgroup} % \let\l@part=\l@chapter % \def\l@section {\@dottedtocline{1}{15.0pt}{22.5pt}} \def\l@subsection {\@dottedtocline{2}{37.5pt}{30.0pt}} \def\l@subsubsection{\@dottedtocline{3}{67.5pt}{20.0pt}} \def\l@paragraph {\@dottedtocline{4}{87.5pt}{20.0pt}} \def\l@subparagraph {\@dottedtocline{5}{107.5pt}{20.0pt}} % % The default width of TOC entries for sections in CHAPMAN.STY % will only cater for sections with numbers up to 10.9. Numbers larger % than this result in the section number leaving no space between the % number and the title. % % This can be fixed by placing the \widetocentries command before % the \tableofcontents command (but after the \documentstyle line). % \def\widetocentries{% \def\l@section {\@dottedtocline{1}{15.0pt}{27.5pt}}% \def\l@subsection {\@dottedtocline{2}{42.5pt}{40.0pt}}% \def\l@subsubsection{\@dottedtocline{3}{82.5pt}{20.0pt}}% \def\l@paragraph {\@dottedtocline{4}{102.5pt}{20.0pt}}% \def\l@subparagraph {\@dottedtocline{5}{120.5pt}{20.0pt}}% } % % LIST OF FIGURES % \def\listoffigures{\@restonecolfalse \if@twocolumn \@restonecoltrue\onecolumn \fi \chapter*{List of Figures} % \@mkboth{List of Figures}{List of Figures} \@starttoc{lof} \if@restonecol \twocolumn \fi } \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} % % LIST OF TABLES % \def\listoftables{\@restonecolfalse \if@twocolumn \@restonecoltrue \onecolumn \fi \chapter*{List of Tables} % \@mkboth{List of Tables}{List of Tables} \@starttoc{lot} \if@restonecol \twocolumn\fi } \let\l@table\l@figure % **************************************** % * BIBLIOGRAPHY * % **************************************** % \newcounter{dummy} % \def\thebibliography#1{% \chapter*{References} % \@mkboth{References}{References} \typeout{References.} \list{}{\labelwidth\z@ \leftmargin 1em \itemsep \z@ plus .1pt \itemindent-\leftmargin \usecounter{dummy}} \small \parindent\z@ \parskip\z@ plus .1pt\relax \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax } \let\endthebibliography=\endlist % \def\@biblabel#1{[#1]\hfill} % \def\@cite#1{[#1]} % **************************************** % * THE INDEX * % **************************************** % % The theindex, theauthorindex and thesubjectindex environment's % \newif\if@restonecol \newif\if@royalflag \def\theindex{\the@index{Index}} \def\endtheindex{\par\endthe@index} \def\theauthorindex{\the@index{Author index}} \def\endtheauthorindex{\par\endthe@index} \def\thesubjectindex{\the@index{Subject index}} \def\endthesubjectindex{\par\endthe@index} \def\the@index#1{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi \columnseprule \z@ \columnsep 1pc% %%\twocolumn[\vspace*{11pt}\@makeschapterhead{#1}]% \twocolumn[\vspace*{11pt}] \if@royalflag % If royal 1 or 2 is in use \chapter*{Index}% %%TH \@mkboth{#1}{#1}% \else \chapter*{Index}% %%TH \@mkboth{\uppercase{#1}}{\uppercase{#1}}% \fi \typeout{#1.}% %%TH \addcontentsline{toc}{chapter}{#1}% %%TH \thispagestyle{empty}% \parindent\z@ \parskip\z@ plus .3pt% \small\raggedright \relax \let\item\@idxitem } \def\endthe@index{\if@restonecol\onecolumn\else\clearpage\fi} \def\@idxitem{\par\hangindent 10pt} \def\subitem{\par\hangindent 20pt \hspace*{10pt}} \def\subsubitem{\par\hangindent 30pt \hspace*{20pt}} \def\indexspace{\par\vskip 16pt plus 2pt minus 2pt\relax} % **************************************** % * FOOTNOTES * % **************************************** % \newskip\@footindent \@footindent=1em \def\footnoterule{\kern-3\p@ \hrule width 0\columnwidth \kern 2.6\p@} \@addtoreset{footnote}{chapter} \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize \advance\@tempdima-\@footindent \parshape \@ne \@footindent \@tempdima}\par \noindent \hbox to \z@{\hss$^{\@thefnmark}$\ }#1} \renewcommand{\thefootnote}{\mbox{{$\fnsymbol{footnote}$}}} \def\@fnsymbol#1{\ifcase#1\or * \or \dagger\or \ddagger\or \S \or \P \or \|\or **\or \dagger\dagger \or \ddagger\ddagger \or \S\S \or \P\P \else\@ctrerr\fi\relax} % **************************************** % * FIGURES AND TABLES * % **************************************** % % Float placement parameters. % \setcounter{topnumber}{2} \def\topfraction{.9} \setcounter{bottomnumber}{2} \def\bottomfraction{.5} \setcounter{totalnumber}{4} \def\textfraction{.1} \def\floatpagefraction{.8} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.9} \def\dblfloatpagefraction{.8} % % \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. % %\long\def\@makecaption#1#2{% % \vskip 10pt% % \setbox\@tempboxa\hbox{\small \normalfont #1\enskip \itshape #2}% % \ifdim \wd\@tempboxa >\hsize % \small \normalfont #1\enskip \itshape #2\par % \else % \hbox to\hsize{\hfil\box\@tempboxa\hfil}% % \fi% %} \long\def\@makecaption#1#2{% \vskip 10pt% \setbox\@tempboxa\hbox{\small \normalfont #1\unskip\hskip10pt #2}% \ifdim \wd\@tempboxa >\hsize \small \normalfont \@hangfrom{#1\unskip\hskip10pt\ignorespaces}#2\par \else \hbox to\hsize{\hfil\box\@tempboxa\hfil}% \fi% } % % FIGURE % \newcounter{figure}[chapter] \def\thefigure{\thechapter.\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{{\bf Figure \thefigure}} \def\figure{\@float{figure}} \let\endfigure\end@float \@namedef{figure*}{\@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} % % TABLE % \newcounter{table}[chapter] \def\thetable{\thechapter.\@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{{\bf Table \thetable}} \def\table{\@float{table}} \let\endtable\end@float \@namedef{table*}{\@dblfloat{table}} \@namedef{endtable*}{\end@dblfloat} % **************************************** % * TITLE * % **************************************** % % TITLEPAGE % \def\titlepage{\@restonecolfalse \if@twocolumn \@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty} } \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} % \def\maketitle{\make@cornermarks\begin{titlepage} \let\footnotesize\small \let\footnoterule\relax \setcounter{page}{1} \null \vspace*{-17pt}% {\parindent 0pt \centering \par \LARGE \bfseries \@title \par \nobreak \vskip 0pt \thick@rule \vskip 25pt \par \large \normalfont \begin{tabular}[t]{c} \@author \end{tabular}\par } \vfill \@thanks \null \end{titlepage} \setcounter{footnote}{0} \let\thanks\relax \gdef\@thanks{} \gdef\@author{} \gdef\@title{} \let\maketitle\relax } % **************************************** % * PAGE STYLES * % **************************************** \def\cleardoublepage{% \clearpage \if@twoside \ifodd\c@page \else \hbox{}% \pagestyle{empty}% \newpage \if@twocolumn \hbox{}% \newpage\fi\fi\fi} \newdimen\htrim \newdimen\vtrimtop \newdimen\vtrimbot % \htrim.75in % \vtrimtop.8607in % \vtrimbot1.027in % \hoffset-.49in % \voffset-.63in%.04in \htrim4.42pc \vtrimtop6.26pc \vtrimbot6.37pc % \hoffset-5pt \voffset39pt %\fi \newsavebox\ul@box \newsavebox\ur@box \newsavebox\ll@box \newsavebox\lr@box \def\top@cornermarks{% \hskip-\htrim \vbox to 0\p@{\vskip-\vtrimtop\llap{\copy\ul@box}\vss}% \vbox to 0\p@{\vskip-\vtrimtop\rlap{\hskip\textwidth\hskip2\htrim\copy\ur@box}\vss}% \vbox to 0\p@{\vskip\textheight\vskip\vtrimbot\llap{\copy\ll@box}\vss}% \vbox to 0\p@{\vskip\textheight\vskip\vtrimbot\rlap{\hskip\textwidth\hskip2\htrim\copy\lr@box}\vss}% \hskip\htrim} \def\make@cornermarks{% \sbox\ul@box{\rule{18\p@}{.25\p@}\hskip8\p@\hbox to.25\p@{\vbox to26\p@{\noindent\rule{.25\p@}{18\p@}}}}% \sbox\ur@box{\hbox to.25\p@{\vbox to26\p@{\noindent\rule{.25\p@}{18\p@}}}\hskip8\p@\rule{18\p@}{.25\p@}}% \sbox\ll@box{\rule{18\p@}{.25\p@}\hskip8\p@\lower34\p@\hbox to.25\p@{\vbox to26\p@{\noindent\rule{.25\p@}{18\p@}}}}% \sbox\lr@box{\lower34\p@\hbox to.25\p@{\vbox to26\p@{\noindent\rule{.25\p@}{18\p@}}}\hskip8\p@\rule{18\p@}{.25\p@}}} \def\even@head{% \top@cornermarks \@the@page {%\RunningHeadFont \hfil {%\MakeUppercase \leftmark } }}%\hfil \def\odd@head{% \top@cornermarks {%\RunningHeadFont {%\MakeUppercase \rightmark } } \hfil \@the@page } \def\@the@page{{\thepage}} %\def\@the@page{{\PageNumFont\thepage}} \def\ps@empty{% \let\@mkboth\@gobbletwo \let\@oddhead\top@cornermarks \let\@evenhead\top@cornermarks \let\@oddfoot\@empty \let\@evenfoot\@empty } \def\ps@folio{% \let\@mkboth\@gobbletwo \let\@oddhead\top@cornermarks \def\@oddfoot{% \parindent\z@ \baselineskip7\p@ \hbox{% \textwidth\@ciprulewidth \vbox{% \if@cip\rule{\@ciprulewidth}{.25pt}\par \hbox{\vbox{\noindent\copy\@cipboxa\par\noindent\copy\@cipboxb}}\fi}} \hfill\@the@page} \let\@evenhead\odd@head \let\@evenfoot\@oddfoot } \def\ps@headings{% \let\@mkboth\@gobbletwo \let\@oddfoot\@empty \let\@evenfoot\@empty \let\@evenhead\even@head \let\@oddhead\odd@head \def\chaptermark##1{\markboth {\uppercase{##1}}{\uppercase{##1}}} \def\sectionmark##1{\markright{\uppercase{##1}}} } \def\ps@opening{% \let\@mkboth\@gobbletwo \make@cornermarks \let\@oddhead\top@cornermarks \let\@evenhead\top@cornermarks \def\@oddfoot{% \parindent\z@ \baselineskip7\p@ \hbox{% \textwidth\@ciprulewidth \vbox{% \if@cip\rule{\@ciprulewidth}{.25pt}\par \hbox{\vbox{\noindent\copy\@cipboxa\par\noindent\copy\@cipboxb}}\fi}} \hfill\@the@page} \let\@evenfoot\@oddfoot } % % Initializes TeX's marks % \mark{{}{}} % % \ps@empty and \ps@plain defined in LATEX.TEX % \def\ps@plain{% \let\@mkboth\@gobbletwo \let\@oddhead\top@cornermarks \let\@evenhead\top@cornermarks \def\@oddfoot{\hfil{\footnotesize\rm \thepage}\hfil}% \def\@evenfoot{\hfil{\footnotesize\rm \thepage}\hfil}% } % % % Definition of 'headings' page style % %\def\ps@headings{\let\@mkboth\markboth % \def\@oddhead{\footnotesize\normalfont \rightmark \hfill \thepage} % \def\@oddfoot{} % \def\@evenhead{\footnotesize\normalfont \thepage \hfill \leftmark} % \def\@evenfoot{} % \def\chaptermark##1{\markboth {\uppercase{##1}}{\uppercase{##1}}} % \def\sectionmark##1{\markright{\uppercase{##1}}} %} % % Definition of 'myheadings' page style. % \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@oddhead{\footnotesize\normalfont \rightmark \hfill \thepage} \def\@oddfoot{} \def\@evenhead{\footnotesize\normalfont\thepage \hfill \leftmark} \def\@evenfoot{} \def\chaptermark##1{} % \def\sectionmark##1{} % \def\subsectionmark##1{} } % **************************************** % * MISCELLANEOUS * % **************************************** % % DATE % \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} % % EQUATION and EQNARRAY -- put here because it must follow \chapter definition % \@addtoreset{equation}{chapter} \def\theequation{\thechapter.\arabic{equation}} % \jot = 3pt % Extra space added between lines of an eqnarray environment % **************************************** % * CUP SPECIALS * % **************************************** % % cleardoublepage with empty page % \def\cleardoublepage{\clearpage \if@twoside \ifodd \c@page \else \thispagestyle{empty} \hbox{}\newpage \if@twocolumn \thispagestyle{plain}\hbox{}\newpage \fi \fi \fi} % % redefinition of sections to get en space after chapter number % \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \def\@svsec{}% \else \refstepcounter{#1} % \ifnum #2>1 % \edef\@svsec{{\normalfont \csname the#1\endcsname\hskip 0.5em}} % \else \edef\@svsec{\csname the#1\endcsname\hskip 0.5em} % \fi \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7} \else \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi#7}}% \fi \@xsect{#5}} % % redefinition of \hline to get extra space % \def\hline{\noalign{\ifnum0=`}\fi \vskip 6pt \hrule \@height \arrayrulewidth \vskip 6pt \futurelet \@tempa\@xhline} \def\@xhline{\ifx\@tempa\hline \vskip -12pt \vskip \doublerulesep \fi \ifnum0=`{\fi}} % % redefinition of tabular to get rid of vertical lines in tables % \def\tabular{\def\@halignto{} \def\hline{\noalign{\ifnum0=`}\fi \vskip 3pt \hrule \@height \arrayrulewidth \vskip 3pt \futurelet \@tempa\@xhline} \def\@xhline{\ifx\@tempa\hline \vskip -6pt \vskip \doublerulesep \fi \ifnum0=`{\fi}} \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth % \vrule \@width \arrayrulewidth \hskip .5\arrayrulewidth}} \@tabular } \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \DeclareRobustCommand{\cal}{\@fontswitch{\relax}{\mathcal}} \DeclareRobustCommand{\mit}{\@fontswitch{\relax}{\mathnormal}} \RequirePackage{latexsym} % **************************************** % * INITIALIZATION * % **************************************** % % Default initializations \ps@headings \pagenumbering{arabic} \onecolumn \frenchspacing \flushbottom % end of chapman.sty HSAUR3/vignettes/Ch_bayesian_inference.Rnw0000644000176200001440000007256114416236367020171 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Bayesian Inference} %%\VignetteDepends{rmeta,coin} \setcounter{chapter}{17} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Bayesian Inference]{Incorporating Prior Knowledge via Bayesian Inference: Smoking and Lung Cancer \label{BI}} \section{Introduction} \index{Smoking and lung cancer|(} At the beginning of the 20th century, the death toll due to lung cancer was on the rise and the search for possible causes began. For lung cancer in pit workers, animal experiments showed that the so-called `Schneeberg lung disease' was induced by radiation. But this could not explain the increasing incidence of lung cancer in the general population. The identification of possible risk factors was a challenge for epidemiology and statistics, both disciplines being still in their infancy in the 1920s and 1930s. The first modern controlled epidemiological study on the effect of smoking on lung cancer was performed by Franz Hermann M\"uller as part of his dissertation at the University of Cologne in 1939. The results were published a year later \citep{HSAUR:Mueller1940}. M\"uller sent out questionnaires to the relatives of people who had recently died of lung cancer, asking about the smoking behavior and its intensity of the deceased relative. He also sent the questionnaire to healthy controls to obtain information about the smoking behavior in a control group, although it is not clear how this control group was defined. The number of lung cancer patients and healthy controls in five different groups (nonsmokers to extreme smokers) are given in Table~\ref{BI-Smoking_Mueller1940-tab}. <>= data("Smoking_Mueller1940", package = "HSAUR3") toLatex(HSAURtable(Smoking_Mueller1940), caption = paste("Smoking and lung cancer case-control study by M\\\"uller (1940).", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-15 (moderate), 16-25 (heavy), 26-35 (very heavy),", "and more than 35 (extreme)."), label = "BI-Smoking_Mueller1940-tab") @ Four years later Erich Sch\"oninger also wrote his dissertation on the association between smoking and lung cancer and, together with his supervisor Eberhard Schairer at the University of Jena, published his results on a case-control study \citep{HSAUR:SchairerSchoeninger1944} where he assessed the smoking behavior of lung cancer patients, patients diagnosed with other forms of cancer, and also a healthy control group. The data are given in Table~\ref{BI-Smoking_SchairerSchoeniger1944-tab}. <>= x <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) toLatex(HSAURtable(x, xname = "Smoking_SchairerSchoeniger1944"), caption = paste("Smoking and lung cancer case-control study by Schairer and Sch\\\"oniger (1944). Cancer other than lung cancer omitted.", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-5 (moderate), 6-10 (medium), 11-20 (heavy),", "and more than 20 (very heavy)."), label = "BI-Smoking_SchairerSchoeniger1944-tab") @ Shortly after the war, a Dutch epidemiologist reported on a case-control study performed in Amsterdam \citep{HSAUR:Wassink1945} and found similar results as the two German studies; see Table~\ref{BI-Smoking_Wassink1945-tab}. <>= data("Smoking_Wassink1945", package = "HSAUR3") toLatex(HSAURtable(Smoking_Wassink1945), caption = paste("Smoking and lung cancer case-control study by Wassink (1945).", "Smoking categories correspond to the categories used by M\\\"uller (1940)."), label = "BI-Smoking_Wassink1945-tab") @ In 1950 perhaps the most important, but not the first, case-control study showing an increasing risk of developing lung cancer with the amount of tobacco smoked, was published in Great Britain by Richard Doll and Austin Bradford Hill \citep{HSAUR:DollHill1950}. We restrict discussion here to data obtained for males and the data shown in Table~\ref{BI-Smoking_DollHill1950-tab} corresponds to the most recent amount of tobacco consumed regularly by smokers before disease onset \citep[Table~V in][]{HSAUR:DollHill1950}. <>= data("Smoking_DollHill1950", package = "HSAUR3") x <- as.table(Smoking_DollHill1950[,,"Male", drop = FALSE]) toLatex(HSAURtable(x, xname = "Smoking_DollHill1950"), caption = paste("Smoking and lung cancer case-control study (only males) by Doll and Hill (1950).", "The labels for the smoking categories give the number of cigarettes smoked every day."), label = "BI-Smoking_DollHill1950-tab") @ Although the design of the studies by \cite{HSAUR:Mueller1940} and \cite{HSAUR:SchairerSchoeninger1944}, especially the selection of their control groups, can be criticized \citep[see][for a detailed discussion]{HSAUR:Morabia2013} and the study by \cite{HSAUR:DollHill1950} was larger than the older studies and more detailed information on the smoking behavior was obtained by direct patient interviews, the information provided by the earlier studies was not taken into account by \cite{HSAUR:DollHill1950}. They cite \cite{HSAUR:Mueller1940} in their introduction, but did not compare their findings with his results. It is remarkable to see that both \cite{HSAUR:SchairerSchoeninger1944} and \cite{HSAUR:Wassink1945} extensively made use of the report by \cite{HSAUR:Mueller1940} and go as far as analyzing the merged data \citep[Grafiek I, E, and F, in][]{HSAUR:Wassink1945}. In an informal way, these authors wanted to use the already available information, in today's terms called `prior knowledge', to make a stronger case with the new data. Formal statistical methods to incorporate prior knowledge into data analysis as part of the `Bayesian' way of doing statistical analyses were developed in the second half of the last century, and we will focus on them in the present chapter. \index{Smoking and lung cancer|)} \section{Bayesian Inference} \section{Analysis Using \R{}} \subsection{One-by-one Analysis} For the analysis of the four different case-control studies on smoking and lung cancer, we will (retrospectively, of course) update our knowledge with every new study. We begin with a re-analysis of the data described by \cite{HSAUR:Mueller1940}. Using an approximate permutation test introduced in Chapter~\ref{CI} for the hypothesis of independence of the amount of tobacco smoked and group membership (lung cancer or healthy control), we get <>= library("coin") set.seed(29) independence_test(Smoking_Mueller1940, teststat = "quad", distribution = approximate(100000)) @ and there is clearly a strong association between the number of cigarettes smoked and incidence of lung cancer. Because the amount of tobacco smoked is an ordered categorical variable, it is more appropriate to take this information into account, for example by means of a linear association test (see Chapter~\ref{CI}). Nonsmokers receive a score of zero, and for the remaining groups we choose the mid-point of the intervals of daily cigarettes smoked that were used by \cite{HSAUR:Mueller1940} to define his groups: <>= ssc <- c(0, 1 + 14 / 2, 16 + 9 / 2, 26 + 9 / 2, 40) independence_test(Smoking_Mueller1940, teststat = "quad", scores = list(Smoking = ssc), distribution = approximate(100000)) @ The result shows that the data are in favor of an ordered alternative. The $p$-values obtained from approximate permutation tests are attractive because no distributional assumptions are required, but it is hard to derive estimates and confidence intervals for interpretable parameters from such tests. We will therefore now switch to logistic regression models as described in Chapter~\ref{GLM} to model the odds of lung cancer in the different smoking groups. Before we start, let us define a small function for computing odds (for intercept parameters) and odds ratios (for difference parameters) and corresponding confidence intervals from a logistic regression model: <>= eci <- function(model) cbind("Odds (Ratio)" = exp(coef(model)), exp(confint(model))) @ We model the probability of developing lung cancer given the smoking behavior. Because our data was obtained from case-control studies where the groups (lung cancer patients and healthy controls) were defined first and only after that we observed data on the smoking behavior (in a so-called \stress{choice-based sampling}), this may seem the wrong model to start with. However, the marginal distribution of the two groups only changes the intercept in such a logistic model and the effects of smoking can still be interpreted in the way we require \citep[see][for example]{HSAUR:Tutz2012}. The formula for specifying a logistic regression model can be set up such that the response is a matrix with two columns for each smoking group consisting of the number of lung cancer deaths and the number of healthy controls. Although smoking is an ordered factor, we first fit the model with treatment contrasts, i.e., we can interpret the $\exp$ of the regression coefficients as odds ratios between each smoking group and nonsmokers: <>= smoking <- ordered(rownames(Smoking_Mueller1940), levels = rownames(Smoking_Mueller1940)) contrasts(smoking) <- "contr.treatment" eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) @ We see that all but one of the odds ratios increase with the amount of tobacco smoked with a maximum of almost $30$ for extreme smokers (more than $35$ cigarettes per day). The likelihood confidence intervals are rather wide due to the limited sample size, but also the lower limit increases with smoking. An alternative model formulation can help to compare each smoking group with the preceding group, the so-called split-coding \citep[for this and other codings see][]{HSAUR:Tutz2012}: <>= K <- diag(nlevels(smoking) - 1) K[lower.tri(K)] <- 1 contrasts(smoking) <- rbind(0, K) eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) @ The two largest differences are between moderate smokers and nonsmokers (\Robject{smoking1}) and between very heavy and heavy smokers (\Robject{smoking3}). The latter group difference seems, at least judged by the confidence interval, to be larger than expected under a model with no effect of smoking. For the analysis of the three remaining studies, we first perform permutation tests for the independence of smoking and the two groups (lung cancer and healthy controls) in males: <>= xSS44 <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) ap <- approximate(100000) pvalue(independence_test(xSS44, teststat = "quad", distribution = ap)) pvalue(independence_test(Smoking_Wassink1945, teststat = "quad", distribution = ap)) xDH50 <- as.table(Smoking_DollHill1950[,, "Male"]) pvalue(independence_test(xDH50, teststat = "quad", distribution = ap)) @ All $p$-values indicate that the data are not well-described by the independence model. \subsection{Joint Bayesian Analysis} For a Bayesian analysis, we first merge the data from all four studies into one data frame. In doing so, we also merge the smoking groups in a way that we only have three groups left: nonsmokers, moderate smokers, and heavy smokers. These groups are chosen in a way that the number of daily cigarettes is comparable. We first merge the heavy, very heavy, and extreme smokers from \cite{HSAUR:Mueller1940} <>= (M <- rbind(Smoking_Mueller1940[1:2,], colSums(Smoking_Mueller1940[3:5,]))) @ and proceed with the lung cancer patients and healthy controls from \cite{HSAUR:SchairerSchoeninger1944} in the same way <>= SS <- Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")] (SS <- rbind(SS[1,], colSums(SS[2:3,]), colSums(SS[4:5,]))) @ and finally perform the same exercise for the \cite{HSAUR:Wassink1945} and \cite{HSAUR:DollHill1950} data <>= (W <- rbind(Smoking_Wassink1945[1:2,], colSums(Smoking_Wassink1945[3:4,]))) DH <- Smoking_DollHill1950[,, "Male"] (DH <- rbind(DH[1,], colSums(DH[2:3,]), colSums(DH[4:6,]))) @ The three new groups are now called nonsmokers, moderate smokers, and heavy smokers, and we set up a data frame that contains the number of people in each of the possible groups for all studies: <>= smk <- c("Nonsmoker", "Moderate smoker", "Heavy smoker") x <- expand.grid(Smoking = ordered(smk, levels = smk), Diagnosis = factor(c("Lung cancer", "Control")), Study = c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945", "DollHill1950")) x$weights <- c(as.vector(M), as.vector(SS), as.vector(W), as.vector(DH)) @ Before we fit logistic regression models using the data organized in such a way, we define the contrasts for the smoking ordered factor and expand the data in a way that each row corresponds to one person. This is necessary because the \Rcmd{weights} argument to the \Rcmd{glm} function must not be used to define case weights: <>= contrasts(x$Smoking) <- "contr.treatment" x <- x[rep(1:nrow(x), x$weights),] @ We now compute one logistic regression model for each study for later comparisons: <>= models <- lapply(levels(x$Study), function(s) glm(Diagnosis ~ Smoking, data = x, family = binomial(), subset = Study == s)) names(models) <- levels(x$Study) @ In 1939, M\"uller was hardly in the position to come up with a reasonable prior for the odds ratios between moderate or heavy smokers and nonsmokers. So we also use a noninformative prior and just perform the maximum likelihood analysis: <>= eci(models[["Mueller1940"]]) @ Four years later, the maximum likelihood results obtained for the \cite{HSAUR:SchairerSchoeninger1944} data <>= eci(models[["SchairerSchoeniger1944"]]) @ could have been improved by using a normal prior for the difference in log odds whose distribution is the distribution of the maximum likelihood estimator obtained for M\"uller's data. At least approximately, we can compute posterior $90\%$ credibility intervals and the posterior mode from the Schairer and Sch\"oniger data by analyzing both data sets simultaneously. We should, however, keep in mind that the odds of developing lung cancer for nonsmokers is not really interesting for our analysis and that the four studies may very well differ with respect to this intercept parameter. Consequently, we don't want to specify a prior for the intercept. One way to implement such a strategy is to exclude the intercept term from the joint model while allowing a separate intercept for each of the studies: <>= mM40_SS44 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944")) eci(mM40_SS44) @ We observe two important differences between the maximum likelihood and Bayesian results for the Schairer and Sch\"oniger data: In the Bayesian analysis, the estimated odds ratio for moderate smokers is closer to the smaller value obtained from M\"uller's data and, more important, the credibility intervals are much narrower and, one has to say, more realistic now. An odds ratio as large as $40$ is hardly something one would expect to see in practice. If Wassink had been aware of Bayesian statistics, he could have used the posterior distribution of the parameters from our model \Robject{mM40\_SS44} as a prior distribution for analyzing his data. The maximum likelihood results for his data <>= eci(models[["Wassink1945"]]) @ would have changed to <>= mM40_SS44_W45 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945")) eci(mM40_SS44_W45) @ The rather small odds ratios obtained from the model fitted to the Wassink data only are now closer to the estimates obtained from the two previous studies and the variability, as given by the credibility intervals, is much smaller. Now, finally, the model for the Doll and Hill data reports rather large odds ratios with wide confidence intervals: <>= eci(models[["DollHill1950"]]) @ With a (now rather strong) prior defined by the three earlier studies, we get from the joint model for all four studies <>= m_all <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial()) eci(m_all) @ <>= r <- eci(m_all) xM <- round(r["SmokingModerate smoker", 2:3], 1) xH <- round(r["SmokingHeavy smoker", 2:3], 1) @ In 1950, the joint evidence based on such an analysis with an odds ratio between $\Sexpr{xM[1]}$ and $\Sexpr{xM[2]}$ for moderate smokers and between $\Sexpr{xH[1]}$ and $\Sexpr{xH[2]}$ for heavy smokers compared to nonsmokers, would have made a much stronger case than any of the single studies alone. It is interesting to see that with this strong prior for the Doll and Hill study, we also get relatively large odds ratios when comparing heavy to moderate smokers (see row labeled \Rcmd{Smoking2}): <>= K <- diag(nlevels(x$Smoking) - 1) K[lower.tri(K)] <- 1 contrasts(x$Smoking) <- rbind(0, K) eci(glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial())) @ \subsection{A Comparison with Meta Analysis} One may ask how the Bayesian approach of progressively updating the estimates considered here differs from a classical meta analysis described in Chapter~\ref{MA}. We first reshape the data into a form suitable for such an analysis <>= y <- xtabs(~ Study + Smoking + Diagnosis, data = x) ntrtM <- margin.table(y, 1:2)[,"Moderate smoker"] nctrl <- margin.table(y, 1:2)[,"Nonsmoker"] ptrtM <- y[,"Moderate smoker","Lung cancer"] pctrl <- y[,"Nonsmoker","Lung cancer"] ntrtH <- margin.table(y, 1:2)[,"Heavy smoker"] ptrtH <- y[,"Heavy smoker","Lung cancer"] @ and then compute joint odds ratios and confidence intervals for moderate and heavy smokers compared to nonsmokers: <>= library("rmeta") meta.MH(ntrt = ntrtM, nctrl = nctrl, ptrt = ptrtM, pctrl = pctrl) meta.MH(ntrt = ntrtH, nctrl = nctrl, ptrt = ptrtH, pctrl = pctrl) @ For moderate smokers, the effect is a little weaker compared with the results reported on earlier and for heavy smokers, the meta analysis identifies a stronger effect for heavy smokers. Nevertheless, the differences between the two rather different approaches are negligible and the conclusions would have been the same. \section{Summary of Findings} We have seen that, using a Bayesian approach to incorporate prior knowledge into a model, the odds of developing lung cancer increase with increased amounts of smoking. Of course, our analysis here is very simplistic, because we ignored that also pipe and cigar smokers were present in the data, we merged the data based on a very rough assessment of the number of cigarettes smoked per day, ignored whether or not the smokers inhaled the smoke into their lungs, or if nonsmokers were subject to passive-smoking, as we call it today. Most importantly, we must not misinterpret findings from case-control studies as casual and, in fact, none of the authors cited here did so. The debate on whether smoking, and which kind of smoking, actually \stress{causes} lung cancer was initiated by the publications cited in this chapter and many famous statisticians took part in the debate, for example, Sir Ronald Fisher \citep{HSAUR:Fisher1959}, took the view that the inference of causation was premature. In retrospect this was one issue (perhaps the only one) where Fisher was mistaken. \section{Final Comments} There remain a few hard-line opponents of Bayesian inference (just a few) who reject the method because of the use of subjective prior distributions which, these opponents feel, have no place in scientific investigations. And there are Bayesians who think that the only defense of using non-Bayesian methods is incompetence. But for an increasing number of statisticians Bayesian inference is very attractive, because we can use the posterior distribution of the parameters to draw conclusions from the data. Although this requires the specification of a prior distribution, we have seen in this chapter that, using data from previous experiments, priors can be defined in a reasonable way. It is not absolutely necessary to rely on rather complex numerical procedures to`estimate' a posterior distribution. When we are willing to cut some corners, we can implement simple Bayesian approaches using standard software. We should also keep in mind that the prior can be interpreted as a penalty on the parameters, and many penalization approaches therefore have an (often implicit) connection to the Bayesian way of doing statistics. Of course, just picking the prior that `works best' is dangerous and almost surely inappropriate. \section*{Exercises} \begin{description} \exercise Produce a forest plot as introduced in Chapter~\ref{MA} for the four smoking studies analyzed here. \exercise Produce a modified forest plot where one can see how the evidence for smoking being related to lung cancer evolved between 1940 and 1950. \exercise Use the \Rpackage{INLA} add-on package to perform a similar analysis by using the coefficients and their standard errors estimated from our initial logistic regression model \texttt{m[["Mueller1940"]]} as parameters of a normal prior for a logistic regression applied to the Schairer and Sch\"oniger data. Compare the resulting credibility intervals for the two odds-ratios with the approximate results obtained in this chapter. \end{description} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_missing_values.Rnw0000644000176200001440000006351314416236367017405 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Missing Values} %%\VignetteDepends{mice} \setcounter{chapter}{15} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Missing Values]{Missing Values: Lowering Blood Pressure During Surgery \label{MV}} \section{Introduction} \index{Blood pressure} It is sometimes necessary to lower a patient's blood pressure during surgery, using a hypotensive drug. Such drugs are administered continuously during the relevant phase of the operation; because the duration of this phase varies so does the total amount of drug administered. Patients also vary in the extent to which the drugs succeed in lowering blood pressure. The sooner the blood pressure rises again to normal after the drug is discontinued, the better. The data in Table~\ref{MV-bp-tab} \citep[a missing-value version of the data presented by][]{HSAUR:RobertsonArmitage1959} relate to a particular hypotensive drug and give the time in minutes before the patient's systolic blood pressure returned to 100mm of mercury (the recovery time), the logarithm (base 10) of the dose of drug in milligrams, and the average systolic blood pressure achieved while the drug was being administered. The question of interest is how is the recovery time related to the other two variables? For some patients the recovery time was not recorded and the missing values are indicated as NA in Table~\ref{MV-bp-tab}. <>= data("bp", package = "HSAUR3") toLatex(HSAURtable(bp), pcol = 2, caption = paste("Blood pressure data."), label = "MV-bp-tab") @ \section{Analyzing Multiply Imputed Data} \label{MI:ana} From the analysis of each data set we need to look at the estimates of the quantity of interest, say $Q$, and the variance of the estimates. We let $\hat{Q}_i$ be the estimate from the $i$th data set and $S_i$ its corresponding variance. The combined estimate of the quantity of interest is \begin{eqnarray*} \bar{Q} = \frac{1}{m}\sum_{i = 1}^m \hat{Q}_i. \end{eqnarray*} To find the combined variance involves first calculating the within-imputation variance, \begin{eqnarray*} \bar{S} = \frac{1}{m}\sum_{i = 1}^m S_i \end{eqnarray*} followed by the between-imputation variance, \begin{eqnarray*} B = \frac{1}{m - 1} \sum_{i = 1}^m (\hat{Q}_i - \bar{Q})^2 \end{eqnarray*} then the required total variance can now be found from \begin{eqnarray*} T = \bar{S} + (1 + m^{-1}) B \end{eqnarray*} This total variance is made up of two components; the first which preserves the natural variability, $\bar{S}$, is simply the average of the variance estimates for each imputed data set and is analogous to the variance that would be suitable if we did not need to account for missing data; the second component, $B$, estimates uncertainty caused by missing data by measuring how the point estimates vary from data set to data set. More explanation of how the formula for $T$ arises is given in \cite{HSAUR:vanBuuren2012}. The overall standard error is simply the square root of $T$. A significance test for $Q$ and a confidence interval is found from the usual test statistic, ($Q-$ hypothesized value of $Q$)/$\sqrt{T}$, the value of which is referred to a Student's $t$-distribution. The question arises however as to what is the appropriate value for the degrees of freedom of the test, say $v_0$? \cite{HSAUR:Rubin1987} suggests that the answer to this question is given by; \begin{eqnarray*} v_0 = (m - 1) (1 + 1/r^2) \end{eqnarray*} where \begin{eqnarray*} r = \frac{B + B / m}{\bar{S}} \end{eqnarray*} But \cite{HSAUR:BarnardRubin1999} noted that using this value of $v_0$ can produce values that are larger than the degrees of freedom in the complete data, a result which they considered `clearly inappropriate'. Consequently they developed an adapted version that does not lead to the same problem. Barnard and Rubin's revised value for the degrees of freedom of the $t$-test in which we are interested is $v_1$ given by; \begin{eqnarray*} v_1 = \frac{v_0 v_2}{v_0 + v_2} \end{eqnarray*} where \begin{eqnarray*} v_2 = \frac{n(n-1)(1 - \lambda)}{n + 2} \end{eqnarray*} and \begin{eqnarray*} \lambda = \frac{r}{\sqrt{r^2 + 1}}. \end{eqnarray*} The quantity $v_1$ is always less than or equal to the degrees of freedom of the test applied to the hypothetically complete data. \citep[For more details see][]{HSAUR:vanBuuren2012}. \index{Imputation|)} \section{Analysis Using \R{}} To begin we shall analyze the blood pressure data in Table~\ref{MV-bp-tab} using the complete-case approach, i.e., by simply removing the data for patients where the recovery time is missing. To begin we might simply count the number of missing values using the sapply function as follows: <>= sapply(bp, function(x) sum(is.na(x))) @ So there are ten missing values of recovery time but no missing values amongst the other two variables. Now we use the \Rcmd{summary} function to look at some basic statistics of the complete data for recovery time: <>= summary(bp$recovtime, na.rm = TRUE) @ And next we can calculate the complete data estimate of the standard deviation of recover time <>= sd(bp$recovtime, na.rm = TRUE) @ The final numerical results we might be interested in are the correlations of recovery time with blood pressure and of recovery time with logdose. These can be found as follows: <>= with(bp, cor(bloodp, recovtime, use = "complete.obs")) with(bp, cor(logdose, recovtime, use = "complete.obs")) @ And a useful graphic of the data is a scatterplot matrix which we can construct using \Rcmd{pairs}. The scatterplot matrix is given in Figure~\ref{MV-bp-pairs-cc}. \begin{figure} \begin{center} <>= layout(matrix(1:3, nrow = 1)) plot(bloodp ~ logdose, data = bp) plot(recovtime ~ bloodp, data = bp) plot(recovtime ~ logdose, data = bp) @ \caption{Scatterplots of the complete cases of the \Robject{bp} data. \label{MV-bp-pairs-cc}} \end{center} \end{figure} To investigate how recovery time is related to blood pressure and logdose we might begin by fitting a multiple linear regression model (see Chapter~\ref{MLR}). The relevant command and the summary of the results is shown in Figure~\ref{MV-bp-lm-cc}. Note that this summary output reports that ten observations with missing values were removed prior to the analysis; this is default for many models in \R. \renewcommand{\nextcaption}{\R{} output of the complete-case linear model for the \Robject{bp} data. \label{MV-bp-lm-cc}} \SchunkLabel <>= summary(lm(recovtime ~ bloodp + logdose, data = bp)) @ \SchunkRaw Now let us see what happens when we impute the missing values of the recovery time variable simply by the mean of the complete case; for this we will use the \Rpackage{mice} \citep{PKG:mice} package; <>= library("mice") @ We begin by creating a new data set, \Robject{imp}, which will contain the three variables log-dose, blood pressure, and recovery time with the missing values in the latter replaced by the mean recovery time of the complete cases; <>= imp <- mice(bp, method = "mean", m = 1, maxit = 1) @ So now we can find the summary statistics of recovery time to compare with those given previously <>= with(imp, summary(recovtime)) @ Making the comparison we see that only the values of the first and third quantile and the median have changed. The minimum and maximum values are the same and so, of course, is the mean. But of more interest is what happens to the sample standard deviation; its value for the imputed data can be found using: <>= with(imp, sd(recovtime)) @ The value for the imputed data, $\Sexpr{round(with(imp, sd(recovtime))[["analyses"]][[1]], 2)}$ is, as we would expect, lower than that for the complete data, $\Sexpr{round(with(bp, sd(recovtime, na.rm = TRUE)), 2)}$. What about the correlations? <>= with(imp, cor(bloodp, recovtime)) with(imp, cor(logdose, recovtime)) @ The correlations of blood pression and recovery time are very similar before ($\Sexpr{round(with(bp, cor(bloodp, recovtime, use = "complete.obs")), 2)}$) after ($\Sexpr{round(with(imp, cor(bloodp, recovtime))[["analyses"]][[1]], 2)}$) imputation. For log-dose, imputation changes the correlation from $\Sexpr{round(with(bp, cor(logdose, recovtime, use = "complete.obs")), 2)}$ to $\Sexpr{round(with(imp, cor(logdose, recovtime))[["analyses"]][[1]], 2)}$. The scatterplot of the imputed data is found as given by the code displayed with Figure~\ref{MV-bp-pairs-imp}. For mean imputation, the imputed value of the recovery time is constant for all observations and so they appear as a series of points along the value of the mean value of the observed recovery times namely, $\Sexpr{round(with(bp, mean(recovtime, na.rm = TRUE)), 2)}$. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) @ \caption{Scatterplots of the imputed \Robject{bp} data. Imputed observations are depicted as triangles. \label{MV-bp-pairs-imp}} \end{center} \end{figure} \renewcommand{\nextcaption}{\R{} output of the mean imputation linear model for the \Robject{bp} data. \label{MV-bp-lm-imp}} \SchunkLabel <>= with(imp, summary(lm(recovtime ~ bloodp + logdose))) @ \SchunkRaw Comparison of the multiple linear regression results in Figure~\ref{MV-bp-lm-imp} with those in Figure~\ref{MV-bp-lm-cc} show some interesting differences, for example, the standard errors of the regression coefficients are somewhat lower for the mean imputed data but the conclusions drawn from the results in each table would be broadly similar. \index{Predictive mean matching} The single imputation of a sample mean is not to be recommended and so we will move on to using a more sophisticated multiple imputation procedure know as \stress{predictive mean matching}. The method is described in detail in \cite{HSAUR:vanBuuren2012} who considers it both easy-to-use and versatile. And imputations outside the observed data range will not occur so that problems with meaningless imputations, for example, a negative recovery time, will not occur. The method is labeled \Robject{pmm} in the \Rpackage{mice} package and here we will apply it to the blood pressure data with $m = 10$ (we need to fix the seed in order to make the result reproducible): <>= imp_ppm <- mice(bp, m = 10, method = "pmm", print = FALSE, seed = 1) @ The scatterplot of the imputed data is found as given by the code displayed with Figure~\ref{MV-bp-pairs-imp-mice}. We only show the imputed recovery times from the first iteration ($m = 1$).The imputed recovery times now take different values. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) @ \caption{Scatterplots of the multiple imputed \Robject{bp} data (first iteration). Imputed observations are depicted as triangles. \label{MV-bp-pairs-imp-mice}} \end{center} \end{figure} From the resulting object we can compute the mean and standard deviations of recovery time for each of the $m = 10$ iterations. We first extract these numbers from the \Robject{analyses} element of the returned object, convert this list to a vector, and use the \Rcmd{summary} function to compute the usual summary statistics: <>= summary(unlist(with(imp_ppm, mean(recovtime))$analyses)) summary(unlist(with(imp_ppm, sd(recovtime))$analyses)) @ We do the same with the correlations as follows <>= summary(unlist(with(imp_ppm, cor(bloodp, recovtime))$analyses)) summary(unlist(with(imp_ppm, cor(logdose, recovtime))$analyses)) @ The estimate of the mean of the blood pressure data from the multiply imputed results is $\Sexpr{round(mean(unlist(with(imp_ppm, mean(recovtime))$analyses)) , 2)}$, very similar to the values found previously. Similarly the estimate of the standard deviation of the data is $\Sexpr{round(mean(unlist(with(imp_ppm, sd(recovtime))$analyses)) , 2)}$ which lies between the complete data estimate and the \emph{mean-imputed} value. The two correlation estimates are also very close to the previous values. The variation in the estimates of mean, standard deviation, and correlations across the ten imputation is relatively small apart from that for the correlation between log-dose and recovery time -- here there is considerable variation in the values for the ten imputations. Finally, we will fit a linear model to each of the imputed samples and then find the summary statistics for the ten sets of regression coefficients: the results are given in Figure~\ref{MV-bp-lm-cc-mice}: <>= fit <- with(imp_ppm, lm(recovtime ~ bloodp + logdose)) @ \renewcommand{\nextcaption}{\R{} output of the multiple imputed linear model for the \Robject{bp} data. \label{MV-bp-lm-cc-mice}} \SchunkLabel <>= summary(pool(fit)) @ \SchunkRaw The result for blood pressure is similar to the previous complete data and mean-imputed results with the regression coefficient for this variable being highly significant $(p = \Sexpr{round(summary(pool(fit))["bloodp", 5], 3)})$. But the result for log dose differs from those found previously; for the multiply imputed data the regression coefficient for log dose is not significant at the $5\%$ level $(p = \Sexpr{round(summary(pool(fit))["logdose", 5], 3)})$ whereas in both of the previous two analyses it was significant. This finding reflects the greater variation of the value of the correlation between log dose and recovery time in the ten imputations noted above. (Remember that the standard errors in Figure~\ref{MV-bp-lm-cc-mice} computed by \Rcmd{pool} arise from the formulae given in Section~\ref{MI:ana}.) Now suppose we wish to test the hypothesis that in the population from which the sample data in Table~\ref{MV-bp-tab} arises a mean recovery time of $27$ minutes. We will test this hypothesis in the usual way using Student's t-test applied to the complete-data, the singly imputed data, and the multiply imputed data: <>= with(bp, t.test(recovtime, mu = 27)) with(imp, t.test(recovtime, mu = 27))$analyses[[1]] @ For the multiply imputed data we need to use the \Rcmd{lm} function to get the equivalent of the $t$-test by modeling recovery time minus $27$ with an intercept only and testing for zero intercept. So the code needed is: <>= fit <- with(imp_ppm, lm(I(recovtime - 27) ~ 1)) summary(pool(fit)) @ Looking at the results of the three analyses we see that the complete-case analysis fails to reject the hypothesis at the $5\%$ level whereas the other two analyses lead to results that are statistically significant at the level. This simple (and perhaps rather artificial) example demonstrates that different conclusions can be reached by the different approaches. \section{Summary of Findings} The estimated standard deviation of the blood pressure is lower when computed from the mean-imputed data than from the complete data. The corresponding value from the multiply imputed data lies between these two values. The estimate of the mean from the multiply imputed data is very similar to the value obtained in the complete data analysis. (The value from the singly imputed data is, of course, the same as from the complete data.) The estimates of the correlations between blood pressure and recovery time and log dose and recovery time are very similar in all three analyses but the variation in the latter across the ten multiple imputations is considerable and this results in the regression coefficient for log dose being less significant than in the other two analyses. Testing the hypothesis that the population mean of recovery time is $27$ minutes using complete-case analysis leads to a different conclusion than is arrived at by the two multiple imputations approaches. \section{Final Comments} Missing values are an ever-present possibility in all types of studies although everything possible should be done to avoid them. But when data contain missing values multiple imputation can be used to provide valid inferences for parameter estimates from the incomplete data. If carefully handled, multiple imputation can cope with missing data in all types of variables. In this chapter we have given only a brief account of dealing with missing values; a detailed account is available in the issue of \stress{Statistical Methods in Medical Research entitled Multiple Imputation: Current Perspectives} (Volume 16, Number 3, 2007) and in \cite{HSAUR:vanBuuren2012}. \section*{Exercises} \begin{description} \exercise The data in Table~\ref{MI-UStemp-tab} give the lowest temperatures (in Fahrenheit) recorded in various months for cities in the US; missing values are indicated by NA. Calculate the correlation matrix of the data using \begin{enumerate} \item the complete-case approach, \item the available-data approach, and \item a multiple-imputation approach. \end{enumerate} Find the principal components of the data using each of three correlation matrices and plot the cities in the space of the first two components of each solution. <>= data("UStemp", package = "HSAUR3") toLatex(HSAURtable(UStemp), caption = "Lowest temperatures in Fahrenheit recorded in various months for cities in the US.", label = "MI-UStemp-tab", rownames = TRUE) @ \exercise Find $95\%$ confidence intervals for the population means of the lowest temperature in each month using \begin{enumerate} \item the complete-case approach, \item the mean value imputation, and \item a multiple-imputation approach. \end{enumerate} \exercise Find the correlation matrix for the four months in Table~\ref{MI-UStemp-tab} using complete-case analysis, listwise deletion, and multiple imputation. \end{description} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_density_estimation.Rnw0000644000176200001440000004716314416236367020273 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Density Estimation} %%\VignetteDepends{flexmix,KernSmooth,boot} \setcounter{chapter}{7} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} <>= x <- library("KernSmooth") x <- library("flexmix") x <- library("boot") @ \chapter[Density Estimation]{Density Estimation: Erupting Geysers and Star Clusters \label{DE}} \section{Introduction} \section{Density Estimation} The three kernel functions are implemented in \R{} as shown in lines 1--3 of Figure~\ref{DE-kernel-fig}. For some grid \Robject{x}, the kernel functions are plotted using the \R{} statements in lines 5--11 (Figure~\ref{DE-kernel-fig}). \numberSinput \begin{figure} \begin{center} <>= rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) lines(x, gauss(x), lty = 3) legend(-3, 0.8, legend = c("Rectangular", "Triangular", "Gaussian"), lty = 1:3, title = "kernel functions", bty = "n") @ \caption{Three commonly used kernel functions. \label{DE-kernel-fig}} \end{center} \end{figure} \rawSinput <>= w <- options("width")$w options(width = 66) @ The kernel estimator $\hat{f}$ is a sum of `bumps' placed at the observations. %' The kernel function determines the shape of the bumps while the window width $h$ determines their width. \index{Windows, in kernel density estimation} Figure~\ref{DE-bumps} \citep[redrawn from a similar plot in][]{HSAUR:Silverman1986} shows the individual bumps $n^{-1}h^{-1} K((x - x_i) / h)$, as well as the estimate $\hat{f}$ obtained by adding them up for an artificial set of data points <>= x <- c(0, 1, 1.1, 1.5, 1.9, 2.8, 2.9, 3.5) n <- length(x) @ For a grid <>= xgrid <- seq(from = min(x) - 1, to = max(x) + 1, by = 0.01) @ on the real line, we can compute the contribution of each measurement in \Robject{x}, with $h = 0.4$, by the Gaussian kernel (defined in Figure~\ref{DE-kernel-fig}, line 3) as follows; <>= h <- 0.4 bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) @ A plot of the individual bumps and their sum, the kernel density estimate $\hat{f}$, is shown in Figure~\ref{DE-bumps}. <>= options(width = w) @ \numberSinput \begin{figure} \begin{center} <>= plot(xgrid, rowSums(bumps), ylab = expression(hat(f)(x)), type = "l", xlab = "x", lwd = 2) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) @ \caption{Kernel estimate showing the contributions of Gaussian kernels evaluated for the individual observations with bandwidth $h = 0.4$. \label{DE-bumps}} \end{center} \end{figure} \rawSinput \begin{figure} \begin{center} <>= epa <- function(x, y) ((x^2 + y^2) < 1) * 2/pi * (1 - x^2 - y^2) x <- seq(from = -1.1, to = 1.1, by = 0.05) epavals <- sapply(x, function(a) epa(a, x)) persp(x = x, y = x, z = epavals, xlab = "x", ylab = "y", zlab = expression(K(x, y)), theta = -35, axes = TRUE, box = TRUE) @ \caption{Epanechnikov kernel for a grid between $(-1.1, -1.1)$ and $(1.1, 1.1)$. \label{DE-epakernel-fig}} \end{center} \end{figure} \section{Analysis Using \R{}} \numberSinput \begin{figure} \begin{center} <>= data("faithful", package = "datasets") x <- faithful$waiting layout(matrix(1:3, ncol = 3)) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Gaussian kernel", border = "gray") lines(density(x, width = 12), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Rectangular kernel", border = "gray") lines(density(x, width = 12, window = "rectangular"), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Triangular kernel", border = "gray") lines(density(x, width = 12, window = "triangular"), lwd = 2) rug(x) @ \caption{Density estimates of the geyser eruption data imposed on a histogram of the data. \label{DE:faithfuldens}} \end{center} \end{figure} \rawSinput \begin{figure} \begin{center} <>= library("KernSmooth") data("CYGOB1", package = "HSAUR3") CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik)) contour(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity") @ \caption{A contour plot of the bivariate density estimate of the \Robject{CYGOB1} data, i.e., a two-dimensional graphical display for a three-dimensional problem. \label{DE:CYGOB12Dcontour}} \end{center} \end{figure} \begin{figure} \begin{center} <>= persp(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity", zlab = "estimated density", theta = -35, axes = TRUE, box = TRUE) @ \caption{The bivariate density estimate of the \Robject{CYGOB1} data, here shown in a three-dimensional fashion using the \Rcmd{persp} function. \label{DE:CYGOB12Dpersp}} \end{center} \end{figure} \subsection{A Parametric Density Estimate for the Old Faithful Data \label{DE-waiting}} <>= logL <- function(param, x) { d1 <- dnorm(x, mean = param[2], sd = param[3]) d2 <- dnorm(x, mean = param[4], sd = param[5]) -sum(log(param[1] * d1 + (1 - param[1]) * d2)) } startparam <- c(p = 0.5, mu1 = 50, sd1 = 3, mu2 = 80, sd2 = 3) opp <- optim(startparam, logL, x = faithful$waiting, method = "L-BFGS-B", lower = c(0.01, rep(1, 4)), upper = c(0.99, rep(200, 4))) @ \newpage <>= opp @ <>= print(opp[names(opp) != "message"]) @ Of course, optimizing the appropriate likelihood `by hand' %' is not very convenient. In fact, (at least) two packages offer high-level functionality for estimating mixture models. The first one is package \Rpackage{mclust} \citep{PKG:mclust} implementing the methodology described in \cite{HSAUR:FraleyRaftery2002}. Here, a Bayesian information criterion (BIC) is applied to choose the form of the mixture model: \index{Bayesian Information Criterion (BIC)} <>= library("mclust") @ <>= library("mclust") mc <- Mclust(faithful$waiting) mc @ and the estimated means are <>= mc$parameters$mean @ with estimated standard deviation (found to be equal within both groups) <>= sqrt(mc$parameters$variance$sigmasq) @ The proportion is $\hat{p} = \Sexpr{round(mc$parameters$pro[1], 2)}$. The second package is called \Rpackage{flexmix} whose functionality is described by \cite{HSAUR:Leisch2004}. A mixture of two normals can be fitted using <>= library("flexmix") fl <- flexmix(waiting ~ 1, data = faithful, k = 2) @ with $\hat{p} = \Sexpr{round(fl@prior, 2)}$ and estimated parameters <>= parameters(fl, component = 1) parameters(fl, component = 2) @ \begin{figure} \begin{center} <>= opar <- as.list(opp$par) rx <- seq(from = 40, to = 110, by = 0.1) d1 <- dnorm(rx, mean = opar$mu1, sd = opar$sd1) d2 <- dnorm(rx, mean = opar$mu2, sd = opar$sd2) f <- opar$p * d1 + (1 - opar$p) * d2 hist(x, probability = TRUE, xlab = "Waiting times (in min.)", border = "gray", xlim = range(rx), ylim = c(0, 0.06), main = "") lines(rx, f, lwd = 2) lines(rx, dnorm(rx, mean = mean(x), sd = sd(x)), lty = 2, lwd = 2) legend(50, 0.06, lty = 1:2, bty = "n", legend = c("Fitted two-component mixture density", "Fitted single normal density")) @ \caption{Fitted normal density and two-component normal mixture for geyser eruption data. \label{DE:2Dplot}} \end{center} \end{figure} \index{Bootstrap approach|(} We can get standard errors for the five parameter estimates by using a bootstrap approach \citep[see][]{HSAUR:EfronTibshirani1993}. The original data are slightly perturbed by drawing $n$ out of $n$ observations \stress{with replacement} and those artificial replications of the original data are called \stress{bootstrap samples}. Now, we can fit the mixture for each bootstrap sample and assess the variability of the estimates, for example using confidence intervals. \index{Confidence interval!derived from bootstrap samples} Some suitable \R{} code based on the \Rcmd{Mclust} function follows. First, we define a function that, for a bootstrap sample \Robject{indx}, fits a two-component mixture model and returns $\hat{p}$ and the estimated means (note that we need to make sure that we always get an estimate of $p$, not $1 - p$): <>= library("boot") fit <- function(x, indx) { a <- Mclust(x[indx], minG = 2, maxG = 2, modelNames="E")$parameters if (a$pro[1] < 0.5) return(c(p = a$pro[1], mu1 = a$mean[1], mu2 = a$mean[2])) return(c(p = 1 - a$pro[1], mu1 = a$mean[2], mu2 = a$mean[1])) } @ The function \Rcmd{fit} can now be fed into the \Rcmd{boot} function \citep{PKG:boot} for bootstrapping (here $1000$ bootstrap samples are drawn) \begin{Schunk} \begin{Sinput} R> bootpara <- boot(faithful$waiting, fit, R = 1000) \end{Sinput} \end{Schunk} <>= bootparafile <- system.file("cache", "DE-bootpara.rda", package = "HSAUR3") if (file.exists(bootparafile)) { load(bootparafile) } else { bootpara <- boot(faithful$waiting, fit, R = 1000) } @ We assess the variability of our estimates $\hat{p}$ by means of adjusted bootstrap percentile (BCa) confidence intervals, which for $\hat{p}$ can be obtained from <>= boot.ci(bootpara, type = "bca", index = 1) @ We see that there is a reasonable variability in the mixture model; however, the means in the two components are rather stable, as can be seen from <>= boot.ci(bootpara, type = "bca", index = 2) @ for $\hat{\mu}_1$ and for $\hat{\mu}_2$ from <>= boot.ci(bootpara, type = "bca", index = 3) @ Finally, we show a graphical representation of both the bootstrap distribution of the mean estimates \stress{and} the corresponding confidence intervals. For convenience, we define a function for plotting, namely <>= bootplot <- function(b, index, main = "") { dens <- density(b$t[,index]) ci <- boot.ci(b, type = "bca", index = index)$bca[4:5] est <- b$t0[index] plot(dens, main = main) y <- max(dens$y) / 10 segments(ci[1], y, ci[2], y, lty = 2) points(ci[1], y, pch = "(") points(ci[2], y, pch = ")") points(est, y, pch = 19) } @ The element \Robject{t} of an object created by \Rcmd{boot} contains the bootstrap replications of our estimates, i.e., the values computed by \Rcmd{fit} for each of the $1000$ bootstrap samples of the geyser data. First, we plot a simple density estimate and then construct a line representing the confidence interval. We apply this function to the bootstrap distributions of our estimates $\hat{\mu}_1$ and $\hat{\mu}_2$ in Figure~\ref{DE-bootplot}. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) bootplot(bootpara, 2, main = expression(mu[1])) bootplot(bootpara, 3, main = expression(mu[2])) @ \caption{Bootstrap distribution and confidence intervals for the mean estimates of a two-component mixture for the geyser data. \label{DE-bootplot}} \end{center} \end{figure} \index{Bootstrap approach|)} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_principal_components_analysis.Rnw0000644000176200001440000004132714416236370022477 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Principal Component Analysis} \setcounter{chapter}{18} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Principal Component Analysis]{Principal Component Analysis: The Olympic Heptathlon \label{PCA}} \section{Introduction} \section{Principal Component Analysis} \section{Analysis Using \R{}} To begin it will help to score all seven events in the same direction, so that `large' values are `good'. We will recode the running events to achieve this; <>=a data("heptathlon", package = "HSAUR3") heptathlon$hurdles <- max(heptathlon$hurdles) - heptathlon$hurdles heptathlon$run200m <- max(heptathlon$run200m) - heptathlon$run200m heptathlon$run800m <- max(heptathlon$run800m) - heptathlon$run800m @ \begin{figure} \begin{center} <>= score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) @ \caption{Scatterplot matrix for the \Robject{heptathlon} data (all countries). \label{PCA-heptathlon-scatter}} \end{center} \end{figure} Figure~\ref{PCA-heptathlon-scatter} shows a scatterplot matrix of the results from all $25$ competitors for the seven events. Most of the scatterplots in the diagram suggest that there is a positive relationship between the results for each pairs of events. The exception are the plots involving the javelin event which give little evidence of any relationship between the result for this event and the results from the other six events; we will suggest possible reasons for this below, but first we will examine the numerical values of the between pairs events correlations by applying the \Rcmd{cor} function <>= w <- options("width") options(width = 65) @ <>= round(cor(heptathlon[,-score]), 2) @ <>= options(width = w$width) @ Examination of these numerical values confirms that most pairs of events are positively correlated, some moderately (for example, high jump and shot) and others relatively highly (for example, high jump and hurdles). And we see that the correlations involving the javelin event are all close to zero. One possible explanation for the latter finding is perhaps that training for the other six events does not help much in the javelin because it is essentially a `technical' event. An alternative explanation is found if we examine the scatterplot matrix in Figure~\ref{PCA-heptathlon-scatter} a little more closely. It is very clear in this diagram that for all events except the javelin there is an outlier, the competitor from Papua New Guinea (PNG), who is much poorer than the other athletes at these six events and who finished last in the competition in terms of points scored. But surprisingly in the scatterplots involving the javelin it is this competitor who again stands out but because she has the third highest value for the event. It might be sensible to look again at both the correlation matrix and the scatterplot matrix after removing the competitor from PNG; the relevant \R{} code is <>= heptathlon <- heptathlon[-grep("PNG", rownames(heptathlon)),] @ Now, we again look at the scatterplot and correlation matrix; \begin{figure} \begin{center} <>= score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) @ \caption{Scatterplot matrix for the \Robject{heptathlon} data after removing observations of the PNG competitor. \label{PCA-heptathlon-scatter2}} \end{center} \end{figure} <>= w <- options("width") options(width = 65) @ <>= round(cor(heptathlon[,-score]), 2) @ <>= options(width = w$width) @ The correlations change quite substantially and the new scatterplot matrix in Figure~\ref{PCA-heptathlon-scatter2} does not point us to any further extreme observations. In the remainder of this chapter we analyze the \Robject{heptathlon} data with the observations of the competitor from Papua New Guinea removed. <>= w <- options("digits") options(digits = 4) @ Because the results for the seven heptathlon events are on different scales we shall extract the principal components from the correlation matrix. A principal component analysis of the data can be applied using the \Rcmd{prcomp} function with the \Rcmd{scale} argument set to \Robject{TRUE} to ensure the analysis is carried out on the correlation matrix. The result is a list containing the coefficients defining each component (sometimes referred to as \stress{loadings}), \index{Loadings} the principal component scores, etc. The required code is (omitting the \Robject{score} variable) <>= heptathlon_pca <- prcomp(heptathlon[, -score], scale = TRUE) print(heptathlon_pca) @ The \Rcmd{summary} method can be used for further inspection of the details: <>= summary(heptathlon_pca) @ <>= options(digits = w$digits) @ The linear combination for the first principal component is <>= a1 <- heptathlon_pca$rotation[,1] a1 @ We see that the hurdles and long jump competitions receive the highest weight but the javelin result is less important. For computing the first principal component, the data need to be rescaled appropriately. The center and the scaling used by \Rcmd{prcomp} internally can be extracted from the \Robject{heptathlon\_pca} via <>= center <- heptathlon_pca$center scale <- heptathlon_pca$scale @ Now, we can apply the \Rcmd{scale} function to the data and multiply with the loadings matrix in order to compute the first principal component score for each competitor <>= hm <- as.matrix(heptathlon[,-score]) drop(scale(hm, center = center, scale = scale) %*% heptathlon_pca$rotation[,1]) @ or, more conveniently, by extracting the first from all precomputed principal components <>= predict(heptathlon_pca)[,1] @ \begin{figure} \begin{center} <>= plot(heptathlon_pca) @ \caption{Barplot of the variances explained by the principal components (with observations for PNG removed). \label{PCA-heptathlon-pca-plot}} \end{center} \end{figure} <>= sdev <- heptathlon_pca$sdev prop12 <- round(sum(sdev[1:2]^2)/sum(sdev^2)*100, 0) @ The first two components account for $\Sexpr{prop12}\%$ of the variance. A barplot of each component's variance (see %%' Figure~\ref{PCA-heptathlon-pca-plot}) shows how the first two components dominate. A plot of the data in the space of the first two principal components, with the points labeled by the name of the corresponding competitor, can be produced as shown with Figure~\ref{PCA-heptathlon-biplot}. In addition, the first two loadings for the events are given in a second coordinate system, also illustrating the special role of the javelin event. This graphical representation is known as \stress{biplot} \citep{HSAUR:Gabriel1971}. \index{Biplot} A biplot is a graphical representation of the information in an $n \times p$ data matrix. The `bi' is a reflection that the technique produces a diagram that gives variance and covariance information about the variables and information about generalized distances between individuals. The coordinates used to produce the biplot can all be obtained directly from the principal components analysis of the covariance matrix of the data and so the plots can be viewed as an alternative representation of the results of such an analysis. Full details of the technical details of the biplot are given in \cite{HSAUR:Gabriel1981} and in \cite{HSAUR:GowerHand1996}. Here we simply construct the biplot for the heptathlon data (without PNG); the result is shown in Figure~\ref{PCA-heptathlon-biplot}. The plot clearly shows that the winner of the gold medal, Jackie Joyner-Kersee, accumulates the majority of her points from the three events long jump, hurdles, and 200m. \begin{figure} \begin{center} <>= biplot(heptathlon_pca, col = c("gray", "black")) @ <>= tmp <- heptathlon[, -score] rownames(tmp) <- abbreviate(gsub(" \\(.*", "", rownames(tmp))) biplot(prcomp(tmp, scale = TRUE), col = c("black", "lightgray"), xlim = c(-0.5, 0.7)) @ \caption{Biplot of the (scaled) first two principal components (with observations for PNG removed). \label{PCA-heptathlon-biplot}} \end{center} \end{figure} The correlation between the score given to each athlete by the standard scoring system used for the heptathlon and the first principal component score can be found from <>= cor(heptathlon$score, heptathlon_pca$x[,1]) @ This implies that the first principal component is in good agreement with the score assigned to the athletes by official Olympic rules; a scatterplot of the official score and the first principal component is given in Figure~\ref{PCA-heptathlonscore}. \begin{figure} \begin{center} <>= plot(heptathlon$score, heptathlon_pca$x[,1]) @ \caption{Scatterplot of the score assigned to each athlete in 1988 and the first principal component. \label{PCA-heptathlonscore}} \end{center} \end{figure} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_gam.Rnw0000644000176200001440000006234514416236367015123 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Generalized Additive Models} %%\VignetteDepends{mgcv,rpart,wordcloud,mboost} \setcounter{chapter}{9} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("mgcv") library("mboost") library("rpart") library("wordcloud") @ \chapter[Scatterplot Smoothers and Additive Models]{Scatterplot Smoothers and Generalized Additive Models: The Men's Olympic 1500m, Air Pollution in the US, Risk Factors for Kyphosis, and Women's Role in %' Society \label{GAM}} \section{Introduction} \section{Scatterplot Smoothers and Generalized Additive Models} \section{Analysis Using \R{}} \subsection{Olympic 1500m Times} To begin we will construct a scatterplot of winning time against the year the games were held. The \R{} code and the resulting plot are shown in Figure~\ref{GAM-men1500m-plot}. There is a very clear downward trend in the times over the years, and, in addition there is a very clear outlier namely the winning time for 1896. We shall remove this time from the data set and now concentrate on the remaining times. First we will fit a simple linear regression to the data and plot the fit onto the scatterplot. The code and the resulting plot are shown in Figure~\ref{GAM-men1500m-lm}. Clearly the linear regression model captures in general terms the downward trend in the times. Now we can add the fits given by the lowess smoother and by a cubic spline smoother; the resulting graph and the extra \R{} code needed are shown in Figure~\ref{GAM-men1500m-smooth}. Both non-parametric fits suggest some distinct departure from linearity, and clearly point to a quadratic model being more sensible than a linear model here. And fitting a parametric model that includes both a linear and a quadratic effect for the year gives a prediction curve very similar to the non-parametric curves; see Figure~\ref{GAM-men1500m-quad}. Here use of the non-parametric smoothers has effectively diagnosed our linear model and pointed the way to using a more suitable parametric model; this is often how such non-parametric models can be used most effectively. For these data, of course, it is clear that the simple linear model cannot be suitable if the investigator is interested in predicting future times since even the most basic knowledge of human physiology will tell us that times cannot continue to go down. There must be some lower limit to the time man can run 1500m. But in other situations use of the non-parametric smoothers may point to a parametric model that could not have been identified \emph{a priori}. \begin{figure} \begin{center} <>= plot(time ~ year, data = men1500m, xlab = "Year", ylab = "Winning time (sec)") @ \caption{Scatterplot of year and winning time. \label{GAM-men1500m-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= men1500m1900 <- subset(men1500m, year >= 1900) men1500m_lm <- lm(time ~ year, data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") abline(men1500m_lm) @ \caption{Scatterplot of year and winning time with fitted values from a simple linear model. \label{GAM-men1500m-lm}} \end{center} \end{figure} \begin{figure} \begin{center} <>= x <- men1500m1900$year y <- men1500m1900$time men1500m_lowess <- lowess(x, y) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m_lowess, lty = 2) men1500m_cubic <- gam(y ~ s(x, bs = "cr")) lines(x, predict(men1500m_cubic), lty = 3) @ \caption{Scatterplot of year and winning time with fitted values from a smooth non-parametric model. \label{GAM-men1500m-smooth}} \end{center} \end{figure} \begin{figure} \begin{center} <>= men1500m_lm2 <- lm(time ~ year + I(year^2), data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m1900$year, predict(men1500m_lm2)) @ \caption{Scatterplot of year and winning time with fitted values from a quadratic model. \label{GAM-men1500m-quad}} \end{center} \end{figure} It is of some interest to look at the predictions of winning times in future Olympics from both the linear and quadratic models. For example, for 2008 and 2012 the predicted times and their $95\%$ confidence intervals can be found using the following code \newpage <>= predict(men1500m_lm, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") predict(men1500m_lm2, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") @ \newpage For predictions far into the future both the quadratic and the linear model fail; we leave readers to get some more predictions to see what happens. We can compare the first prediction with the time actually recorded by the winner of the men's 1500m in Beijing 2008, Rashid Ramzi from Brunei, who won the event in $212.94$ seconds. The confidence interval obtained from the simple linear model does not include this value but the confidence interval for the prediction derived from the quadratic model does. \subsection{Air Pollution in US Cities} Unfortunately, we cannot fit an additive model for describing the $\text{SO}_2$ concentration based on all six covariates because this leads to more parameters than cities, i.e., more parameters than observations when using the default parameterization of \Rpackage{mgcv}. Thus, before we can apply the \Rcmd{gam} function from package \Rpackage{mgcv}, we have to decide which covariates should enter the model and which subset of these covariates should be allowed to deviate from a linear regression relationship. As briefly discussed in Section~\ref{GAM:VS}, we can fit an additive model using the iterative boosting algorithm as described by \cite{HSAUR:BuehlmannHothorn2007}. The complexity of the model is determined by an AIC criterion, which can also be used to determine an appropriate number of boosting iterations to choose. The methodology is available from package \Rpackage{mboost} \citep{PKG:mboost}. We start with a small number of boosting iterations ($100$ by default) and compute the AIC of the corresponding $100$ models: <>= library("mboost") USair_boost <- gamboost(SO2 ~ ., data = USairpollution) USair_aic <- AIC(USair_boost) USair_aic @ The AIC suggests that the boosting algorithm should be stopped after $\Sexpr{mstop(USair_aic)}$ iterations. The partial contributions of each covariate to the predicted $\text{SO}_2$ concentration are given in Figure~\ref{GAM-USairpollution-boostplot}. The plot indicates that all six covariates enter the model and the selection of a subset of covariates for modeling isn't appropriate in this case. However, the number of manufacturing enterprises seems to add linearly to the $\text{SO}_2$ concentration, which simplifies the model. Moreover, the average annual precipitation contribution seems to deviate from zero only for some extreme observations and one might refrain from using the covariate at all. \begin{figure} \begin{center} <>= USair_gam <- USair_boost[mstop(USair_aic)] layout(matrix(1:6, ncol = 3)) plot(USair_gam, ask = FALSE) @ \caption{Partial contributions of six exploratory covariates to the predicted $\text{SO}_2$ concentration. \label{GAM-USairpollution-boostplot}} \end{center} \end{figure} As always, an inspection of the model fit via a residual plot is worth the effort. Here, we plot the fitted values against the residuals and label the points with the name of the corresponding city using the \Rcmd{textplot} function from package \Rpackage{wordcloud}. Figure~\ref{GAM-USairpollution-residplot} shows at least two extreme observations. Chicago has a very large observed and fitted $\text{SO}_2$ concentration, which is due to the huge number of inhabitants and manufacturing plants (see Figure~\ref{GAM-USairpollution-boostplot} also). One smaller city, Providence, is associated with a rather large positive residual indicating that the actual $\text{SO}_2$ concentration is underestimated by the model. In fact, this small town has a rather high $\text{SO}_2$ concentration which is hardly explained by our model. Overall, the model doesn't fit the data very well, so we should avoid overinterpreting the model structure too much. In addition, since each of the six covariates contributes to the model, we aren't able to select a smaller subset of the covariates for modeling and thus fitting a model using \Rcmd{gam} is still complicated (and will not add much knowledge anyway). \begin{figure} \begin{center} <>= SO2hat <- predict(USair_gam) SO2 <- USairpollution$SO2 plot(SO2hat, SO2 - SO2hat, type = "n", xlim = c(-20, max(SO2hat) * 1.1), ylim = range(SO2 - SO2hat) * c(2, 1)) textplot(SO2hat, SO2 - SO2hat, rownames(USairpollution), show.lines = FALSE, new = FALSE) abline(h = 0, lty = 2, col = "grey") @ \caption{Residual plot of $\text{SO}_2$ concentration. \label{GAM-USairpollution-residplot}} \end{center} \end{figure} \subsection{Risk Factors for Kyphosis} \index{Spinogram} Before modeling the relationship between kyphosis and the three exploratory variables age, starting vertebral level of the surgery, and number of vertebrae involved, we investigate the partial associations by so-called \stress{spinograms}, as introduced in \Sexpr{ch("DAGD")}. The numeric exploratory covariates are discretized and their empirical relative frequencies are plotted against the conditional frequency of kyphosis in the corresponding group. Figure~\ref{GAM-kyphosis-plot} shows that kyphosis is absent in very young or very old children, children with a small starting vertebral level, and high number of vertebrae involved. \begin{figure} \begin{center} <>= layout(matrix(1:3, nrow = 1)) spineplot(Kyphosis ~ Age, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Number, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Start, data = kyphosis, ylevels = c("present", "absent")) @ \caption{Spinograms of the three exploratory variables and response variable \Robject{kyphosis}. \label{GAM-kyphosis-plot}} \end{center} \end{figure} The logistic additive model needed to describe the conditional probability of kyphosis given the exploratory variables can be fitted using function \Rcmd{gam}. Here, the dimension of the basis ($k$) has to be modified for \Robject{Number} and \Robject{Start} since these variables are heavily tied. As for generalized linear models, the \Robject{family} argument determines the type of model to be fitted, a logistic model in our case: <>= (kyphosis_gam <- gam(Kyphosis ~ s(Age, bs = "cr") + s(Number, bs = "cr", k = 3) + s(Start, bs = "cr", k = 3), family = binomial, data = kyphosis)) @ The partial contributions of each covariate to the conditional probability of kyphosis with confidence bands are shown in Figure~\ref{GAM-kyphosis-gamplot}. In essence, the same conclusions as drawn from Figure~\ref{GAM-kyphosis-plot} can be stated here. The risk of kyphosis being present decreases with higher starting vertebral level and lower number of vertebrae involved. Children about $100$ months old are under higher risk compared to younger or older children. \begin{figure} \begin{center} <>= trans <- function(x) binomial()$linkinv(x) layout(matrix(1:3, nrow = 1)) plot(kyphosis_gam, select = 1, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 2, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 3, shade = TRUE, trans = trans) @ \caption{Partial contributions of three exploratory variables with confidence bands. \label{GAM-kyphosis-gamplot}} \end{center} \end{figure} \subsection{Women's Role in Society} %' In Chapter~\ref{GLM}, we saw that a logistic regression with an interaction between gender and level of education described the data better than a main-effects only model. Using an additive logistic regression model, we can fit separate, possibly nonlinear, functions of levels of education to both genders: <>= data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ s(education, by = gender) womensrole_gam <- gam(fm1, data = womensrole, family = binomial()) @ The resulting model is best inspected by a plot (Figure~\ref{GAM-womensrole-gamplot}). For males, the log-odds of agreement decreases linearly with each additional year of education. For females, the log-odds is more or less constant up to five years of education and only then begins to decrease. After 15 years, there seems to be no further impact on the log-odds. When we plot the resulting fitted probabilities in a way similar to Figure~\ref{GLM-role2plot}, we see that the interaction is even more pronounced in the additive compared to the linear model. The flat curve for women with less than five years of education can be explained by the rather large variability of the answers in this area but the plateau to the right is due to two groups of highly educated women with a rather large proportion of agreement. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(womensrole_gam, select = 1, shade = TRUE) plot(womensrole_gam, select = 1, shade = TRUE) @ \caption{Effects of level of education for males (right) and females (left) on the log-odds scale derived from an additive logistic regression model. The shaded area denotes confidence bands. \label{GAM-womensrole-gamplot}} \end{center} \end{figure} <>= myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } @ \begin{figure} \begin{center} <>= myplot(predict(womensrole_gam, type = "response")) @ \caption{Effects of level of education for males (right) and females (left) on the log-odds scale derived from an additive logistic regression model. The shaded area denotes confidence bands. \label{GAM-womensrole-probplot}} \end{center} \end{figure} \section{Summary of Findings} \begin{description} \item[Olympic 1500m times] Here the use of a generalized additive model suggested that a quadratic model might best describe the data. When such a model was fitted it made reasonable predictions of the winner's times in the Olympic Games of 2008 and 2012. \item[Air pollution data] Finding a suitable model for these data was problematic because of the outliers in the data and the high correlations between some pairs of explanatory variables. Except for wind, the fitted partial contributions are well approximated by a linear function for most of the observations and it might be questioned if the more complex additive model is really needed. \item[Kyphosis] The risk of kyphosis being present decreases with higher starting vertebral level and lower number of vertebrae involved. Children about 100 months old are under higher risk compared to younger or older children. \item[Women's role in society] For males, the log-odds of agreement decreases linearly with each additional year of education. For females, the log-odds is more or less constant up to five years of education and only then begins to decrease. After $15$ years, there seems to be no further impact on the log-odds. \end{description} \section{Final Comments} Additive models offer flexible modeling tools for regression problems. They stand between generalized linear models, where the regression relationship is assumed to be linear, and more complex models like random forests (see \Sexpr{ch("RP")}) where the regression relationship remains unspecified. Smooth functions describing the influence of covariates on the response can be easily interpreted. Variable selection is a technically difficult problem in this class of models; boosting methods are one possibility to deal with this problem. \section*{Exercises} \begin{description} \exercise Consider the body fat data introduced in \Sexpr{ch("RP")}, Table~\ref{RP-bodyfat-tab}. First fit a generalized additive model assuming normal errors using function \Rcmd{gam}. Are all potential covariates informative? Check the results against a generalized additive model that underwent AIC-based variable selection (fitted using function \Rcmd{gamboost}). \exercise Again fit an additive model to the body fat data, but this time for a log-transformed response. Compare the two models, which one is more appropriate? \exercise Try to fit a logistic additive model to the glaucoma data discussed in \Sexpr{ch("RP")}. Which covariates should enter the model and how is their influence on the probability of suffering from glaucoma? \exercise Investigate the use of different types of scatterplot smoothers on the Hubble data in Table~\ref{MLR-hubble-tab} in Chapter~\ref{MLR-hubble-tab}. \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_analysing_longitudinal_dataI.Rnw0000644000176200001440000003373214416236367022215 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analyzing Longitudinal Data I} %%\VignetteDepends{lme4,multcomp} \setcounter{chapter}{12} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("lme4") library("multcomp") residuals <- function(object) { y <- getME(object, 'y') y - fitted(object) } @ \chapter[Analyzing Longitudinal Data I]{Analyzing Longitudinal Data I: Computerized Delivery of Cognitive Behavioral Therapy -- Beat the Blues \label{ALDI}} \section{Introduction} \section{Analyzing Longitudinal Data} \section{Analysis Using \R{}} \begin{figure} \begin{center} <>= data("BtheB", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) ylim <- range(BtheB[,grep("bdi", names(BtheB))], na.rm = TRUE) tau <- subset(BtheB, treatment == "TAU")[, grep("bdi", names(BtheB))] boxplot(tau, main = "Treated as Usual", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) btheb <- subset(BtheB, treatment == "BtheB")[, grep("bdi", names(BtheB))] boxplot(btheb, main = "Beat the Blues", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) @ \caption{Boxplots for the repeated measures by treatment group for the \Robject{BtheB} data. \label{ALDI:boxplots}} \end{center} \end{figure} We shall fit both random intercept and random intercept and slope models to the data including the baseline BDI values (\Robject{pre.bdi}), \Robject{treatment} group, \Robject{drug}, and \Robject{length} as fixed effect covariates. Linear mixed effects models are fitted in \R{} by using the \Rcmd{lmer} function contained in the \Rpackage{lme4} package \citep{PKG:lme4,HSAUR:PinheiroBates2000,HSAUR:Bates2005}, but an essential first step is to rearrange the data from the `wide form' in which they appear in the \Robject{BtheB} data frame %%' into the `long form' in which each separate repeated measurement %%' and associated covariate values appear as a separate row in a \Rclass{data.frame}. This rearrangement can be made using the following code: <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) @ such that the data are now in the form (here shown for the first three subjects) <>= subset(BtheB_long, subject %in% c("1", "2", "3")) @ The resulting \Rclass{data.frame} \Robject{BtheB\_long} contains a number of missing values \index{Missing values} and in applying the \Rcmd{lmer} function these will be dropped. But notice it is only the missing values that are removed, \stress{not} participants that have at least one missing value. All the available data is used in the model fitting process. The \Rcmd{lmer} function is used in a similar way to the \Rcmd{lm} function met in \Sexpr{ch("MLR")} with the addition of a random term to identify the source of the repeated measurements, here \Robject{subject}. We can fit the two models (\ref{ALDI:ModelA}) and (\ref{ALDI:ModelB}) and test which is most appropriate using <>= library("lme4") BtheB_lmer1 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (1 | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) BtheB_lmer2 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (time | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) anova(BtheB_lmer1, BtheB_lmer2) @ \renewcommand{\nextcaption}{\R{} output of the linear mixed-effects model fit for the \Robject{BtheB} data. \label{ALDI-BtheB-summary}} \SchunkLabel <>= summary(BtheB_lmer1) @ \SchunkRaw The \Rcmd{summary} method for \Rclass{lmer} objects doesn't print $p$-values for Gaussian mixed models because the degrees of freedom of the $t$ reference distribution are not obvious. However, one can rely on the asymptotic normal distribution for computing univariate $p$-values for the fixed effects using the \Rcmd{cftest} function from package \Rpackage{multcomp}. The asymptotic $p$-values are given in Figure~\ref{ALDI-BtheB-summary-p}. \renewcommand{\nextcaption}{\R{} output of the asymptotic $p$-values for linear mixed-effects model fit for the \Robject{BtheB} data. \label{ALDI-BtheB-summary-p}} \SchunkLabel <>= cftest(BtheB_lmer1) @ \SchunkRaw We can check the assumptions of the final model fitted to the \Robject{BtheB} data, i.e., the normality of the random effect terms and the residuals, by first using the \Rcmd{ranef} method to \stress{predict} the former and the \Rcmd{residuals} method to calculate the differences between the observed data values and the fitted values, and then using normal probability plots on each. How the random effects are predicted is explained briefly in Section~\ref{ALDI:predictrandom}. The necessary \R{} code to obtain the effects, residuals, and plots is shown with Figure~\ref{ALDI:qqplots}. There appear to be no large departures from linearity in either plot. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) qint <- ranef(BtheB_lmer1)$subject[["(Intercept)"]] qres <- residuals(BtheB_lmer1) qqnorm(qint, ylab = "Estimated random intercepts", xlim = c(-3, 3), ylim = c(-20, 20), main = "Random intercepts") qqline(qint) qqnorm(qres, xlim = c(-3, 3), ylim = c(-20, 20), ylab = "Estimated residuals", main = "Residuals") qqline(qres) @ \caption{Quantile-quantile plots of predicted random intercepts and residuals for the random intercept model \Robject{BtheB\_lmer1} fitted to the \Robject{BtheB} data. \label{ALDI:qqplots}} \end{center} \end{figure} \begin{figure} \begin{center} <>= bdi <- BtheB[, grep("bdi", names(BtheB))] plot(1:4, rep(-0.5, 4), type = "n", axes = FALSE, ylim = c(0, 50), xlab = "Months", ylab = "BDI") axis(1, at = 1:4, labels = c(0, 2, 3, 5)) axis(2) for (i in 1:4) { dropout <- is.na(bdi[,i + 1]) points(rep(i, nrow(bdi)) + ifelse(dropout, 0.05, -0.05), jitter(bdi[,i]), pch = ifelse(dropout, 20, 1)) } @ \caption{Distribution of BDI values for patients that do (circles) and do not (bullets) attend the next scheduled visit. \label{ALDI-dropout}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_quantile_regression.Rnw0000644000176200001440000006432514416236370020433 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Quantile Regression} %%\VignetteDepends{lattice,quantreg} \setcounter{chapter}{11} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 80} <>= library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) data("db", package = "gamlss.data") nboys <- with(db, sum(age > 2)) @ \chapter[Quantile Regression]{Quantile Regression: Head Circumference for Age\label{QR}} \section{Introduction} \section{Quantile Regression} \section{Analysis Using \R{}} We begin with a graphical inspection of the influence of age on head circumference by means of a scatterplot. Plotting all pairs of age and head circumference in one panel gives more weight to the teens and 20s, so we produce one plot for younger boys between two and nine years old and one additional plot for boys older than nine years (or $>108$ months, to be precise). The \Rcmd{cut} function is very convenient for constructing a factor representing these two groups <>= summary(db) db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) @ which can then be used as a conditioning variable for conditional scatterplots produced with the \Rcmd{xyplot} function \citep[package \Rpackage{lattice}]{PKG:lattice}. Because we draw $\Sexpr{nboys}$ points in total, we use transparent shading (via \Rcmd{rgb(.1, .1, .1, .1)}) in order to obtain a clearer picture for the more populated areas in the plot. \begin{figure} \begin{center} <>= db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", scales = list(x = list(relation = "free")), layout = c(2, 1), pch = 19, col = rgb(.1, .1, .1, .1)) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys. \label{QR-db-plot}} \end{center} \end{figure} Figure~\ref{QR-db-plot}, as expected, shows that head circumference increases with age. It also shows that there is considerable variation and also quite a number of extremely large or small head circumferences in the respective age cohorts. It should be noted that each point corresponds to one boy participating in the study due to its cross-sectional study design. No longitudinal measurements (cf.~Chapter~\ref{ALDI}) were taken and we can safely assume independence between observations. We start with a simple linear model, computed separately for the younger and older boys, for regressing the mean head circumference on age <>= (lm2.9 <- lm(head ~ age, data = db, subset = age < 9)) (lm9.23 <- lm(head ~ age, data = db, subset = age > 9)) @ This approach is equivalent to fitting two intercepts and two slopes in the joint model <>= (lm_mod <- lm(head ~ age:I(age < 9) + I(age < 9) - 1, data = db)) @ while omitting the global intercept. Because the median of the normal distribution is equal to its mean, the two models can be interpreted as conditional median models under the normal assumption. The model states that within one year, the head circumference increases by $\Sexpr{round(coef(lm_mod)["age:I(age < 9)TRUE"], 3)}$ cm for boys less than nine years old and by $\Sexpr{round(coef(lm_mod)["age:I(age < 9)FALSE"], 3)}$ for older boys. We now relax this distributional assumption and compute a median regression model using the \Rcmd{rq} function from package \Rpackage{quantreg} \citep{PKG:quantreg}: <>= library("quantreg") (rq_med2.9 <- rq(head ~ age, data = db, tau = 0.5, subset = age < 9)) (rq_med9.23 <- rq(head ~ age, data = db, tau = 0.5, subset = age > 9)) @ When we construct confidence intervals for the intercept and slope parameters from both models for the younger boys <>= cbind(coef(lm2.9)[1], confint(lm2.9, parm = "(Intercept)")) cbind(coef(lm2.9)[2], confint(lm2.9, parm = "age")) summary(rq_med2.9, se = "rank") @ we see that the two intercepts are almost identical but there seems to be a larger slope parameter for age in the median regression model. For the older boys, we get the confidence intervals via <>= cbind(coef(lm9.23)[1], confint(lm9.23, parm = "(Intercept)")) cbind(coef(lm9.23)[2], confint(lm9.23, parm = "age")) summary(rq_med9.23, se = "rank") @ with again almost identical intercepts and only a slightly increased slope for age in the median regression model. Since one of our aims was the construction of growth curves, we first use the linear models regressing head circumference on age to plot such curves. Based on the two normal linear models, we can compute the quantiles of head circumference for age. For the following values of $\tau$ <>= tau <- c(.01, .1, .25, .5, .75, .9, .99) @ and a grid of age values <>= gage <- c(2:9, 9:23) i <- 1:8 @ (the index \Rcmd{i} denoting younger boys), we compute the standard prediction intervals \index{Prediction interval} taking the randomness of the estimated intercept, slope, and variance parameters into account. We first set up a data frame with our grid of age values and then use the \Rcmd{predict} function for a linear model to compute prediction intervals, here with a coverage of $50\%$. The lower limit of such a $50\%$ prediction interval is equivalent to the conditional $25\%$ quantile for the given age and the upper limit corresponds to the $75\%$ quantile. The conditional mean is also reported and is equivalent to the conditional median: <>= idf <- data.frame(age = gage[i]) p <- predict(lm2.9, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p @ We now proceed with $80\%$ prediction intervals for constructing the $10\%$ and $90\%$ quantiles, and with $98\%$ prediction intervals corresponding to the $1\%$ and $99\%$ quantiles and repeat the exercise also for the older boys: <>= p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") p2.9 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] idf <- data.frame(age = gage[-i]) p <- predict(lm9.23, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") @ We now reorder the columns of this table and get the following conditional quantiles, estimated under the normal assumption of head circumference: <>= p9.23 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] round((q2.23 <- rbind(p2.9, p9.23)), 3) @ We can now superimpose these conditional quantiles on our scatterplot. To do this, we need to write our own little panel function that produces the scatterplot using the \Rcmd{panel.xyplot} function and then adds the just computed conditional quantiles by means of the \Rcmd{panel.lines} function called for every column of $\Robject{q2.23}$. Figure~\ref{QR-db-lm-plot} shows parallel lines owing to the fact that the linear model assumes an error variance independent from age; this is the so-called variance homogeneity. Compared to a plot with only a single (mean) regression line, we plotted a whole bunch of conditional distributions here, one for each value of age. Of course, we did so under extremely simplifying assumptions like linearity and variance homogeneity that we're going to drop now. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), q2.23[nrow(q2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), q2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed normal quantiles. \label{QR-db-lm-plot}} \end{center} \end{figure} For the production of a nonparametric version of our growth curves, we start with fitting not only one but multiple quantile regression models, one for each value of $\tau$. We start with the younger boys <>= (rq2.9 <- rq(head ~ age, data = db, tau = tau, subset = age < 9)) @ and continue with the older boys <>= (rq9.23 <- rq(head ~ age, data = db, tau = tau, subset = age > 9)) @ Naturally, the intercept parameters vary but there is also a considerable variation in the slopes, with the largest value for the $1\%$ quantile regression model for younger boys. The parameters $\beta_\tau$ have to be interpreted with care. In general, they cannot be interpreted on an individual-specific level. A boy who happens to be at the $\tau \times 100\%$ quantile of head circumference conditional on his age would not be at the same quantile anymore when he gets older. When knowing $\beta_\tau$, the only conclusion that can be drawn is how the $\tau \times 100\%$ quantile of a population with a specific age differs from the $\tau \times 100\%$ quantile of a population with a different age. Because the linear functions estimated by linear quantile regression, here in model \Robject{rq9.23}, directly correspond to the conditional quantiles of interest, we can use the \Rcmd{predict} function to compute the estimated conditional quantiles: <>= p2.23 <- rbind(predict(rq2.9, newdata = data.frame(age = gage[i])), predict(rq9.23, newdata = data.frame(age = gage[-i]))) @ It is important to note that these numbers were obtained without assuming anything about the continuous distribution of head circumference given any age. Again, we produce a scatterplot with superimposed quantiles, this time each line corresponds to a specific model. For the sake of comparison with the linear model, we add the linear model quantiles as dashed lines to Figure~\ref{QR-db-rq-plot}. For the older boys, there seems to be almost no difference but the more extreme $1\%$ and $99\%$ quantiles for the younger boys differ considerably. So, at least for the younger boys, we might want to allow for age-specific variability in the distribution of head circumference. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), p2.23[nrow(p2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed regression quantiles (solid lines) and normal quantiles (dashed lines). \label{QR-db-rq-plot}} \end{center} \end{figure} Still, with the quantile regression models shown in Figure~\ref{QR-db-rq-plot} we assume that the quantiles of head circumference depend on age in a linear way. Additive quantile regression is one way to approach the estimation of non-linear quantile functions. By considering two different models for younger and older boys, we allowed for a certain type of non-linear function in the results shown so far. Additive quantile regression should be able to deal with this problem and we therefore fit these models to all boys simultaneously. For our different choices of $\tau$, we fit one additive quantile regression model using the \Rcmd{rqss} function from the \Rpackage{quantreg} and allow smooth quantile functions of age via the \Rcmd{qss} function in the right-hand side of the model formula. Note that we transformed age by the third root prior to model fitting. This does not affect the model since it is a monotone transformation, however, it helps to avoid fitting a function with large derivatives for very young boys resulting in a low penalty parameter $\lambda$: <>= rqssmod <- vector(mode = "list", length = length(tau)) db$lage <- with(db, age^(1/3)) for (i in 1:length(tau)) rqssmod[[i]] <- rqss(head ~ qss(lage, lambda = 1), data = db, tau = tau[i]) @ For the analysis of the head circumference, we choose a penalty parameter $\lambda = 1$, which is the default for the \Rcmd{qss} function. Simply using the default without a careful hyperparameter tuning, for example using crossvalidation or similar procedures, is almost always a mistake. By visual inspection (Figure~\ref{QR-db-rqss-plot}) we find this choice appropriate but ask the readers to make a second guess (Exercise 3). For a finer grid of age values, we compute the conditional quantiles from the \Rcmd{predict} function: <>= gage <- seq(from = min(db$age), to = max(db$age), length = 50) p <- sapply(1:length(tau), function(i) { predict(rqssmod[[i]], newdata = data.frame(lage = gage^(1/3))) }) @ Using very similar code as for plotting linear quantiles, we produce again a scatterplot of age and head circumference but this time overlaid with non-linear regression quantiles. Given that the results from the linear models presented in Figure~\ref{QR-db-rq-plot} looked pretty convincing, the quantile curves in Figure~\ref{QR-db-rqss-plot} shed a surprising new light on the data. For the younger boys, we expected to see a larger variability than for boys between two and three years old, but in fact the distribution seems to be more complex. The distribution seems to be positively skewed with a heavy lower tail and the degree of skewness varies with age (note that the median is almost linear for boys older than four years). Also in the right part of Figure~\ref{QR-db-rqss-plot}, we see an age-varying skewness, although less pronounced as for the younger boys. The median increases up to 16 years but then the growth rate is much smaller. This does not seem to be the case for the $1\%, 10\%, 90\%$, and $99\%$ quantiles. Note that the discontinuity in the quantiles between the two age groups is only due to the overlapping abscissae. However, the deviations between the growth curves obtained from a linear model under normality assumption on the one hand and quantile regression on the other hand as shown in Figures~\ref{QR-db-rq-plot} and \ref{QR-db-rqss-plot} are hardly dramatic for the head circumference data. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) apply(p, 2, function(x) panel.lines(gage, x)) panel.text(rep(max(db$age), length(tau)), p[nrow(p),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed non-linear regression quantiles. \label{QR-db-rqss-plot}} \end{center} \end{figure} \section{Summary of Findings} We can conclude that the whole distribution of head circumference changes with age and that assumptions like symmetry and variance homogeneity might be questionable for such type of analysis. One alternative to the estimation of conditional quantiles is the estimation of conditional distributions. One very interesting parametric approach are generalized additive models for location, scale, and shape \citep[GAMLSS,][]{HSAUR:RigbyStasinopoulos2005}. In \cite{HSAUR:StasinopoulosRigby2007}, an analysis of the age and head circumference by means of the \Rpackage{gamlss} package can be found. One practical problem associated with contemporary methods in quantile regression is quantile crossing. Because we fitted one quantile regression model for each of the quantiles of interest, we cannot guarantee that the conditional quantile functions are monotone, so the $90\%$ quantile may well be larger than the $95\%$ quantile in some cases. Postprocessing of the estimated quantile curves may help in this situation \citep{HSAUR:DetteVolgushev2008}. \section{Final Comments} When estimating regression models, we have to be aware of the implications of model assumptions when interpreting the results. Symmetry, linearity, and variance homogeneity are among the strongest but common assumptions. Quantile regression, both in its linear and additive formulation, is an intellectually stimulating and practically very useful framework where such assumptions can be relaxed. At a more basic level, one should always ask \stress{Am I really interested in the mean?} before using the regression models discussed in other chapters of this book. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_meta_analysis.Rnw0000644000176200001440000003654214416236367017210 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Meta-Analysis} %%\VignetteDepends{rmeta} \setcounter{chapter}{16} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Meta-Analysis]{Meta-Analysis: Nicotine Gum and Smoking Cessation and the Efficacy of BCG Vaccine in the Treatment of Tuberculosis \label{MA}} \section{Introduction} \section{Systematic Reviews and Meta-Analysis} \section{Analysis Using \R{}} The aim in collecting the results from the randomized trials of using nicotine gum to help smokers quit was to estimate the overall \stress{odds ratio}, the odds of quitting smoking for those given the gum, divided by the odds of quitting for those not receiving the gum. Following formula (\ref{MA:barY}), we can compute the pooled odds ratio as follows: <>= data("smoking", package = "HSAUR3") odds <- function(x) (x[1] * (x[4] - x[3])) / ((x[2] - x[1]) * x[3]) weight <- function(x) ((x[2] - x[1]) * x[3]) / sum(x) W <- apply(smoking, 1, weight) Y <- apply(smoking, 1, odds) sum(W * Y) / sum(W) @ Of course, the computations are more conveniently done using the functionality provided in package \Rpackage{rmeta}. The odds ratios and corresponding confidence intervals are computed by means of the \Rcmd{meta.MH} function for fixed effects meta-analysis as shown here <>= library("rmeta") smokingOR <- meta.MH(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking)) @ and the results can be inspected via a \Rcmd{summary} method -- see Figure~\ref{MA-smoking-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{smokingOR}. \label{MA-smoking-summary}} \SchunkLabel <>= summary(smokingOR) @ \SchunkRaw \begin{figure} \begin{center} <>= plot(smokingOR, ylab = "") @ \caption{Forest plot of observed effect sizes and $95\%$ confidence intervals for the nicotine gum studies. \label{MA:smokingplot}} \end{center} \end{figure} We shall use both the fixed effects and random effects approaches here so that we can compare results. For the fixed effects model (see Figure~\ref{MA-smoking-summary}) the estimated overall log-odds ratio is \Sexpr{round(smokingOR$logMH, 3)} with a standard error of \Sexpr{round(smokingOR$selogMH, 3)}. This leads to an estimate of the overall odds ratio of \Sexpr{round(exp(smokingOR$logMH), 3)}, with a 95\% confidence interval as given above. For the random effects model, which is fitted by applying function \Rcmd{meta.DSL} to the \Robject{smoking} data as follows \vspace{1cm} <>= (smokingDSL <- meta.DSL(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking))) @ the corresponding estimate is \Sexpr{round(exp(smokingDSL$logDSL), 3)}. Both models suggest that there is clear evidence that nicotine gum increases the odds of quitting. The random effects confidence interval is considerably wider than that from the fixed effects model; here the test of homogeneity of the studies is not significant implying that we might use the fixed effects results. But the test is not particularly powerful and it is more sensible to assume a priori that heterogeneity is present and so we use the results from the random effects model. \section{Meta-Regression} The examination of heterogeneity of the effect sizes from the studies in a meta-analysis begins with the formal test for its presence, although in most meta-analyses such heterogeneity can almost be assumed to be present. There will be many possible sources of such heterogeneity and estimating how these various factors affect the observed effect sizes in the studies chosen is often of considerable interest and importance, indeed usually more important than the relatively simplistic use of meta-analysis to determine a single summary estimate of overall effect size. We can illustrate the process using the BCG vaccine data. We first find the estimate of the overall effect size from applying the fixed effects and the random effects models described previously: <>= data("BCG", package = "HSAUR3") BCG_OR <- meta.MH(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) BCG_DSL <- meta.DSL(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) @ The results are inspected using the \Rcmd{summary} method as shown in Figures~\ref{MA-BCGOR-summary} and \ref{MA-BCGDSL-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_OR}. \label{MA-BCGOR-summary}} \SchunkLabel <>= summary(BCG_OR) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_DSL}. \label{MA-BCGDSL-summary}} \SchunkLabel <>= summary(BCG_DSL) @ \SchunkRaw To assess how the two covariates, latitude and year, relate to the observed effect sizes we shall use multiple linear regression but will weight each observation by $W_i = (\hat{\sigma}^2 + V_i^2)^{-1}, i = 1, \dots, 13$, where $\hat{\sigma}^2$ is the estimated between-study variance and $V_i^2$ is the estimated variance from the $i$th study. The required \R{} code to fit the linear model via weighted least squares is: \index{Meta-Analysis!weighted least squares regression} <>= studyweights <- 1 / (BCG_DSL$tau2 + BCG_DSL$selogs^2) y <- BCG_DSL$logs BCG_mod <- lm(y ~ Latitude + Year, data = BCG, weights = studyweights) @ and the results of the \Rcmd{summary} method are shown in Figure~\ref{MA-mod-summary}. There is some evidence that latitude is associated with observed effect size, the log-odds ratio becoming increasingly negative as latitude increases, as we can see from a scatterplot of the two variables with the added weighted regression fit seen in Figure~\ref{MA-BCG}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_mod}. \label{MA-mod-summary}} \SchunkLabel <>= summary(BCG_mod) @ \SchunkRaw \begin{figure} \begin{center} <>= plot(y ~ Latitude, data = BCG, ylab = "Estimated log-OR") abline(lm(y ~ Latitude, data = BCG, weights = studyweights)) @ \caption{Plot of observed effect size for the \Robject{BCG} vaccine data against latitude, with a weighted least squares regression fit shown in addition. \label{MA-BCG}} \end{center} \end{figure} \section{Publication Bias} \begin{figure} \begin{center} <>= set.seed(290875) sigma <- seq(from = 1/10, to = 1, length.out = 35) y <- rnorm(35) * sigma gr <- (y > -0.5) layout(matrix(1:2, ncol = 1)) plot(y, 1/sigma, xlab = "Effect size", ylab = "1 / standard error") plot(y[gr], 1/(sigma[gr]), xlim = range(y), xlab = "Effect size", ylab = "1 / standard error") @ \caption{Example funnel plots from simulated data. The asymmetry in the lower plot is a hint that a publication bias might be a problem. \label{MA-funnel}} \end{center} \end{figure} We can construct a funnel plot for the nicotine gum data using the \R{} code depicted with Figure~\ref{MA:funnel}. There does not appear to be any strong evidence of publication bias here. \begin{figure} \begin{center} <>= funnelplot(smokingDSL$logs, smokingDSL$selogs, summ = smokingDSL$logDSL, xlim = c(-1.7, 1.7)) abline(v = 0, lty = 2) @ \caption{Funnel plot for nicotine gum data. \label{MA:funnel}} \end{center} \end{figure} \index{Meta-analysis!funnel plots|)} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_survival_analysis.Rnw0000644000176200001440000004023614416236370020122 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Survival Analysis} %%\VignetteDepends{survival,coin,partykit} \setcounter{chapter}{10} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= x <- library("survival") x <- library("coin") x <- library("partykit") @ \chapter[Survival Analysis]{Survival Analysis: \\ Glioma Treatment and \\ Breast Cancer Survival \label{SA}} \section{Introduction} \section{Survival Analysis} \section{Analysis Using \R{}} \subsection{Glioma Radioimmunotherapy} \begin{figure} \begin{center} <>= data("glioma", package = "coin") library("survival") layout(matrix(1:2, ncol = 2)) g3 <- subset(glioma, histology == "Grade3") plot(survfit(Surv(time, event) ~ group, data = g3), main = "Grade III Glioma", lty = c(2, 1), ylab = "Probability", xlab = "Survival Time in Month", legend.text = c("Control", "Treated"), legend.bty = "n") g4 <- subset(glioma, histology == "GBM") plot(survfit(Surv(time, event) ~ group, data = g4), main = "Grade IV Glioma", ylab = "Probability", lty = c(2, 1), xlab = "Survival Time in Month", xlim = c(0, max(glioma$time) * 1.05)) @ \caption{Survival times comparing treated and control patients. \label{SA-glioma-plot}} \end{center} \end{figure} Figure~\ref{SA-glioma-plot} leads to the impression that patients treated with the novel radioimmunotherapy survive longer, regardless of the tumor type. In order to assess if this informal finding is reliable, we may perform a log-rank test via \index{Log-rank test} <>= survdiff(Surv(time, event) ~ group, data = g3) @ which indicates that the survival times are indeed different in both groups. However, the number of patients is rather limited and so it might be dangerous to rely on asymptotic tests. As shown in \Sexpr{ch("CI")}, conditioning on the data and computing the distribution of the test statistics without additional assumptions are one alternative. The function \Rcmd{surv\_test} from package \Rpackage{coin} \citep{HSAUR:Hothorn:2006:AmStat,PKG:coin} can be used to compute an exact conditional test answering the question whether the survival times differ for grade III patients. For all possible permutations of the groups on the censored response variable, the test statistic is computed and the fraction of whose being greater than the observed statistic defines the exact $p$-value: <>= library("coin") logrank_test(Surv(time, event) ~ group, data = g3, distribution = "exact") @ which, in this case, confirms the above results. The same exercise can be performed for patients with grade IV glioma <>= logrank_test(Surv(time, event) ~ group, data = g4, distribution = "exact") @ which shows a difference as well. However, it might be more appropriate to answer the question whether the novel therapy is superior for both groups of tumors simultaneously. This can be implemented by \stress{stratifying}, or \stress{blocking}, with respect to tumor grading: <>= logrank_test(Surv(time, event) ~ group | histology, data = glioma, distribution = approximate(B = 10000)) @ Here, we need to approximate the exact conditional distribution since the exact distribution is hard to compute. The result supports the initial impression implied by Figure~\ref{SA-glioma-plot}. \subsection{Breast Cancer Survival} Before fitting a Cox model to the \Robject{GBSG2} data, we again derive a Kaplan-Meier estimate of the survival function of the data, here stratified with respect to whether a patient received hormonal therapy or not (see Figure~\ref{SA-GBSG2-plot}). \begin{figure} \begin{center} <>= data("GBSG2", package = "TH.data") plot(survfit(Surv(time, cens) ~ horTh, data = GBSG2), lty = 1:2, mark.time = FALSE, ylab = "Probability", xlab = "Survival Time in Days") legend(250, 0.2, legend = c("yes", "no"), lty = c(2, 1), title = "Hormonal Therapy", bty = "n") @ \caption{Kaplan-Meier estimates for breast cancer patients who either received hormonal therapy or not. \label{SA-GBSG2-plot}} \end{center} \end{figure} Fitting a Cox model follows roughly the same rules as shown for linear models in \Sexpr{ch("MLR")} with the exception that the response variable is again coded as a \Rclass{Surv} object. For the \Robject{GBSG2} data, the model is fitted via <>= GBSG2_coxph <- coxph(Surv(time, cens) ~ ., data = GBSG2) @ and the results as given by the \Rcmd{summary} method are given in Figure~\ref{GBSG2-coxph-summary}. Since we are especially interested in the relative risk for patients who underwent hormonal therapy, we can compute an estimate of the relative risk and a corresponding confidence interval via <>= ci <- confint(GBSG2_coxph) exp(cbind(coef(GBSG2_coxph), ci))["horThyes",] @ This result implies that patients treated with hormonal therapy had a lower risk and thus survived longer compared to women who were not treated this way. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{GBSG2\_coxph}. \label{GBSG2-coxph-summary}} \SchunkLabel <>= summary(GBSG2_coxph) @ \SchunkRaw Model checking and model selection for proportional hazards models are complicated by the fact that easy-to-use residuals, such as those discussed in \Sexpr{ch("MLR")} for linear regression models, are not available, but several possibilities do exist. A check of the proportional hazards assumption can be done by looking at the parameter estimates $\beta_1, \dots, \beta_q$ over time. We can safely assume proportional hazards when the estimates don't vary much over time. %' The null hypothesis of constant regression coefficients can be tested, both globally as well as for each covariate, by using the \Rcmd{cox.zph} function <>= GBSG2_zph <- cox.zph(GBSG2_coxph) GBSG2_zph @ There seems to be some evidence of time-varying effects, \index{Time-varying effects} especially for age and tumor grading. A graphical representation of the estimated regression coefficient over time is shown in Figure~\ref{SA-GBSG2-zph-plot}. We refer to \cite{HSAUR:TherneauGrambsch2000} for a detailed theoretical description of these topics. \begin{figure} \begin{center} <>= plot(GBSG2_zph, var = "age") @ \caption{Estimated regression coefficient for \Robject{age} depending on time for the \Robject{GBSG2} data. \label{SA-GBSG2-zph-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:3, ncol = 3)) res <- residuals(GBSG2_coxph) plot(res ~ age, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "Martingale Residuals") abline(h = 0, lty = 3) plot(res ~ pnodes, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) plot(res ~ log(progrec), data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) @ \caption{Martingale residuals for the \Robject{GBSG2} data. \label{SA-GBSG2-mart-plot}} \end{center} \end{figure} The tree-structured regression models applied to continuous and binary responses in \Sexpr{ch("RP")} are applicable to censored responses in survival analysis as well. Such a simple prognostic model with only a few terminal nodes might be helpful for relating the risk to certain subgroups of patients. Both \Rcmd{rpart} and the \Rcmd{ctree} function from package \Rpackage{partykit} can be applied to the GBSG2 data, where the conditional trees of the latter select cutpoints based on log-rank statistics \index{Conditional tree} <>= GBSG2_ctree <- ctree(Surv(time, cens) ~ ., data = GBSG2) @ and the \Rcmd{plot} method applied to this tree produces the graphical representation in Figure~\ref{SA-GBSG2-ctree-plot}. The number of positive lymph nodes (\Robject{pnodes}) is the most important variable in the tree, corresponding to the $p$-value associated with this variable in Cox's %%'s regression; see Figure~\ref{GBSG2-coxph-summary}. Women with not more than three positive lymph nodes who have undergone hormonal therapy seem to have the best prognosis whereas a large number of positive lymph nodes and a small value of the progesterone receptor indicates a bad prognosis. \begin{figure} \begin{center} <>= plot(GBSG2_ctree) @ \caption{Conditional inference tree for the \Robject{GBSG2} data with the survival function, estimated by Kaplan-Meier, shown for every subgroup of patients identified by the tree. \label{SA-GBSG2-ctree-plot}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/LaTeXBibTeX/0000755000176200001440000000000014416277550015255 5ustar liggesusersHSAUR3/vignettes/LaTeXBibTeX/HSAUR.bib0000644000176200001440000023027114172224326016612 0ustar liggesusers> library(utils); library(HSAUR2); HSAUR2:::pkgyears("tmp") > library(utils); library(HSAUR2); HSAUR2:::pkgversions("HSAUR.in") @manual{HSAUR:R, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:AItR, title = {An Introduction to R}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:RDIE, title = {R Data Import/Export}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:RIA, title = {R Installation and Administration}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:WRE, title = {Writing R Extensions}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @book{HSAUR:Ripley1996, key = {216}, author = {Ripley, Brian D.}, title = {{Pattern} Recognition and Neural Networks}, year = {1996}, publisher = {Cambridge University Press}, address = {Cambridge, UK}, url = {http://www.stats.ox.ac.uk/pub/PRNN/}, pages = 403 } %% Chapter: Analysing Longitudinal Data @article{HSAUR:WatkinsWilliams1998, author = {E. Watkins and R. Williams}, title = {The efficacy of cognitive behavioural therapy}, journal = {Journal of Counseling and Clinical Psychology}, year = 1998, volume = 27, pages = {31-39} } %% et al? @article{HSAUR:Proudfootetal2003, author = {J. Proudfoot and D. Goldberg and A. Mann and B. S. Everitt and I. Marks and J. A. Gray}, title = {Computerized, interactive, multimedia cognitive-behavioural program for anxiety and depression in general practice}, journal = {Psychological Medicine}, year = 2003, volume = 33, number = 2, pages = {217-227} } %% edition? @manual{HSAUR:Becketal1996, author = {A. Beck and R. Steer and G. Brown}, title = {BDI-II Manual}, year = 1996, edition = {2nd}, organization = {The Psychological Corporation, San Antonio} } @book{HSAUR:Diggleetal2003, author = {P. J. Diggle and P. J. Heagerty and K. Y. Liang and S. L. Zeger}, title = {Analysis of Longitudinal Data}, year = {2003}, publisher = {Oxford University Press}, address = {Oxford, UK} } @book{HSAUR:Longford1993, author = {N. T. Longford}, title = {Random Coefficient Models}, year = {1993}, publisher = {Oxford University Press}, address = {Oxford, UK} } @article{HSAUR:Rubin1976, author = {D. Rubin}, title = {Inference and missing data}, journal = {Biometrika}, year = 1976, volume = 63, pages = {581-592} } @article{HSAUR:MurrayFindlay1988, author = {G. D. Murray and J. G. Findlay}, title = {Correcting for bias caused by dropouts in hypertension trials}, journal = {Statistics in Medicine}, year = 1988, volume = 7, pages = {941-946} } @article{HSAUR:DiggleKenward1994, author = {P. J. Diggle and M. G. Kenward}, title = {Informative dropout in longitudinal data analysis}, journal = {Journal of the Royal Statistical Society, Series C}, year = 1994, volume = 43, pages = {49-93} } @article{HSAUR:Carpenteretal2002, author = {J. Carpenter and S. Pocock and C. J. Lamm}, title = {Coping with missing data in clinical trials: {A} model-based approach applied to asthma trials}, journal = {Statistics in Medicine}, year = 2002, volume = {21}, pages = {1043-1066} } @incollection{HSAUR:Diggle1998, author = {P. J. Diggle}, title = {Dealing with missing values in longitudinal studies}, year = 1998, booktitle = {Statistical Analysis of Medical Data}, editor = {B. S. Everitt and G. Dunn}, publisher = {Arnold}, address = {London, UK} } @book{HSAUR:Everitt2002, author = {B. S. Everitt}, title = {Modern Medical Statistics}, year = 2002, publisher = {Arnold}, address = {London, UK} } @article{HSAUR:Heitjan1997, author = {D. F. Heitjan}, title = {Annotation: {W}hat can be done about missing data? {A}pproaches to imputation}, journal = {American Journal of Public Health}, year = 1997, volume = 87, pages = {548-550} } @book{HSAUR:MayorFrei2003, author = {M. Mayor and P. Frei}, title = {New Worlds in the Cosmos: {T}he Discovery of Exoplanets}, publisher = {Cambridge University Press}, year = 2003, address = {Cambridge, UK} } %%% check volume and pages @article{HSAUR:MayorQueloz1995, author = {M. Mayor and D. Queloz}, title = {A {J}upiter-mass companion to a solar-type star}, journal = {Nature}, year = 1995, volume = {378}, pages = {355} } @article{HSAUR:EverittBullmore1999, author = {B. S. Everitt and E. T. Bullmore}, title = {Mixture model mapping of brain activation in functional magnetic resonance images}, journal = {Human Brain Mapping}, year = 1999, volume = 7, pages = {1-14} } @book{HSAUR:Everittetal2001, author = {B. S. Everitt and S. Landau and M. Leese}, title = {Cluster Analysis}, publisher = {Arnold}, year = 2001, edition = {4th}, address = {London, UK} } @book{HSAUR:Gordon1999, author = {A. Gordon}, title = {Classification}, year = 1999, edition = {2nd}, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @article{HSAUR:ScottSymons1971, author = {A. J. Scott and M. J. Symons}, title = {Clustering methods based on likelihood ratio criteria}, journal = {Biometrics}, year = 1971, volume = 27, pages = {387-398} } @article{HSAUR:BanfieldRaftery1993, author = {J. D. Banfield and A. E. Raftery}, title = {Model-based {G}aussian and non-{G}aussian clustering}, year = 1993, journal = {Biometrics}, volume = 49, pages = {803-821} } @article{HSAUR:FraleyRaftery1999, author = {G. Fraley and A. E. Raftery}, title = {{MCLUST: S}oftware for model-based cluster analysis}, journal = {Journal of Classification}, year = 1999, volume = 16, pages = {297-306} } @article{HSAUR:FriedmanRubin1967, author = {H. P. Friedman and J. Rubin}, title = {On some invariant criteria for grouping data}, journal = {Journal of the American Statistical Association}, year = 1967, volume = 62, pages = {1159-1178} } @article{HSAUR:Marriott1982, author = {F. H. C. Marriott}, title = {Optimization methods of cluster analysis}, journal = {Biometrika}, year = 1982, volume = 69, pages = {417-421} } @article{HSAUR:Dempsteretal1977, author = {A. P. Dempster and N. M. Laird and D. B. Rubin}, title = {Maximum likelihood from incomplete data via the {EM} algorithm {(C/R: p22-37)}}, journal = {Journal of the Royal Statistical Society, Series B}, year = 1977, volume = 39, pages = {1-22} } @article{HSAUR:DubesJain1979, author = {R. Dubes and A. K. Jain}, title = {Validity studies in clustering methodologies}, journal = {Pattern Recognition}, year = 1979, volume = 8, pages = {247-260} } @article{HSAUR:Tubbetal1980, author = {A. Tubb and N. J. Parker and G. Nickless}, title = {The analysis of {Romano-British} pottery by atomic absorption spectrophotometry}, journal = {Archaeometry}, year = 1980, volume = 22, pages = {153-171} } @article{HSAUR:Alonetal1999, author = {U. Alon and N. Barkai and D. A. Notternam and K. Gish and S. Ybarra and D. Mack and A. J. Levine}, title = {Broad patterns of gene expressions revealed by clustering analysis of tumour and normal colon tissues probed by oligonucleotide arrays}, journal = {Cell Biology}, year = 1999, volume = 99, pages = {6754-6760} } @article{HSAUR:Woodleyetal1977, author = {W. L. Woodley and J. Simpson and R. Biondini and J. Berkeley}, title = {Rainfall results 1970-75: {F}lorida area cumulus experiment}, year = {1977}, journal = {Science}, volume = {195}, pages = {735-742} } @book{HSAUR:EfronTibshirani1993, author = {B. Efron and R. J. Tibshirani}, title = {An Introduction to the Bootstrap}, year = {1993}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:CookWeisberg1982, author = {R. D. Cook and S. Weisberg}, title = {Residuals and Influence in Regression}, year = {1982}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:VenablesRipley2002, author = {William N. Venables and Brian D. Ripley}, title = {Modern Applied Statistics with {S}}, edition = {4th}, publisher = {Springer-Verlag}, address = {New York, USA}, year = 2002, note = {{ISBN} 0-387-95457-0}, url = {http://www.stats.ox.ac.uk/pub/MASS4/} } @book{HSAUR:McLachlanPeel2000, author = {G. McLachlan and D. Peel}, title = {Finite Mixture Models}, year = 2000, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Pearson1894, author = {Karl Pearson}, title = {Contributions to the mathematical theory of evolution}, year = 1894, journal = {Philosophical Transactions A}, volume = 185, pages = {71-110} } @book{HSAUR:Scott1992, author = {D. W. Scott}, title = {Multivariate Density Estimation}, year = 1992, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Silverman1986, author = {B. Silverman}, title = {Density Estimation}, year = 1986, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:Simonoff1996, author = {J. S. Simonoff}, title = {Smoothing Methods in Statistics}, year = 1996, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:VanismaGreve1972, author = {F. Vanisma and J. P. {De Greve}}, title = {Close binary systems before and after mass transfer}, journal = {Astrophysics and Space Science}, year = 1972, volume = 87, pages = {377-401} } @book{HSAUR:WandJones1995, author = {M. P. Wand and M. C. Jones}, title = {Kernel Smoothing}, year = 1995, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Wilkinson1992, author = {L. Wilkinson}, title = {Graphical displays}, journal = {Statistical Methods in Medical Research}, year = 1992, volume = 1, pages = {3-25} } %% An Introduction to R @book{HSAUR:Becker+Chambers+Wilks:1988, author = {Richard A. Becker and John M. Chambers and Allan R. Wilks}, title = {The New {S} Language}, publisher = {Chapman \& Hall}, year = 1988, address = {London, UK}, } @book{HSAUR:Chambers+Hastie:1992, author = {John M. Chambers and Trevor J. Hastie}, title = {Statistical Models in {S}}, publisher = {Chapman \& Hall}, year = 1992, address = {London, UK}, } @book{HSAUR:Chambers:1998, author = {John M. Chambers}, title = {Programming with Data}, publisher = {Springer-Verlag}, year = 1998, address = {New York, USA}, } %% Simple Inference @book{HSAUR:Agresti1996, author = {A. Agresti}, title = {An Introduction to Categorical Data Analysis}, year = 1996, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Everitt1992, author = {Brian S. Everitt}, title = {The Analysis of Contingency Tables}, year = 1992, edition = {2nd}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Haberman1973, author = {S. J. Haberman}, title = {The analysis of residuals in cross-classified tables}, journal = {Biometrics}, year = 1973, volume = 29, pages = {205-220} } @book{HSAUR:Handetal1994, author = {D. J. Hand and F. Daly and A. D. Lunn and K. J. McConway and E. Ostrowski}, title = {A Handbook of Small Datasets}, year = 1994, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Mann1981, author = {L. Mann}, title = {The baiting crowd in episodes of threatened suicide}, journal = {Journal of Personality and Social Psychology}, year = 1981, volume = 41, pages = {703-709} } @article{HSAUR:MehtaPatel1983, author = {Cyrus R. Mehta and Nitin R. Patel}, title = {A Network Algorithm for Performing {F}isher's Exact Test in $r \times c $ Contingency Tables}, journal = {Journal of the American Statistical Association}, pages = {427-434}, year = {1983}, month = {June}, volume = {78}, number = {382} } @book{HSAUR:Fisher1935, author = {R. A. Fisher}, title = {The Design of Experiments}, year = 1935, publisher = {Oliver and Boyd}, address = {Edinburgh, UK} } @article{HSAUR:Pitman1937, author = {E. J. G. Pitman}, title = {Significance tests which may be applied to samples from any populations}, journal = {Biometrika}, year = 1937, volume = 29, pages = {322-335} } @book{HSAUR:Barlowetal1972, author = {R. E. Barlow and D. J. Bartholomew and J. M. Bremner and H. D. Brunk}, title = {Statistical Inference under Order Restrictions}, year = 1972, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Corbetetal1970, author = {G. B. Corbet and J. Cummins and S. R. Hedges and W. J. Krzanowski}, title = {The taxonomic structure of {B}ritish water voles, genus \textit{Arvicola}}, year = 1970, journal = {Journal of Zoology}, volume = 61, pages = {301-316} } @book{HSAUR:EverittRabeHesketh1997, author = {B. S. Everitt and S. Rabe-Hesketh}, title = {The Analysis of Proximity Data}, year = 1997, publisher = {Arnold}, address = {London, UK} } @book{HSAUR:EverittRabeHesketh2001, author = {B. S. Everitt and S. Rabe-Hesketh}, title = {Analysing Medical Data Using {S-Plus}}, year = 2001, publisher = {Springer-Verlag}, address = {New York, USA} } @book{HSAUR:SkrondalRabeHesketh2004, author = {A. Skrondal and S. Rabe-Hesketh}, year = 2004, title = {Generalized Latent Variable Modeling: {M}ultilevel, Longitudinal and Structural Equation Models}, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @article{HSAUR:Kruskal1964a, author = {Joseph. B. Kruskal}, title = {Multidimensional scaling by optimizing goodness-of-fit to a nonmetric hypothesis}, journal = {Psychometrika}, year = 1964, volume = 29, pages = {1-27} } @article{HSAUR:Kruskal1964b, author = {Joseph B. Kruskal}, title = {Nonmetric multidimensional scaling: {A} numerical method}, journal = {Psychometrika}, year = 1964, volume = 29, pages = {115-129} } @book{HSAUR:Mardiaetal1979, author = {K. V. Mardia and J. T. Kent and J. M. Bibby}, title = {Multivariate Analysis}, year = 1979, publisher = {Academic Press}, address = {London, UK} } @book{HSAUR:Romesburg1984, author = {H. C. Romesburg}, title = {Cluster Analysis for Researchers}, year = 1984, publisher = {Lifetime Learning Publications}, address = {Belmont, CA} } @article{HSAUR:Shepard1962a, author = {Roger N. Shepard}, title = {The analysis of proximities: {M}ultidimensional scaling with unknown distance function {Part I}}, journal = {Psychometrika}, year = 1962, volume = 27, pages = {125-140} } @article{HSAUR:Shepard1962b, author = {Roger N. Shepard}, title = {The analysis of proximities: {M}ultidimensional scaling with unknown distance function {Part II}}, journal = {Psychometrika}, volume = 27, year = 1962, pages = {219-246} } @article{HSAUR:Sibson1979, author = {R. Sibson}, title = {Studies in the robustness of multidimensional scaling. {P}erturbational analysis of classical scaling}, journal = {Journal of the Royal Statistical Society, Series B}, volume = 41, year = 1979, pages = {217-229} } @article{HSAUR:YoungHouseholder1938, author = {G. Young and A. S. Householder}, title = {Discussion of a set of points in terms of their mutual distances}, year = 1938, journal = {Psychometrika}, volume = 3, pages = {19-22} } ### OUP, New York??? @book{HSAUR:Petitti2000, author = {D. B. Petitti}, title = {Meta-Analysis, Decision Analysis and Cost-Effectiveness Analysis}, year = 2000, publisher = {Oxford University Press}, address = {New York, USA} } @article{HSAUR:DeMets1987, author = {D. L. DeMets}, title = {Methods for combining randomized clinical trials: strengths and limitations}, journal = {Statistics in Medicine}, year = 1987, volume = 6, pages = {341-350} } @article{HSAUR:Bailey1987, author = {K. R. Bailey}, title = {Inter-study differences: how should they influence the interpretation of results?}, journal = {Statistics in Medicine}, year = 1987, volume = 6, pages = {351-360} } @article{HSAUR:SuttonAbrams2001, author = {A. J. Sutton and K. R. Abrams}, title = {Bayesian methods in meta-analysis and evidence synthesis}, year = 2001, journal = {Statistical Methods in Medical Research}, volume = 10, pages = {277-303} } @book{HSAUR:Suttonetal2000, author = {A. J. Sutton and K. R. Abrams and D. R. Jones and T. A. Sheldon}, title = {Methods for Meta-Analysis in Medical Research}, year = 2000, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @article{HSAUR:Woolf1955, author = {B. Woolf}, title = {On estimating the relationship between blood groups and disease}, journal = {Annals of Human Genetics}, year = 1955, volume = 19, pages = {251-253} } @article{HSAUR:Sterlin1959, author = {T. D. Sterlin}, title = {Publication decisions and their possible effects on inferences drawn from tests of significance-or vice versa}, year = 1959, journal = {Journal of the American Statistical Association}, volume = 54, pages = {30-34} } @article{HSAUR:Greenwald1975, author = {A. G. Greenwald}, title = {Consequences of prejudice against the null hypothesis}, year = 1975, journal = {Psychological Bulletin}, volume = {82}, number = 1, pages = {1-20} } @article{HSAUR:Smith1980, author = {M. L. Smith}, title = {Publication bias and meta-analysis}, year = 1980, journal = {Evaluating Education}, volume = 4, pages = {22-93} } @article{HSAUR:Easterbrooketal1991, author = {P. J. Easterbrook and J. A. Berlin and R. Gopalan and D. R. Matthews}, title = {Publication bias in research}, year = 1991, journal = {Lancet}, volume = 337, pages = {867-872} } @article{HSAUR:DuvalTweedie2000, author = {S. Duval and R. L. Tweedie}, title = {A nonparametric `trim and fill' method of accounting for publication bias in meta-analysis}, year = 2000, journal = {Journal of the American Statistical Association}, volume = 95, pages = {89-98} } @article{HSAUR:Oakes1993, author = {M. Oakes}, title = {The logic and role of meta-analysis in clinical research}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, pages = {147-160} } @incollection{HSAUR:Silagy2003, author = {C. Silagy}, title = {Nicotine replacement therapy for smoking cessation {(Cochrane Review)}}, year = {2003}, booktitle = {The Cochrane Library}, publisher = {John Wiley \& Sons}, addess = {Chichester}, note = {{Issue 4}}, } @book{HSAUR:Collett2003, author = {D. Collett}, title = {Modelling Binary Data}, year = 2003, publisher = {Chapman \& Hall/CRC}, address = {London, UK}, edition = {2nd} } @article{HSAUR:CollettJemain1985, author = {D. Collett and A. A. Jemain}, title = {Residuals, outliers and influential observations in regression analysis}, journal = {Sains Malaysiana}, year = 1985, volume = 4, pages = {493-511} } @incollection{HSAUR:Cook1998, author = {R. J. Cook}, title = {Generalized linear model}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @book{HSAUR:Everitt2001, author = {B. S. Everitt}, title = {Statistics for Psychologists}, year = 2001, publisher = {Lawrence Erlbaum}, address = {Mahwah, New Jersey, USA} } @article{HSAUR:Giardielloetal1993, author = {F. M. Giardiello and S. R. Hamilton and A. J. Krush and S. Piantadosi and L. M. Hylind and P. Celano and S. V. Booker and C. R. Robinson and G. J. A. Offerhaus}, title = {Treatment of colonic and rectal adenomas with sulindac in familial adenomatous polyposis}, year = 1993, journal = {New England Journal of Medicine}, volume = 328, number = 18, pages = {1313-1316} } @article{HSAUR:GreenwoodYule1920, author = {M. Greenwood and G. U. Yule}, title = {An inquiry into the nature of frequency distribution of multiple happenings with particular reference of multiple attacks of disease or of repeated accidents}, year = 1920, journal = {Journal of the Royal Statistical Society}, volume = 83, pages = {255-279} } @book{HSAUR:McCullaghNelder1989, author = {P. McCullagh and J. A. Nelder}, title = {Generalized Linear Models}, year = 1989, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:NelderWedderburn1972, author = {J. A. Nelder and R. W. M. Wedderburn}, title = {Generalized linear models}, year = 1972, journal = {Journal of the Royal Statistical Society, Series A}, volume = 135, pages = {370-384} } @book{HSAUR:Piantadosi1997, author = {S. Piantadosi}, title = {Clinical Trials: A Methodologic Perspective}, year = 1997, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Davis1991, author = {C. S. Davis}, title = {Semi-parametric and non-parametric methods for the analysis of repeated measurements with applications to clinical trials}, year = 1991, journal = {Statistics in Medicine}, volume = 10, pages = {1959-1980} } @article{HSAUR:ThallVail1990, author = {P. F. Thall and S. C. Vail}, title = {Some covariance models for longitudinal count data with overdispersion}, year = 1990, journal = {Biometrics}, volume = 46, pages = {657-671} } @book{HSAUR:EverittPickles2000, author = {B. S. Everitt and A. Pickles}, title = {Statistical Aspects of the Design and Analysis of Clinical Trials}, year = 2000, publisher = {Imperial College Press}, address = {London, UK} } @article{HSAUR:LiangZeger1986, author = {K. Liang and S. L. Zeger}, title = {Longitudinal data analysis using generalized linear models}, year = 1986, journal = {Biometrika}, volume = 73, pages = {13-22} } @article{HSAUR:ZegerLiang1986, author = {S. L. Zeger and K. Y. Liang}, title = {Longitudinal data analysis for discrete and continuous outcomes}, year = 1986, journal = {Biometrics}, volume = 42, number = 1, pages = {121-130} } @article{HSAUR:Lanzaetal1989, author = {F. L. Lanza and D. Fakouhi and A. Rubin and R. E. Davis and M. F. Rack and C. Nissen and S. Geis}, title = {A double-blind placebo-controlled comparison of the efficacy and safety of 50, 100, and 200 micrograms of misoprostol {QID} in the prevention of {I}buprofen-induced gastric and duodenal mucosal lesions and symptoms}, journal = {American Journal of Gastroenterology}, volume = {84}, number = {6}, pages = {633-636}, year = 1989 } @article{HSAUR:Lanzaetal1988a, author = {F. L. Lanza and R. L. Aspinall and E. A. Swabb and R. E. Davis and M. F. Rack and A. Rubin}, title = {Double-blind, placebo-controlled endoscopic comparison of the mucosal protective effects of misoprostol versus cimetidine on tolmetin-induced mucosal injury to the stomach and duodenum}, journal = {Gastroenterology}, volume = {95}, number = {2}, pages = {289-294}, year = 1988 } @article{HSAUR:Lanzaetal1988b, author = {F. L. Lanza and K. Peace and L. Gustitus and M. F. Rack and B. Dickson}, title = {A blinded endoscopic comparative study of misoprostol versus sucralfate and placebo in the prevention of aspirin-induced gastric and duodenal ulceration}, journal = {American Journal of Gastroenterology}, volume = {83}, number = {2}, pages = {143-146}, year = 1988 } @article{HSAUR:Lanza1987, author = {F. L. Lanza}, title = {A double-blind study of prophylactic effect of misoprostol on lesions of gastric and duodenal mucosa induced by oral administration of tolmetin in healthy subjects}, journal = {British Journal of Clinical Practice}, volume = 40, month = {May suppl}, pages = {91-101}, year = 1987, } @article{HSAUR:WhiteheadJones1994, author = {Anne Whitehead and Nicola M. B. Jones}, title = {A meta-analysis of clinical trials involving different classifications of response into ordered categories}, journal = {Statistics in Medicine}, volume = {13}, pages = {2503-2515}, year = 1994, } @article{HSAUR:Carlinetal2000, author = {John B. Carlin and Louise M. Ryan and Elizabeth A. Harvey and Lewis B. Holmes}, title = {Anticonvulsant Teratogenesis 4: Inter-Rater Agreement in Assessing Minor Physical Features Related to Anticonvulsant Therapy}, journal = {Teratology}, volume = 62, pages = {406-412}, year = 2000 } @book{HSAUR:Edgington1987, author = {Eugene S. Edgington}, title = {Randomization Tests}, publisher = {Marcel Dekker}, year = 1987, address = {New York, USA} } @techreport{HSAUR:TherneauAtkinson1997, author = {Terry M. Therneau and Elizabeth J. Atkinson}, title = {An Introduction to Recursive Partitioning using the rpart Routine}, institution = {Section of Biostatistics, Mayo Clinic}, year = {1997}, address = {Rochester, USA}, number = {61}, url = {http://www.mayo.edu/hsr/techrpt/61.pdf} } @book{HSAUR:Pesarin2001, author = {Fortunato Pesarin}, title = {Multivariate Permutation Tests: With Applications to Biostatistics}, year = {2001}, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @book{HSAUR:Breimanetal1984, author = {L. Breiman and J. H. Friedman and R. A. Olshen and C. J. Stone}, title = {Classification and Regression Trees}, year = {1984}, publisher = {Wadsworth}, address = {California, USA} } @article{HSAUR:Breiman1996, author = {Leo Breiman}, title = {Bagging Predictors}, journal = {Machine Learning}, pages = {123-140}, year = {1996}, volume = {24}, number = {2} } @article{HSAUR:Mardinetal2003, author = {Christian Y. Mardin and Torsten Hothorn and Andrea Peters and Anselm G J{\"u}nemann and Nhung X Nguyen and Berthold Lausen}, title = {New Glaucoma Classification Method based on standard {HRT} parameters by bagging classification trees}, journal = {Journal of Glaucoma}, pages = {340-346}, year = {2003}, volume = {12}, number = {4} } @article{HSAUR:Breiman2001a, author = {Leo Breiman}, title = {Statistical Modeling: The Two Cultures}, journal = {Statistical Science}, pages = {199-231}, year = {2001}, volume = {16}, number = {3}, note = {with discussion} } @article{HSAUR:Breiman2001b, author = {Leo Breiman}, title = {Random Forests}, journal = {Machine Learning}, pages = {5-32}, year = {2001}, volume = {45}, number = {1} } @article{HSAUR:GarczarekWeihs2003, author = {Ursula Maria Garczarek and Claus Weihs}, title = {Standardizing the comparison of partitions}, journal = {Computational Statistics}, pages = {143-162}, year = {2003}, volume = {18}, number = {1} } @article{HSAUR:Murthy1998, author = {Sreerama K. Murthy}, title = {Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey}, journal = {Data Mining and Knowledge Discovery}, pages = {345-389}, year = {1998}, volume = {2} } @incollection{HSAUR:Morrison2005, author = {D. F. Morrison}, title = {Multivariate analysis of variance}, booktitle = {Encyclopedia of Biostatistics}, year = 2005, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton}, edition = {2nd} } @article{HSAUR:Aitkin1978, author = {M. Aitkin}, title = {The analysis of unbalanced cross-classifications}, journal = {Journal of the Royal Statistical Society, Series A}, year = 1978, volume = 141, pages = {195-223}, note = {with discussion} } @article{HSAUR:Nelder1977, author = {J. A. Nelder}, title = {A reformulation of linear models}, journal = {Journal of the Royal Statistical Society, Series A}, year = 1977, volume = 140, pages = {48-76}, note = {with commentary} } @book{HSAUR:Scheffe1959, author = {H. Scheffe}, title = {The Analysis of Variance}, year = 1959, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Stevens2001, author = {J. Stevens}, title = {Applied Multivariate Statistics for the Social Sciences}, year = 2001, publisher = {Lawrence Erlbaum}, address = {Mahwah, New Jersey, USA}, edition = {4th} } @phdthesis{HSAUR:Quine1975, author = {S. Quine}, title = {Achievement Orientation of Aboriginal and White Adolescents}, year = {1975}, address = {Canberra, Australia}, school = {Australian National University}, type = {Doctoral {D}issertation} } @book{HSAUR:Timm2002, author = {N. H. Timm}, title = {Applied Multivariate Analysis}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA}, } @book{HSAUR:TherneauGrambsch2000, author = {Terry M. Therneau and Patricia M. Grambsch}, title = {Modeling Survival Data: {E}xtending the Cox Model}, publisher = {Springer-Verlag}, year = {2000}, address = {New York, USA} } @book{HSAUR:Agresti2002, author = {Alan Agresti}, title = {Categorical Data Analysis}, year = 2002, edition = {2nd}, publisher = {John Wiley \& Sons}, address = {Hoboken, New Jersey, USA} } @incollection{HSAUR:Tukey1953, author = {John W. Tukey}, title = {The Problem of Multiple Comparisons (Unpublished Manuscript)}, year = 1953, booktitle = {The Collected Works of John W. Tukey VIII. Multiple Comparisons: 1948-1983}, publisher = {Chapman \& Hall}, address = {New York, USA} } @book{HSAUR:HochbergTamhane1987, author = {Yosef Hochberg and Ajit C. Tamhane}, title = {Multiple Comparison Procedures}, year = 1987, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Everitt1996, author = {Brian S. Everitt}, title = {Making Sense of Statistics in Psychology: A Second-Level Course}, year = 1996, publisher = {Oxford University Press}, address = {Oxford, UK} } @book{HSAUR:Searle1971, author = {S. R. Searle}, title = {Linear Models}, year = 1971, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Kraepelin1919, author = {Emil Kraepelin}, title = {Dementia Praecox and Paraphrenia}, year = 1919, publisher = {Livingstone}, address = {Edinburgh, UK} } @article{HSAUR:FraleyRaftery2002, author = {C. Fraley and A. E. Raftery}, title = {Model-based clustering, discriminant analysis, and density estimation}, journal = {Journal of the American Statistical Association}, year = 2002, volume = {97}, pages = {611-631} } @article{HSAUR:Leisch2004, title = {{FlexMix}: A general framework for finite mixture models and latent class regression in {\rR{}}}, author = {Friedrich Leisch}, journal = {Journal of Statistical Software}, year = {2004}, volume = {11}, number = {8}, url = {http://www.jstatsoft.org/v11/i08/}, } @incollection{HSAUR:Buehlmann2004, author = {Peter B{\"uh}lmann}, editor = {James E. Gentle and Wolfgang H{\"a}rdle and Yuichi Mori}, booktitle = {Handbook of Computational Statistics}, title = {Bagging, Boosting and Ensemble Methods}, pages = {877-907}, year = {2004}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @article{HSAUR:Petersetal2002, author = {Andrea Peters and Torsten Hothorn and Berthold Lausen}, title = {ipred: Improved Predictors}, journal = {R News}, pages = {33--36}, year = 2002, month = {June}, volume = 2, number = 2, note = {{ISSN} 1609-3631}, url = {http://CRAN.R-project.org/doc/Rnews/} } @article{HSAUR:HarrisonRubinfeld1978, author = {D. Harrison and D. L. Rubinfeld}, title = {Hedonic prices and the demand for clean air}, journal = {Journal of Environmental Economics \& Management}, volume = 5, year = 1978, pages = {81-102} } @book{HSAUR:PinheiroBates2000, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates}, title = {Mixed-Effects Models in {S} and {S-PLUS}}, publisher = {Springer-Verlag}, address = {New York, USA}, year = {2000} } @article{HSAUR:Colditzetal1994, author = {G. A. Colditz and T. F. Brewer and C. S. Berkey and M. E. Wilson and E. Burdick and H. V. Fineberg and F. Mosteller}, title = {Efficacy of {BCG} vaccine in the prevention of tuberculosis. {M}eta-analysis of the published literature}, journal = {Journal of the American Medical Association}, year = 1994, volume = 271, number = 9, pages = {698-702} } @article{HSAUR:DerSimonianLaird1986, author = {R. DerSimonian and N. Laird}, title = {Meta-analysis in clinical trials}, journal = {Controlled Clinical Trials}, year = 1986, volume = 7, number = 3, pages = {177-188} } @article{HSAUR:ChalmersLau1993, author = {T. C. Chalmers and J. Lau}, title = {Meta-analytic stimulus for changes in clinical trials}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, number = 2, pages = {161-172} } @book{HSAUR:EverittDunn2001, author = {Brian S. Everitt and G. Dunn}, title = {Applied Multivariate Data Analysis}, year = 2001, edition = {2nd}, publisher = {Arnold}, address = {London, UK} } @article{HSAUR:LiggesMaechler2003, title = {Scatterplot3d -- {A}n {\rR{}} Package for Visualizing Multivariate Data}, author = {Uwe Ligges and Martin M{\"a}chler}, journal = {Journal of Statistical Software}, year = {2003}, pages = {1--20}, number = {11}, volume = {8}, url = {http://www.jstatsoft.org/v08/i11}, } @article{HSAUR:Prim1957, author = {R. C. Prim}, title = {Shortest connection networks and some generalizations}, journal = {Bell System Technical Journal}, year = 1957, volume = 36, pages = {1389-1401} } @article{HSAUR:KaplanMeier1958, author = {E. L. Kaplan and P. Meier}, title = {Nonparametric estimation from incomplete observations}, journal = {Journal of the American Statistical Association}, pages = {457-481}, year = {1958}, volume = {53} } @article{HSAUR:Cox1972, author = {D. R. Cox}, title = {Regression models and life-tables}, journal = {Journal of the Royal Statistical Society, Series B}, year = 1972, volume = 34, pages = {187-202}, note = {with discussion} } @book{HSAUR:KalbfleischPrentice1980, author = {J. D. Kalbfleisch and R. L. Prentice}, title = {The Statistical Analysis of Failure Time Data}, year = 1980, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Granaetal2002, author = {C. Grana and M. Chinol and C. Robertson and C. Mazzetta and M. Bartolomei and C. De Cicco and M. Fiorenza and M. Gatti and P. Caliceti and G. Paganelli1}, title = {Pretargeted adjuvant radioimmunotherapy with {Y}ttrium-90-biotin in malignant glioma patients: A pilot study}, journal = {British Journal of Cancer}, pages = {207-212}, year = {2002}, month = {January}, volume = {86}, number = {2} } @article{HSAUR:Schumacher1994, author = {M. Schumacher and G. Basert and H. Bojar and K. H\"ubner and M. Olschewski and W. Sauerbrei and C. Schmoor and C. Beyerle and {Neumann, R. L. A.} and {Rauschecker, H. F. for the German Breast Cancer Study Group}}, title = {Randomized $2\times2$ trial evaluating hormonal treatment and the duration of chemotherapy in node-positive breast cancer patients}, journal = {Journal of Clinical Oncology}, year = {1994}, volume = {12}, pages = {2086-2093} } @article{HSAUR:SauerbreiRoyston1999, author = {Willi Sauerbrei and Patrick Royston}, title = {Building multivariable prognostic and diagnostic models: Transformation of the predictors by using fractional polynomials}, journal = {Journal of the Royal Statistical Society, Series A}, pages = {71-94}, year = {1999}, volume = {162}, number = {1} } @book{HSAUR:Hartigan1975, author = {J. A. Hartigan}, title = {Clustering Algorithms}, publisher = {John Wiley \& Sons}, year = 1975, address = {New York, USA} } @book{HSAUR:Davis2002, author = {C. S. Davis}, title = {Statistical Methods for the Analysis of Repeated Measurements}, publisher = {Springer-Verlag}, year = 2002, address = {New York, USA} } @book{HSAUR:Everitt2002b, author = {B. S. Everitt}, title = {Cambridge Dictionary of Statistics in the Medical Sciences}, publisher = {Cambridge University Press}, year = 2002, address = {Cambridge, UK} } @article{HSAUR:GowerRoss1969, author = {J. C. Gower and G. J. S. Ross}, title = {Minimum spanning trees and single linkage cluster analysis}, year = 1969, journal = {Applied Statistics}, volume = 18, pages = {54-64} } @manual{HSAUR:StatXact6, key = {516}, author = {Cyrus R. Mehta and Nitin R. Patel}, title = {StatXact-6: Statistical Software for Exact Nonparametric Inference}, organization = {Cytel Software Corporation}, year = {2003}, address = {Cambridge, MA, USA} } @book{HSAUR:Miller2002, author = {Alan Miller}, title = {Subset Selection in Regression}, year = {2002}, publisher = {Chapman \& Hall}, address = {New York, USA}, edition = {2nd} } @article{HSAUR:Fleiss1993, author = {J. L. Fleiss}, title = {The statistical basis of meta-analysis}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, pages = {121-145} } @incollection{HSAUR:Seeber1998, author = {G. U. H. Seeber}, title = {Poisson Regression}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @article{HSAUR:Bates2005, author = {Douglas Bates}, title = {Fitting Linear Mixed Models in {\rR{}}}, journal = {R News}, year = 2005, volume = 5, number = 1, pages = {27--30}, month = {May}, url = {http://CRAN.R-project.org/doc/Rnews/} } @book{HSAUR:KaufmanRousseeuw1990, author = {L. Kaufman and P. J. Rousseeuw}, title = {Finding Groups in Data: {A}n Introduction to Cluster Analysis}, year = 1990, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Roeder1990, author = {K. Roeder}, title = {Density estimation with confidence sets exemplified by superclusters and voids in galaxies}, journal = {Journal of the American Statistical Association}, year = 1990, volume = {85}, pages = {617-624} } @article{HSAUR:Postmanetal1986, author = {M. Postman and J. P. Huchra and M. J. Geller}, title = {Probes of large-scale structures in the Corona Borealis region}, year = 1986, journal = {Astrophysical Journal}, volume = 92, pages = {1238-1247} } @article{HSAUR:FreemanHalton1951, author = {G. H. Freeman and J. H. Halton}, title = {Note on an exact treatment of contingency, goodness of fit and other problems of significance}, journal = {Biometrika}, year = 1951, volume = {38}, pages = {141-149} } @article{HSAUR:LeischRossini2003, author = {Friedrich Leisch and Anthony J. Rossini}, title = {Reproducible statistical research}, journal = {Chance}, year = 2003, volume = 16, number = 2, pages = {46-50} } @article{HSAUR:Gentleman2005, author = {Robert Gentleman}, title = {Reproducible Research: {A} Bioinformatics Case Study}, journal = {Statistical Applications in Genetics and Molecular Biology}, year = 2005, volume = 4, number = 1, note = {{Article 2}}, url = {http://www.bepress.com/sagmb/vol4/iss1/art2} } @inproceedings{HSAUR:Leisch2002b, author = {Friedrich Leisch}, title = {Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis}, booktitle = {Compstat 2002 --- Proceedings in Computational Statistics}, pages = {575--580}, year = 2002, editor = {Wolfgang H{\"a}rdle and Bernd R{\"o}nz}, publisher = {Physica Verlag, Heidelberg}, note = {{ISBN} 3-7908-1517-9}, } @article{HSAUR:Leisch2003, author = {Friedrich Leisch}, title = {Sweave, {P}art {II}: Package Vignettes}, journal = {R News}, year = 2003, volume = 3, number = 2, pages = {21--24}, month = {October}, url = {http://CRAN.R-project.org/doc/Rnews/} } @article{HSAUR:Leisch2002a, author = {Friedrich Leisch}, title = {Sweave, {P}art {I}: Mixing {R} and {\LaTeX}}, journal = {R News}, year = 2002, volume = 2, number = 3, pages = {28--31}, month = {December}, url = {http://CRAN.R-project.org/doc/Rnews/} } @book{HSAUR:Murrell2005, author = {Paul Murrell}, title = {R Graphics}, year = 2005, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @Article{HSAUR:Hothorn:2006:JCGS, key = {566}, author = {Torsten Hothorn and Kurt Hornik and Achim Zeileis}, title = {Unbiased Recursive Partitioning: A Conditional Inference Framework}, journal = {Journal of Computational and Graphical Statistics}, year = 2006, volume = 15, number = 3, pages = {651--674}, doi = {10.1198/106186006X133933}, } @Article{HSAUR:Hothorn:2006:AmStat, key = {575}, author = {Torsten Hothorn and Kurt Hornik and Mark A. van de Wiel and Achim Zeileis}, title = {A {L}ego System for Conditional Inference}, journal = {The American Statistician}, year = {2006}, volume = {60}, issue = {3}, pages = {257--263}, doi = {10.1198/000313006X118430}, } @book{HSAUR:Dalgaard2002, author = {Peter Dalgaard}, title = {Introductory Statistics with R}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:Gabriel1971, author = {K. R. Gabriel}, title = {The biplot graphical display of matrices with application to principal component analysis}, year = 1971, journal = {Biometrika}, volume = {58}, pages = {453--467} } @incollection{HSAUR:Gabriel1981, author = {K. R. Gabriel}, title = {Biplot display of multivariate matrices for inspection of data and diagnosis}, booktitle = {Interpreting Multivariate Data}, editor = {V. Barnett}, year = 1981, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @book{HSAUR:GowerHand1996, author = {J. C. Gower and D. J. Hand}, title = {Biplots}, year = 1996, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:DolnicarLeisch2003, author = {Sara Dolnicar and Friedrich Leisch}, title = {Winter tourist segments in {A}ustria: Identifying stable vacation styles using bagged clustering techniques}, year = 2003, journal = {Journal of Travel Research}, volume = {41}, pages = {281--292} } @article{HSAUR:Elwoodetal1974, author = {P. C. Elwood and A. L. Cochrane and M. L. Burr and P. M. Sweetman and G. Williams and E. Welsby and S. J. Hughes and R. Renton}, title = {A randomized controlled trial of acetyl salicilic acid in the secondary prevention of mortality from myocardial infarction}, year = 1974, journal = {British Medical Journal}, volume = 1, number = 905, pages = {436-440} } @article{HSAUR:Coronary1976, author = {{Coronary Drug Project Group}}, title = {Asprin in coronary heart disease}, year = 1976, journal = {Journal of Chronic Diseases}, volume = 29, pages = {625-642} } @article{HSAUR:ElwoodSweetman1979, author = {P. C. Elwood and P. M. Sweetman}, title = {Asprin and secondary mortality after myocardial infarction}, year = 1979, journal = {Lancet}, volume = 2, pages = {1313-1315} } @article{HSAUR:Breddinetal1979, author = {K. Breddin and D. Loew and K. Lechner and K. {\"U}berla and E. Walter}, title = {Secondary prevention of myocardial infarction. {C}omparison of acetylsalicylic acid, phenprocoumon and placebo. {A} multicenter two-year prospective study}, journal = {Thrombosis and Haemostasis}, year = 1979, volume = 41, number = 1, pages = {225-236} } @article{HSAUR:Aspirin1980, author = {{Aspirin Myocardial Infarction Study Research Group}}, title = {A randomized, controlled trial of aspirin in persons recovered from myocardial infarction}, year = 1980, journal = {Journal of the American Medical Association}, volume = 243, number = 7, pages = {661-669} } @article{HSAUR:Persantine1980, author = {{Persantine-Aspirin Reinfarction Study Research Group}}, title = {Persantine and {A}spirin in coronary heart disease}, journal = {Circulation}, year = 1980, volume = 62, number = 3, pages = {449-461} } @article{HSAUR:ISIS21988, author = {{ISIS-2 (Second International Study of Infarct Survival) Collaborative Group}}, title = {Randomised trial of intravenous streptokinase, oral aspirin, both, or neither among 17,187 cases of suspected acute myocardial infarction: {ISIS-2}}, year = 1988, journal = {Lancet}, volume = 13, pages = {349-360} } @article{HSAUR:Mazess1984, author = {R. B. Mazess and W. W. Peppler and M. Gibbons}, title = {Total body composition by dual-photon {(153Gd)} absorptiometry}, year = 1984, journal = {American Journal of Clinical Nutrition}, volume = 40, pages = {834-839} } @book{HSAUR:Goldberg1972, author = {D. Goldberg}, year = 1972, title = {The Detection of Psychiatric Illness by Questionnaire}, publisher = {Oxford University Press}, address = {Oxford, UK} } %% PACKAGES @article{PKG:sandwich, title = {Econometric Computing with {HC} and {HAC} Covariance Matrix Estimators}, author = {Achim Zeileis}, journal = {Journal of Statistical Software}, year = {2004}, volume = {11}, number = {10}, pages = {1--17}, url = {http://www.jstatsoft.org/v11/i10/}, } @Manual{PKG:coin, title = {\Rpackage{coin}: Conditional Inference Procedures in a Permutation Test Framework}, author = {Torsten Hothorn and Kurt Hornik and Mark van de Wiel and Achim Zeileis}, year = {2013}, url = {http://CRAN.R-project.org/package=coin}, note = {\rR{} package version 1.0-23} } @Manual{PKG:KernSmooth, title = {\Rpackage{KernSmooth}: Functions for Kernel Smoothing for Wand \& Jones (1995)}, author = {Matt P. Wand and Brian D. Ripley}, year = {2014}, note = {\rR{} package version 2.23-10}, url = {http://CRAN.R-project.org/package=KernSmooth}, } @Manual{PKG:boot, title = {\Rpackage{boot}: Bootstrap \rR{} (\rSPLUS) Functions}, author = {Angelo Canty and Brian D. Ripley}, year = {2014}, url = {http://CRAN.R-project.org/package=boot}, note = {\rR{} package version 1.3-9}, } @Manual{PKG:mclust, title = {\Rpackage{mclust}: Model-based Cluster Analysis}, author = {C. Fraley and A. E. Raftery and Ron Wehrens}, year = {2014}, note = {\rR{} package version 4.3}, url = {http://www.stat.washington.edu/mclust}, } @Manual{PKG:randomForest, title = {\Rpackage{randomForest}: {B}reiman and {C}utler's Random Forests for Classification and Regression}, author = {Leo Breiman and Adele Cutler and Andy Liaw and Matthew Wiener}, year = {2013}, note = {\rR{} package version 4.6-7}, url = {http://stat-www.berkeley.edu/users/breiman/RandomForests}, } @Manual{PKG:rpart, title = {\Rpackage{rpart}: Recursive Partitioning}, author = {Terry M. Therneau and Beth Atkinson and Brian D. Ripley}, year = {2014}, note = {\rR{} package version 4.1-8}, url = {http://mayoresearch.mayo.edu/mayo/research/biostat/splusfunctions.cfm}, } @Manual{PKG:mlbench, title = {\Rpackage{mlbench}: Machine Learning Benchmark Problems}, author = {Friedrich Leisch and Evgenia Dimitriadou}, year = {2013}, url = {http://CRAN.R-project.org/package=mlbench}, note = {\rR{} package version 2.1-1}, } @Manual{PKG:nlme, title = {\Rpackage{nlme}: Linear and Nonlinear Mixed Effects Models}, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates and Saikat DebRoy and Deepayan Sarkar}, year = {2014}, url = {http://CRAN.R-project.org/package=nlme}, note = {\rR{} package version 3.1-113}, } @Manual{PKG:lme4, title = {\Rpackage{lme4}: Linear Mixed-Effects Models Using S4 Classes}, author = {Douglas Bates and Deepayan Sarkar}, year = {2014}, url = {http://CRAN.R-project.org/package=lme4}, note = {\rR{} package version 1.1-5}, } @Manual{PKG:gee, title = {\Rpackage{gee}: Generalized Estimation Equation Solver}, author = {Vincent J. Carey and Thomas Lumley and Brian D. Ripley}, year = {2013}, url = {http://CRAN.R-project.org/package=gee}, note = {\rR{} package version 4.13-18}, } @Manual{PKG:rmeta, title = {\Rpackage{rmeta}: {M}eta-Analysis}, author = {Thomas Lumley}, year = {2013}, url = {http://CRAN.R-project.org/package=rmeta}, note = {\rR{} package version 2.16}, } @Manual{PKG:ape, title = {\Rpackage{ape}: {A}nalyses of Phylogenetics and Evolution}, author = {Emmanuel Paradis and Korbinian Strimmer and Julien Claude and Gangolf Jobb and Rainer Opgen-Rhein and Julien Dutheil and Yvonnick Noel and Ben Bolker}, year = {2014}, url = {http://CRAN.R-project.org/package=ape}, note = {\rR{} package version 3.1-1}, } @Manual{PKG:survival, title = {\Rpackage{survival}: {S}urvival Analysis, Including Penalised Likelihood}, author = {Terry M. Therneau and Thomas Lumley}, year = {2014}, url = {http://CRAN.R-project.org/package=survival}, note = {\rR{} package version 2.37-7}, } @Manual{PKG:mfp, title = {\Rpackage{mfp}: {M}ultivariable Fractional Polynomials}, author = {Gareth Ambler and Axel Benner}, year = {2013}, url = {http://CRAN.R-project.org/package=mfp}, note = {\rR{} package version 1.4.9}, } @Manual{PKG:vcd, title = {\Rpackage{vcd}: {V}isualizing Categorical Data}, author = {David Meyer and Achim Zeileis and Alexandros Karatzoglou and Kurt Hornik}, year = {2013}, url = {http://CRAN.R-project.org/package=vcd}, note = {\rR{} package version 1.3-1}, } @Manual{PKG:leaps, title = {\Rpackage{leaps}: {R}egression Subset Selection}, author = {Thomas Lumley and Alan Miller}, year = {2013}, url = {http://CRAN.R-project.org/package=leaps}, note = {\rR{} package version 2.9}, } @Manual{PKG:party, title = {\Rpackage{party}: {A} Laboratory for Recursive Partytioning}, author = {Torsten Hothorn and Kurt Hornik and Carolin Strobl and Achim Zeileis}, year = {2014}, url = {http://CRAN.R-project.org/package=party}, note = {\rR{} package version 1.0-13} } @Manual{PKG:multcomp, title = {\Rpackage{multcomp}: Simultaneous Inference for General Linear Hypotheses}, author = {Torsten Hothorn and Frank Bretz and Peter Westfall}, year = {2014}, note = {\rR{} package version 1.3-2}, url = {http://CRAN.R-project.org/package=multcomp} } @Manual{PKG:lattice, title = {\Rpackage{lattice}: Lattice Graphics}, author = {Deepayan Sarkar}, year = {2014}, note = {\rR{} package version 0.20-27}, url = {http://CRAN.R-project.org/package=lattice} } @Manual{PKG:partykit, title = {\Rpackage{partykit}: A Toolkit for Recursive Partytioning}, author = {Torsten Hothorn and Achim Zeileis}, year = {2014}, note = {\rR{} package version 0.8-0}, url = {http://R-forge.R-project.org/projects/partykit/} } @Manual{PKG:alr3, title = {\Rpackage{alr3}: Methods and Data to Accompany {Applied Linear Regression 3rd edition}}, author = {Sanford Weisberg}, year = {2013}, note = {\rR{} package version 2.0.5}, url = {http://www.stat.umn.edu/alr}, } @Manual{PKG:mboost, title = {\Rpackage{mboost}: Model-Based Boosting}, author = {Torsten Hothorn and Peter B\"uhlmann and Thomas Kneib and Matthias Schmid and Benjamin Hofner}, year = {2013}, note = {\rR{} package version 2.2-3}, url = {http://CRAN.R-project.org/package=mboost} } @Manual{PKG:meta, title = {\Rpackage{meta}: {M}eta-Analysis}, author = {Guido Schwarzer}, year = {2014}, note = {\rR{} package version 3.2-1}, url = {http://CRAN.R-project.org/package=meta} } @Manual{PKG:rgl, title = {\Rpackage{rgl}: 3D Visualization Device System (OpenGL)}, author = {Daniel Adler and Duncan Murdoch}, year = {2014}, note = {\rR{} package version 0.93.996}, url = {http://rgl.neoscientists.org}, } @Manual{PKG:wordcloud, title = {\Rpackage{wordcloud}: Word Clouds}, author = {Ian Fellows}, year = {2014}, note = {\rR{} package version 2.4}, url = {http://CRAN.R-project.org/package=wordcloud} } @Manual{PKG:quantreg, title = {\Rpackage{quantreg}: {Quantile} Regression}, author = {Roger Koenker}, year = {2013}, url = {http://CRAN.R-project.org/package=quantreg}, note = {\rR{} package version 5.05} } @Manual{PKG:MASS, title = {\Rpackage{MASS}: Support Functions and Datasets for Venables and Ripley's MASS}, author = {Brian D. Ripley}, year = {2014}, url = {http://CRAN.R-project.org/package=MASS}, note = {\rR{} package version 7.3-29} } @Manual{PKG:INLA, title = {\Rpackage{INLA}: Functions Which Allow to Perform Full Bayesian Analysis of Latent Gaussian Models Using Integrated Nested Laplace Approximaxion}, author = {Havard Rue and Sara Martino and Finn Lindgren and Daniel Simpson and Andrea Riebler}, year = {2013}, url = {http://www.r-inla.org/download}, note = {\rR{} package version 0.0-1379661604} } @Manual{PKG:rjags, title = {\Rpackage{rjags}: Bayesian Graphical Models Using {MCMC}}, author = {Martyn Plummer and Alexey Stukalov}, year = {2014}, url = {http://CRAN.R-project.org/package=rjags}, note = {\rR{} package version 3-13} } @Manual{PKG:sp, title = {\Rpackage{sp}: Classes and Methods for Spatial Data}, author = {Edzer Pebesma and Roger Bivand}, year = {2013}, url = {http://CRAN.R-project.org/package=sp}, note = {\rR{} package version 1.0-14} } @Manual{PKG:mice, title = {\Rpackage{mice}: Multivariate Imputation by Chained Equations}, author = {Stef van Buuren and Karin Groothuis-Oudshoorn}, year = {2014}, url = {http://CRAN.R-project.org/package=mice}, note = {\rR{} package version 2.21} } @book{HSAUR:Sarkar2008, title = {Lattice: {M}ultivariate Data Visualization with \rR{}}, author = {Deepayan Sarkar}, year = 2008, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:Mazessetal1984, author = {R. B. Mazess and W. W. Peppler and M. Gibbons}, title = {Total Body Composition by Dual Photon Absorptiometry}, year = 1984, journal = {American Journal of Clinical Nutrition}, volume = 40, pages = {834-839} } @book{HSAUR:Rawlingsetal1998, author = {J. O. Rawlings and S. G. Pantula and A. D. Dickey}, title = {Applied Regression Analysis}, year = 1998, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:FrisonPocock1992, author = {L. Frison and S. J. Pocock}, year = 1992, title = {Repeated Measures in Clinical Trials: Analysis using Mean Summary Statistics and its Implications for Design}, journal = {Statistics in Medicine}, volume = 11, pages = {1685--1704} } @article{HSAUR:Matthewsetal1990, author = {J. N. S. Matthews and D. G. Altman and M. J. Campbell and P. Royston}, year = 1990, title = {Analysis of Serial Measurements in Medical Research}, journal = {British Medical Journal}, volume = {200}, pages = {230--235} } @article{HSAUR:DeBackeretal1998, author = {M. De Backer and C. De Vroey and E. Lesaffre and I. Scheys and P. De Keyser}, title = {Twelve weeks of continuous oral therapy for toenail onychomycosis caused by dermatophytes: {A} double-blind comparative trial of terbinafine 250 mg/day versus itraconazole 200 mg/day.}, journal = {Journal of the American Academy of Dermatology}, year = {1998}, volume = {38}, pages = {S57--S63}, number = {5}, } @article{HSAUR:Freedmanetal2001, author = {W. L. Freedman and B. F. Madore and B. K. Gibson and L. Ferrarese and D. D. Kelson and S. Sakai and J. R. Mould and R. C. Kennicutt and H. C. Ford and J. A. Graham and John. P. Huchra and S. M. G. Hughes and G. D. Illingworth and L. M. Macri and Peter B. Stetson}, title = {Final Results from the {Hubble Space Telescope} Key Project to Measure the {H}ubble Constant}, journal = {The Astrophysical Journal}, year = 2001, volume = 553, number = 1, pages = {47--72} } @book{HSAUR:Wood2006, author = {Simon N. Wood}, title = {Generalized Additive Models: An Introduction with R}, year = 2006, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @book{HSAUR:SokalRohlf1981, author = {R. R. Sokal and F. J. Rohlf}, year = 1981, title = {Biometry}, publisher = {W. H. Freeman}, address = {San Francisco, California, USA}, edition = {2nd} } @book{HSAUR:HastieTibshirani1990, author = {T. Hastie and R. Tibshirani}, year = {1990}, title = {Generalized Additive Models}, publisher = {Chapman \& Hall}, address = {Boca Raton, Florida} } @book{HSAUR:Hsu1996, author = {Jason C. Hsu}, title = {Multiple Comparisons: Theory and Methods}, year = 1996, publisher = {CRC Press, Chapman \& Hall}, address = {London}, } @article{HSAUR:Boenschetal2005, author = {Domenikus B{\"o}nsch and Thomas Lederer and Udo Reulbach and Torsten Hothorn and Johannes Kornhuber and Stefan Bleich}, title = {Joint Analysis of the {NACP-REP1} Marker Within the Alpha Synuclein Gene Concludes Association with Alcohol Dependence}, journal = {Human Molecular Genetics}, year = 2005, volume = 14, number = 7, pages = {967-971} } @Article{HSAUR:HothornBretzWestfall2008, author = {Torsten Hothorn and Frank Bretz and Peter Westfall}, year = 2008, title = {Simultaneous Inference in General Parametric Models}, journal = {Biometrical Journal}, volume = 50, number = 3, pages = {346--363} } @ARTICLE{HSAUR:Zeileis2006, author = {Achim Zeileis}, title = {Object-oriented Computation of Sandwich Estimators}, year = {2006}, journal = {Journal of Statistical Software}, volume = {16}, number = {9}, pages = {1--16}, url = {http://www.jstatsoft.org/v16/i09/} } @Article{HSAUR:Garcia2005, author = {A. L. Garcia and K. Wagner and T. Hothorn and C. Koebnick and H. J. Zunft and U. Trippo}, title = {Improved prediction of body fat by measuring skinfold thickness, circumferences, and bone breadths}, journal = {Obesity Research}, year = 2005, volume = 13, number = 3, pages = {626--634} } @Article{HSAUR:KelseyHardy1975, author = {Jennifer L. Kelsey and Robert J. Hardy}, title = {Driving of Motor Vehicles as a Risk Factor for Acute Herniated Lumbar Intervertebral Disc}, journal = {American Journal of Epidemiology}, year = 1975, volume = {102}, number = 1, pages = {63--73} } @Book{HSAUR:Keele2008, author = {Luke John Keele}, title = {Semiparametric Regression for the Social Sciences}, year = {2008}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:BuehlmannHothorn2007, AUTHOR = {Peter B\"{u}hlmann and Torsten Hothorn}, TITLE = {Boosting Algorithms: Regularization, Prediction and Model Fitting}, JOURNAL = {Statistical Science}, YEAR = {2007}, VOLUME = {22}, NUMBER = {4}, PAGES = {477-505}, } @book{HSAUR:Schwarzer2009, author = {Guido Schwarzer and James R. Carpenter and Gerta R{\"u}cker}, title = {{M}eta-analysis with \rR{}}, year = {2009}, publisher = {Springer-Verlag}, address = {New York, USA}, note = {forthcoming} } @article{HSAUR:Rohlf1970, author = {F. James Rohlf}, title = {Adaptive Hierarchical Clustering Schemes}, journal = {Systematic Zoology}, year = {1970}, volume = 19, pages = {58--82} } @incollection{HSAUR:Hawkins1982, author = {Douglas M. Hawkins and Michael W. Muller and J. Andri {ten Krooden}}, title = {Cluster Analysis}, year = 1982, booktitle = {Topics in Applied Multivariate Analysis}, editor = {Douglas M. Hawkins}, publisher = {Cambridge University Press}, address = {Cambridge, UK} } @article{HSAUR:Parishetal2003, author = {William L. Parish and Edward O. Laumann and Myron S. Cohen and Suiming Pan and Heyi Zheng and Irving Hoffman and Tianfu Wang and Kwai Hang Ng}, year = 2003, title = {Population-Based Study of Chlamydial Infection in China: {A} Hidden Epidemic}, journal = {Journal of the American Medical Association}, volume = 289, number = 10, pages = {1265--1273} } @book{HSAUR:FisherBelle1993, author = {Lloyd D. Fisher and Gerald Van Belle}, title = {Biostatistics. {A} Methodology for the Health Sciences}, year = 1993, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:ClevelandMcGill1988, author = {William S. Cleveland and Marylyn E. McGill}, title = {Dynamic Graphics for Statistics}, year = 1988, publisher = {Wadsworth \& Brooks/Cole}, address = {Belmont, California} } @book{HSAUR:Tufte1983, author = {E. R. Tufte}, title = {The Visual Display of Quantitative Information}, year = 1983, publisher = {Graphics Press}, address = {Cheshire, Connecticut} } @Article{HSAUR:Meyeretal2006, title = {The Strucplot Framework: Visualizing Multi-Way Contingency Tables with vcd}, author = {David Meyer and Achim Zeileis and Kurt Hornik}, journal = {Journal of Statistical Software}, year = {2006}, volume = {17}, number = {3}, pages = {1--48}, url = {http://www.jstatsoft.org/v17/i03/}, } @book{HSAUR:Chenetal2008, title = {Handbook of Data Visualization}, editor = {C. Chen and Wolfgang H\"ardle and Antony Unwin}, year = 2008, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @book{HSAUR:Chambersetal1983, author = {J. M. Chambers and W. S. Cleveland and B. Kleiner and P. A. Tukey}, title = {Graphical Methods for Data Analysis}, year = 1983, publisher = {Chapman \& Hall/CRC}, address = {London} } @book{HSAUR:Schmid1954, author = {C. F. Schmid}, title = {Handbook of Graphic Presentation}, year = 1954, publisher = {Ronald Press}, address = {New York} } @article{HSAUR:Cleveland1979, author = {William S. Cleveland}, title = {Robust Locally Weighted Regression and Smoothing Scatterplots}, year = 1979, journal = {Journal of the American Statistical Association}, volume = {74}, pages = {829--836} } @book{HSAUR:FluryRiedwyl1988, author = {B. Flury and H. Riedwyl}, title = {Multivariate Statistics: {A} Practical Approach}, year = 1988, publisher = {Chapman \& Hall}, address = {London, UK} } @article{HSAUR:Friendly1994, author = {Michael Friendly}, title = {Mosaic Displays for Multi-way Contingency Tables}, year = 1994, journal = {Journal of the American Statistical Association}, volume = 89, pages = {190--200} } @unpublished{HSAUR:HofmannTheus2005, author = {Heike Hofmann and Martin Theus}, title = {Interactive Graphics for Visualizing Conditional Distributions}, year = 2005, note = {unpublished Manuscript} } @book{HSAUR:RabeHeskethSkrondal2008, author = {Sophia Rabe-Hesketh and Anders Skrondal}, title = {Multilevel and Longitudinal Modeling Using Stata}, edition = {2nd}, publisher = {Stata Press}, year = 2008, address = {College Station, Texas, USA} } @Book{HSAUR:Koenker2005, title = {Quantile Regression}, publisher = {Cambridge University Press}, year = {2005}, author = {Roger Koenker}, series = {Economic Society Monographs}, language = {english}, address = {New York} } @Article{HSAUR:KoenkerBassett1978, title = {Regression Quantiles}, author = {Roger Koenker and Gilbert Bassett}, journal = {Econometrica}, volume = 46, number = 1, year = 1978, pages = {33--50} } @Article{HSAUR:KoenkerNgPortnoy1994, title = {Quantile Smoothing Splines}, year = {1994}, author = {R. Koenker and P. Ng and S. Portnoy}, journal = {Biometrika}, volume = {81}, number = {4}, pages = {673--680} } @Article{HSAUR:FredriksBuurenBurgmeijer2000, author = {A. M. Fredriks and S. van Buuren and R. J. F. Burgmeijer and J. F. Meulmeester and R. J. Beuker and E. Brugman and M. J. Roede and S. P. Verloove-Vanhorick and J. Wit}, title = {Continuing Positive Secular Growth Change in {The} {Netherlands} 1955--1997}, year = {2000}, journal = {Pediatric Research}, volume = {47}, number = {3}, pages = {316--323} } @Article{HSAUR:StasinopoulosRigby2007, author = {D. Mikis Stasinopoulos and Robert A. Rigby}, title = {Generalized Additive Models for Location Scale and Shape {(GAMLSS)} in {R}}, year = {2007}, journal = {Journal of Statistical Software}, volume = {23}, number = {7}, pages = {1--46}, url = {http://www.jstatsoft.org/v23/i07} } @Article{HSAUR:RigbyStasinopoulos2005, author = {R. A. Rigby and D. M. Stasinopoulos}, title = {Generalized Additive Models for Location, Scale and Shape}, year = {2005}, journal = {Journal of the Royal Statistical Society: Series C (Applied Statistics)}, volume = {54}, number = {3}, pages = {507--554}, } @article{HSAUR:HothornKneibBuehlmann2013, author = {Torsten Hothorn and Thomas Kneib and Peter B{\"u}hlmann}, title = {Conditional Transformation Models}, journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)}, year = {2013}, doi = {10.1111/rssb.12017}, } @book{HSAUR:FahrmeirKneibLang2013, author = {Ludwig Fahrmeir and Thomas Kneib and Stefan Lang and Brian Marx}, title = {Regression: Models, Methods and Applications}, year = {2013}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg, Germany} } @Article{HSAUR:DoksumGasko1990, author = {Kjell A. Doksum and Miriam Gasko}, title = {On a Correspondence Between Models in Binary Regression Analysis and in Survival Analysis}, year = {1990}, journal = {International Statistical Review}, volume = {58}, number = {3}, pages = {243--252} } @book{HSAUR:Tutz2012, author = {Gerhard Tutz}, title = {Regression for Categorical Data}, year = {2012}, publisher = {Cambridge University Press}, address = {New York, USA} } @Article{HSAUR:DetteVolgushev2008, author = {H. Dette and S. Volgushev}, title = {Non-crossing Non-parametric Estimates of Quantile Curves}, year = {2008}, journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)}, volume = {70}, number = {3}, pages = {609--627}, } @Article{HSAUR:Greenland2006, author = {Sander Greenland}, title = {Bayesian Perspectives for Epidemiological Research: I. {Foundations} and Basic Methods}, year = {2006}, journal = {International Journal of Epidemiology}, volume = {35}, number = {3}, DOI = {10.1093/ije/dyi312}, pages = {765--775} } @Article{HSAUR:Greenland2007, author = {S. Greenland}, title = {Bayesian Perspectives for Epidemiological Research. II. {Regression} Analysis}, year = {2007}, journal = {International Journal of Epidemiology}, volume = {36}, number = {1}, DOI = {10.1093/ije/dyl289}, pages = {195--202} } @Article{HSAUR:Mueller1940, author = {Frank Hermann M\"uller}, title = {{Tabakmi{\ss}brauch und Lungencarcinom}}, journal = {Zeitschrift f\"ur Krebsforschung}, year = 1940, volume = 49, number = 1, pages = {57--85} } @Article{HSAUR:SchairerSchoeninger1944, author = {E. Schairer and E. Sch\"oninger}, title = {{Lungenkrebs und Tabakverbrauch}}, journal = {Zeitschrift f\"ur Krebsforschung}, year = 1944, volume = 54, number = 4, pages = {261--269} } @Article{HSAUR:Wassink1945, author = {W. F. Wassink}, title = {{Ontstaansvoorwaarden voor Longkanker}}, journal = {Nederlands Tijdschrift voor Geneeskunde}, year = 1945, volume = 92, pages = {3732--3747} } @Article{HSAUR:DollHill1950, author = {Richard Doll and A. Bradford Hill}, title = {Smoking and Carcinoma of the Lung}, journal = {British Medical Journal}, year = 1950, volume = 2, pages = {739--748} } @book{HSAUR:Fisher1959, author = {R. A. Fisher}, title = {Smoking. The Cancer Controversy}, year = 1959, publisher = {Oliver and Boyd}, address = {Edinburgh, London, UK} } @article{HSAUR:SchaferGraham2002, author = {Joseph L. Schafer and John W. Graham}, title = {Missing Data: {Our} View of the State of the Art.}, year = {2002}, journal = {Psychological Methods}, volume = {7}, number = {2}, DOI = {10.1037/1082-989X.7.2.147}, pages = {147--177} } @article{HSAUR:WhiteRoystonWood2011, author = {Ian R. White and Patrick Royston and Angela M. Wood}, title = {Multiple Imputation Using Chained Equations: {Issues} and Guidance for Practice}, year = {2011}, journal = {Statistics in Medicine}, volume = {30}, number = {4}, DOI = {10.1002/sim.4067}, pages = {377--399} } @book{HSAUR:vanBuuren2012, title={Flexible Imputation of Missing Data}, author={Stef {Van Buuren}}, year={2012}, publisher={CRC Press}, address = {Boca Raton, Florida, USA} } @article{HSAUR:RubinSchenker1991, title={Multiple Imputation in Healthcare Databases: {An} Overview and Some Applications}, author={Donald B. Rubin and Nathaniel Schenker}, journal={Statistics in Medicine}, volume={10}, number={4}, pages={585--598}, year={1991}, } @incollection{HSAUR:BarnardRubinSchenker1998, author = {J. Barnard and D. B. Rubin and N. Schenker}, title = {Multiple Imputation Methods}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @incollection{HSAUR:Little1998, author = {J. R. Little}, title = {Missing Data}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @book{HSAUR:LittleRubin2002, author = {J. R. Little and D. B. Rubin}, year = 2002, title = {Statistical Analysis with Missing Data}, edition = {2nd}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Rubin1987, author = {Donald B. Rubin}, year = 1987, title = {Multiple Imputation for Nonresponse in Surveys}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Schafer1997, author = {J. L. Schafer}, year = 1997, title = {Analysis of Incomplete Multivariate Data}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @incollection{HSAUR:Barnard2002, author = {J. Barnard and C. Frangakis and J. K. Hill and D. B. Rubin}, title = {The {Bayesian} Analysis of the {New York School Choice Scholarships Program}: {A} Randomized Experiment with Noncompliance and Missing Data (with Discussion)}, booktitle = {Case Studies in Bayesian Statistics}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA}, editor = {C. Gatsonis and R. Kass and B. Carlin and A. Carriquiry and A. Gelman and I. Verdinelli and M. West} } @article{HSAUR:RobertsonArmitage1959, author = {J. D. Robertson and P. Armitage}, year = {1959}, title = {Comparison of Two Hypotensive Agents}, journal = {Anaesthesia}, volume = {14}, number = 1, pages = {53--64} } @article{HSAUR:BarnardRubin1999, author = {J. Barnard and D. B. Rubin}, year = 1999, title = {Small Sample Degrees of Freedom With Multiple Imputation}, journal = {Biometrika}, volume = 86, pages = {948--955} } @article{HSAUR:Vuilleumier1970, author = {F. Vuilleumier}, year = {1970}, title = {Insular Biogeography in Continental Regions. {I. The} Northern {Andes} of {South America}}, journal = {The American Naturalist}, volume = 104, pages = {373--388} } @book{HSAUR:Aitkin1989, author = {M. Aitkin and D. Anderson and B. Francis and J. Hinde}, title = {Statistical Modelling in {GLIM}}, year = 1989, publisher = {Oxford University Press}, address = {New York, USA}, } @incollection{HSAUR:Morabia2013, author = {Alfredo Morabia}, editor = {Wolfgang Ahrens and Iris Pigeot}, booktitle = {Handbook of Epidemiology}, title = {History of Epidemiological Methods and Concepts}, pages = {43--74}, year = {2013}, edition = {2nd}, publisher = {Springer-Verlag}, address = {New York, USA}, } @Article{HSAUR:ZeileisHothornHornik2008, author = {Achim Zeileis and Torsten Hothorn and Kurt Hornik}, title = {Model-based Recursive Partitioning}, journal = {Journal of Computational and Graphical Statistics}, year = {2008}, volume = 17, number = 2, pages = {492--514}, doi = {10.1198/106186008X319331}, } > > HSAUR3/vignettes/LaTeXBibTeX/refstyle.bst0000755000176200001440000006715714172224326017637 0ustar liggesusers%% %% This is file `refstyle.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% merlin.mbs (with options: `,ay,nat,nm-rev,keyxyr,dt-beg,yr-par,note-yr,tit-qq,vnum-x,volp-com,add-pub,pre-pub,isbn,issn,url,url-blk,edby,edbyx,blk-com,pp,ed,xedn') %% ---------------------------------------- %% %% Copyright 1994-1999 Patrick W Daly % =============================================================== % IMPORTANT NOTICE: % This bibliographic style (bst) file has been generated from one or % more master bibliographic style (mbs) files, listed above. % % This generated file can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN % archives in directory macros/latex/base/lppl.txt; either % version 1 of the License, or any later version. % =============================================================== % Name and version information of the main mbs file: % \ProvidesFile{merlin.mbs}[1999/05/28 3.89 (PWD)] % For use with BibTeX version 0.99a or later %------------------------------------------------------------------- % This bibliography style file is intended for texts in ENGLISH % This is an author-year citation style bibliography. As such, it is % non-standard LaTeX, and requires a special package file to function properly. % Such a package is natbib.sty by Patrick W. Daly % The form of the \bibitem entries is % \bibitem[Jones et al.(1990)]{key}... % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... % The essential feature is that the label (the part in brackets) consists % of the author names, as they should appear in the citation, with the year % in parentheses following. There must be no space before the opening % parenthesis! % With natbib v5.3, a full list of authors may also follow the year. % In natbib.sty, it is possible to define the type of enclosures that is % really wanted (brackets or parentheses), but in either case, there must % be parentheses in the label. % The \cite command functions as follows: % \citet{key} ==>> Jones et al. (1990) % \citet*{key} ==>> Jones, Baker, and Smith (1990) % \citep{key} ==>> (Jones et al., 1990) % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) % \citeauthor{key} ==>> Jones et al. % \citeauthor*{key} ==>> Jones, Baker, and Smith % \citeyear{key} ==>> 1990 %--------------------------------------------------------------------- ENTRY { address author booktitle chapter edition editor howpublished institution isbn issn journal key month note number organization pages publisher school series title type url volume year } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {date.block} { skip$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {non.stop} { duplicate$ "}" * add.period$ #-1 #1 substring$ "." = } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\em " swap$ * "\/}" * } if$ } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} FUNCTION {bbl.etal} { "et~al." } FUNCTION {bbl.editors} { "eds." } FUNCTION {bbl.editor} { "ed." } FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} { "edition" } FUNCTION {bbl.volume} { "volume" } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} { "number" } FUNCTION {bbl.nr} { "no." } FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} { "pp." } FUNCTION {bbl.page} { "p." } FUNCTION {bbl.chapter} { "chapter" } FUNCTION {bbl.techrep} { "Technical Report" } FUNCTION {bbl.mthesis} { "Master's thesis" } FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} FUNCTION {format.url} { url empty$ { "" } { "\urlprefix\url{" url * "}" * } if$ } INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.names.ed} { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ } FUNCTION {format.editors} { editor empty$ { "" } { editor format.names ", " * editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ * } if$ } FUNCTION {format.in.editors} { editor empty$ { "" } { editor format.names.ed } if$ } FUNCTION {format.isbn} { isbn empty$ { "" } { "ISBN " isbn * } if$ } FUNCTION {format.issn} { issn empty$ { "" } { "ISSN " issn * } if$ } FUNCTION {format.note} { note empty$ { "" } { note #1 #1 substring$ duplicate$ "{" = 'skip$ { output.state mid.sentence = { "l" } { "u" } if$ change.case$ } if$ note #2 global.max$ substring$ * } if$ } FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ "\enquote{" swap$ * non.stop { ",} " * } { "} " * } if$ } if$ } FUNCTION {end.quote.title} { title empty$ 'skip$ { before.all 'output.state := } if$ } FUNCTION {format.full.names} {'s := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { numnames #2 > { "," * } 'skip$ if$ bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {author.editor.key.full} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } { author format.full.names } if$ } FUNCTION {author.key.full} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.full.names } if$ } FUNCTION {editor.key.full} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.key.full { type$ "proceedings" = 'editor.key.full 'author.key.full if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "}]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {word.in} { bbl.in " " * } FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } 'skip$ if$ extra.label * before.all 'output.state := " (" swap$ * ")" * } FUNCTION {format.btitle} { title emphasize } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.volume volume tie.or.space.connect series empty$ 'skip$ { bbl.of space.word * series emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.connect series empty$ { "there's a number but no series in " cite$ * warning$ } { bbl.in space.word * series * } if$ } if$ } { "" } if$ } FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { edition "l" change.case$ " " * bbl.edition * } { edition "t" change.case$ " " * bbl.edition * } if$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { bbl.pages pages n.dashify tie.or.space.connect } { bbl.page pages tie.or.space.connect } if$ } if$ } FUNCTION {format.journal.pages} { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", " * pages n.dashify * } if$ } if$ } FUNCTION {format.vol.num.pages} { volume field.or.null format.journal.pages } FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { bbl.chapter } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ } FUNCTION {format.in.ed.booktitle} { booktitle empty$ { "" } { editor empty$ { word.in booktitle emphasize * } { word.in booktitle emphasize * ", " * editor num.names$ #1 > { bbl.editors } { bbl.editor } if$ * " " * format.in.editors * } if$ } if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { bbl.techrep } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ word.in } { bbl.volume volume tie.or.space.connect bbl.of space.word * } if$ " \cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.org.or.pub} { 't := "" address empty$ t empty$ and 'skip$ { address empty$ 'skip$ { address * } if$ t empty$ 'skip$ { address empty$ 'skip$ { ": " * } if$ t * } if$ } if$ } FUNCTION {format.publisher.address} { publisher empty$ { "empty publisher in " cite$ * warning$ "" } { publisher } if$ format.org.or.pub } FUNCTION {format.organization.address} { organization empty$ { "" } { organization } if$ format.org.or.pub } FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { journal emphasize "journal" output.check format.vol.num.pages output } { format.article.crossref output.nonnull format.pages output } if$ format.issn output format.url output format.note output fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.bvolume output format.number.series output format.publisher.address output } { format.book.crossref output.nonnull } if$ format.edition output format.isbn output format.url output format.note output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title howpublished output address output format.isbn output format.url output format.note output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.publisher.address output format.bvolume output format.chapter.pages "chapter and pages" output.check format.number.series output } { format.chapter.pages "chapter and pages" output.check format.book.crossref output.nonnull } if$ format.edition output crossref missing$ { format.isbn output } 'skip$ if$ format.url output format.note output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.publisher.address output format.bvolume output format.number.series output format.chapter.pages output format.edition output format.isbn output } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.url output format.note output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { format.in.ed.booktitle "booktitle" output.check publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ format.bvolume output format.number.series output format.pages output format.isbn output format.issn output } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ format.url output format.note output fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.btitle "title" output.check organization output address output format.edition output format.url output format.note output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.mthesis format.thesis.type output.nonnull school "school" output.check address output format.url output format.note output fin.entry } FUNCTION {misc} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title output end.quote.title howpublished output format.url output format.note output fin.entry } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.phdthesis format.thesis.type output.nonnull school "school" output.check address output format.url output format.note output fin.entry } FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check format.bvolume output format.number.series output publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ format.isbn output format.issn output format.url output format.note output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title format.tr.number output.nonnull institution "institution" output.check address output format.url output format.note output fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title format.url output format.note "note" output.check fin.entry } FUNCTION {default.type} { misc } READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} { 's := "" 't := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " " * bbl.etal * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal * } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "????" } 'skip$ if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { " " * namesleft #1 = t "others" = and { "zzzzz" * } { t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {editor.sort} { editor empty$ { key empty$ { "to sort, need editor or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } FUNCTION {presort} { calc.label label sortify " " * type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.sort 'author.sort if$ } if$ #1 entry.max$ substring$ 'sort.label := sort.label * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { last.label next.extra } INTEGERS { last.extra.num number.label } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label " " * year field.or.null sortify * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\newcommand{\enquote}[1]{``#1''}" write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname url\endcsname\relax" write$ newline$ " \def\url#1{{\tt #1}}\fi" write$ newline$ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% End of customized bst file %% %% End of file `jasa.bst'. HSAUR3/vignettes/LaTeXBibTeX/setup.Rnw0000644000176200001440000000316214172224326017077 0ustar liggesusers \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} HSAUR3/vignettes/Ch_errata.Rnw0000644000176200001440000001672314416236367015634 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Errata} \setcounter{chapter}{21} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Errata]{Errata} %\bibliographystyle{LaTeXBibTeX/refstyle} %\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_introduction_to_R.Rnw0000644000176200001440000015624114416236367020062 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{An Introduction to R} %%\VignetteDepends{sandwich} \setcounter{chapter}{0} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter{An Introduction to \R{} \label{AItR}} \setcounter{page}{1} \section{What is \R{}?} The \R{} system for statistical computing is an environment for data analysis and graphics. %% #Z %% and an implementation of the \R{} programming language. The root of \R{} is the \S{} language, developed by John Chambers and colleagues \citep{HSAUR:Becker+Chambers+Wilks:1988,HSAUR:Chambers+Hastie:1992,HSAUR:Chambers:1998} at Bell Laboratories (formerly AT\&T, now owned by Lucent Technologies) starting in the 1960s. The \S{} language was designed and developed as a programming language for data analysis tasks but in fact it is a full-featured programming language in its current implementations. The development of the \R{} system for statistical computing is heavily influenced by the open source idea: The base distribution of \R{} \index{Base distribution} and a large number of user-contributed extensions are available under the terms of the Free Software Foundation's GNU General %%' Public License in source code form. \index{GNU General Public License} This licence has two major implications for the data analyst working with \R. The complete source code is available and thus the practitioner can investigate the details of the implementation of a special method, make changes, and distribute modifications to colleagues. As a side effect, the \R{} system for statistical computing is available to everyone. All scientists, including, in particular, those working in developing countries, now have access to state-of-the-art tools for statistical data analysis without additional costs. With the help of the \R{} system for statistical computing, research really becomes reproducible when both the data and the results of all data analysis steps reported in a paper are available to the readers through an \R{} transcript file. \R{} is most widely used for teaching undergraduate and graduate statistics classes at universities all over the world because students can freely use the statistical computing tools. The base distribution of \R{} is maintained by a small group of statisticians, the \R{} Development Core Team. A huge amount of additional functionality is implemented in add-on packages \index{Add-on package} authored and maintained by a large group of volunteers. The main source of information about the \R{} system is the World Wide Web with the official home page of the \R{} project being \curl{http://www.R-project.org} All resources are available from this page: the \R{} system itself, a collection of add-on packages, manuals, documentation, and more. The intention of this chapter is to give a rather informal introduction to basic concepts and data manipulation techniques for the \R{} novice. Instead of a rigid treatment of the technical background, the most common tasks are illustrated by practical examples and it is our hope that this will enable readers to get started without too many problems. \section{Installing \R{}} \index{Base system|(} The \R{} system for statistical computing consists of two major parts: the base system and a collection of user-contributed add-on packages. The \R{} language is implemented in the base system. Implementations of statistical and graphical procedures are separated from the base system and are organized in the form of \stress{packages}. A package is \index{Add-on package} a collection of functions, examples, and documentation. The functionality of a package is often focused on a special statistical methodology. Both the base system and packages are distributed via the Comprehensive \R{} Archive Network (CRAN) accessible under \curl{http://CRAN.R-project.org} \index{Comprehensive R Archive Network (CRAN)@Comprehensive \R{} Archive Network (CRAN)} \subsection{The Base System and the First Steps \label{AItR:Base}} The base system is available in source form and in precompiled form for various Unix systems, Windows platforms and Mac OS X. For the data analyst, it is sufficient to download the precompiled binary distribution and install it locally. Windows users follow the link \curl{http://CRAN.R-project.org/bin/windows/base/release.htm} download the corresponding file (currently named \file{\Sexpr{HSAUR3:::exename()}}), execute it locally, and follow the instructions given by the installer. \index{Base system|)} \begin{wrapfigure}{lH}[0cm]{2cm} \includegraphics[width=1.95cm]{graphics/Rlogo_bw} \end{wrapfigure} Depending on the operating system, \R{} can be started either by typing `\texttt{R}' on the shell (Unix systems) or by clicking on the %' \R{} symbol (as shown left) created by the installer (Windows). \R{} comes without any frills and on start up shows simply a short introductory message including the version number and a prompt `\texttt{>}': %' \index{Prompt} <>= HSAUR3:::Rwelcome() @ <>= options(prompt = "> ") @ One can change the appearance of the prompt by <>= options(prompt = "R> ") @ and we will use the prompt \Rarg{R>} for the display of the code examples throughout this book. A \texttt{+} sign at the very beginning of a line indicates a continuing command after a newline. Essentially, the \R{} system evaluates commands typed on the \R{} prompt and returns the results of the computations. The end of a command is indicated by the return key. Virtually all introductory texts on \R{} start with an example using \R{} as a pocket calculator, and so do we: <>= x <- sqrt(25) + 2 @ This simple statement asks the \R{} interpreter to calculate $\sqrt{25}$ and then to add $2$. The result of the operation is assigned to an \R{} object \index{Object} with variable name \Robject{x}. The assignment operator \Roperator{<-} binds the value of its right-hand side to a variable name on the left-hand side. The value of the object \Robject{x} can be inspected simply by typing <>= x @ which, implicitly, calls the \Rcmd{print} method: <>= print(x) @ \subsection{Packages} \index{Add-on package|(} The base distribution already comes with some high-priority add-on packages, namely \begin{center} <>= colwidth <- 4 ip <- installed.packages(priority = "high") pkgs <- unique(ip[,"Package"]) pkgs <- paste("\\Rpackage{", pkgs, "}", sep = "") nrows <- ceiling(length(pkgs) / colwidth) pkgs <- c(pkgs, rep("", colwidth * nrows - length(pkgs))) cat(paste(c("\\begin{tabular}{", paste(rep("l", colwidth), collapse=""), "}"), collapse = ""), "\n", file = "tables/rec.tex", append = FALSE) for (i in 1:nrows) { cat(paste(pkgs[(1:colwidth) + (i-1)*colwidth], collapse = " & "), file = "tables/rec.tex", append = TRUE) cat("\\\\ \n", file = "tables/rec.tex", append = TRUE) } cat("\\end{tabular}\n", file = "tables/rec.tex", append = TRUE) rm(ip, nrows) @ \input{tables/rec} \end{center} Some of the packages listed here %% #Z %% are maintained by members of the \R{} core development team and implement standard statistical functionality, for example linear models, classical tests, a huge collection of high-level plotting functions or tools for survival analysis; many of these will be described and used in later chapters. Others provide basic infrastructure, for example for graphic systems, code analysis tools, graphical-user interfaces or other utilities. <>= cp <- available.packages(contriburl = "http://CRAN.r-project.org/src/contrib") ncp <- sum(!rownames(cp) %in% pkgs) rm(cp, pkgs) @ Packages not included in the base distribution can be installed directly from the \R{} prompt. At the time of writing this chapter, $\Sexpr{ncp}$ user-contributed packages covering almost all fields of statistical methodology were available. Certain so-called `task views' for special topics, such as statistics in the social sciences, environmetrics, robust statistics, etc., describe important and helpful packages and are available from \curl{http://CRAN.R-project.org/web/views/} <>= rm(ncp, colwidth, i) @ Given that an Internet connection is available, a package is installed by supplying the name of the package to the function \Rcmd{install.packages}. If, for example, add-on functionality for robust estimation of covariance matrices via sandwich estimators \index{Sandwich estimator} is required (for example in \Sexpr{ch("ALDII")}), the \Rpackage{sandwich} package \citep{PKG:sandwich} can be downloaded and installed via <>= install.packages("sandwich") @ The package functionality is available after \stress{attaching} the package by <>= library("sandwich") @ A comprehensive list of available packages can be obtained from \curl{http://CRAN.R-project.org/web/packages/} Note that on Windows operating systems, precompiled versions of packages are downloaded and installed. %%Currently, the service of overnight compilation of all packages on %%CRAN for the Windows platform is kindly offered by Uwe Ligges from the %%University of Dortmund, Germany. In contrast, packages are compiled locally before they are installed on Unix systems. \index{Add-on package|)} \section{Help and Documentation \label{AItR:HDN}} \index{Help system|(} Roughly, three different forms of documentation for the \R{} system for statistical computing may be distinguished: online help that comes with the base distribution or packages, electronic manuals, and publications work in the form of books, etc. The help system is a collection of manual pages describing each user-visible function and data set that comes with \R{}. A manual page is shown in a pager or Web browser when the name of the function we would like to get help for is supplied to the \Rcmd{help} function <>= help("mean") @ or, for short, \begin{Verbatim} R> ?mean \end{Verbatim} Each manual page consists of a general description, the argument list of the documented function with a description of each single argument, information about the return value of the function and, optionally, references, cross-links and, in most cases, executable examples. The function \Rcmd{help.search} is helpful for searching within manual pages. An overview on documented topics in an add-on package is given, for example for the \Rpackage{sandwich} package, by <>= help(package = "sandwich") @ Often a package comes along with an additional document describing the package functionality and giving examples. Such a document is called a \Rclass{vignette} \citep{HSAUR:Leisch2003,HSAUR:Gentleman2005}. For example, the \Rpackage{sandwich} package vignette is opened using <>= vignette("sandwich", package = "sandwich") @ More extensive documentation is available electronically from the collection of manuals at \curl{http://CRAN.R-project.org/manuals.html} For the beginner, at least the first and the second document of the following four manuals \citep{HSAUR:AItR,HSAUR:RDIE,HSAUR:RIA,HSAUR:WRE} are mandatory: \begin{description} \item[An Introduction to R] A more formal introduction to data analysis with \R{} than this chapter. \item[R Data Import/Export] A very useful description of how to read and write various external data formats. \item[R Installation and Administration] Hints for installing \R{} on special platforms. \item[Writing \R{} Extensions] The authoritative source on how to write \R{} programs and packages. \end{description} Both printed and online publications are available, the most important ones are \booktitle{Modern Applied Statistics with \S{}} \citep{HSAUR:VenablesRipley2002}, \booktitle{Introductory Statistics with \R{}} \citep{HSAUR:Dalgaard2002}, \booktitle{\R{} Graphics} \citep{HSAUR:Murrell2005} and the \R{} Newsletter, freely available from \curl{http://CRAN.R-project.org/doc/Rnews/} In case the electronically available documentation and the answers to frequently asked questions (FAQ), available from \curl{http://CRAN.R-project.org/faqs.html} \index{Frequently asked questions (FAQ)} have been consulted but a problem or question remains unsolved, the \texttt{r-help} email list is the right place to get answers to well-thought-out questions. It is helpful to read the posting guide \curl{http://www.R-project.org/posting-guide.html} before starting to ask. \index{Help system|)} \section{Data Objects in \R{}} \index{Forbes 2000 ranking|(} The data handling and manipulation techniques explained in this chapter will be illustrated by means of a data set of $2000$ world leading companies, the Forbes 2000 list for the year 2004 collected by \booktitle{Forbes Magazine}. This list is originally available from \curl{http://www.forbes.com} and, as an \R{} data object, it is part of the \Rpackage{HSAUR3} package (\textit{Source}: From Forbes.com, New York, New York, 2004. With permission.). In a first step, we make the data available for computations within \R. The \Rcmd{data} function searches for data objects of the specified name (\Robject{"Forbes2000"}) in the package specified via the \Rarg{package} argument and, if the search was successful, attaches the data object to the global environment: \index{Forbes2000 data@\Robject{Forbes2000} data} <>= data("Forbes2000", package = "HSAUR3") ls() @ <>= x <- c("x", "Forbes2000") print(x) @ The output of the \Rcmd{ls} function lists the names of all objects currently stored in the global environment, and, as the result of the previous command, a variable named \Robject{Forbes2000} is available for further manipulation. The variable \Robject{x} arises from the pocket calculator example in Subsection~\ref{AItR:Base}. As one can imagine, printing a list of $2000$ companies via <>= print(Forbes2000) @ <>= print(Forbes2000[1:3,]) cat("...\n") @ will not be particularly helpful in gathering some initial information about the data; it is more useful to look at a description of their structure found by using the following command <>= str(Forbes2000) @ <>= str(Forbes2000, vec.len = 2, strict.width = "cut", width = 60) @ The output of the \Rcmd{str} function tells us that \Robject{Forbes2000} is an object of class \Rclass{data.frame}, the most important data structure for handling tabular statistical data in \R. As expected, information about $2000$ observations, i.e., companies, are stored in this object. For each observation, the following eight variables are available: \begin{description} \item[\Robject{rank}] the ranking of the company, \item[\Robject{name}] the name of the company, \item[\Robject{country}] the country the company is situated in, \item[\Robject{category}] a category describing the products the company produces, \item[\Robject{sales}] the amount of sales of the company in billion US dollars, \item[\Robject{profits}] the profit of the company in billion US dollars, \item[\Robject{assets}] the assets of the company in billion US dollars, \item[\Robject{marketvalue}] the market value of the company in billion US dollars. \end{description} A similar but more detailed description is available from the help page for the \Robject{Forbes2000} object: <>= help("Forbes2000") @ or \begin{Verbatim} R> ?Forbes2000 \end{Verbatim} All information provided by \Rcmd{str} can be obtained by specialized functions as well and we will now have a closer look at the most important of these. The \R{} language is an object-oriented programming language, \index{Object-oriented programming language} so every object is an instance of a class. The name of the class of an object can be determined by <>= class(Forbes2000) @ Objects of class \Rclass{data.frame} represent data the traditional table-oriented way. Each row is associated with one single observation and each column corresponds to one variable. The dimensions of such a table can be extracted using the \Rcmd{dim} function <>= dim(Forbes2000) @ Alternatively, the numbers of rows and columns can be found using <>= nrow(Forbes2000) ncol(Forbes2000) @ The results of both statements show that \Robject{Forbes2000} has $\Sexpr{nrow(Forbes2000)}$ rows, i.e., observations, the companies in our case, with eight variables describing the observations. The variable names are accessible from <>= names(Forbes2000) @ The values of single variables can be extracted from the \Robject{Forbes2000} object by their names, for example the ranking of the companies <>= class(Forbes2000[,"rank"]) @ is stored as an integer variable. Brackets \Robject{[]} always indicate a subset \index{Subset} of a larger object, in our case a single variable extracted from the whole table. Because \Rclass{data.frame}s have two dimensions, observations and variables, the comma is required in order to specify that we want a subset of the second dimension, i.e., the variables. The rankings for all $\Sexpr{nrow(Forbes2000)}$ companies are represented in a \Rclass{vector} structure the length of which is given by <>= length(Forbes2000[,"rank"]) @ A \Rclass{vector} is the elementary structure for data handling in \R{} and is a set of simple elements, all being objects of the same class. For example, a simple vector of the numbers one to three can be constructed by one of the following commands <>= 1:3 c(1,2,3) seq(from = 1, to = 3, by = 1) @ The unique names of all $\Sexpr{nrow(Forbes2000)}$ companies are stored in a character vector \index{character vector@\Rclass{character} vector} <>= class(Forbes2000[,"name"]) length(Forbes2000[,"name"]) @ and the first element of this vector is <>= Forbes2000[,"name"][1] @ Because the companies are ranked, Citigroup is the world's largest %' company according to the Forbes 2000 list. Further details on vectors and subsetting are given in Section~\ref{AItR:BDM}. Nominal measurements are represented by \Rclass{factor} variables in \R, such as the category of the company's business segment %%' <>= class(Forbes2000[,"category"]) @ Objects of class \Rclass{factor} and \Rclass{character} basically differ in the way their values are stored internally. Each element of a vector of class \Rclass{character} is stored as a \Rclass{character} variable whereas an integer variable indicating the level of a \Rclass{factor} is saved for \Rclass{factor} objects. In our case, there are <>= nlevels(Forbes2000[,"category"]) @ different levels, i.e., business categories, which can be extracted by <>= levels(Forbes2000[,"category"]) @ <>= levels(Forbes2000[,"category"])[1:3] cat("...\n") @ As a simple summary statistic, the frequencies of the levels of such a \Rclass{factor} variable can be found from <>= table(Forbes2000[,"category"]) @ <>= table(Forbes2000[,"category"])[1:3] cat("...\n") @ The sales, assets, profits, and market value variables are of type \Robject{numeric}, the natural data type for continuous or discrete measurements, for example <>= class(Forbes2000[,"sales"]) @ and simple summary statistics such as the mean, median, and range can be found from <>= median(Forbes2000[,"sales"]) mean(Forbes2000[,"sales"]) range(Forbes2000[,"sales"]) @ The \Rcmd{summary} method can be applied to a numeric vector to give a set of useful summary statistics, namely the minimum, maximum, mean, median, and the $25\%$ and $75\%$ quartiles; for example <>= summary(Forbes2000[,"sales"]) @ \section{Data Import and Export} \index{Data import and export|(} In the previous section, the data from the Forbes 2000 list of the world's largest %%' companies were loaded into \R{} from the \Rpackage{HSAUR3} package but we will now explore practically more relevant ways to import data into the \R{} system. The most frequent data formats the data analyst is confronted with are comma separated files, \index{Comma separated files} \EXCEL{} spreadsheets, \index{Excel spreadsheets@\EXCEL{} spreadsheets} files in \SPSS{} format \index{SPSS file format@\SPSS{} file format} and a variety of \SQL{} data base engines. \index{SQL data bases@\SQL{} data bases} Querying data bases is a nontrivial task and requires additional knowledge about querying languages, and we therefore refer to the \booktitle{\R{} Data Import/Export} manual -- see Section~\ref{AItR:HDN}. <>= pkgpath <- system.file(package = "HSAUR2") mywd <- getwd() filep <- file.path(pkgpath, "rawdata") setwd(filep) @ We assume that a comma-separated file containing the Forbes 2000 list is available as \file{Forbes2000.csv} (such a file is part of the \Rpackage{HSAUR3} source package in directory \file{HSAUR3/inst/rawdata}). When the fields are separated by commas and each row begins with a name (a text format typically created by \EXCEL{}), we can read in the data as follows using the \Rcmd{read.table} function <>= csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1) @ The argument \Rarg{header = TRUE} indicates that the entries in the first line of the text file \Robject{"Forbes2000.csv"} should be interpreted as variable names. Columns are separated by a comma (\Rcmd{sep = ","}), users of continental versions of \EXCEL{} should take care of the character symbol coding for decimal points (by default \Rcmd{dec = "."}). Finally, the first column should be interpreted as row names but not as a variable (\Rarg{row.names = 1}). Alternatively, the function \Rcmd{read.csv} can be used to read comma-separated files. The function \Rcmd{read.table} by default guesses the class of each variable from the specified file. In our case, character variables are stored as factors <>= class(csvForbes2000[,"name"]) @ which is only suboptimal since the names of the companies are unique. However, we can supply the types for each variable to the \Rarg{colClasses} argument <>= csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1, colClasses = c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric")) class(csvForbes2000[,"name"]) @ and check if this object is identical to our previous Forbes 2000 list object <>= all.equal(csvForbes2000, Forbes2000) @ The argument \Rarg{colClasses} expects a character vector of length equal to the number of columns in the file. Such a vector can be supplied by the \Rcmd{c} function that combines the objects given in the parameter list into a \Rclass{vector} <>= classes <- c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric") length(classes) class(classes) @ An \R{} interface to the open data base connectivity (ODBC) standard \index{Open data base connectivity standard (ODBC)} is available in package \Rpackage{RODBC} and its functionality can be used to access \EXCEL{} and \ACCESS{} files directly: <>= library("RODBC") cnct <- odbcConnectExcel("Forbes2000.xls") sqlQuery(cnct, "select * from \"Forbes2000\\$\"") @ The function \Rcmd{odbcConnectExcel} opens a connection to the specified \EXCEL{} or \ACCESS{} file which can be used to send \SQL{} queries to the data base engine and retrieve the results of the query. <>= setwd(mywd) @ Files in \SPSS{} format are read in a way similar to reading comma-separated files, using the function \Rcmd{read.spss} from package \Rpackage{foreign} (which comes with the base distribution). Exporting data from \R{} is now rather straightforward. A comma-separated file readable by \EXCEL{} can be constructed from a \Rclass{data.frame} object via <>= write.table(Forbes2000, file = "Forbes2000.csv", sep = ",", col.names = NA) @ The function \Rcmd{write.csv} is one alternative and the functionality implemented in the \Rpackage{RODBC} package can be used to write data directly into \EXCEL{} spreadsheets as well. \index{Saving R objects@Saving \R{} objects} Alternatively, when data should be saved for later processing in \R{} only, \R{} objects of arbitrary kind can be stored into an external binary file via <>= save(Forbes2000, file = "Forbes2000.rda") @ where the extension \file{.rda} is standard. We can get the file names of all files with extension \file{.rda} from the working directory <>= list.files(pattern = "\\.rda") @ and we can load the contents of the file into \R{} by <>= load("Forbes2000.rda") @ \index{Data import and export|)} \section{Basic Data Manipulation \label{AItR:BDM}} \index{Data manipulation|(} The examples shown in the previous section have illustrated the importance of \Rclass{data.frame}s for storing and handling tabular data in \R. Internally, a \Rclass{data.frame} is a \Rclass{list} of vectors of a common length $n$, the number of rows of the table. Each of those vectors represents the measurements of one variable and we have seen that we can access such a variable by its name, for example the names of the companies <>= companies <- Forbes2000[,"name"] @ Of course, the \Robject{companies} vector is of class \Rclass{character} and of length $\Sexpr{length(companies)}$. A subset \index{Subset} of the elements of the vector \Robject{companies} can be extracted using the \Rcmd{[]} subset operator. For example, the largest of the $2000$ companies listed in the Forbes 2000 list is <>= companies[1] @ and the top three companies can be extracted utilizing an integer vector of the numbers one to three: <>= 1:3 companies[1:3] @ In contrast to indexing with positive integers, negative indexing returns \index{negative indexing} all elements that are \stress{not} part of the index vector given in brackets. For example, all companies except those with numbers four to two thousand, i.e., the top three companies, are again <>= companies[-(4:2000)] @ The complete information about the top three companies can be printed in a similar way. Because \Rclass{data.frame}s have a concept of rows and columns, we need to separate the subsets corresponding to rows and columns by a comma. The statement <>= Forbes2000[1:3, c("name", "sales", "profits", "assets")] @ extracts the variables \Robject{name}, \Robject{sales}, \Robject{profits} and \Robject{assets} for the three largest companies. Alternatively, a single variable can be extracted from a \Rclass{data.frame} by <>= companies <- Forbes2000$name @ which is equivalent to the previously shown statement <>= companies <- Forbes2000[,"name"] @ We might be interested in extracting the largest companies with respect to an alternative ordering. The three top-selling companies can be computed along the following lines. First, we need to compute the ordering of the companies' sales %%' <>= order_sales <- order(Forbes2000$sales) @ which returns the indices of the ordered elements of the numeric vector \Robject{sales}. Consequently the three companies with the lowest sales are <>= companies[order_sales[1:3]] @ The indices of the three top sellers are the elements $1998, 1999$ and $2000$ of the integer vector \Robject{order\_sales} <>= Forbes2000[order_sales[c(2000, 1999, 1998)], c("name", "sales", "profits", "assets")] @ Another way of selecting vector elements is the use of a logical vector being \Robject{TRUE} when the corresponding element is to be selected and \Robject{FALSE} otherwise. The companies with assets of more than $1000$ billion US dollars are <>= Forbes2000[Forbes2000$assets > 1000, c("name", "sales", "profits", "assets")] @ where the expression \Robject{Forbes2000\$assets > 1000} indicates a logical vector of length $2000$ with <>= table(Forbes2000$assets > 1000) @ elements being either \Robject{FALSE} or \Robject{TRUE}. In fact, for some of the companies the measurement of the \Robject{profits} variable are missing. In \R, missing values are treated by a special symbol, \Robject{NA}, indicating \index{NA symbol@\Robject{NA} symbol} that this measurement is not available. \index{Missing values} The observations with profit information missing can be obtained via <>= na_profits <- is.na(Forbes2000$profits) table(na_profits) Forbes2000[na_profits, c("name", "sales", "profits", "assets")] @ where the function \Rcmd{is.na} returns a logical vector being \Robject{TRUE} when the corresponding element of the supplied vector is \Robject{NA}. A more comfortable approach is available when we want to remove all observations with at least one missing value from a \Rclass{data.frame} object. The function \Rcmd{complete.cases} takes a \Rclass{data.frame} and returns a logical vector being \Robject{TRUE} when the corresponding observation does not contain any missing value: <>= table(complete.cases(Forbes2000)) @ Subsetting \Rclass{data.frame}s driven by logical expressions may induce a lot of typing which can be avoided. The \Rcmd{subset} function takes a \Rclass{data.frame} as first argument and a logical expression as second argument. For example, we can select a subset of the Forbes 2000 list consisting of all companies situated in the United Kingdom by <>= UKcomp <- subset(Forbes2000, country == "United Kingdom") dim(UKcomp) @ i.e., $\Sexpr{nrow(UKcomp)}$ of the $2000$ companies are from the UK. Note that it is not necessary to extract the variable \Robject{country} from the \Rclass{data.frame} \Robject{Forbes2000} when formulating the logical expression with \Rcmd{subset}. \index{Data manipulation|)} \section{Computing with Data} \subsection{Simple Summary Statistics} Two functions are helpful for getting an overview about \R{} objects: \Rcmd{str} and \Rcmd{summary}, where \Rcmd{str} is more detailed about data types and \Rcmd{summary} gives a collection of sensible summary statistics. For example, applying the \Rcmd{summary} method to the \Robject{Forbes2000} data set, <>= summary(Forbes2000) @ results in the following output <>= summary(Forbes2000) @ From this output we can immediately see that most of the companies are situated in the US and that most of the companies are working in the banking sector as well as that negative profits, or losses, up to $\Sexpr{abs(round(min(Forbes2000$profits, na.rm = TRUE)))}$ billion US dollars occur. Internally, \Rcmd{summary} is a so-called \stress{generic function} \index{Generic function} with methods for a multitude of classes, i.e., \Rcmd{summary} can be applied to objects of different classes and will report sensible results. Here, we supply a \Rclass{data.frame} object to \Rcmd{summary} where it is natural to apply \Rcmd{summary} to each of the variables in this \Rclass{data.frame}. Because a \Rclass{data.frame} is a \Rclass{list} with each variable being an element of that \Rclass{list}, the same effect can be achieved by <>= lapply(Forbes2000, summary) @ \index{apply family@\Rcmd{apply} family} The members of the \Rcmd{apply} family help to solve recurring tasks for each element of a \Rclass{data.frame}, \Rclass{matrix}, \Rclass{list} or for each level of a \Rclass{factor}. It might be interesting to compare the profits in each of the $\Sexpr{nlevels(Forbes2000$category)}$ categories. To do so, we first compute the median profit for each category from <>= mprofits <- tapply(Forbes2000$profits, Forbes2000$category, median, na.rm = TRUE) @ a command that should be read as follows. For each level of the factor \Robject{category}, determine the corresponding elements of the numeric vector \Robject{profits} and supply them to the \Rcmd{median} function with additional argument \Rarg{na.rm = TRUE}. The latter one is necessary because \Robject{profits} contains missing values which would lead to a non-sensible result of the \Rcmd{median} function <>= median(Forbes2000$profits) @ The three categories with highest median profit are computed from the vector of sorted median profits <>= rev(sort(mprofits))[1:3] @ where \Rcmd{rev} rearranges the vector of median profits \Rcmd{sort}ed from smallest to largest. Of course, we can replace the \Rcmd{median} function with \Rcmd{mean} or whatever is appropriate in the call to \Rcmd{tapply}. In our situation, \Rcmd{mean} is not a good choice, because the distributions of profits or sales are naturally skewed. Simple graphical tools for the inspection of the empirical distributions are introduced later on and in \Sexpr{ch("DAGD")}. \subsection{Customizing Analyses} \index{Functions|(} In the preceding sections we have done quite complex analyses on our data using functions available from \R{}. However, the real power of the system comes to light when writing our own functions for our own analysis tasks. Although \R{} is a full-featured programming language, writing small helper functions for our daily work is not too complicated. We'll study two example cases. At first, we want to add a robust measure of variability to the location measures computed in the previous subsection. In addition to the median profit, computed via <>= median(Forbes2000$profits, na.rm = TRUE) @ we want to compute the inter-quartile range, i.e., the difference between the 3rd and 1st quartile. Although a quick search in the manual pages (via \texttt{help("interquartile")}) brings function \Rcmd{IQR} to our attention, we will approach this task without making use of this tool, but using function \Rcmd{quantile} for computing sample quantiles only. A function in \R{} is nothing but an object, and all objects are created equal. Thus, we `just' have to assign a \Rclass{function} object to a variable. A \Rclass{function} object consists of an argument list, defining arguments and possibly default values, and a body defining the computations. The body starts and ends with braces. Of course, the body is assumed to be valid \R{} code. In most cases we expect a function to return an object, therefore, the body will contain one or more \Rcmd{return} statements the arguments of which define the return values. Returning to our example, we'll name our function \Rcmd{iqr}. The \Rcmd{iqr} function should operate on numeric vectors, therefore it should have an argument \Robject{x}. This numeric vector will be passed on to the \Rcmd{quantile} function for computing the sample quartiles. The required difference between the $3^\text{rd}$ and $1^\text{st}$ quartile can then be computed using \Rcmd{diff}. The definition of our function reads as follows <>= iqr <- function(x) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE) return(diff(q)) } @ A simple test on simulated data from a standard normal distribution shows that our first function actually works, a comparison with the \Rcmd{IQR} function shows that the result is correct: <>= xdata <- rnorm(100) iqr(xdata) IQR(xdata) @ However, when the numeric vector contains missing values, our function fails as the following example shows: <>= xdata[1] <- NA iqr(xdata) @ <>= xdata[1] <- NA cat(try(iqr(xdata))) @ In order to make our little function more flexible it would be helpful to add all arguments of \Rcmd{quantile} to the argument list of \Rcmd{iqr}. The copy-and-paste approach that first comes to mind is likely to lead to inconsistencies and errors, for example when the argument list of \Rcmd{quantile} changes. Instead, the dot argument, a wildcard for any argument, is more appropriate and we redefine our function accordingly: <>= iqr <- function(x, ...) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE, ...) return(diff(q)) } iqr(xdata, na.rm = TRUE) IQR(xdata, na.rm = TRUE) @ Now, we can assess the variability of the profits using our new \Rcmd{iqr} tool: <>= iqr(Forbes2000$profits, na.rm = TRUE) @ Since there is no difference between functions that have been written by one of the \R{} developers and user-created functions, we can compute the inter-quartile range of profits for each of the business categories by using our \Rcmd{iqr} function inside a \Rcmd{tapply} statement; <>= iqr_profits <- tapply(Forbes2000$profits, Forbes2000$category, iqr, na.rm = TRUE) @ and extract the categories with the smallest and greatest variability <>= levels(Forbes2000$category)[which.min(iqr_profits)] levels(Forbes2000$category)[which.max(iqr_profits)] @ We observe less variable profits in tourism enterprises compared with profits in the pharmaceutical industry. As other members of the \Rcmd{apply} family, \Rcmd{tapply} is very helpful when the same task is to be done more than one time. Moreover, its use is more convenient compared to the usage of \Rcmd{for} loops. For the sake of completeness, we will compute the category-wise inter-quartile range of the profits using a \Rcmd{for} loop. \index{Functions|)} \index{Loops|(} Like a \Rclass{function}, a \Rcmd{for} loop consists of a body, i.e., a chain of \R{} commands to be executed. In addition, we need a set of values and a variable that iterates over this set. Here, the set we are interested in is the business categories: <>= bcat <- Forbes2000$category iqr_profits2 <- numeric(nlevels(bcat)) names(iqr_profits2) <- levels(bcat) for (cat in levels(bcat)) { catprofit <- subset(Forbes2000, category == cat)$profit this_iqr <- iqr(catprofit, na.rm = TRUE) iqr_profits2[levels(bcat) == cat] <- this_iqr } @ Compared to the usage of \Rcmd{tapply}, the above code is rather complicated. At first, we have to set up a vector for storing the results and assign the appropriate names to it. Next, inside the body of the \Rcmd{for} loop, the \Rcmd{iqr} function has to be called on the appropriate subset of all companies of the current business category \Robject{cat}. The corresponding inter-quartile range must then be assigned to the correct vector element in the result vector. Luckily, such complicated constructs will be used in only one of the remaining chapters of the book and are almost always avoidable in practical data analyses. \index{Loops|)} \subsection{Simple Graphics} The degree of skewness of a distribution can be investigated by constructing histograms using the \Rcmd{hist} function. (More sophisticated alternatives such as smooth density estimates will be considered in \Sexpr{ch("DE")}.) \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 2)) hist(Forbes2000$marketvalue) hist(log(Forbes2000$marketvalue)) @ \caption{Histograms of the market value and the logarithm of the market value for the companies contained in the Forbes 2000 list. \label{AItR:densplot}} \end{center} \end{figure} For example, the code for producing Figure~\ref{AItR:densplot} first divides the plot region into two equally spaced rows (the \Rcmd{layout} function) and then plots the histograms of the raw market values in the upper part using the \Rcmd{hist} function. The lower part of the figure depicts the histogram for the log-transformed market values which appear to be more symmetric. Bivariate relationships of two continuous variables are usually depicted as scatterplots. In \R, regression relationships are specified by so-called \stress{model formulae} which, in a simple bivariate case, may look like <>= fm <- marketvalue ~ sales class(fm) @ with the dependent variable on the left-hand side and the independent variable on the right-hand side. The tilde separates left- and right-hand sides. Such a model formula can be passed to a model function (for example to the linear model function as explained in \Sexpr{ch("MLR")}). The \Rcmd{plot} generic function implements a \Rclass{formula} method as well. Because the distributions of both market value and sales are skewed we choose to depict their logarithms. A raw scatterplot of $2000$ data points (Figure~\ref{AItR:scatter-raw}) is rather uninformative due to areas with very high density. This problem can be avoided by choosing a transparent color for the dots as shown in Figure~\ref{AItR:scatter}. \begin{figure} \begin{center} <>= plot(log(marketvalue) ~ log(sales), data = Forbes2000, pch = ".") @ \caption{Raw scatterplot of the logarithms of market value and sales. \label{AItR:scatter-raw}} \end{center} \end{figure} \begin{figure} \begin{center} <>= plot(log(marketvalue) ~ log(sales), data = Forbes2000, col = rgb(0,0,0,0.1), pch = 16) @ \caption{Scatterplot with transparent shading of points of the logarithms of market value and sales. \label{AItR:scatter}} \end{center} \end{figure} If the independent variable is a factor, a boxplot representation is a natural choice. For four selected countries, the distributions of the logarithms of the market value may be visually compared in Figure~\ref{AItR:box}. Prior to calling the \Rcmd{plot} function on our data, we have to remove empty levels from the \Robject{country} variable, because otherwise the $x$-axis would show all and not only the selected countries. This task is most easily performed by subsetting the corresponding factor with additional argument \Rcmd{drop = TRUE}. \index{Boxplot} \begin{figure} \begin{center} <>= tmp <- subset(Forbes2000, country %in% c("United Kingdom", "Germany", "India", "Turkey")) tmp$country <- tmp$country[,drop = TRUE] plot(log(marketvalue) ~ country, data = tmp, ylab = "log(marketvalue)", varwidth = TRUE) @ \caption{Boxplots of the logarithms of the market value for four selected countries, the width of the boxes is proportional to the square roots of the number of companies. \label{AItR:box}} \end{center} \end{figure} Here, the width of the boxes are proportional to the square root of the number of companies for each country and extremely large or small market values are depicted by single points. More elaborate graphical methods will be discussed in \Sexpr{ch("DAGD")}. \index{Forbes 2000 ranking|)} \section{Organizing an Analysis} <>= file.create("analysis.R") @ Although it is possible to perform an analysis typing all commands directly on the \R{} prompt it is much more comfortable to maintain a separate text file collecting all steps necessary to perform a certain data analysis task. Such an \R{} transcript file, for example called \file{analysis.R} created with your favorite text editor, can be sourced into \R{} using the \Rcmd{source} command <>= source("analysis.R", echo = TRUE) @ When all steps of a data analysis, i.e., data preprocessing, transformations, simple summary statistics and plots, model building and inference as well as reporting, are collected in such an \R{} transcript file, the analysis can be reproduced at any time, maybe with corrected or updated data as it frequently happens in our consulting practice. <>= file.remove("analysis.R") @ \section{Summary of Findings} Data manipulation precedes every statistical analysis and is often more complex than the final model fitting and display. The \R{} language in itself is very powerful and allows efficient data manipulation. For really large data sets that do not fit into the random access memory of the computer, we have to store the data elsewhere, for example in database systems or flat files. Packages for accessing the data from these sources are described in the `Large memory and out-of-memory data' section of the `High-performance and parallel computing' task view. \section{Final Comments} Reading data into \R{} is possible in many different ways, including direct connections to data base engines. Tabular data are handled by \Rclass{data.frame}s in \R{}, and the usual data manipulation techniques such as sorting, ordering or subsetting can be performed by simple \R{} statements. An overview on data stored in a \Rclass{data.frame} is given mainly by two functions: \Rcmd{summary} and \Rcmd{str}. Simple graphics such as histograms and scatterplots can be constructed by applying the appropriate \R{} functions (\Rcmd{hist} and \Rcmd{plot}) and we shall give many more examples of these functions and those that produce more interesting graphics in later chapters. \section*{Exercises} \begin{description} \exercise Calculate the median profit for the companies in the US and the median profit for the companies in the UK, France, and Germany. \exercise Find all German companies with negative profit. \exercise To which business category do most of the Bermuda island companies belong? \exercise For the $50$ companies in the Forbes data set with the highest profits, plot sales against assets (or some suitable transformation of each variable), labeling each point with the appropriate country name which may need to be abbreviated (using \Rcmd{abbreviate}) to avoid making the plot look too `messy'. %%' \exercise Find the average value of sales for the companies in each country in the Forbes data set, and find the number of companies in each country with profits above $5$ billion US dollars. \exercise List all the products made by companies in the UK. \exercise Plot sales against market value for companies in the UK and in Germany using different plotting symbols for the two countries. \exercise For the ten companies in the UK with the greatest profits construct a bar chart of profits labeled with the companies' name. \exercise How many of the $20$ companies with the greatest market value are from the US and how many are from the UK? \exercise Construct a histogram of profits for all companies in Germany with assets above three billion dollars; how many such companies are there? And which product does the company with the greatest profit make? \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_recursive_partitioning.Rnw0000644000176200001440000005514114416236370021143 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Recursive Partitioning} %%\VignetteDepends{vcd,lattice,randomForest,partykit} \setcounter{chapter}{8} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("vcd") library("lattice") library("randomForest") library("partykit") ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) mai <- par("mai") options(SweaveHooks = list(nullmai = function() { par(mai = rep(0, 4)) }, twomai = function() { par(mai = c(0, mai[2], 0, 0)) }, threemai = function() { par(mai = c(0, mai[2], 0.1, 0)) })) numbers <- c("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine") @ \chapter[Recursive Partitioning]{Recursive Partitioning: Predicting Body Fat, Glaucoma Diagnosis, and Happiness in China \label{RP}} \section{Introduction} \section{Recursive Partitioning} \section{Analysis Using \R{}} \subsection{Predicting Body Fat Content} The \Rcmd{rpart} function from \Rpackage{rpart} can be used to grow a regression tree. The response variable and the covariates are defined by a model formula in the same way as for \Rcmd{lm}, say. By default, a large initial tree is grown, we restrict the number of observations required to establish a potential binary split to at least ten: <>= library("rpart") data("bodyfat", package = "TH.data") bodyfat_rpart <- rpart(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat, control = rpart.control(minsplit = 10)) @ A \Rcmd{print} method for \Rclass{rpart} objects is available; however, a graphical representation \citep[here utilizing functionality offered from package \Rpackage{partykit},][]{PKG:partykit} shown in Figure~\ref{RP-bodyfat-plot} is more convenient. Observations that satisfy the condition shown for each node go to the left and observations that don't are an element of the right branch in each node. %' As expected, higher values for waist and hip circumferences and wider knees correspond to higher values of body fat content. The rightmost terminal node consists of only three rather extreme observations. \begin{figure} \begin{center} <>= library("partykit") plot(as.party(bodyfat_rpart), tp_args = list(id = FALSE)) @ \caption{Initial tree for the body fat data with the distribution of body fat in terminal nodes visualized via boxplots. \label{RP-bodyfat-plot}} \end{center} \end{figure} \index{Cross-validation} To determine if the tree is appropriate or if some of the branches need to be subjected to pruning we can use the \Robject{cptable} element of the \Rclass{rpart} object: <>= print(bodyfat_rpart$cptable) opt <- which.min(bodyfat_rpart$cptable[,"xerror"]) @ The \Robject{xerror} column contains estimates of cross-validated prediction error for different numbers of splits (\Robject{nsplit}). The best tree has \Sexpr{numbers[bodyfat_rpart$cptable[opt, "nsplit"] + 1]} splits. Now we can prune back the large initial tree using <>= cp <- bodyfat_rpart$cptable[opt, "CP"] bodyfat_prune <- prune(bodyfat_rpart, cp = cp) @ The result is shown in Figure~\ref{RP-bodyfat-pruneplot}. Note that the inner nodes three and six have been removed from the tree. Still, the rightmost terminal node might give very unreliable extreme predictions. \begin{figure} \begin{center} <>= plot(as.party(bodyfat_prune), tp_args = list(id = FALSE)) @ \caption{Pruned regression tree for body fat data. \label{RP-bodyfat-pruneplot}} \end{center} \end{figure} Given this model, one can predict the (unknown, in real circumstances) body fat content based on the covariate measurements. Here, using the known values of the response variable, we compare the model predictions with the actually measured body fat as shown in Figure~\ref{RP-bodyfat-predict}. The three observations with large body fat measurements in the rightmost terminal node can be identified easily. \begin{figure} \begin{center} <>= DEXfat_pred <- predict(bodyfat_prune, newdata = bodyfat) xlim <- range(bodyfat$DEXfat) plot(DEXfat_pred ~ DEXfat, data = bodyfat, xlab = "Observed", ylab = "Predicted", ylim = xlim, xlim = xlim) abline(a = 0, b = 1) @ \caption{Observed and predicted DXA measurements. \label{RP-bodyfat-predict}} \end{center} \end{figure} \subsection{Glaucoma Diagnosis} <>= set.seed(290875) @ <>= data("GlaucomaM", package = "TH.data") glaucoma_rpart <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 100)) glaucoma_rpart$cptable opt <- which.min(glaucoma_rpart$cptable[,"xerror"]) cp <- glaucoma_rpart$cptable[opt, "CP"] glaucoma_prune <- prune(glaucoma_rpart, cp = cp) @ \setkeys{Gin}{width = 0.65\textwidth} \begin{figure} \begin{center} <>= plot(as.party(glaucoma_prune), tp_args = list(id = FALSE)) @ \caption{Pruned classification tree of the glaucoma data with class distribution in the leaves. \label{RP:gl}} \end{center} \end{figure} \setkeys{Gin}{width=0.95\textwidth} \index{Classification tree!choice of tree size} \index{Tree size} As we discussed earlier, the choice of the appropriately sized tree is not a trivial problem. For the glaucoma data, the above choice of three leaves is very unstable across multiple runs of cross-validation. As an illustration of this problem we repeat the very same analysis as shown above and record the optimal number of splits as suggested by the cross-validation runs. <>= nsplitopt <- vector(mode = "integer", length = 25) for (i in 1:length(nsplitopt)) { cp <- rpart(Class ~ ., data = GlaucomaM)$cptable nsplitopt[i] <- cp[which.min(cp[,"xerror"]), "nsplit"] } @ \newpage <>= table(nsplitopt) @ Although for \Sexpr{sum(nsplitopt == 1)} runs of cross-validation a simple tree with one split only is suggested, larger trees would have been favored in \Sexpr{sum(nsplitopt > 1)} of the cases. This short analysis shows that we should not trust the tree in Figure~\ref{RP:gl} too much. \index{Bagging} \index{Bootstrap approach!glaucoma diagnosis data} One way out of this dilemma is the aggregation of multiple trees via bagging. In \R{}, the bagging idea can be implemented by three or four lines of code. Case count or weight vectors representing the bootstrap samples can be drawn from the multinominal distribution with parameters $n$ and $p_1 = 1/n, \dots, p_n = 1/n$ via the \Rcmd{rmultinom} function. For each weight vector, one large tree is constructed without pruning and the \Rclass{rpart} objects are stored in a list, here called \Robject{trees}: <>= trees <- vector(mode = "list", length = 25) n <- nrow(GlaucomaM) bootsamples <- rmultinom(length(trees), n, rep(1, n)/n) mod <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 0)) for (i in 1:length(trees)) trees[[i]] <- update(mod, weights = bootsamples[,i]) @ The \Rcmd{update} function re-evaluates the call of \Robject{mod}, however, with the weights being altered, i.e., fits a tree to a bootstrap sample specified by the weights. It is interesting to have a look at the structures of the multiple trees. For example, the variable selected for splitting in the root of the tree is not unique as can be seen by <>= table(sapply(trees, function(x) as.character(x$frame$var[1]))) @ Although \Robject{varg} is selected most of the time, other variables such as \Robject{vari} occur as well -- a further indication that the tree in Figure~\ref{RP:gl} is questionable and that hard decisions are not appropriate for the glaucoma data. In order to make use of the ensemble of trees in the list \Robject{trees} we estimate the conditional probability of suffering from glaucoma given the covariates for each observation in the original data set by <>= classprob <- matrix(0, nrow = n, ncol = length(trees)) for (i in 1:length(trees)) { classprob[,i] <- predict(trees[[i]], newdata = GlaucomaM)[,1] classprob[bootsamples[,i] > 0,i] <- NA } @ Thus, for each observation we get \Sexpr{length(trees)} estimates. However, each observation has been used for growing one of the trees with probability $0.632$ and thus was not used with probability $0.368$. Consequently, the estimate from a tree where an observation was not used for growing is better for judging the quality of the predictions and we label the other estimates with \Robject{NA}. Now, we can average the estimates and we vote for glaucoma when the average of the estimates of the conditional glaucoma probability exceeds $0.5$. The comparison between the observed and the predicted classes does not suffer from overfitting since the predictions are computed from those trees for which each single observation was \stress{not} used for growing. <>= avg <- rowMeans(classprob, na.rm = TRUE) predictions <- factor(ifelse(avg > 0.5, "glaucoma", "normal")) predtab <- table(predictions, GlaucomaM$Class) predtab @ Thus, an honest estimate of the probability of a glaucoma prediction when the patient is actually suffering from glaucoma is <>= round(predtab[1,1] / colSums(predtab)[1] * 100) @ per cent. For <>= round(predtab[2,2] / colSums(predtab)[2] * 100) @ percent of normal eyes, the ensemble does not predict glaucomateous damage. \begin{figure} \begin{center} <>= library("lattice") gdata <- data.frame(avg = rep(avg, 2), class = rep(as.numeric(GlaucomaM$Class), 2), obs = c(GlaucomaM[["varg"]], GlaucomaM[["vari"]]), var = factor(c(rep("varg", nrow(GlaucomaM)), rep("vari", nrow(GlaucomaM))))) panelf <- function(x, y) { panel.xyplot(x, y, pch = gdata$class) panel.abline(h = 0.5, lty = 2) } print(xyplot(avg ~ obs | var, data = gdata, panel = panelf, scales = "free", xlab = "", ylab = "Estimated Class Probability Glaucoma")) @ \caption{Estimated class probabilities depending on two important variables. The $0.5$ cut-off for the estimated glaucoma probability is depicted as a horizontal line. Glaucomateous eyes are plotted as circles and normal eyes are triangles. \label{RP:glplot}} \end{center} \end{figure} \index{Random forest} The bagging procedure is a special case of a more general approach called \stress{random forest} \citep{HSAUR:Breiman2001b}. The package \Rpackage{randomForest} \citep{PKG:randomForest} can be used to compute such ensembles via <>= library("randomForest") rf <- randomForest(Class ~ ., data = GlaucomaM) @ and we obtain out-of-bag estimates for the prediction error via <>= table(predict(rf), GlaucomaM$Class) @ \subsection{Trees Revisited} For the body fat data, such a \stress{conditional inference tree} can be computed using the \Rcmd{ctree} function \index{Conditional tree} <>= bodyfat_ctree <- ctree(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat) @ This tree doesn't require a pruning procedure because an internal stop criterion based on formal statistical tests prevents the procedure from overfitting the data. The tree structure is shown in Figure~\ref{RP-bodyfat-ctree-plot}. Although the structure of this tree and the tree depicted in Figure~\ref{RP-bodyfat-pruneplot} are rather different, the corresponding predictions don't vary too much. \begin{figure} \begin{center} <>= plot(bodyfat_ctree, tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of body fat content shown for each terminal leaf. \label{RP-bodyfat-ctree-plot}} \end{center} \end{figure} Very much the same code is needed to grow a tree on the glaucoma data: <>= glaucoma_ctree <- ctree(Class ~ ., data = GlaucomaM) @ and a graphical representation is depicted in Figure~\ref{RP-glaucoma-ctree-plot} showing both the cutpoints and the $p$-values of the associated independence tests for each node. The first split is performed using a cutpoint defined with respect to the volume of the optic nerve above some reference plane, but in the inferior part of the eye only (\Robject{vari}). \begin{figure} \begin{center} <>= plot(glaucoma_ctree, tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of glaucomateous eyes shown for each terminal leaf. \label{RP-glaucoma-ctree-plot}} \end{center} \end{figure} \subsection{Happiness in China} \index{Chinese Health and Family Life Survey} A conditional inference tree is a simple alternative to the proportional odds model for the regression analysis of the happiness variable from the Chinese Health and Family Life Survey. In each node, a linear association test introduced in Section~\ref{CI:Lanza} taking the ordering of the happiness levels into account is applied for selecting variables and split-points. Before we fit the tree with the \Rcmd{ctree} function, we recode the levels of the happiness variable to allow plotting of these symbols with restricted page space: \newpage <>= levels(CHFLS$R_happy) levels(CHFLS$R_happy) <- LETTERS[1:4] CHFLS_ctree <- ctree(R_happy ~ ., data = CHFLS) @ The resulting tree is depicted in Figure~\ref{RP-CHFLS-ctree-plot} and very nicely backs up the results obtained from the proportional odds model in Chapter~\ref{GLM}. The distribution of self-reported happiness is shifted from very unhappy to very happy with increasing values of self-reported health, i.e., women that reported excellent health (mind the $>$ sign in the right label of the root split!) were at least somewhat happy with only a few exceptions. Women with poor or not good health reported being not too happy much more often. There seems to be further differentiation with respect to geography and also income but the differences in the distributions depicted in the terminal leaves are negligible. \begin{figure} \begin{center} <>= plot(CHFLS_ctree, ep_args = list(justmin = 10), tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of self-reported happiness shown for each terminal leaf. The levels of happiness have been abbreviated (A: very unhappy, B: not too happy, C: somewhat happy; D: very happy). The \Rcmd{justmin} argument ensures that split descriptions longer than $10$ characters are displayed over two lines. \label{RP-CHFLS-ctree-plot}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_multiple_linear_regression.Rnw0000644000176200001440000005606514416236367022006 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Multiple Linear Regression} %%\VignetteDepends{wordcloud} \setcounter{chapter}{5} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("wordcloud") @ \chapter[Simple and Multiple Linear Regression]{Simple and Multiple Linear Regression: \\ How Old is the Universe and Cloud Seeding \label{MLR}} \section{Introduction} \index{Age of the Universe} \cite{HSAUR:Freedmanetal2001} give the relative velocity and the distance of $24$ galaxies, according to measurements made using the Hubble Space Telescope -- the data are contained in the \Rpackage{gamair} package accompanying \cite{HSAUR:Wood2006}, see Table~\ref{MLR-hubble-tab}. Velocities are assessed by measuring the Doppler red shift in the spectrum of light observed from the galaxies concerned, although some correction for `local' velocity components is required. Distances are measured using the known relationship between the period of Cepheid variable stars and their luminosity. How can these data be used to estimate the age of the universe? Here we shall show how this can be done using simple linear regression. <>= data("hubble", package = "gamair") names(hubble) <- c("galaxy", "velocity", "distance") toLatex(HSAURtable(hubble, package = "gamair"), pcol = 2, caption = paste("Distance and velocity for 24 galaxies."), label = "MLR-hubble-tab") @ \vspace*{-1cm} \textit{Source}: From Freedman W. L., et al., \textit{The Astrophysical Journal}, 553, 47--72, 2001. With permission. \vspace*{1cm} \index{Cloud seeding} {\tabcolsep3.5pt <>= data("clouds", package = "HSAUR3") names(clouds) <- c("seeding", "time", "sne", "cloudc", "prewet", "EM", "rain") toLatex(HSAURtable(clouds), pcol = 1, caption = paste("Cloud seeding experiments in Florida -- see text for", "explanations of the variables. Note that the \\Robject{clouds} data set has slightly different variable names."), label = "MLR-clouds-tab") @ } Weather modification, or cloud seeding, is the treatment of individual clouds or storm systems with various inorganic and organic materials in the hope of achieving an increase in rainfall. Introduction of such material into a cloud that contains supercooled water, that is, liquid water colder than zero degrees Celsius, has the aim of inducing freezing, with the consequent ice particles growing at the expense of liquid droplets and becoming heavy enough to fall as rain from clouds that otherwise would produce none. The data shown in Table~\ref{MLR-clouds-tab} were collected in the summer of 1975 from an experiment to investigate the use of massive amounts of silver iodide ($100$ to $1000$ grams per cloud) in cloud seeding to increase rainfall \citep{HSAUR:Woodleyetal1977}. In the experiment, which was conducted in an area of Florida, 24 days were judged suitable for seeding on the basis that a measured suitability criterion, denoted \stress{S-Ne}, was not less than $1.5$. Here \stress{S} is the `seedability', %' the difference between the maximum height of a cloud if seeded and the same cloud if not seeded predicted by a suitable cloud model, and \stress{Ne} is the number of hours between $1300$ and $1600$ G.M.T. with $10$ centimeter echoes in the target; this quantity biases the decision for experimentation against naturally rainy days. Consequently, optimal days for seeding are those on which seedability is large and the natural rainfall early in the day is small. On suitable days, a decision was taken at random as to whether to seed or not. For each day the following variables were measured: \begin{description} \item[\Robject{seeding}] a factor indicating whether seeding action occurred (yes or no), \item[\Robject{time}] number of days after the first day of the experiment, \item[\Robject{cloudc}] the percentage cloud cover in the experimental area, measured using radar, \item[\Robject{prewet}] the total rainfall in the target area one hour before seeding (in cubic meters $\times 10^{7}$), \item[\Robject{EM}] a factor showing whether the radar echo was moving or stationary, \item[\Robject{rain}] the amount of rain in cubic meters $\times 10^{7}$, \item[\Robject{sne}] suitability criterion, see above. \end{description} The objective in analyzing these data is to see how rainfall is related to the explanatory variables and, in particular, to determine the effectiveness of seeding. The method to be used is \stress{multiple linear regression}. \section{Simple Linear Regression} \section{Multiple Linear Regression \label{MLR-MLR}} \subsection{Regression Diagnostics} \section{Analysis Using \R{}} \subsection{Estimating the Age of the Universe} Prior to applying a simple regression to the data it will be useful to look at a plot to assess their major features. The \R{} code given in Figure~\ref{MLR-hubble-plot} produces a scatterplot of velocity and distance. \begin{figure} \begin{center} <>= plot(velocity ~ distance, data = hubble) @ \caption{Scatterplot of velocity and distance. \label{MLR-hubble-plot}} \end{center} \end{figure} The diagram shows a clear, strong relationship between velocity and distance. The next step is to fit a simple linear regression model to the data, but in this case the nature of the data requires a model without intercept because if distance is zero so is relative speed. So the model to be fitted to these data is \begin{eqnarray*} \text{velocity} = \beta_1 \text{distance} + \varepsilon. \end{eqnarray*} This is essentially what astronomers call Hubble's Law and $\beta_1$ is known as Hubble's constant; $\beta_1^{-1}$ gives an approximate age of the universe. To fit this model we are estimating $\beta_1$ using formula (\ref{MLR:beta1}). Although this operation is rather easy <>= sum(hubble$distance * hubble$velocity) / sum(hubble$distance^2) @ it is more convenient to apply \R's linear modeling function <>= hmod <- lm(velocity ~ distance - 1, data = hubble) @ Note that the model formula specifies a model without intercept. We can now extract the estimated model coefficients via <>= coef(hmod) @ and add this estimated regression line to the scatterplot; the result is shown in Figure~\ref{MLR-hubble-lmplot}. In addition, we produce a scatterplot of the residuals $y_i - \hat{y}_i$ against fitted values $\hat{y}_i$ to assess the quality of the model fit. It seems that for higher distance values the variance of velocity increases; however, we are interested in only the estimated parameter $\hat{\beta}_1$ which remains valid under variance heterogeneity (in contrast to $t$-tests and associated $p$-values). Now we can use the estimated value of $\beta_1$ to find an approximate value for the age of the universe. The Hubble constant itself has units of $\text{km} \times \text{sec}^{-1} \times \text{Mpc}^{-1}$. A mega-parsec (Mpc) is $3.09 \times 10^{19}$km, so we need to divide the estimated value of $\beta_1$ by this amount in order to obtain Hubble's constant with units of $\text{sec}^{-1}$. The approximate age of the universe in seconds will then be the inverse of this calculation. Carrying out the necessary computations <>= Mpc <- 3.09 * 10^19 ysec <- 60^2 * 24 * 365.25 Mpcyear <- Mpc / ysec 1 / (coef(hmod) / Mpcyear) @ gives an estimated age of roughly $12.8$ billion years. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) plot(velocity ~ distance, data = hubble) abline(hmod) plot(hmod, which = 1) @ \caption{Scatterplot of velocity and distance with estimated regression line (left) and plot of residuals against fitted values (right). \label{MLR-hubble-lmplot}} \end{center} \end{figure} \subsection{Cloud Seeding} Again, a graphical display highlighting the most important aspects of the data will be helpful. Here we will construct boxplots of the rainfall in each category of the dichotomous explanatory variables and scatterplots of rainfall against each of the continuous explanatory variables. \begin{figure} \begin{center} <>= data("clouds", package = "HSAUR3") layout(matrix(1:2, nrow = 2)) bxpseeding <- boxplot(rain ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rain ~ EM, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") @ <>= layout(matrix(1:2, nrow = 2)) bxpseeding <- boxplot(rain ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rain ~ EM, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") @ \caption{Boxplots of \Robject{rain}. \label{MLR-rainfall-boxplot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:4, nrow = 2)) plot(rain ~ time, data = clouds) plot(rain ~ cloudc, data = clouds) plot(rain ~ sne, data = clouds, xlab="S-Ne criterion") plot(rain ~ prewet, data = clouds) @ \caption{Scatterplots of \Robject{rain} against the continuous covariates. \label{MLR-rainfall-scplot}} \end{center} \end{figure} Both the boxplots (Figure~\ref{MLR-rainfall-boxplot}) and the scatterplots (Figure~\ref{MLR-rainfall-scplot}) show some evidence of outliers. The row names of the extreme observations in the \Robject{clouds} \Rclass{data.frame} can be identified via <>= rownames(clouds)[clouds$rain %in% c(bxpseeding$out, bxpecho$out)] @ where \Robject{bxpseeding} and \Robject{bxpecho} are variables created by \Rcmd{boxplot} in Figure~\ref{MLR-rainfall-boxplot}. Now we shall not remove these observations but bear in mind during the modeling process that they may cause problems. In this example it is sensible to assume that the effect of some of the other explanatory variables is modified by seeding and therefore consider a model that includes seeding as covariate and, furthermore, allows interaction terms \index{Interaction} for \Robject{seeding} with each of the covariates except \Robject{time}. This model can be described by the \Rclass{formula} <>= clouds_formula <- rain ~ seeding + seeding:(sne + cloudc + prewet + EM) + time @ and the design matrix $\X^\star$ can be computed via <>= Xstar <- model.matrix(clouds_formula, data = clouds) @ By default, treatment contrasts have been applied to the dummy codings of the factors \Robject{seeding} and \Robject{EM} as can be seen from the inspection of the \Robject{contrasts} attribute of the model matrix <>= attr(Xstar, "contrasts") @ The default contrasts can be changed via the \Rarg{contrasts.arg} argument to \Rcmd{model.matrix} or the \Robject{contrasts} argument to the fitting function, for example \Rcmd{lm} or \Rcmd{aov} as shown in \Sexpr{ch("ANOVA")}. However, such internals are hidden and performed by high-level model-fitting functions such as \Rcmd{lm} which will be used to fit the linear model defined by the \Rclass{formula} \Robject{clouds\_formula}: <>= clouds_lm <- lm(clouds_formula, data = clouds) class(clouds_lm) @ The result of the model fitting is an object of class \Rclass{lm} for which a \Rcmd{summary} method showing the conventional regression analysis output is available. The output in Figure~\ref{MLR-clouds-summary} shows the estimates $\hat{\beta}^\star$ with corresponding standard errors and $t$-statistics as well as the $F$-statistic with associated $p$-value. \renewcommand{\nextcaption}{\R{} output of the linear model fit for the \Robject{clouds} data. \label{MLR-clouds-summary}} \SchunkLabel <>= summary(clouds_lm) @ \SchunkRaw Many methods are available for extracting components of the fitted model. The estimates $\hat{\beta}^\star$ can be assessed via \newpage <>= betastar <- coef(clouds_lm) betastar @ and the corresponding covariance matrix $\Cov(\hat{\beta}^\star)$ is available from the \Rcmd{vcov} method <>= Vbetastar <- vcov(clouds_lm) @ where the square roots of the diagonal elements are the standard errors as shown in Figure~\ref{MLR-clouds-summary} <>= sqrt(diag(Vbetastar)) @ \begin{figure} \begin{center} <>= psymb <- as.numeric(clouds$seeding) plot(rain ~ sne, data = clouds, pch = psymb, xlab = "S-Ne criterion") abline(lm(rain ~ sne, data = clouds, subset = seeding == "no")) abline(lm(rain ~ sne, data = clouds, subset = seeding == "yes"), lty = 2) legend("topright", legend = c("No seeding", "Seeding"), pch = 1:2, lty = 1:2, bty = "n") @ \caption{Regression relationship between S-Ne criterion and rainfall with and without seeding. \label{MLR-clouds-lmplot}} \end{center} \end{figure} In order to investigate the quality of the model fit, we need access to the residuals and the fitted values. The residuals can be found by the \Rcmd{residuals} method and the fitted values of the response from the \Rcmd{fitted} (or \Rcmd{predict}) method <>= clouds_resid <- residuals(clouds_lm) clouds_fitted <- fitted(clouds_lm) @ Now the residuals and the fitted values can be used to construct diagnostic plots; for example the residual plot in Figure~\ref{MLR-resid} where each observation is labelled by its number (using \Rcmd{textplot} from package \Rpackage{wordclouds}). Observations $1$ and $15$ give rather large residual values and the data should perhaps be reanalysed after these two observations are removed. The normal probability plot of the residuals shown in Figure~\ref{MLR-qqplot} shows a reasonable agreement between theoretical and sample quantiles, however, observations $1$ and $15$ are extreme again. \begin{figure} \begin{center} <>= plot(clouds_fitted, clouds_resid, xlab = "Fitted values", ylab = "Residuals", type = "n", ylim = max(abs(clouds_resid)) * c(-1, 1)) abline(h = 0, lty = 2) textplot(clouds_fitted, clouds_resid, words = rownames(clouds), new = FALSE) @ \caption{Plot of residuals against fitted values for \Robject{clouds} seeding data. \label{MLR-resid}} \end{center} \end{figure} \begin{figure} \begin{center} <>= qqnorm(clouds_resid, ylab = "Residuals") qqline(clouds_resid) @ \caption{Normal probability plot of residuals from cloud seeding model \Robject{clouds\_lm}. \label{MLR-qqplot}} \end{center} \end{figure} An index plot of the Cook's distances for each observation %' (and many other plots including those constructed above from using the basic functions) can be found from applying the \Rcmd{plot} method to the object that results from the application of the \Rcmd{lm} function. \begin{figure} \begin{center} <>= plot(clouds_lm) @ <>= plot(clouds_lm, which = 4, sub.caption = NULL) @ \caption{Index plot of Cook's distances for cloud seeding data. %' \label{MLR-cook}} \end{center} \end{figure} Figure~\ref{MLR-cook} suggests that observations 2 and 18 have undue influence on the estimated regression coefficients, but the two outliers identified previously do not. Again it may be useful to look at the results after these two observations have been removed (see Exercise 6.2). %% \ref{MLR-ex2}) \index{Regression diagnostics|)} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_simple_inference.Rnw0000644000176200001440000005240414416236370017653 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Simple Inference} %%\VignetteDepends{vcd} \setcounter{chapter}{2} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Simple Inference]{Simple Inference: Guessing Lengths, Wave Energy, Water Hardness, Piston Rings, and Rearrests of Juveniles \label{SI}} \section{Introduction} <>= library("vcd") if (!interactive()) { print.htest <- function (x, digits = 4, quote = TRUE, prefix = "", ...) { cat("\n") cat(strwrap(x$method, prefix = "\t"), sep = "\n") cat("\n") cat("data: ", x$data.name, "\n") out <- character() if (!is.null(x$statistic)) out <- c(out, paste(names(x$statistic), "=", format(round(x$statistic, 4)))) if (!is.null(x$parameter)) out <- c(out, paste(names(x$parameter), "=", format(round(x$parameter, 3)))) if (!is.null(x$p.value)) { fp <- format.pval(x$p.value, digits = digits) out <- c(out, paste("p-value", if (substr(fp, 1, 1) == "<") fp else paste("=", fp))) } cat(strwrap(paste(out, collapse = ", ")), sep = "\n") if (!is.null(x$conf.int)) { cat(format(100 * attr(x$conf.int, "conf.level")), "percent confidence interval:\n", format(c(x$conf.int[1], x$conf.int[2])), "\n") } if (!is.null(x$estimate)) { cat("sample estimates:\n") print(x$estimate, ...) } cat("\n") invisible(x) } } @ \section{Statistical Tests} \section{Analysis Using \R{}} \subsection{Estimating the Width of a Room} The data shown in Table~\ref{SI-rw-tab} are available as \Robject{roomwidth} \Rclass{data.frame} from the \Rpackage{HSAUR3} package and can be attached by using <>= data("roomwidth", package = "HSAUR3") @ If we convert the estimates of the room width in meters into feet by multiplying each by $3.28$ then we would like to test the hypothesis that the mean of the population of `metre' estimates is equal to the mean %' of the population of `feet' estimates. We shall do this first %' by using an independent samples $t$-test, but first it is good practice to check, informally at least, the normality and equal variance assumptions. Here we can use a combination of numerical and graphical approaches. The first step should be to convert the meter estimates into feet by a factor <>= convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) @ which equals one for all feet measurements and $3.28$ for the measurements in meters. Now, we get the usual summary statistics and standard deviations of each set of estimates using <>= tapply(roomwidth$width * convert, roomwidth$unit, summary) tapply(roomwidth$width * convert, roomwidth$unit, sd) @ where \Rcmd{tapply} applies \Rcmd{summary}, or \Rcmd{sd}, to the converted widths for both groups of measurements given by \Robject{roomwidth\$unit}. A boxplot of each set of estimates might be useful and is depicted in Figure~\ref{SI-rw-bxp}. The \Rcmd{layout} function (line 1 in Figure~\ref{SI-rw-bxp}) divides the plotting area into three parts. The \Rcmd{boxplot} function produces a boxplot in the upper part and the two \Rcmd{qqnorm} statements in lines 7 and 10 set up the normal probability plots that can be used to assess the normality assumption of the $t$-test. \index{Normal probability plot} \numberSinput \begin{figure} \begin{center} <>= layout(matrix(c(1,2,1,3), nrow = 2, ncol = 2, byrow = FALSE)) boxplot(I(width * convert) ~ unit, data = roomwidth, ylab = "Estimated width (feet)", varwidth = TRUE, names = c("Estimates in feet", "Estimates in meters (converted to feet)")) feet <- roomwidth$unit == "feet" qqnorm(roomwidth$width[feet], ylab = "Estimated width (feet)") qqline(roomwidth$width[feet]) qqnorm(roomwidth$width[!feet], ylab = "Estimated width (meters)") qqline(roomwidth$width[!feet]) @ \caption{Boxplots of estimates of room width in feet and meters (after conversion to feet) and normal probability plots of estimates of room width made in feet and in meters. \label{SI-rw-bxp}} \end{center} \end{figure} \rawSinput The boxplots indicate that both sets of estimates contain a number of outliers and also that the estimates made in meters are skewed and more variable than those made in feet, a point underlined by the numerical summary statistics above. Both normal probability plots depart from linearity, suggesting that the distributions of both sets of estimates are not normal. The presence of outliers, the apparently different variances and the evidence of non-normality all suggest caution in applying the $t$-test, but for the moment we shall apply the usual version of the test using the \Rcmd{t.test} function in \R{}. The two-sample test problem is specified by a \Rclass{formula}, here by <>= I(width * convert) ~ unit @ where the response, \Robject{width}, on the left-hand side needs to be converted first and, because the star has a special meaning in formulae as will be explained in \Sexpr{ch("ANOVA")}, the conversion needs to be embedded by \texttt{I}. The factor \Robject{unit} on the right-hand side specifies the two groups to be compared. <>= tt <- t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) @ \renewcommand{\nextcaption}{\R{} output of the independent samples $t$-test for the \Robject{roomwidth} data. \label{SI-roomwidth-tt-fig}} \SchunkLabel <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the independent samples Welch test for the \Robject{roomwidth} data. \label{SI-roomwidth-welch-fig}} \SchunkLabel <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = FALSE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the Wilcoxon rank sum test for the \Robject{roomwidth} data. \label{SI-roomwidth-wilcox-fig}} \SchunkLabel <>= wilcox.test(I(width * convert) ~ unit, data = roomwidth, conf.int = TRUE) @ \SchunkRaw <>= pwt <- round(wilcox.test(I(width * convert) ~ unit, data = roomwidth)$p.value, 3) @ \subsection{Wave Energy Device Mooring} The data from Table~\ref{SI-m-tab} are available as \Rclass{data.frame} \Robject{waves} <>= data("waves", package = "HSAUR3") @ and requires the use of a matched pairs $t$-test to answer the question of interest. This test assumes that the differences between the matched observations have a normal distribution so we can begin by checking this assumption by constructing a boxplot and a normal probability plot -- see Figure~\ref{SI-w-bxp}. \begin{figure} \begin{center} <>= mooringdiff <- waves$method1 - waves$method2 layout(matrix(1:2, ncol = 2)) boxplot(mooringdiff, ylab = "Differences (Newton meters)", main = "Boxplot") abline(h = 0, lty = 2) qqnorm(mooringdiff, ylab = "Differences (Newton meters)") qqline(mooringdiff) @ \caption{Boxplot and normal probability plot for differences between the two mooring methods. \label{SI-w-bxp}} \end{center} \end{figure} \renewcommand{\nextcaption}{\R{} output of the paired $t$-test for the \Robject{waves} data. \label{SI-waves-tt-fig}} \SchunkLabel <>= t.test(mooringdiff) @ \SchunkRaw <>= pwt <- round(wilcox.test(mooringdiff)$p.value, 3) @ \renewcommand{\nextcaption}{\R{} output of the Wilcoxon signed rank test for the \Robject{waves} data. \label{SI-waves-ws-fig}} \SchunkLabel <>= wilcox.test(mooringdiff) @ \SchunkRaw \subsection{Mortality and Water Hardness} There is a wide range of analyses we could apply to the data in Table~\ref{SI-w-tab} available from <>= data("water", package = "HSAUR3") @ But to begin we will construct a scatterplot of the data enhanced somewhat by the addition of information about the marginal distributions of water hardness (calcium concentration) and mortality, and by adding the estimated linear regression fit (see \Sexpr{ch("MLR")}) for mortality on hardness. The plot and the required \R{} code are given along with Figure~\ref{SI-water-sp}. In line 1 of Figure~\ref{SI-water-sp}, we divide the plotting region into four areas of different size. The scatterplot (line 3) uses a plotting symbol depending on the location of the city (by the \Rarg{pch} argument); a legend for the location is added in line 6. We add a least squares fit (see \Sexpr{ch("MLR")}) to the scatterplot and, finally, depict the marginal distributions by means of a boxplot and a histogram. The scatterplot shows that as hardness increases mortality decreases, and the histogram for the water hardness shows it has a rather skewed distribution. \numberSinput \begin{figure} \begin{center} <>= nf <- layout(matrix(c(2, 0, 1, 3), 2, 2, byrow = TRUE), c(2, 1), c(1, 2), TRUE) psymb <- as.numeric(water$location) plot(mortality ~ hardness, data = water, pch = psymb) abline(lm(mortality ~ hardness, data = water)) legend("topright", legend = levels(water$location), pch = c(1,2), bty = "n") hist(water$hardness) boxplot(water$mortality) @ \caption{Enhanced scatterplot of water hardness and mortality, showing both the joint and the marginal distributions and, in addition, the location of the city by different plotting symbols. \label{SI-water-sp}} \end{center} \end{figure} \rawSinput \renewcommand{\nextcaption}{\R{} output of Pearsons' correlation coefficient %' for the \Robject{water} data. \label{SI-water-c-fig}} \SchunkLabel <>= cor.test(~ mortality + hardness, data = water) @ \SchunkRaw <>= cr <- round(cor.test(~ mortality + hardness, data = water)$estimate, 3) @ \subsection{Piston-ring Failures} <>= chisqt <- chisq.test(pistonrings) @ \renewcommand{\nextcaption}{\R{} output of the chi-squared test for the \Robject{pistonrings} data. \label{SI-pr-x2-fig}} \SchunkLabel <>= data("pistonrings", package = "HSAUR3") chisq.test(pistonrings) @ \SchunkRaw Rather than looking at the simple differences of observed and expected values for each cell which would be unsatisfactory since a difference of fixed size is clearly more important for smaller samples, it is preferable to consider a \stress{standardized residual} \index{Standardized residual, for chi-squared tests} given by dividing the observed minus the expected difference by the square root of the appropriate expected value. The $X^2$ statistic for assessing independence is simply the sum, over all the cells in the table, of the squares of these terms. We can find these values extracting the \Robject{residuals} element of the object returned by the \Rcmd{chisq.test} function <>= chisq.test(pistonrings)$residuals @ A graphical representation of these residuals is called an \stress{association plot} \index{Association plot} and is available via the \Rcmd{assoc} function from package \Rpackage{vcd} \citep{PKG:vcd} applied to the contingency table of the two categorical variables. Figure~\ref{SI-assoc-plot} depicts the residuals for the piston ring data. The deviations from independence are largest for C1 and C4 compressors in the center and south leg. \begin{figure} \begin{center} <>= library("vcd") assoc(pistonrings) @ \caption{Association plot of the residuals for the \Robject{pistonrings} data. \label{SI-assoc-plot}} \end{center} \end{figure} \subsection{Rearrests of Juveniles} The data in Table~\ref{SI-r-tab} are available as \Rclass{table} object via <>= data("rearrests", package = "HSAUR3") rearrests @ <>= mcs <- round(mcnemar.test(rearrests, correct = FALSE)$statistic, 2) @ and in \Robject{rearrests} the counts in the four cells refer to the matched pairs of subjects; for example, in $\Sexpr{rearrests[1,1]}$ pairs both members of the pair were rearrested. Here we need to use McNemar's %' test to assess whether rearrest is associated with the type of court where the juvenile was tried. We can use the \R{} function \Rcmd{mcnemar.test}. The test statistic shown in Figure~\ref{SI-ra-mc-fig} is $\Sexpr{mcs}$ with a single degree of freedom -- the associated $p$-value is extremely small and there is strong evidence that type of court and the probability of rearrest are related. It appears that trial at a juvenile court is less likely to result in rearrest (see Exercise~3.4). % An exact version of McNemar's test %%' can be obtained by testing whether $b$ and $c$ are equal using a binomial test (see Figure~\ref{SI-ra-mcbin-fig}). \renewcommand{\nextcaption}{\R{} output of McNemar's test %' for the \Robject{rearrests} data. \label{SI-ra-mc-fig}} \SchunkLabel <>= mcnemar.test(rearrests, correct = FALSE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of an exact version of McNemar's test %' for the \Robject{rearrests} data computed via a binomial test. \label{SI-ra-mcbin-fig}} \SchunkLabel <>= binom.test(rearrests[2], n = sum(rearrests[c(2,3)])) @ \SchunkRaw \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/tables/0000755000176200001440000000000014172224353014504 5ustar liggesusersHSAUR3/vignettes/tables/CA_perm.tex0000644000176200001440000000057614416236370016547 0ustar liggesusers \begin{center} \begin{longtable}{rrl} \caption{Number of possible partitions depending on the sample size $n$ and number of clusters $k$. \label{CA:perm}} \\ $n$ & $k$ & Number of possible partitions \\ \hline $15$ & $3$ & $2,375,101$ \\ $20$ & $4$ & $45,232,115,901$ \\ $25$ & $8$ & $690,223,721,118,368,580$ \\ $100$ & $5$ & $10^{68}$ \\ \end{longtable} \end{center} HSAUR3/vignettes/tables/MLR-ANOVA-tab.tex0000644000176200001440000000067714416236370017303 0ustar liggesusers \begin{center} \begin{longtable}{lccc} \caption{Analysis of variance table for the multiple linear regression model. \label{MLR-ANOVA-tab}} \\ Source of variation & Sum of squares & Degrees of freedom \\ \hline Regression & $\sum\limits_{i = 1}^n (\hat{y}_i - \bar{y})^2$ & $q$ \\ Residual & $\sum\limits_{i = 1}^n (\hat{y}_i - y_i)^2$ & $n - q - 1$ \\ Total & $\sum\limits_{i = 1}^n (y_i - \bar{y})^2$ & $n - 1$ \\ \end{longtable} \end{center} HSAUR3/vignettes/tables/SI_mcnemar.tex0000644000176200001440000000042014416236370017242 0ustar liggesusers \begin{center} \begin{longtable}{cccc} \caption{Frequencies in matched samples data. \label{SI:mcnemartab}} \\ & & \multicolumn{2}{c}{Sample 1} \\ & & present & absent \\ Sample 2 & present & $a$ & $b$ \\ & absent & $c$ & $d$ \\ \end{longtable} \end{center} HSAUR3/vignettes/tables/Lanza.tex0000644000176200001440000000064714416236370016305 0ustar liggesusers \begin{center} \begin{longtable}{ll} \caption{Classification system for the response variable. \label{CI:scores}} \\ Classification & Endoscopy Examination \\ \hline 1 & No visible lesions \\ 2 & One haemorrhage or erosion \\ 3 & 2-10 haemorrhages or erosions \\ 4 & 11-25 haemorrhages or erosions \\ 5 & More than 25 haemorrhages or erosions \\ & or an invasive ulcer of any size\\ \hline \end{longtable} \end{center} HSAUR3/vignettes/tables/SI_rtimesc.tex0000644000176200001440000000123414416236370017272 0ustar liggesusers \begin{center} \begin{longtable}{cc|ccc|c} \caption{The general $r \times c$ table. \label{SI:rtimesc}} \\ & & & $y$ & & \\\ & & $1$ & $\dots$ & $c$ & \\ \hline & $1$ & $n_{11}$ & $\dots$ & $n_{1c}$ & $n_{1 \cdot}$ \\\ & $2$ & $n_{21}$ & $\dots$ & $n_{2c}$ & $n_{2 \cdot}$ \\\ $x$ & $\vdots$ & $\vdots$ & $\dots$ & $\vdots$ & $\vdots$ \\\ & $r$ & $n_{r1}$ & $\dots$ & $n_{rc}$ & $n_{r \cdot}$ \\ \hline & & $n_{\cdot 1}$ & $\dots$ & $n_{\cdot c}$ & $n$ \\\ \end{longtable} \end{center}HSAUR3/vignettes/tables/exMDS.tex0000644000176200001440000000044314416236370016212 0ustar liggesusers\begin{eqnarray*} s_{ij} = \left\{ \begin{array}{lcl} 9 & \text{if} & i = j \\ 8 & \text{if} & 1 \le | i - j | \le 3 \\ 7 & \text{if} & 4 \le | i - j | \le 6 \\ & \cdots & \\ 1 & \text{if} & 22 \le | i - j | \le 24 \\ 0 & \text{if} & | i - j | \ge 25 \\ \end{array} \right. \end{eqnarray*} HSAUR3/vignettes/tables/CI_rtimesc.tex0000644000176200001440000000123414416236370017252 0ustar liggesusers \begin{center} \begin{longtable}{cc|ccc|c} \caption{The general $r \times c$ table. \label{SI:rtimesc}} \\ & & & $y$ & & \\\ & & $1$ & $\dots$ & $c$ & \\ \hline & $1$ & $n_{11}$ & $\dots$ & $n_{1c}$ & $n_{1 \cdot}$ \\\ & $2$ & $n_{21}$ & $\dots$ & $n_{2c}$ & $n_{2 \cdot}$ \\\ $x$ & $\vdots$ & $\vdots$ & $\dots$ & $\vdots$ & $\vdots$ \\\ & $r$ & $n_{r1}$ & $\dots$ & $n_{rc}$ & $n_{r \cdot}$ \\ \hline & & $n_{\cdot 1}$ & $\dots$ & $n_{\cdot c}$ & $n$ \\\ \end{longtable} \end{center}HSAUR3/vignettes/tables/PCA_tab1.tex0000644000176200001440000000043114172224353016536 0ustar liggesusers\begin{table} \begin{center} \begin{tabular}{cccccc} 1.00 & & & & & \\\ 0.54 & 1.00 & & & & \\\ 0.34 & 0.65 & 1.00 & & & \\\ 0.37 & 0.65 & 0.84 & 1.00 & & \\\ 0.36 & 0.59 & 0.67 & 0.80 & 1.00 & \\\ 0.62 & 0.49 & 0.43 & 0.42 & 0.55 & 1.00 \\\ \end{tabular} \end{center} \end{table} HSAUR3/vignettes/tables/MA_table.tex0000644000176200001440000000031014416236370016667 0ustar liggesusers \begin{center} \begin{longtable}{cccc} & & \multicolumn{2}{c}{response} \\ & & success & failure \\ group & control & $a$ & $b$ \\ & treatment & $c$ & $d$ \\ \end{longtable} \end{center} HSAUR3/vignettes/tables/PCA_tab.tex0000644000176200001440000000056014416236370016463 0ustar liggesusers \begin{center} \begin{longtable}{cccccc} \caption{Correlations for calculus measurements for the six anterior mandibular teeth.} \\ \hline 1.00 & & & & & \\ 0.54 & 1.00 & & & & \\ 0.34 & 0.65 & 1.00 & & & \\ 0.37 & 0.65 & 0.84 & 1.00 & & \\ 0.36 & 0.59 & 0.67 & 0.80 & 1.00 & \\ 0.62 & 0.49 & 0.43 & 0.42 & 0.55 & 1.00 \\ \hline \end{longtable} \end{center} HSAUR3/vignettes/tables/MLR-Xtab.tex0000644000176200001440000000047314416236370016563 0ustar liggesusers\begin{eqnarray*} \X = \left( \begin{array}{ccccc} 1 & x_{11} & x_{12} & \dots & x_{1q} \\ 1 & x_{21} & x_{22} & \dots & x_{2q} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \dots & x_{nq} \\ \end{array} \right). \end{eqnarray*} HSAUR3/vignettes/tables/rec.tex0000644000176200001440000000120014416277502015775 0ustar liggesusers\begin{tabular}{llll} \Rpackage{Matrix} & \Rpackage{KernSmooth} & \Rpackage{MASS} & \Rpackage{base}\\ \Rpackage{boot} & \Rpackage{class} & \Rpackage{cluster} & \Rpackage{codetools}\\ \Rpackage{compiler} & \Rpackage{datasets} & \Rpackage{foreign} & \Rpackage{grDevices}\\ \Rpackage{graphics} & \Rpackage{grid} & \Rpackage{lattice} & \Rpackage{methods}\\ \Rpackage{mgcv} & \Rpackage{nlme} & \Rpackage{nnet} & \Rpackage{parallel}\\ \Rpackage{rpart} & \Rpackage{spatial} & \Rpackage{splines} & \Rpackage{stats}\\ \Rpackage{stats4} & \Rpackage{survival} & \Rpackage{tcltk} & \Rpackage{tools}\\ \Rpackage{utils} & & & \\ \end{tabular} HSAUR3/vignettes/Ch_logistic_regression_glm.Rnw0000644000176200001440000011117014416236367021262 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Logistic Regression and Generalized Linear Models} %%\VignetteDepends{survival,MASS,multcomp,lattice} \setcounter{chapter}{6} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Logistic Regression and Generalized Linear Models]{Logistic Regression and Generalized Linear Models: Blood Screening, Women's Role in %' Society, Colonic Polyps, Driving and Back Pain, and Happiness in China \label{GLM}} \section{Introduction} \section{Logistic Regression and Generalized Linear Models} \section{Analysis Using \R{}} \subsection{ESR and Plasma Proteins} \begin{figure} \begin{center} <>= data("plasma", package = "HSAUR3") layout(matrix(1:2, ncol = 2)) cdplot(ESR ~ fibrinogen, data = plasma) cdplot(ESR ~ globulin, data = plasma) @ \caption{Conditional density plots of the erythrocyte sedimentation rate (ESR) given fibrinogen and globulin. \label{GLM:plasma1}} \end{center} \end{figure} We can now fit a logistic regression model to the data using the \Rcmd{glm} function. We start with a model that includes only a single explanatory variable, \Robject{fibrinogen}. The code to fit the model is <>= plasma_glm_1 <- glm(ESR ~ fibrinogen, data = plasma, family = binomial()) @ The formula implicitly defines a parameter for the global mean (the intercept term) as discussed in \Sexpr{ch("ANOVA")} and \Sexpr{ch("MLR")}. The distribution of the response is defined by the \Robject{family} argument, a binomial distribution in our case. \index{family argument@\Rcmd{family} argument} \index{Binomial distribution} (The default link function when the binomial family is requested is the logistic function.) \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to ESR and fibrigonen. \label{GLM-plasma-summary-1}} \SchunkLabel <>= summary(plasma_glm_1) @ \SchunkRaw From the results in Figure~\ref{GLM-plasma-summary-1} we see that the regression coefficient for fibrinogen is significant at the $5\%$ level. An increase of one unit in this variable increases the log-odds in favor of an ESR value greater than $20$ by an estimated $\Sexpr{round(coef(plasma_glm_1)["fibrinogen"], 2)}$ with 95\% confidence interval <>= ci <- confint(plasma_glm_1)["fibrinogen",] @ <>= confint(plasma_glm_1, parm = "fibrinogen") @ <>= print(ci) @ These values are more helpful if converted to the corresponding values for the odds themselves by exponentiating the estimate <>= exp(coef(plasma_glm_1)["fibrinogen"]) @ and the confidence interval <>= ci <- exp(confint(plasma_glm_1, parm = "fibrinogen")) @ <>= exp(confint(plasma_glm_1, parm = "fibrinogen")) @ <>= print(ci) @ The confidence interval is very wide because there are few observations overall and very few where the ESR value is greater than $20$. Nevertheless it seems likely that increased values of fibrinogen lead to a greater probability of an ESR value greater than $20$. We can now fit a logistic regression model that includes both explanatory variables using the code <>= plasma_glm_2 <- glm(ESR ~ fibrinogen + globulin, data = plasma, family = binomial()) @ and the output of the \Rcmd{summary} method is shown in Figure \ref{GLM-plasma-summary-2}. \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to ESR and both globulin and fibrinogen. \label{GLM-plasma-summary-2}} \SchunkLabel <>= summary(plasma_glm_2) @ \SchunkRaw <>= plasma_anova <- anova(plasma_glm_1, plasma_glm_2, test = "Chisq") @ The coefficient for gamma globulin is not significantly different from zero. Subtracting the residual deviance of the second model from the corresponding value for the first model we get a value of $\Sexpr{round(plasma_anova$Deviance[2], 2)}$. Tested using a $\chi^2$-distribution with a single degree of freedom this is not significant at the 5\% level and so we conclude that gamma globulin is not associated with ESR level. In \R{}, the task of comparing the two nested models can be performed using the \Rcmd{anova} function <>= anova(plasma_glm_1, plasma_glm_2, test = "Chisq") @ Nevertheless we shall use the predicted values from the second model and plot them against the values of \stress{both} explanatory variables using a \stress{bubbleplot} to illustrate the use of the \Rcmd{symbols} function. \index{Bubbleplot} The estimated conditional probability of a ESR value larger $20$ for all observations can be computed, following formula (\ref{GLM:logitexp}), by <>= prob <- predict(plasma_glm_2, type = "response") @ and now we can assign a larger circle to observations with larger probability as shown in Figure~\ref{GLM:bubble}. The plot clearly shows the increasing probability of an ESR value above $20$ (larger circles) as the values of fibrinogen, and to a lesser extent, gamma globulin, increase. \begin{figure} \begin{center} <>= plot(globulin ~ fibrinogen, data = plasma, xlim = c(2, 6), ylim = c(25, 55), pch = ".") symbols(plasma$fibrinogen, plasma$globulin, circles = prob, add = TRUE) @ \caption{Bubbleplot of fitted values for a logistic regression model fitted to the \Robject{plasma} data. \label{GLM:bubble}} \end{center} \end{figure} \subsection{Women's Role in Society} %' Originally the data in Table~\ref{GLM-womensrole-tab} would have been in a completely equivalent form to the data in Table~\ref{GLM-plasma-tab} data, but here the individual observations have been grouped into counts of numbers of agreements and disagreements for the two explanatory variables, \Robject{gender} and \Robject{education}. To fit a logistic regression model to such grouped data using the \Rcmd{glm} function we need to specify the number of agreements and disagreements as a two-column matrix on the left-hand side of the model formula. We first fit a model that includes the two explanatory variables using the code <>= data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ gender + education womensrole_glm_1 <- glm(fm1, data = womensrole, family = binomial()) @ \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to the \Robject{womensrole} data. \label{GLM-womensrole-summary-1}} \SchunkLabel <>= summary(womensrole_glm_1) @ \SchunkRaw From the \Rcmd{summary} output in Figure~\ref{GLM-womensrole-summary-1} it appears that education has a highly significant part to play in predicting whether a respondent will agree with the statement read to them, but the respondent's %' gender is apparently unimportant. As years of education increase the probability of agreeing with the statement declines. We now are going to construct a plot comparing the observed proportions of agreeing with those fitted by our fitted model. Because we will reuse this plot for another fitted object later on, we define a function which plots years of education against some fitted probabilities, e.g., <>= role.fitted1 <- predict(womensrole_glm_1, type = "response") @ and labels each observation with the person's gender: %%' \numberSinput <>= myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } @ \rawSinput \begin{figure} \begin{center} <>= myplot(role.fitted1) @ \caption{Fitted (from \Robject{womensrole\_glm\_1}) and observed probabilities of agreeing for the \Robject{womensrole} data. The size of the symbols is proportional to the sample size. \label{GLM-role1plot}} \end{center} \end{figure} In lines 3--5 of function \Rcmd{myplot}, an empty scatterplot of education and fitted probabilities (\Rcmd{type = "n"}) is set up, basically to set the scene for the following plotting actions. Then, two lines are drawn (using function \Rcmd{lines} in lines 6 and 7), one for males (with line type 1) and one for females (with line type 2, i.e., a dashed line), where the logical vector \Robject{f} describes both genders. In line 9 a legend is added. Finally, in lines 12 onwards we plot `observed' values, i.e., the frequencies of agreeing in each of the groups (\Robject{y} as computed in lines 10 and 11) and use the Venus and Mars symbols to indicate gender. The size of the plotted symbol is proportional to the numbers of observations in the corresponding group of gender and years of education. The two curves for males and females in Figure~\ref{GLM-role1plot} are almost the same reflecting the non-significant value of the regression coefficient for gender in \Robject{womensrole\_glm\_1}. But the observed values plotted on Figure~\ref{GLM-role1plot} suggest that there might be an interaction of education and gender, a possibility that can be investigated by applying a further logistic regression model using \index{Interaction} <>= fm2 <- cbind(agree,disagree) ~ gender * education womensrole_glm_2 <- glm(fm2, data = womensrole, family = binomial()) @ The \Robject{gender} and \Robject{education} interaction term is seen to be highly significant, as can be seen from the \Rcmd{summary} output in Figure~\ref{GLM-womensrole-summary-2}. \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to the \Robject{womensrole} data. \label{GLM-womensrole-summary-2}} \SchunkLabel <>= summary(womensrole_glm_2) @ \SchunkRaw \begin{figure} \begin{center} <>= role.fitted2 <- predict(womensrole_glm_2, type = "response") myplot(role.fitted2) @ \caption{Fitted (from \Robject{womensrole\_glm\_2}) and observed probabilities of agreeing for the \Robject{womensrole} data. \label{GLM-role2plot}} \end{center} \end{figure} We can obtain a plot of deviance residuals plotted against fitted values using the following code above Figure~\ref{GLM:devplot}. \begin{figure} \begin{center} <>= res <- residuals(womensrole_glm_2, type = "deviance") plot(predict(womensrole_glm_2), res, xlab="Fitted values", ylab = "Residuals", ylim = max(abs(res)) * c(-1,1)) abline(h = 0, lty = 2) @ \caption{Plot of deviance residuals from logistic regression model fitted to the \Robject{womensrole} data. \label{GLM:devplot}} \end{center} \end{figure} The residuals fall into a horizontal band between $-2$ and $2$. This pattern does not suggest a poor fit for any particular observation or subset of observations. \subsection{Colonic Polyps} The data on colonic polyps in Table~\ref{GLM-polyps-tab} involves \stress{count} data. We could try to model this using multiple regression but there are two problems. The first is that a response that is a count can take only positive values, and secondly such a variable is unlikely to have a normal distribution. Instead we will apply a GLM with a log link function, ensuring that fitted values are positive, and a Poisson error distribution, i.e., \index{Poisson error distribution} \index{Poisson regression} \begin{eqnarray*} \P(y) = \frac{e^{-\lambda}\lambda^y}{y!}. \end{eqnarray*} This type of GLM is often known as \stress{Poisson regression}. We can apply the model using <>= data("polyps", package = "HSAUR3") polyps_glm_1 <- glm(number ~ treat + age, data = polyps, family = poisson()) @ (The default link function when the Poisson family is requested is the log function.) \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the Poisson regression model fitted to the \Robject{polyps} data. \label{GLM-polyps-summary-1}} \SchunkLabel <>= summary(polyps_glm_1) @ \SchunkRaw We can deal with overdispersion by using a procedure known as \stress{quasi-likelihood}, \index{Quasi-likelihood} which allows the estimation of model parameters without fully knowing the error distribution of the response variable. \cite{HSAUR:McCullaghNelder1989} give full details of the quasi-likelihood approach. In many respects it simply allows for the estimation of $\phi$ from the data rather than defining it to be unity for the binomial and Poisson distributions. We can apply quasi-likelihood estimation to the colonic polyps data using the following \R{} code <>= polyps_glm_2 <- glm(number ~ treat + age, data = polyps, family = quasipoisson()) summary(polyps_glm_2) @ The regression coefficients for both explanatory variables remain significant but their estimated standard errors are now much greater than the values given in Figure~\ref{GLM-polyps-summary-1}. A possible reason for overdispersion in these data is that polyps do not occur independently of one another, but instead may `cluster' together. %' \index{Overdispersion|)} \subsection{Driving and Back Pain} A frequently used design in medicine is the matched case-control study in which each patient suffering from a particular condition of interest included in the study is matched to one or more people without the condition. The most commonly used matching variables are age, ethnic group, mental status, etc. A design with $m$ controls per case is known as a $1:m$ matched study. In many cases $m$ will be one, and it is the $1:1$ matched study that we shall concentrate on here where we analyze the data on low back pain given in Table~\ref{GLM-backpain-tab}. To begin we shall describe the form of the logistic model appropriate for case-control studies in the simplest case where there is only one binary explanatory variable. With matched pairs data the form of the logistic model involves the probability, $\varphi$, that in matched pair number $i$, for a given value of the explanatory variable the member of the pair is a case. Specifically the model is \begin{eqnarray*} \text{logit}(\varphi_i) = \alpha_i + \beta x. \end{eqnarray*} The odds that a subject with $x=1$ is a case equals $\exp(\beta)$ times the odds that a subject with $x=0$ is a case. The model generalizes to the situation where there are $q$ explanatory variables as \begin{eqnarray*} \text{logit}(\varphi_i) = \alpha_i + \beta_1 x_1 + \beta_2 x_2 + \dots \beta_q x_q. \end{eqnarray*} Typically one $x$ is an explanatory variable of real interest, such as past exposure to a risk factor, with the others being used as a form of statistical control in addition to the variables already controlled by virtue of using them to form matched pairs. This is the case in our back pain example where it is the effect of car driving on lower back pain that is of most interest. The problem with the model above is that the number of parameters increases at the same rate as the sample size with the consequence that maximum likelihood estimation is no longer viable. We can overcome this problem if we regard the parameters $\alpha_i$ as of little interest and so are willing to forgo their estimation. If we do, we can then create a \stress{conditional likelihood function} that will yield maximum likelihood estimators of the coefficients, $\beta_1, \dots, \beta_q$, that are consistent and asymptotically normally distributed. The mathematics behind this are described in \cite{HSAUR:Collett2003}. The model can be fitted using the \Rcmd{clogit} function from package \Rpackage{survival}; the results are shown in Figure~\ref{GLM-backpain-print}. <>= library("survival") backpain_glm <- clogit(I(status == "case") ~ driver + suburban + strata(ID), data = backpain) @ The response has to be a logical (\Rcmd{TRUE} for cases) and the \Rcmd{strata} command specifies the matched pairs. \renewcommand{\nextcaption}{\R{} output of the \Robject{print} method for the conditional logistic regression model fitted to the \Robject{backpain} data. \label{GLM-backpain-print}} \SchunkLabel <>= print(backpain_glm) @ \SchunkRaw The estimate of the odds ratio of a herniated disc occurring in a driver relative to a nondriver is $\Sexpr{round(exp(coef(backpain_glm)[1]),2)}$ with a $95\%$ confidence interval of $\Sexpr{paste("(", paste(round(exp(confint(backpain_glm)[1,]), 2), collapse = ","),")", sep = "")}$. Conditional on residence we can say that the risk of a herniated disc occurring in a driver is about twice that of a nondriver. There is no evidence that where a person lives affects the risk of lower back pain. \subsection{Happiness in China} We model the probability distribution of reported happiness using a proportional odds model. In \R{}, the function \Rcmd{polr} from the \Rpackage{MASS} package \citep{HSAUR:VenablesRipley2002, PKG:MASS} implements such models, but in a slightly different form as explained in Section~\ref{GLM:polr}. The model we are going to fit reads \begin{eqnarray*} \log\left(\frac{\P(y \le k | x_1, \dots, x_q)}{\P(y > k | x_1, \dots, x_q)}\right) & = & \zeta_k - (\beta_1 x_1 + \dots + \beta_q x_q) \end{eqnarray*} and we have to take care when interpreting the signs of the estimated regression coefficients. Another issue needs our attention before we start. Three of the explanatory variables are itself ordered (\Robject{R\_edu}, the level of education of the responding woman; \Robject{R\_health}, the health status of the responding woman in the last year; and \Robject{A\_edu}, the level of education of the woman's partner). For unordered factors, the default treatment contrasts, see Chapters~\ref{ANOVA}, \ref{MLR}, and \ref{SIMC}, compares the effect of each level to the first level. This coding does not take the ordinal nature of an ordered factor into account. One more appropriate coding is called \stress{Helmert} contrasts. \index{Helmert constrast} Here, we compare each level $k$ to the average of the preceding levels, i.e., the second level to the first, the third to the average of the first and the second, and so on (these contrasts are also sometimes called \stress{reverse Helmert contrasts}). The \Rcmd{option} function can be used to specify the default contrasts for unordered (we don't change the default \Robject{contr.treatment} option) and ordered factors. The returned \Robject{opts} variable stores the options before manipulation and can be used to conveniently restore them after we fitted the proportional odds model: <>= library("MASS") opts <- options(contrasts = c("contr.treatment", "contr.helmert")) CHFLS_polr <- polr(R_happy ~ ., data = CHFLS, Hess = TRUE) options(opts) @ \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the proportional odds model fitted to the \Robject{CHFLS} data. \label{GLM-CHFLS-polr-summary}} \SchunkLabel <>= summary(CHFLS_polr) @ \SchunkRaw As (almost) always, the \Rcmd{summary} function can be used to display the fitted model, see Figure~\ref{GLM-CHFLS-polr-summary}. The largest absolute values of the $t$-statistics are associated with the self-reported health variable. To interpret the results correctly, we first make sure to understand the definition of the Helmert contrasts. <>= H <- with(CHFLS, contr.helmert(table(R_health))) rownames(H) <- levels(CHFLS$R_health) colnames(H) <- paste(levels(CHFLS$R_health)[-1], "- avg") H @ Let's focus on the probability of being very unhappy. A positive regression coefficient for the first contrast of health means that the probability of being very unhappy is smaller (because of the sign switch in the regression coefficients) for women that reported their health as not good compared to women that reported a poor health. Thus, the results given in Figure~\ref{GLM-CHFLS-polr-summary} indicate that better health leads to happier women, a finding that sits well with our expectations. The other effects are less clear to interpret, also because formal inference is difficult and no $p$-values are displayed in the summary output of Figure~\ref{GLM-CHFLS-polr-summary}. As a remedy, making use of the asymptotic distribution of maximum-likelihood-based estimators, we use the \Rcmd{cftest} function from the \Rpackage{multcomp} package \citep{PKG:multcomp} to compute normal $p$-values assuming that the estimated regression coefficients follow a normal limiting distribution (which is, for \Sexpr{nrow(CHFLS) - 3} observations, not completely unrealistic); the results are given in Figure~\ref{GLM-CHFLS-polr-cftest}. %% mess with the output function <>= library("multcomp") op <- options(digits = 2) cf <- cftest(CHFLS_polr) cftest <- function(x, digits = max(3, getOption("digits") - 3)) { x <- cf cat("\n\t", "Simultaneous Tests for General Linear Hypotheses\n\n") if (!is.null(x$type)) cat("Multiple Comparisons of Means:", x$type, "Contrasts\n\n\n") call <- if (isS4(x$model)) x$model@call else x$model$call if (!is.null(call)) { cat("Fit: ") print(call) cat("\n") } pq <- x$test mtests <- cbind(pq$coefficients, pq$sigma, pq$tstat, pq$pvalues) error <- attr(pq$pvalues, "error") pname <- switch(x$alternativ, less = paste("Pr(<", ifelse(x$df == 0, "z", "t"), ")", sep = ""), greater = paste("Pr(>", ifelse(x$df == 0, "z", "t"), ")", sep = ""), two.sided = paste("Pr(>|", ifelse(x$df == 0, "z", "t"), "|)", sep = "")) colnames(mtests) <- c("Estimate", "Std. Error", ifelse(x$df == 0, "z value", "t value"), pname) type <- pq$type if (!is.null(error) && error > .Machine$double.eps) { sig <- which.min(abs(1/error - (10^(1:10)))) sig <- 1/(10^sig) } else { sig <- .Machine$double.eps } cat("Linear Hypotheses:\n") alt <- switch(x$alternative, two.sided = "==", less = ">=", greater = "<=") rownames(mtests) <- rownames(mtests) printCoefmat(mtests, digits = digits, has.Pvalue = TRUE, P.values = TRUE, eps.Pvalue = sig) switch(type, univariate = cat("(Univariate p values reported)"), `single-step` = cat("(Adjusted p values reported -- single-step method)"), Shaffer = cat("(Adjusted p values reported -- Shaffer method)"), Westfall = cat("(Adjusted p values reported -- Westfall method)"), cat("(Adjusted p values reported --", type, "method)")) cat("\n\n") invisible(x) } @ \renewcommand{\nextcaption}{\R{} output of the \Robject{cftest} function for the proportional odds model fitted to the \Robject{CHFLS} data. \label{GLM-CHFLS-polr-cftest}} \SchunkLabel <>= library("multcomp") cftest(CHFLS_polr) @ \SchunkRaw <>= options(op) @ There seem to be geographical differences and also older and larger women seem to be happier. Other than that, education and income don't seem to contribute much in this model. One remarkable thing about the proportional odds model is that, similar to the quantile regression models presented in Chapter~\ref{QR}, it directly formulates a regression problem in terms of conditional distributions, not only conditional means (the same is trivially true for the binary case in logistic regression). Consequently, the model allows making distributional predictions, in other words, we can infer the predicted distribution or density of happiness in a woman with certain values for the explanatory variables that entered the model. To do so, we focus on the woman corresponding to the first row of the data set: \clearpage <>= CHFLS[1,] @ and repeat these values as often as there are levels in the \Robject{R\_health} factor, and each row is assigned one of these levels <>= nd <- CHFLS[rep(1, nlevels(CHFLS$R_health)),] nd$R_health <- ordered(levels(nd$R_health), labels = levels(nd$R_health)) @ We can now use the \Rcmd{predict} function to compute the density of the response variable \Rcmd{R\_happy} for each of these five hypothetical women: <>= (dens <- predict(CHFLS_polr, newdata = nd, type = "probs")) @ From each row, we get the predicted probability that the self-reported happiness will correspond to the levels shown in the column name. These densities, one for each row in \Robject{nd} and therefore for each level of health, can now be plotted, for example using a conditional barchart, see Figure~\ref{GLM-CHFLS-pred-plot}. We clearly see that better health is associated with greater happiness. \begin{figure} \begin{center} <>= library("lattice") D <- expand.grid(R_health = nd$R_health, R_happy = ordered(LETTERS[1:4])) D$dens <- as.vector(dens) barchart(dens ~ R_happy | R_health, data = D, ylab = "Density", xlab = "Happiness",) @ \caption{Predicted distribution of happiness for hypothetical women with health conditions rating from poor to excellent, with the remaining explanatory variables being the same as for the woman corresponding to the first row in the \Robject{CHFLS} data frame. The levels of happiness have been abbreviated (A: very unhappy, B: not too happy, C: somewhat happy; D: very happy). \label{GLM-CHFLS-pred-plot}} \end{center} \end{figure} We'll present an alternative and maybe simpler model in Chapter~\ref{RP}. \section{Summary of Findings} <>= ci <- round(exp(confint(plasma_glm_1, parm = "fibrinogen")), 2) ci <- paste("(", paste(ci, collapse = ","), ")", sep = "") @ \begin{description} \item[Blood screening] Application of logistic regression shows that an increase of one unit in the fibrinogen value produces approximately a six fold increase in the odds of an ESR value greater than $20$. However, because the number of observations is small the corresponding $95\%$ confidence interval for the odds is rather wide namely, $\Sexpr{ci}$. Gamma globulin values do not help in the prediction of ESR values greater than $20$ over and above the fibrinogen values. \item[Women's role in society] Modeling the probability of agreeing with the statement about women's role in society using logistic regression demonstrates that it is the interaction of education and gender which is of most importance; for fewer years of education women have a higher probability of agreeing with the statement than men, but when the years of education exceed about ten then this situation reverses. \item[Colonic polyps] Fitting a Poisson regression allowing for overdispersion shows that the drug treatment is effective in reducing the number of polyps with age having only a marginal effect. \item[Driving and back pain] Application of conditional logistic regression shows that the odds ratio of a herniated disc occurring in a driver relative to a nondriver is $\Sexpr{round(exp(coef(backpain_glm)[1]),2)}$ with a $95\%$ confidence interval of $\Sexpr{paste("(", paste(round(exp(confint(backpain_glm)[1,]), 2), collapse = ","),")", sep = "")}$. There is no evidence that where a person lives affects the risk of suffering lower back pain. \item[Happiness in China] Better health is associated with greater happiness -- what a surprise! \end{description} \section{Final Comments} Generalized linear models provide a very powerful and flexible framework for the application of regression models to a variety of non-normal response variables, for example, logistic regression to binary responses and Poisson regression to count data. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_multidimensional_scaling.Rnw0000644000176200001440000002740714416236367021434 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Multidimensional Scaling} %%\VignetteDepends{ape,wordcloud,MASS} \setcounter{chapter}{19} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= x <- library("ape") library("wordcloud") @ \chapter[Multidimensional Scaling]{Multidimensional Scaling: British Water Voles and Voting in US Congress \label{MDS}} \section{Introduction} \section{Multidimensional Scaling} \section{Analysis Using \R{}} We can apply classical scaling to the distance matrix for populations of water voles using the \R{} function \Rcmd{cmdscale}. The following code finds the classical scaling solution and computes the two criteria for assessing the required number of dimensions as described above. <>= data("watervoles", package = "HSAUR3") voles_mds <- cmdscale(watervoles, k = 13, eig = TRUE) voles_mds$eig @ Note that some of the eigenvalues are negative. The criterion $P_2$ can be computed by <>= sum(abs(voles_mds$eig[1:2]))/sum(abs(voles_mds$eig)) @ and the criterion suggested by \cite{HSAUR:Mardiaetal1979} is <>= sum((voles_mds$eig[1:2])^2)/sum((voles_mds$eig)^2) @ The two criteria for judging number of dimensions differ considerably, but both values are reasonably large, suggesting that the original distances between the water vole populations can be represented adequately in two dimensions. The two-dimensional solution can be plotted by extracting the coordinates from the \Robject{points} element of the \Robject{voles\_mds} object; the plot is shown in Figure~\ref{MDS-watervoles-plot}. The \Rcmd{textplot} function from package \Rpackage{wordcloud} can be used to annotate the plot with non-overlapping text. \begin{figure} \begin{center} <>= x <- voles_mds$points[,1] y <- voles_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") textplot(x, y, words = colnames(watervoles), new = FALSE) @ \caption{Two-dimensional solution from classical multidimensional scaling of distance matrix for water vole populations. \label{MDS-watervoles-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= library("ape") st <- mst(watervoles) plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") for (i in 1:nrow(watervoles)) { w1 <- which(st[i, ] == 1) segments(x[i], y[i], x[w1], y[w1]) } textplot(x, y, words = colnames(watervoles), new = FALSE) @ \caption{Minimum spanning tree for the \Robject{watervoles} data. \label{MDS-watervoles-mst}} \end{center} \end{figure} We shall now apply non-metric scaling to the voting behavior shown in Table~\ref{MDS-voting-tab}. Non-metric scaling is available with function \Rcmd{isoMDS} from package \Rpackage{MASS} \citep{HSAUR:VenablesRipley2002}: <>= library("MASS") data("voting", package = "HSAUR3") voting_mds <- isoMDS(voting) @ and we again depict the two-dimensional solution (Figure~\ref{MDS-voting-plot}). The Figure suggests that voting behavior is essentially along party lines, although there is more variation among Republicans. The voting behavior of one of the Republicans (Rinaldo) seems to be closer to his democratic colleagues rather than to the voting behavior of other Republicans. \begin{figure} \begin{center} <>= x <- voting_mds$points[,1] y <- voting_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(voting_mds$points[,1])*1.2, type = "n") textplot(x, y, words = colnames(voting), new = FALSE) voting_sh <- Shepard(voting[lower.tri(voting)], voting_mds$points) @ \caption{Two-dimensional solution from non-metric multidimensional scaling of distance matrix for voting matrix. \label{MDS-voting-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= plot(voting_sh, pch = ".", xlab = "Dissimilarity", ylab = "Distance", xlim = range(voting_sh$x), ylim = range(voting_sh$x)) lines(voting_sh$x, voting_sh$yf, type = "S") @ \caption{The Shepard diagram for the \Robject{voting} data shows some discrepancies between the original dissimilarities and the multidimensional scaling solution. \label{MDS-voting-shepard}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/graphics/0000755000176200001440000000000014172224353015032 5ustar liggesusersHSAUR3/vignettes/graphics/Rlogo_bw.png0000644000176200001440000003234714172224353017323 0ustar liggesusersPNG  IHDRFvZbKGD) pHYs."."ݒ vpAgO4IDATxy^}y/pIej_,[iIcɵ&Sum+q:viNfizvt4ĕ,YQ"E-" ;{syyb%5}.{~~G)2MAE8![::fD vKO`lũ_ܡ鸍f+Nۋkr.Т)%RLKiMWjTJX%fNhH'\8صqlI"E0b O8"$%A)) 葝F:4U,oiV3L4U8t$:%"EWP OA=e%5x PI8W3Y*F'"v\K41CڄT?RDjp>KZCӍ : dpR[qzF!2HsX/%A(#ZӤTCN'hpv%] {u#Np9<gDb1..5$HR#cPo&#Ixz7w{!P' _G1G@NR)1Ri]5{3 D$dt=uV|!ȏ܋$.Hd^LTZBo dgǤ$D$~cc[^wԉtN*fI|~NDIu] 1P1qstk/78&'Tτ4ߡPI}ET) '%u^Y<%cwXlvFN /v1;Ҵ x֮t_#Ӥ^3V*F0o@C7ol EoGf'`&c*gt:uBLDLʽkuů]kMb ABL@H}%P͟mp&荿}$BGg9ԣ<T1vC:R*$]@@WZO8VGQHFwʹcB^hGK0~v Ǽqﴈ)ǝEWui\NDkd$b!>a@)5NH^<ƍޘ 0:;k%;"R@,~Z)_#xPJG[ Ia``ҧK! ::AN#~$_EĘ2ns t4R"Fvy>/{'{+://A'10!Z/9.&&&&:g$SaqHJ#fFK)* & 11!R51!ޣbq% NóȳTɳ[$-D )6&:BSoLB`gP ޑHT>H! &*Iwv~{~ٲ}PnEN8eؔqiL!RCW_D_ɕE-LKP#XAS7P $",?O_޾sruyRR25,5e1PI 3.!q jУ~RH l i)Qg yp>̙+Qc)**( $ Ϗ\<@BKDe$H SRrlEK+Q""w4B:ژk4,JhxDJr(IYmkGA]}RrܠXTBüIP) C=X34et Y }\ 2y,r"5S;S KzݴZ%YեʡL0-Eftյ=B3|<2! Mos=иtuP7r\Ty̞1,3TЉ'\f=zqL& bBLx*Mn S6`S:tE,FSM>Qa̳c{}sW dٖbk/L/gI$qBWM3<8wL}^( 610N\H&Y92I$7sIkib< mЦOM|. `w!(O`1>8w9R4&5Ybg_"!.ms&}|6*|<^6ͷO7;?*BE=ۢĐ&C"|<,Է u>zf8㼉UmSb,1FBP=sxc2\U'_e*4Fe }?(g#7Z߭DHmvp+5'ѱԖRK줎(l_.k -p/篲tVjMjX<,) k@+11mrsCe,,*̱E*?O3`f2nB"Esm")NՎ CM/}}Z&4UaIe{8v?8s\jfu#X * f^:'8:C]HT7ͽ51iz-}xÁb3vD5N%1 !,Mζ塥+7D9zػ;cgvkgWC嶦9./yơ{XD\2rc㹡ԓ: zOMX/β.RUO I=mMf Luv|*1g #+j_wkuR54e:^!)s[d2燿MI1Ec'=: T%" ŏλʅ-Mgn۝zV^l!%rC런ԡc-5 .2I^U኉ tBty#:I#ݗ[ r+7초Y}dQ ILtw9/'탽?wߪ*ߙRbDDx柕/}_XdM1f#yg"1T@ce>Rv?(_tpz7L=Db уI3'3K# DGXk_G1NlJUQ֩/@EUfXbJ or5J]|f\ݴ[ MAd.C< qusoxؾM~1UucO-%\ЌP~_.@KXdsD2LE**m( R }z<p2 ѥ/}Nh~8(}ִ̘h,[^~ WTϋY#Y^uY鴢n8GYgX=$6_g8EW**SY XM6%hΨD$gnlp%66 v2M>0S04ֵظ ;1Uvh5Q425T hhriڟrsЂiv32$ /R}MI*%8 ]~=L$p/*|~ndzȔ0rrF:9JW)"XR0baY%IsCpKg/NxK*It6L lʜūE U?~p&n~\fE㑊ge[?Nʠ(I\¡LU)}D3ƈ4>N)ڴmܬW`}BC !&ىN7 CU=k}]?ůh?5rNymA4fT&(.cQc\α>VIU%f,qrB05L +Q%G"ry\$?۵ c22<*CsDqX *ZR]LIttLe<]#kź*8!N1(u+cƖQGХE榑 1]8"8i>6Ȥ?;8U gbxDDbs&:kH2fŀ5ZT4LK׮~Mr5qbX]*Ryug ӬB96ufYǥD2O;fv=UA$"> o]LEYMByCAHѽ1(ܠ=29C&]RKPASboU[";HY#dꦗb>)םUoO7^:N4'8H5jFh Y!(ݚR &YI!:%d:(%sz  kUj*e-_ *cnČNBVl~u<Hv,ڹyLa hniVGJEH71T[~Dt菵TDԢG?-$ exj+D4tbH HEOҤ-ti)U`'ޛl|3 N(S؀n:cJϠh5S--XϙOED1[>.lिc"R]KY ;8$_*#$t<F6%Eϥ 4 &N{&<ؔ =a-·E9ؔ~1fëu:/Ht6n߹,ܛ|_}龞\h5[9i Qp/U<"T ۯB~VjH bUHq Lw"VVέuKK;d ,Y=F<$}?24~d P%jp.\&)R1FیlIeZ<"p!EU+yv:*ƴ=1Pey vBǢLh(3v2( ev`y{BKJ]ґXjy?jdͤThHOCWrTu2CNbq$"?/Uj[ͷ5H$HE[K"LH1a P1Y묲%aMS,1(m4A1,IU"?$M%a61AT X4cNx [S~IW'+4bx& =)i|" #`!uK憺4ic% =L(=pq|PSme|Q6ŋWMZ풎C91U6H@ Ui*KVDjt<`? }i#w.&Ly#NC=grzNAyA02r:3SJ*.(vg52 Qy M= VI8))x6bP94Yjm`yw21.:u̱9"egXcfn]PI1Yg7iӣGs®l~MtY^ppr~M{1 (1xy2*:g`!pѦL7jTH~`oB `LA Ine*ԙ';r'F*,:k,s8I6-z$썾گےx|SR.w4J,JEj%hQ@"hH :/apd c:6[IJ)re2~6l2Qa=p&y4iѢCotޢI' _҇{pL>'Ti8=-Kx9WD?1f 5$ tp=t}[bҠYֹ;TRsc<9^qpԘc*+iq9GMZxH~;vNډњF|aZ3"𖘔S6ESq|tv/*}ovg3Uc!.|);-`sa]6vPƢL 6NҢCM\Л]gtZ#L>-s~k􈶒" ZCE@f^Ϭ?kq/oY,!0Xo $LSc==,a*g ¥ǐ5Nqjm'O6qbڜt:O/)k15ڛ~`R tdxKJ14Db2T _)p Vi'&6q%2. &=EM>k,F}z%@D׷P+3BէovwVdPf,G'%1qa ML4"HP|U_ Va5V&& e7=Nҡˀ!=jlhQܧG!16;f:9v ';Ilxdi؁3SPbb$_W|U-nwe#/odIVpU>d-Cz HY~ŭ>wɊ[2vrLg+:ZYV7għ#4,"ɳѹo؛39V8ˬyQ1VcO%>X5I>tz{K7uA?EnG:} lOn.mP/Z8 Qe 2}@rj_s\W%&}B, gq#3H?5wH~ih!S]ĭj|{:Uf9f9WYȻFH"89/An6[r5Pep8XE!֯m%"L{ >Ͳu@]yiψ<_zk/rv7Q\~bIBH% "BJLE) ;X |zAJ-j  MzҦɐ-ڀIJHLo~HQrꗺ#xG`u^N6{FZ}ru#9,c$X@GU>^ޔ.[P&6[k&t5>.*0XNݝޮ _9{'+ >XS򣃿e">ڦjrQy}‰dJLdDZtd'd/SÐ%֯w5R 8Moq f+򮆘8)3tbgcLO~CF$Nv7̼k{Kچ4*(U_d RBdĄؘ$^A~O1 ッn9o,|:=ep1kΗ+ RfX`e[a.mz.$F^z B;Zkhl퐪"F׭k^iX+7jS84XܰaKf|i*42mb%9ܺ0^CM 9mv9>qͱ)"eJc5\SS<^f@$Gfe?g '־ViV J?pgU n:n3|) Ubm?  !}fCc"}j̱F5P-F˄xԽ϶`/,^]"Qrʟl%q%0"4:|rC#Dg|VU-'f9#4z[thRh؊4:!ZޡQM=}SoWXhJGſچVToH2["PRtc#X [pЧ.n:t.PAi\֩P+v{웻R?*i?b=#DҧrL΃vZw>/*%% c RT'~-,&!鱛c4iRwט:k,R.u[_+l*}Ykk?*JYx"|G2.n|'ü d|FÕ-_I,i m6[XХT4bHBȀ9StnXG= _)=scu }_>W91||CqFEj7 B;gU. j4Xc7B[_~w_xXҺuawOmG\wINʹ?2ޕKLCQX3 V T('!b@*JΆ ЦCa.<^yOAJܥkjm-Sj9=rFR~oF-J䘛Q^qtA,fOE9KiJL1d2!ڗZe;tg Qډ w xG|ؓd2OߣWp+tl  zNʪ;OF5ф`ru3ڄ!Ys3b[lfkg''iRe96S ӥ.W|6'Cλ1kB^u}UHU@2S c5D"PZGcb\g]ڔ6C#eH]ǘc_zɼi>j<<vGWSΩ.dt;;M7md? 9FsӥKHw*˺<._YZ--/E/;GȬ6' ~iAB&g@*$J_,]Z7äB0ӷ}<0^q1[Y ۸ŸhاHLLٲݜd9*;vI7N3鼬였vPgfÓ(3KSULߗ[6I[]EbOO}TE׭KSwg? 471SԈYdM$ϖ/9EwW._0c Ⱏ.M{ixp00ʯyo7Do;? Uc/3 Xdof%kT019b'?Cv r}mq3LSƥ$˛m6~ |ī_2G=3b2Ә4Ia+ֲEc ~'x ,I a2C[YG&N &XWfȳR{sN{7@|Ϥ鰓E(҆w/"JF Kuw\":N0d;SP&<֯GiOUn*ⰼ}cq;9AOG9l7r˚; &4]#%RwY=]e&mШ+x|֝[zdd ^%A->lU\ۈJTEsbKw m^$6_U@DIπe&+~ID̏j?XXisDqPw9͙Mɕ׮z;[{ Y,PL˕{=uJca[Mp9kYMNn2/M xWojAPt9q5)j;KG'",)dɃ۽TrE&q({܃\wzǺ܍d[*PXTƪ~r1|j4"vQU.fFJ9nD `ӗzj]`ܸ[ڡ|l %tEXtdate:create2010-10-13T15:42:15+02:00 P%tEXtdate:modify2010-10-13T15:42:15+02:00IENDB`HSAUR3/vignettes/Ch_analysis_of_variance.Rnw0000644000176200001440000004721114416236367020531 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analysis of Variance} %%\VignetteDepends{wordcloud} \setcounter{chapter}{4} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("wordcloud") @ \chapter[Analysis of Variance]{Analysis of Variance: Weight Gain, Foster Feeding in Rats, Water Hardness, and Male Egyptian Skulls \label{ANOVA}} \section{Introduction} \section{Analysis of Variance} \section{Analysis Using \R{}} \subsection{Weight Gain in Rats \label{ANOVA:rats}} Before applying analysis of variance to the data in Table~\ref{ANOVA-weightgain-tab} we should try to summarize the main features of the data by calculating means and standard deviations and by producing some hopefully informative graphs. The data is available in the \Rclass{data.frame} \Robject{weightgain}. The following \R{} code produces the required summary statistics <>= data("weightgain", package = "HSAUR3") tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean) tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), sd) @ \begin{figure} \begin{center} <>= plot.design(weightgain) @ \caption{Plot of mean weight gain for each level of the two factors. \label{ANOVA-weightgain-fig}} \end{center} \end{figure} To apply analysis of variance to the data we can use the \Rcmd{aov} function in \R{} and then the \Rcmd{summary} method to give us the usual analysis of variance table. The model \Rclass{formula} specifies a two-way layout with interaction terms, where the first factor is \Robject{source}, and the second factor is \Robject{type}. <>= wg_aov <- aov(weightgain ~ source * type, data = weightgain) @ \renewcommand{\nextcaption}{\R{} output of the ANOVA fit for the \Robject{weightgain} data. \label{ANOVA-weightgain-output}} \SchunkLabel <>= summary(wg_aov) @ \SchunkRaw \begin{figure} \begin{center} <>= interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain) @ <>= interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain, legend = FALSE) legend(1.5, 95, legend = levels(weightgain$source), title = "weightgain$source", lty = c(2,1), bty = "n") @ \caption{Interaction plot of type and source. \label{ANOVA-weightgain-fig2}} \end{center} \end{figure} The estimates of the intercept and the main and interaction effects can be extracted from the model fit by <>= coef(wg_aov) @ Note that the model was fitted with the restrictions $\gamma_1 = 0$ (corresponding to \Rlevel{Beef}) and $\beta_1 = 0$ (corresponding to \Rlevel{High}) because treatment contrasts were used as default as can be seen from <>= options("contrasts") @ Thus, the coefficient for \Robject{source} of $\Sexpr{coef(wg_aov)[2]}$ can be interpreted as an estimate of the difference $\gamma_2 - \gamma_1$. Alternatively, we can use the restriction $\sum_i \gamma_i = 0$ by <>= coef(aov(weightgain ~ source + type + source:type, data = weightgain, contrasts = list(source = contr.sum))) @ \subsection{Foster Feeding of Rats of Different Genotype} As in the previous subsection we will begin the analysis of the foster feeding data in Table~\ref{ANOVA-foster-tab} with a plot of the mean litter weight for the different genotypes of mother and litter (see Figure~\ref{ANOVA-foster-fig}). The data are in the \Rclass{data.frame} \Robject{foster} <>= data("foster", package = "HSAUR3") @ \begin{figure} \begin{center} <>= plot.design(foster) @ \caption{Plot of mean litter weight for each level of the two factors for the \Robject{foster} data. \label{ANOVA-foster-fig}} \end{center} \end{figure} We can derive the two analyses of variance tables for the foster feeding example by applying the \R{} code <>= summary(aov(weight ~ litgen * motgen, data = foster)) @ to give <>= summary(aov(weight ~ litgen * motgen, data = foster)) @ and then the code <>= summary(aov(weight ~ motgen * litgen, data = foster)) @ to give <>= summary(aov(weight ~ motgen * litgen, data = foster)) @ There are (small) differences in the sum of squares for the two main effects and, consequently, in the associated $F$-tests and $p$-values. \index{F-tests@$F$-tests} This would not be true if in the previous example in Subsection~\ref{ANOVA:rats} we had used the code <>= summary(aov(weightgain ~ type * source, data = weightgain)) @ instead of the code which produced Figure~\ref{ANOVA-weightgain-output} (readers should confirm that this is the case). We can investigate the effect of genotype B on litter weight in more detail by the use of \stress{multiple comparison procedures} \index{Multiple comparison procedures|(} \citep[see][and \Sexpr{ch("SIMC")}]{HSAUR:Everitt1996}. Such procedures allow a comparison of all pairs of levels of a factor whilst maintaining the nominal significance level at its specified value and producing adjusted confidence intervals for mean differences. One such procedure is called \stress{Tukey honest significant differences} \index{Tukey honest significant differences} suggested by \cite{HSAUR:Tukey1953}; see \cite{HSAUR:HochbergTamhane1987} also. Here, we are interested in simultaneous confidence intervals for the weight differences between all four genotypes of the mother. First, an ANOVA model is fitted <>= foster_aov <- aov(weight ~ litgen * motgen, data = foster) @ which serves as the basis of the multiple comparisons, here with all pair-wise differences by <>= foster_hsd <- TukeyHSD(foster_aov, "motgen") foster_hsd @ A convenient \Rcmd{plot} method exists for this object and we can get a graphical representation of the multiple confidence intervals as shown in Figure~\ref{ANOVA-foster-mc}. It appears that there is only evidence for a difference in the B and J genotypes. Note that the particular method implemented in \Rcmd{TukeyHSD} is applicable only to balanced and mildly unbalanced designs (which is the case here). Alternative approaches, applicable to unbalanced designs and more general research questions, will be introduced and discussed in \Sexpr{ch("SIMC")}. \begin{figure} \begin{center} <>= plot(foster_hsd) @ \caption{Graphical presentation of multiple comparison results for the \Robject{foster} feeding data. \label{ANOVA-foster-mc}} \end{center} \end{figure} \index{Multiple comparison procedures|)} \subsection{Water Hardness and Mortality} The water hardness and mortality data for $61$ large towns in England and Wales (see Table~2.3) was analyzed in \Sexpr{ch("SI")} and here we will extend the analysis by an assessment of the differences of both hardness and mortality in the North or South. The hypothesis that the two-dimensional mean-vector of water hardness and mortality is the same for cities in the North and the South can be tested by \stress{Hotelling-Lawley} test in a multivariate analysis of variance framework. The \R{} function \Rcmd{manova} can be used to fit such a model and the corresponding \Rcmd{summary} method performs the test specified by the \Rcmd{test} argument <>= data("water", package = "HSAUR3") summary(manova(cbind(hardness, mortality) ~ location, data = water), test = "Hotelling-Lawley") @ The \Rcmd{cbind} statement in the left-hand side of the formula indicates that a \stress{multivariate} response variable is to be modeled. \index{cbind function in formula@\texttt{cbind} function in \textit{formula}} The $p$-value associated with the \stress{Hotelling-Lawley} statistic is very small and there is strong evidence that the mean vectors of the two variables are not the same in the two regions. Looking at the sample means <>= tapply(water$hardness, water$location, mean) tapply(water$mortality, water$location, mean) @ we see large differences in the two regions both in water hardness and mortality, where low mortality is associated with hard water in the South and high mortality with soft water in the North (see Figure~\ref{SI-water-sp} also). \subsection{Male Egyptian Skulls} \index{Multivariate analysis of variance (MANOVA)|(} We can begin by looking at a table of mean values for the four measurements within each of the five epochs. The measurements are available in the \Rclass{data.frame} \Robject{skulls} and we can compute the means over all epochs by <>= data("skulls", package = "HSAUR3") means <- aggregate(skulls[,c("mb", "bh", "bl", "nh")], list(epoch = skulls$epoch), mean) means @ It may also be useful to look at these means graphically and this could be done in a variety of ways. Here we construct a scatterplot matrix of the means using the code attached to Figure~\ref{ANOVA-skulls-fig}. %% %% now uses wordcloud::textplot but xlim/ylim needs to be increased %% \begin{figure} \begin{center} <>= pairs(means[,-1], panel = function(x, y) { textplot(x, y, levels(skulls$epoch), new = FALSE, cex = 0.8) }) @ \caption{Scatterplot matrix of epoch means for Egyptian \Robject{skulls} data. \label{ANOVA-skulls-fig}} \end{center} \end{figure} There appear to be quite large differences between the epoch means, at least on some of the four measurements. We can now test for a difference more formally by using MANOVA with the following \R{} code to apply each of the four possible test criteria mentioned earlier; <>= skulls_manova <- manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls) summary(skulls_manova, test = "Pillai") summary(skulls_manova, test = "Wilks") summary(skulls_manova, test = "Hotelling-Lawley") summary(skulls_manova, test = "Roy") @ The $p$-value associated with each four test criteria is very small and there is strong evidence that the skull measurements differ between the five epochs. We might now move on to investigate which epochs differ and on which variables. We can look at the univariate $F$-tests \index{F-tests@$F$-tests} for each of the four variables by using the code <>= summary.aov(skulls_manova) @ We see that the results for the maximum breadths (\Robject{mb}) and basialiveolar length (\Robject{bl}) are highly significant, with those for the other two variables, in particular for nasal heights (\Robject{nh}), suggesting little evidence of a difference. To look at the pairwise multivariate tests (any of the four test criteria are equivalent in the case of a one-way layout with two levels only) we can use the \Rcmd{summary} method and \Rcmd{manova} function as follows: <>= summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c3300BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c1850BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c200BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "cAD150"))) @ To keep the overall significance level for the set of all pairwise multivariate tests under some control (and still maintain a reasonable power), \cite{HSAUR:Stevens2001} recommends setting the nominal level $\alpha = 0.15$ and carrying out each test at the $\alpha / m$ level where $m$ is the number of tests performed. The results of the four pairwise tests suggest that as the epochs become further separated in time the four skull measurements become increasingly distinct. \index{Multivariate analysis of variance (MANOVA)|)} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/vignettes/Ch_simultaneous_inference.Rnw0000644000176200001440000005557314416236370021124 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Simultaneous Inference and Multiple Comparisons} %%\VignetteDepends{lme4,multcomp,coin,sandwich} \setcounter{chapter}{14} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("multcomp") library("coin") library("sandwich") library("lme4") @ \chapter[Simultaneous Inference and Multiple Comparisons]{Simultaneous Inference and Multiple Comparisons: Genetic Components of Alcoholism, Deer Browsing Intensities, and Cloud Seeding \label{SIMC}} \section{Introduction} \section{Simultaneous Inference and Multiple Comparisons} \section{Analysis Using \R{}} \subsection{Genetic Components of Alcoholism} We start with a graphical display of the data. Three parallel boxplots shown in Figure~\ref{SIMC-alpha-data-figure} indicate increasing expression levels of alpha synuclein mRNA for longer \textit{NACP}-REP1 alleles. %%\setkeys{Gin}{width=0.6\textwidth} \begin{figure}[t] \begin{center} <>= n <- table(alpha$alength) levels(alpha$alength) <- abbreviate(levels(alpha$alength), 4) plot(elevel ~ alength, data = alpha, varwidth = TRUE, ylab = "Expression Level", xlab = "NACP-REP1 Allele Length") axis(3, at = 1:3, labels = paste("n = ", n)) @ \caption{Distribution of levels of expressed alpha synuclein mRNA in three groups defined by the \textit{NACP}-REP1 allele lengths. \label{SIMC-alpha-data-figure}} \end{center} \end{figure} \index{Tukey honest significant differences|(} In order to model this relationship, we start fitting a simple one-way ANOVA model of the form $y_{ij} = \mu + \gamma_i + \varepsilon_{ij}$ to the data with independent normal errors $\varepsilon_{ij} \sim \N(0, \sigma^2)$, $j \in \{\text{short}, \text{intermediate}, \text{long}\}$, and $i = 1, \dots, n_j$. The parameters $\mu + \gamma_\text{short}$, $\mu + \gamma_\text{intermediate}$ and $\mu + \gamma_\text{long}$ can be interpreted as the mean expression levels in the corresponding groups. As already discussed in \Sexpr{ch("ANOVA")}, this model description is overparameterized. A standard approach is to consider a suitable re-parameterization. The so-called ``treatment contrast'' vector $% \theta = (\mu, \gamma_\text{intermediate} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{short})$ (the default re-parameterization used as elemental parameters in \R{}) is one possibility and is equivalent to imposing the restriction $\gamma_\text{short} = 0$. In addition, we define all comparisons among our three groups by choosing $\K$ such that $\K \theta$ contains all three group differences (Tukey's all-pairwise comparisons): %%' \begin{eqnarray*} \K_\text{Tukey} = \left( \begin{array}{rrr} 0 & 1 & 0 \\%% 0 & 0 & 1 \\%% 0 & -1 & 1% \end{array} \right) \end{eqnarray*} with parameters of interest \begin{eqnarray*} \vartheta_\text{Tukey} = \K_\text{Tukey} \theta = (\gamma_\text{intermediate} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{intermediate}). \end{eqnarray*} The function \Rcmd{glht} (for generalized linear hypothesis) from package \Rpackage{multcomp} \citep{PKG:multcomp,HSAUR:HothornBretzWestfall2008} takes the fitted \Rclass{aov} object and a description of the matrix $\K$. Here, we use the \Rcmd{mcp} function to set up the matrix of all pairwise differences for the model parameters associated with factor \Robject{alength}: <>= library("multcomp") amod <- aov(elevel ~ alength, data = alpha) amod_glht <- glht(amod, linfct = mcp(alength = "Tukey")) @ The matrix $\K$ reads <>= amod_glht$linfct @ The \Robject{amod\_glht} object now contains information about the estimated linear function $\hat{\vartheta}$ and their covariance matrix which can be inspected via the \Rcmd{coef} and \Rcmd{vcov} methods: <>= coef(amod_glht) vcov(amod_glht) @ The \Rcmd{summary} and \Rcmd{confint} methods can be used to compute a summary statistic including adjusted $p$-values and simultaneous confidence intervals, respectively: <>= confint(amod_glht) summary(amod_glht) @ Because of the variance heterogeneity that can be observed in Figure~\ref{SIMC-alpha-data-figure}, one might be concerned with the validity of the above results stating that there is no difference between any combination of the three allele lengths. A sandwich estimator might be more appropriate in this situation, and the \Rarg{vcov} argument can be used to specify a function to compute some alternative covariance estimator as follows: <>= amod_glht_sw <- glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich) summary(amod_glht_sw) @ We use the \Rcmd{sandwich} function from package \Rpackage{sandwich} \citep{PKG:sandwich, HSAUR:Zeileis2006} which provides us with a heteroscedasticity-consistent estimator of the covariance matrix. This result is more in line with previously published findings for this study obtained from non-parametric test procedures such as the Kruskal-Wallis test. A comparison of the simultaneous confidence intervals calculated based on the ordinary and sandwich estimator is given in Figure~\ref{SIMC-alpha-confint-plot}. %%\setkeys{Gin}{width=0.95\textwidth} \begin{figure}[h] \begin{center} <>= par(mai = par("mai") * c(1, 2.1, 1, 0.5)) layout(matrix(1:2, ncol = 2)) ci1 <- confint(glht(amod, linfct = mcp(alength = "Tukey"))) ci2 <- confint(glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich)) ox <- expression(paste("Tukey (ordinary ", bold(S)[n], ")")) sx <- expression(paste("Tukey (sandwich ", bold(S)[n], ")")) plot(ci1, xlim = c(-0.6, 2.6), main = ox, xlab = "Difference", ylim = c(0.5, 3.5)) plot(ci2, xlim = c(-0.6, 2.6), main = sx, xlab = "Difference", ylim = c(0.5, 3.5)) @ \caption{Simultaneous confidence intervals for the \Robject{alpha} data based on the ordinary covariance matrix (left) and a sandwich estimator (right). \label{SIMC-alpha-confint-plot}} \end{center} \end{figure} It should be noted that this data set is heavily unbalanced; see Figure~\ref{SIMC-alpha-data-figure}, and therefore the results obtained from function \Rcmd{TukeyHSD} might be less accurate. \index{Tukey honest significant differences|)} \subsection{Deer Browsing} \index{Generalized linear mixed model|(} Since we have to take the spatial structure of the deer browsing data into account, we cannot simply use a logistic regression model as introduced in \Sexpr{ch("GLM")}. One possibility is to apply a mixed logistic regression model \citep[using package \Rpackage{lme4},][]{PKG:lme4} with random intercept accounting for the spatial variation of the trees. These models have already been discussed in \Sexpr{ch("ALDII")}. For each plot nested within a set of five plots oriented on a 100m transect (the location of the transect is determined by a predefined equally spaced lattice of the area under test), a random intercept is included in the model. Essentially, trees that are close to each other are handled like repeated measurements in a longitudinal analysis. We are interested in probability estimates and confidence intervals for each tree species. Each of the five fixed parameters of the model corresponds to one species (in absence of a global intercept term); therefore, $\K = \text{diag}(5)$ is the linear function we are interested in: <>= trees513 <- subset(trees513, !species %in% c("fir", "ash/maple/elm/lime", "softwood (other)")) trees513$species <- trees513$species[,drop = TRUE] levels(trees513$species)[nlevels(trees513$species)] <- "hardwood" @ <>= mmod <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513, family = binomial()) K <- diag(length(fixef(mmod))) K @ In order to help interpretation, the names of the tree species and the corresponding sample sizes (computed via \Rcmd{table}) are added to $\K$ as row names; this information will carry through all subsequent steps of our analysis: <>= colnames(K) <- rownames(K) <- paste(gsub("species", "", names(fixef(mmod))), " (", table(trees513$species), ")", sep = "") K @ Based on $\K$, we first compute simultaneous confidence intervals for $\K \theta$ and transform these into probabilities. Note that $\left(1 + \exp(- \hat{\vartheta})\right)^{-1}$ (cf.~Equation~\ref{GLM:logitexp}) is the vector of estimated probabilities; simultaneous confidence intervals can be transformed to the probability scale in the same way: <>= ci <- confint(glht(mmod, linfct = K)) ci$confint <- 1 - binomial()$linkinv(ci$confint) ci$confint[,2:3] <- ci$confint[,3:2] @ The result is shown in Figure~\ref{SIMC-trees-plot}. Browsing is more frequent in hardwood but especially small oak trees are severely at risk. Consequently, the local authorities increased the number of roe deers to be harvested in the following years. %%The large confidence interval for ash, maple, elm and lime %%trees is caused by the small sample size. %%\setkeys{Gin}{width=0.8\textwidth} \begin{figure}[t] \begin{center} <>= plot(ci, xlab = "Probability of Damage Caused by Browsing", xlim = c(0, 0.5), main = "", ylim = c(0.5, 5.5)) @ \caption{Probability of damage caused by roe deer browsing for five tree species. Sample sizes are given in brackets. \label{SIMC-trees-plot}} \end{center} \end{figure} \index{Generalized linear mixed model|)} \subsection{Cloud Seeding} \index{Confidence band|(} In \Sexpr{ch("MLR")} we studied the dependency of rainfall on S-Ne values by means of linear models. Because the number of observations is small, an additional assessment of the variability of the fitted regression lines is interesting. Here, we are interested in a confidence band around some estimated regression line, i.e., a confidence region which covers the true but unknown regression line with probability greater or equal $1 - \alpha$. It is straightforward to compute \stress{pointwise} confidence intervals but we have to make sure that the type I error is controlled for all $x$ values simultaneously. Consider the simple linear regression model \begin{eqnarray*} \text{rainfall}_i = \beta_0 + \beta_1 \text{sne}_i + \varepsilon_i \end{eqnarray*} where we are interested in a confidence band for the predicted rainfall, i.e., the values $\hat{\beta}_0 + \hat{\beta}_1 \text{sne}_i$ for some observations $\text{sne}_i$. (Note that the estimates $\hat{\beta}_0$ and $\hat{\beta}_1$ are random variables.) We can formulate the problem as a linear combination of the regression coefficients by multiplying a matrix $\K$ to a grid of S-Ne values (ranging from $1.5$ to $4.5$, say) from the left to the elemental parameters $\theta = (\beta_0, \beta_1)$: \begin{eqnarray*} \K \theta = \left( \begin{array}{rr} 1 & 1.50 \\%% 1 & 1.75 \\%% \vdots & \vdots \\%% 1 & 4.25 \\%% 1 & 4.50 % \end{array} \right)\theta = (\beta_0 + \beta_1 1.50, \beta_0 + \beta_1 1.75, \dots, \beta_0 + \beta_1 4.50) = \vartheta. \end{eqnarray*} Simultaneous confidence intervals for all the parameters of interest $\vartheta$ form a confidence band for the estimated regression line. We implement this idea for the \Robject{clouds} data writing a small reusable function as follows: <>= confband <- function(subset, main) { mod <- lm(rainfall ~ sne, data = clouds, subset = subset) sne_grid <- seq(from = 1.5, to = 4.5, by = 0.25) K <- cbind(1, sne_grid) sne_ci <- confint(glht(mod, linfct = K)) plot(rainfall ~ sne, data = clouds, subset = subset, xlab = "S-Ne criterion", main = main, xlim = range(clouds$sne), ylim = range(clouds$rainfall)) abline(mod) lines(sne_grid, sne_ci$confint[,2], lty = 2) lines(sne_grid, sne_ci$confint[,3], lty = 2) } @ The function \Rcmd{confband} basically fits a linear model using \Rcmd{lm} to a subset of the data, sets up the matrix $\K$ as shown above and nicely plots both the regression line and the confidence band. Now, this function can be reused to produce plots similar to Figure~\ref{MLR-clouds-lmplot} separately for days with and without cloud seeding in Figure~\ref{SIMC-clouds-lmplot}. For the days without seeding, there is more uncertainty about the true regression line compared to the days with cloud seeding. Clearly, this is caused by the larger variability of the observations in the left part of the figure. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) confband(clouds$seeding == "no", main = "No seeding") confband(clouds$seeding == "yes", main = "Seeding") @ \caption{Regression relationship between S-Ne criterion and rainfall with and without seeding. The confidence bands cover the area within the dashed curves. \label{SIMC-clouds-lmplot}} \end{center} \end{figure} \index{Confidence band|)} \section{Summary of Findings} \begin{description} \item[Genetic components of alcoholism] We were interested in studying all pairwise differences in expression levels for three groups of subjects defined by allele length. Overall, there seem to be different expression levels for short and long alleles but no difference between these two groups and the intermediate group. \item[Deer browsing] For a number of tree species, the simultaneous confidence intervals for the probability of browsing damage show that there is rather precise information about browsing damage for spruce and pine with more variability for the broad-leaf species. For oak, more than $\Sexpr{round(ci$confint["oak (1258)", 2], 2)}\%$ of the trees are damaged. \item[Cloud seeding] Confidence bands for the estimated effects help to identify days where the uncertainty about rainfall is largest. \end{description} \section{Final Comments} Multiple comparisons in linear models have been in use for a long time. The \Rpackage{multcomp} package extends much of the theory to a broad class of parametric and semi-parametric statistical models, which allows for a unified treatment of multiple comparisons and other simultaneous inference procedures in generalized linear models, mixed models, models for censored data, robust models, etc. Honest decisions based on simultaneous inference procedures maintaining a pre-specified familywise error rate (at least asymptotically) can be derived from almost all classical and modern statistical models. The technical details and more examples can be found in \cite{HSAUR:HothornBretzWestfall2008} and the package vignettes of package \Rpackage{multcomp} \citep{PKG:multcomp}. \section*{Exercises} \begin{description} \exercise Compare the results of \Rcmd{glht} and \Rcmd{TukeyHSD} on the \Robject{alpha} data. \exercise Consider the linear model fitted to the clouds data as summarized in Figure~\ref{MLR-clouds-summary}. Set up a matrix $\K$ corresponding to the global null hypothesis that all interaction terms present in the model are zero. Test both the global hypothesis and all hypotheses corresponding to each of the interaction terms. Which interaction remains significant after adjustment for multiple testing? \exercise For the logistic regression model presented in Figure~\ref{GLM-womensrole-summary-2} perform a multiplicity adjusted test on all regression coefficients (except for the intercept) being zero. Do the conclusions drawn in \Sexpr{ch("GLM")} remain valid? \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/R/0000755000176200001440000000000014416277347011437 5ustar liggesusersHSAUR3/R/tools.R0000644000176200001440000001766114416277343012731 0ustar liggesusers ### some tools that make life easier ### copy *Rout to *Rout.save cpRoutsave <- function(Routdir = NULL, Routsavedir = NULL) { Routfiles <- list.files(path = Routdir, pattern = "\\.Rout$", full.names = FALSE) srcfiles <- file.path(Routdir, Routfiles) destfiles <- file.path(Routsavedir, paste(Routfiles, ".save", sep = "")) file.copy(srcfiles, destfiles, overwrite = TRUE) } ### attach all data frames in the global environment gattach <- function() { env <- globalenv() var <- eval(parse(text = "ls()"), envir = env) df <- sapply(var, function(x) eval(parse(text = paste("is.data.frame(", x, ")", sep = "", collapse = "")), envir = env)) if (any(df)) { var <- var[df] out <- sapply(var, function(x) eval(parse(text = paste("attach(", x, ")", sep = "", collapse = "")), envir = env)) } } ### extract and check Robject or Rcmd LaTeX markup extRact <- function(file, what = "Robject") { x <- readLines(file) indx <- grep(what, x) out <- sapply(indx, function(i) { obj <- NULL while (TRUE) { where <- regexpr(what, x[i]) if (where != -1) { x[i] <- substring(x[i], where) dm <- delimMatch(x[i]) obj <- c(obj, (substring(x[i], dm + 1, dm + attr(dm, "match.length") - 2))) x[i] <- substring(x[i], dm + attr(dm, "match.length")) } else { break } } return(obj) }) cmds <- unique(gsub("\\\\", "", out)) gattach() for (cmd in cmds) { a <- try(eval(parse(text = cmd))) if (inherits(a, "try-error")) print(a) } cmds } ### try to polish S{in,out}put environments, this needs ### manual refinements in some places prettyS <- function(file, texenvironment = c("Sinput", "Soutput"), width = 63, split = " ", write = TRUE) { ### handle Sinput or Soutput environments texenvironment <- match.arg(texenvironment) if (texenvironment == "Sinput" && split == " ") split <- c(", ", "/", " ") ### dirty hack: in `Makefile's I want to call `prettyS' ### right after weaving and thus have only `file.Rnw' available if (length(grep("Rnw$", file)) > 0) file <- gsub("Rnw$", "tex", file) ### read file x <- readLines(file) ### remove all end-line spaces x <- gsub("\\s+$", "", x) ### determine begin and end lines of environment start <- grep(paste("^\\\\begin\\{", texenvironment, "\\}$", sep = "", collapse = ""), x) end <- grep(paste("^\\\\end\\{", texenvironment, "\\}$", sep = "", collapse = ""), x) if (length(start) == 0) return(NULL) if (length(start) != length(end)) stop("unbalanced begin and end statements") n <- length(start) for (i in 1:n) { ### iterate over all lines longer than width lines <- (start[i]):(end[i]) lines <- lines[sapply(x[lines], nchar) > width] for (line in lines) { cat("prettyS: line ", line, " too long: \n", x[line], "\n") y <- x[line] add <- sapply(split, function(s) ifelse(length(grep(s, y)) > 0, nchar(s), 0)) if (all(add == 0)) next() s <- split[min(which(add > 0))] y <- unlist(strsplit(y, split = s)) nc <- sapply(y, nchar) + add[min(which(add > 0))] pos <- cumsum(nc) <= width if (!any(pos)) next() newline <- cumsum(nc)[max(which(pos))] plus <- length(grep("^\\+", x[line])) > 0 && substr(x[line], newline - 1, newline) != ", " x[line] <- paste(substr(x[line], 1, newline), "\n", ifelse(texenvironment == "Sinput", options("continue"), ""), ifelse(plus, " ", ""), " ", substr(x[line], newline + 1, nchar(x[line])), sep = "", collapse = "") # if (length(grep("^\\+", x[line + 1])) > 0 && # (nchar(x[line + 1]) + (nchar(x[line]) - newline) < width)) { # y <- x[line + 1] # y <- gsub("^\\+ ", "", y) # x[line] <- paste(x[line], y, sep = "", collapse = "") # x[line + 1] <- "" # } cat("prettyS: ", x[line], "\n") } } if (write) writeLines(x, con = file) } ### extract all Sinput environments from tex files chkS <- function(file, texenvironment = "Sinput") { ### read file x <- readLines(file) ### determine begin and end lines of environment start <- grep(paste("^\\\\begin\\{", texenvironment, "\\}$", sep = "", collapse = ""), x) end <- grep(paste("^\\\\end\\{", texenvironment, "\\}$", sep = "", collapse = ""), x) if (length(start) == 0) return(NULL) if (length(start) != length(end)) stop("unbalanced begin and end statements") n <- length(start) y <- NULL for (i in 1:n) { ### iterate over all lines longer than width lines <- (start[i] + 1):(end[i] - 1) x[lines] <- gsub("^R>", "", x[lines]) x[lines] <- gsub("^\\+", "", x[lines]) y <- c(y, x[lines]) } y } ### read in a BibTeX file and return as list readBibtex <- function(file = NULL) { bib <- readLines(file) entries <- grep("^@", bib) labels <- gsub(",$", "", gsub("^@[A-Za-z].*\\{", "", bib[entries])) if (any(duplicated(labels))) { print(labels[duplicated(labels)]) stop("non-unique BibTeX labels in ", file) } biblist <- vector(mode = "list", length = length(entries)) for (i in 1:length(entries)) { nexte <- ifelse(i == length(entries), length(entries), entries[i + 1] - 1) biblist[[i]] <- bib[entries[i]:nexte] empty <- grep("^$", biblist[[i]]) if (length(empty) > 0) biblist[[i]] <- biblist[[i]][-empty] } names(biblist) <- labels class(biblist) <- "txtBibtex" return(biblist) } ### the subset of a BibTeX database actually used in `file' extractBibtex <- function(file, bibtex) { if (!inherits(bibtex, "txtBibtex")) bibtex <- readBibtex(bibtex) tex <- readLines(file) tex <- tex[grep("\\cite", tex)] enames <- gsub("\\+", "\\\\+", names(bibtex)) cited <- sapply(enames, function(name) length(grep(name, tex)) > 0) biblist <- bibtex[cited] class(biblist) <- "txtBibtex" return(biblist) } ### output to a file toBibtex.txtBibtex <- function(object, ...) { tmp <- lapply(object, function(bib) { cat(paste(bib, "\n")) cat("\n\n") }) } ### set package version in BibTeX (quick'n'dirty hack) pkgversions <- function(file) { x <- readLines(file) indx <- grep("VERSION", x) for (i in indx) { xx <- strsplit(x[i], " ")[[1]] xx <- xx[grep("VERSION", xx)] pkg <- gsub("[},]", "", gsub("VERSION", "", xx)) version <- packageDescription(pkg)$Version x[i] <- gsub(paste(pkg, "VERSION", sep = "", collapse = ""), version, x[i]) } class(x) <- "Latex" x } ### set package date in BibTeX (quick'n'dirty hack) pkgyears <- function(file) { x <- readLines(file) indx <- grep("PKGYEAR", x) for (i in indx) { xx <- strsplit(x[i], " ")[[1]] xx <- xx[grep("PKGYEAR", xx)] pkg <- gsub("[{},]", "", gsub("PKGYEAR", "", xx)) year <- format(as.Date(strsplit(packageDescription(pkg)$Built, ";")[[1]][3]),"%Y") x[i] <- gsub(paste(pkg, "PKGYEAR", sep = "", collapse = ""), year, x[i]) } class(x) <- "Latex" x } pkgs <- function() c("scatterplot3d", "alr3", "ape", "coin", "flexmix", "gee", "ipred", "lme4", "mclust", "party", "randomForest", "rmeta", "vcd", "gamair", "multcomp", "sandwich", "mboost") HSAUR3/R/tables.R0000644000176200001440000001443314172224352013024 0ustar liggesusers isep <- function(x) paste(paste(x[-length(x)], "&", collapse = " "), x[length(x)], collapse = " ") caption <- function(xname, label, caption, pkg = NULL) { RET <- paste("\\caption{\\Robject{", xname, "} data", sep = "", collapse = "") if (!is.null(pkg)) RET <- paste(RET, " (package \\Rpackage{", pkg, "})", sep = "", collapse = "") RET <- paste(RET, ". ", caption, sep = "", collapse = "") RET <- paste(RET, paste("\\label{", label, "}}", sep = "", collapse = "")) return(RET) } HSAURtable <- function(object, ...) UseMethod("HSAURtable") HSAURtable.data.frame <- function(object, xname = deparse(substitute(object)), pkg = NULL, nrows = NULL,...) { digits <- 0:6 table <- matrix("0", nrow = nrow(object), ncol = ncol(object)) xcc <- object[complete.cases(object),] for (i in 1:ncol(object)) { if (is.numeric(xcc[[i]])) { d <- min(which(sapply(digits, function(d) max(abs(xcc[[i]] - round(xcc[[i]], d))) < sqrt(.Machine$double.eps)))) table[,i] <- formatC(object[[i]], digits = digits[d], format = "f") } else { table[,i] <- as.character(object[[i]]) } } if (!is.null(nrows)) table <- rbind(table[1:nrows,,drop = FALSE], "$\\vdots$") RET <- list(xname = gsub("_", "\\\\_", xname), pkg = pkg, varnames = colnames(object), rownames = rownames(object), data = table) class(RET) <- "dftab" return(RET) } HSAURtable.table <- function(object, xname = deparse(substitute(object)), pkg = NULL,...) { xtab <- matrix(as.character(object), nrow = nrow(object), ncol = ncol(object)) RET <- list(xname = gsub("_", "\\\\_", xname), pkg = pkg, varnames = names(dimnames(object)), data = rbind(c(" ", dimnames(object)[[2]]), cbind(dimnames(object)[[1]], xtab))) class(RET) <- "tabtab" return(RET) } toLatex.tabtab <- function(object, caption = NULL, label = NULL, topcaption = TRUE, index = TRUE, ...) { RET <- c() nc <- ncol(object$data) object$varnames <- gsub("_", "\\\\_", object$varnames) if (index) RET <- c(RET, paste("\\index{", object$xname, " data@\\Robject{", object$xname, "} data}", sep = "")) RET <- c(RET, "\\begin{center}") RET <- c(RET, paste("\\begin{longtable}", paste("{", paste(rep("r", nc + 1), collapse = ""), "}"))) if (topcaption) RET <- c(RET, caption(object$xname, label, caption, object$pkg), "\\\\") RET <- c(RET, paste(" & & \\multicolumn{", nc - 1, "}{c}{\\Robject{", object$varnames[2], "}} \\\\", collapse = "")) object$data <- cbind(c(paste("\\Robject{", object$varnames[1], "}", collapse = ""), rep(" ", nrow(object$data) - 1)), object$data) RET <- c(RET, apply(object$data, 1, function(x) paste(isep(x), "\\\\"))) if (!topcaption) RET <- c(RET, caption(object$xname, label, caption, object$pkg)) RET <- c(RET, "\\end{longtable}") RET <- c(RET, "\\end{center}") class(RET) <- "Latex" return(RET) } toLatex.dftab <- function(object, pcol = 1, caption = NULL, label = NULL, rownames = FALSE, topcaption = TRUE, index = TRUE, ...) { nc <- ncol(object$data) object$varnames <- gsub("_", "\\\\_", object$varnames) if (pcol > 1) { nr <- ceiling(nrow(object$data) / pcol) object$data <- rbind(object$data, matrix(" ", nrow = nr * pcol - nrow(object$data), ncol = nc)) d <- NULL for (i in 1:pcol) d <- cbind(d, object$data[((i - 1) * nr + 1):(i * nr),]) object$data <- d } RET <- c() if (index) RET <- c(RET, paste("\\index{", object$xname, " data@\\Robject{", object$xname, "} data}", sep = "")) RET <- c(RET, "\\begin{center}") if (rownames) RET <- c(RET, paste("\\begin{longtable}{l", paste(rep(paste(rep("r", nc), collapse = ""), pcol), collapse = "|"), "}", collapse = "")) else RET <- c(RET, paste("\\begin{longtable}{", paste(rep(paste(rep("r", nc), collapse = ""), pcol), collapse = "|"), "}", collapse = "")) if (topcaption) RET <- c(RET, caption(object$xname, label, caption, object$pkg), "\\\\") RET <- c(RET, "\\hline") vn <- rep(object$varnames, pcol) vn <- paste(paste("\\Robject{", vn, sep = ""), "}", sep = "") if (rownames) { RET <- c(RET, paste(" & ", isep(vn), "\\\\ \\hline")) RET <- c(RET, "\\endfirsthead") RET <- c(RET, paste("\\caption[]{\\Robject{", object$xname, "} data (continued).} \\\\", sep = "", collapse = "")) RET <- c(RET, "\\hline") RET <- c(RET, paste(" & ", isep(vn), "\\\\ \\hline")) RET <- c(RET, "\\endhead") for (i in 1:nrow(object$data)) RET <- c(RET, paste(object$rownames[i], " & ", isep(object$data[i,]), "\\\\")) } else { RET <- c(RET, paste(isep(vn), "\\\\ \\hline")) RET <- c(RET, "\\endfirsthead") RET <- c(RET, paste("\\caption[]{\\Robject{", object$xname, "} data (continued).} \\\\", sep = "", collapse = "")) RET <- c(RET, "\\hline") RET <- c(RET, paste(isep(vn), "\\\\ \\hline")) RET <- c(RET, "\\endhead") RET <- c(RET, apply(object$data, 1, function(x) paste(isep(x), "\\\\"))) } RET <- c(RET, "\\hline") if (!topcaption) RET <- c(RET, caption(object$xname, label, caption, object$pkg)) RET <- c(RET, "\\end{longtable}") RET <- c(RET, "\\end{center}") class(RET) <- "Latex" return(RET) } HSAUR3/R/isi2bibtex.R0000644000176200001440000000727414172224352013623 0ustar liggesusers isi2bibtex <- function(file) { journals <- rbind(c("J. Am. Stat. Assoc.", "Journal of the American Statistical Association", "JASA"), c("J. Stat. Plan. Infer.", "Journal of Statistical Planning and Inference", "JSPI"), c("Biom. J.", "Biometrical Journal", "BJ"), c("Stat. Med.", "Statistics in Medicine", "SiM")) colnames(journals) <- c("Abbr", "Title", "ID") tfile <- tempfile() isitxt <- readLines(file) isitxt <- gsub("(^[A-Z][A-Z,0-9])", "\\1:", isitxt, perl = TRUE) writeLines(isitxt, con = tfile) isidcf <- read.dcf(tfile, fields = c("PT", "AU", "TI", "SO", "LA", "DT", "DE", "ID", "AB", "C1", "RP", "EM", "NR", "TC", "PU", "PI", "PA", "SN", "J9", "JI", "PD", "PY", "VL", "IS", "BP", "EP", "PG", "SC", "GA", "UT")) ### journals only isidcf <- isidcf[isidcf[,"PT"] == "J",] ### missings isidcf <- isidcf[!apply(isidcf, 1, function(x) all(is.na(x))),] ### rename interesting fields cn <- colnames(isidcf) colnames(isidcf)[cn == "AU"] <- "author" colnames(isidcf)[cn == "TI"] <- "title" colnames(isidcf)[cn == "JI"] <- "journal" colnames(isidcf)[cn == "PD"] <- "month" colnames(isidcf)[cn == "PY"] <- "year" colnames(isidcf)[cn == "VL"] <- "volumne" colnames(isidcf)[cn == "IS"] <- "number" colnames(isidcf)[cn == "UT"] <- "isitag" colnames(isidcf)[cn == "DE"] <- "keywords" colnames(isidcf)[cn == "TC"] <- "timescited" colnames(isidcf)[cn == "AB"] <- "abstract" rownames(isidcf) <- 1:nrow(isidcf) isidcf[,"title"] <- gsub("\n", " ", isidcf[,"title"]) ### author names for (i in 1:nrow(isidcf)) { au <- strsplit(isidcf[i,"author"], "\n") names <- strsplit(au[[1]], ", ") for (j in 1:length(names)) names[[j]][2] <- paste(strsplit(names[[j]][2], "")[[1]], ". ", sep = "", collapse = "") lastnames <- sapply(names, function(x) gsub(" ", "", x[1])) if (length(lastnames) > 3) lastnames <- lastnames[1:3] jour <- isidcf[i,"journal"] indx <- journals[, "Abbr"] == jour if (sum(indx) == 1) { isidcf[i, "journal"] <- journals[indx, "Title"] jkey <- journals[indx, "ID"] } else { jkey <- gsub("\\.* ", "", jour) } label <- paste(paste(lastnames, collapse = "+"), ":", jkey, ":", isidcf[i,"year"], sep = "") rownames(isidcf)[i] <- label isidcf[i,"author"] <- paste(sapply(names, function(x) paste(x[2], x[1], sep = "")), collapse = " and ") title <- isidcf[i, "title"] if (!identical(toupper(title), title)) { ttmp <- strsplit(title, " ")[[1]] lower <- tolower(ttmp) != ttmp lower[1] <- FALSE ttmp[lower] <- paste("{", ttmp[lower], "}", sep = "") isidcf[i, "title"] <- paste(ttmp, collapse = " ") } } tags <- c("author", "title", "journal", "month", "year", "volumne", "number", "isitag", "abstract", "keywords", "timescited") isidcf[is.na(isidcf[,"month"]), "month"] <- "" for (tag in tags) isidcf[,tag] <- paste(tag, " = {", isidcf[,tag], "},", sep = "") pages <- paste("pages = {", isidcf[, "BP"], "--", isidcf[, "EP"], "},", sep = "") headerkey <- paste("@article{", rownames(isidcf), ",", sep = "") ret <- vector(mode = "list", length = nrow(isidcf)) for (i in 1:nrow(isidcf)) ret[[i]] <- c(headerkey[i], paste(" ", isidcf[i, tags]), paste(" ", pages[i]), "}", " ") unlist(ret) } HSAUR3/R/citations.R0000644000176200001440000000121014172224352013534 0ustar liggesusers HSAURcite <- function(pkg) { ct <- citation(pkg) attr(ct, "label") <- paste("PKG:", pkg, sep = "", collapse = "") for (n in c("note")) ct[[n]] <- gsub("R", "\\R{}", ct[[n]]) class(ct) <- "HSAURcitation" return(ct) } toBibtex.HSAURcitation <- function (object, ...) { z <- paste("@", attr(object, "entry"), "{", attr(object, "label"), ",", sep = "") if ("author" %in% names(object)) { object$author <- toBibtex(object$author) } for (n in names(object)) z <- c(z, paste(" ", n, " = {", object[[n]], "},", sep = "")) z <- c(z, "}") class(z) <- "Bibtex" z } HSAUR3/R/Rwelcome.R0000644000176200001440000000240314172224352013321 0ustar liggesusers Rwelcome <- function() { tversion <- paste(version$major, version$minor, sep = ".") tdate <- paste(version$year, version$month, version$day, sep = "-") x <- c(paste("R : Copyright", version$year, "The R Foundation for Statistical Computing"), paste("Version", tversion, paste("(", tdate, "),", sep = ""), "ISBN 3-900051-07-0"), " ", "R is free software and comes with ABSOLUTELY NO WARRANTY.", "You are welcome to redistribute it under certain conditions.", "Type 'license()' or 'licence()' for distribution details.", " ", "R is a collaborative project with many contributors.", "Type 'contributors()' for more information and", "'citation()' on how to cite R or R packages in publications.", " ", "Type 'demo()' for some demos, 'help()' for on-line help, or", "'help.start()' for an HTML browser interface to help.", "Type 'q()' to quit R.", ">") cat(paste(x, collapse = "\n")) } exename <- function() { tversion <- paste(version$major, "0", substr(version$minor, 1, 1), substr(version$minor,3,3), sep = "") return(paste("rw", tversion, ".exe", sep = "")) } HSAUR3/MD50000644000176200001440000003757314416446713011560 0ustar liggesusersb87f188461cbcadef4fd8484a6cd5aa4 *DESCRIPTION 08c7c9e8acb0266eb09c9bf07a1104b5 *NAMESPACE e037b0b716fc388cc2cfbded5b1300a4 *R/Rwelcome.R 37b36983346f76358360694e26d29ffa *R/citations.R 8963a5301ce00df40992a68de11bbae0 *R/isi2bibtex.R ab7787d3daf0f58ff87020f01176a6c9 *R/tables.R 70f58684583c52bfa5a1b529d7bc17c6 *R/tools.R e9573154cee281ef189aeebfe66ec2ac *build/vignette.rds c2f6e0311f75e562b4b5b9894ad50ae7 *cleanup e853c87bbd19c53576b2e6fc5b12e8ba *data/BCG.rda c82373ad9d5a787d954946e6eef6bc79 *data/BtheB.rda 5ae72d63282fbce488116970cffa81d4 *data/CHFLS.rda c5b856aaaf0befb0acc2bc914c527f4b *data/CYGOB1.rda 37298bce9f0070ac1c2ed4d2b1a60a31 *data/EFT.rda abda8c8ace1989df8932bbfa0f8fe758 *data/Forbes2000.rda 44ffc0c2017114639ae5fe3279fa6e53 *data/GHQ.rda e67cfdc1ebbb914f7f413cd3d27374e6 *data/Lanza.rda 7ca4bc98f164865c66fc53a8593b1ba1 *data/Smoking_DollHill1950.rda 2dba6678dfb073393c9feb6c3c25f347 *data/Smoking_Mueller1940.rda a21c54fc743de7a24706a608eaa6c1be *data/Smoking_SchairerSchoeniger1944.rda 75605f856874f562a8fd79c6dcdbedcc *data/Smoking_Wassink1945.rda 702a4fa288f4faf6b2f656113cb410ea *data/USairpollution.rda d3c9e4da1933ae8dbdbca61cb4673eed *data/USmelanoma.rda 3770935a11dc4d03caefa87726a4f22e *data/USstates.rda 39c28a87cd54cb3f7bcf679fbb193dce *data/UStemp.rda 6b8a2c608e761158fd477bbe5192e808 *data/agefat.rda 79ef95e2fc7acd6bd1cc9fa0bdd0f862 *data/aspirin.rda 1aa0f055c3c3dc4b12b685de841b2d27 *data/backpain.rda 7b8d9071228ccbbad1358015a167b3a5 *data/birds.rda 32876647bb79ccf1ca987f1f192365ce *data/birthdeathrates.rda bbdb6552624b99f87781a702573570e7 *data/bladdercancer.rda 3d8c3a976f06de590dc1ec83dab5422a *data/bp.rda d797dc92ee9380bc3f7b9ecbb73692b5 *data/clouds.rda 55e6c75ef7f642e6a8a21899b31e6efd *data/epilepsy.rda 390eec13fcb73d64a5d319943155dc43 *data/foster.rda 05e0585e480d1ea0f5e52d8cbaadf9da *data/gardenflowers.rda 7d16293a14430e2ddeed59f5a10c97b1 *data/heptathlon.rda ff375252bcdcfe1f8d062111419c2347 *data/household.rda 91c64feed83438aaf12df6903a807dab *data/mastectomy.rda bb84090c1aed38d71eac51289e787261 *data/men1500m.rda 390e0939b66cd178d8f5510ba5bc0055 *data/meteo.rda 38c97da89b3489bc84ba7e8371748eaa *data/orallesions.rda 408986b766c8e8a4d5708bf474f48977 *data/phosphate.rda e550b6391ca467fbb28491c355a0b60a *data/pistonrings.rda 5fc35857948ee88615c37aa7839902ab *data/planets.rda b31abbf2e1941304bbe33f92371b6aa8 *data/plasma.rda 18427a4337b96f5ca401ddff8dfed04d *data/polyps.rda feee75f3feb0c729a4c349bc56565c45 *data/polyps3.rda 451793a58c3becfec50361003b6a3427 *data/pottery.rda 65086b48ea8d8d8fbbee7fe67ddef0f4 *data/rearrests.rda dbf9e96c0dc321ef85c8b6490f018d4f *data/respiratory.rda 50b2329416394c1ea8005160f6beb2e7 *data/roomwidth.rda 6a0d7f68eae8f52e59c9409393525297 *data/schizophrenia.rda 8964328b2dd14394186376de2d08369c *data/schizophrenia2.rda 9c2bb25a8d9819bee49647e4c20ce2c2 *data/schooldays.rda 70aa798e309696fc34f92b92adb79185 *data/skulls.rda 0a3987f518b95d639b4fe7f57793ace9 *data/smoking.rda 59499afcef9264ebaff60355aad537a1 *data/students.rda 0ecb92de52bb96442be74e3908d09645 *data/suicides.rda cd05b12e304910229e2641df194e1830 *data/suicides2.rda de83514e94506b964c5425372ea73de8 *data/toenail.rda f91f927cda1e1d6e3c773b0100ee6101 *data/toothpaste.rda b94113e501010005085d83c567249041 *data/voting.rda 1fb75199be3a2fdcb919067a661e367e *data/water.rda 7fa456f0ef79a69ad9a30f95b82712a7 *data/watervoles.rda 984c012e98ad018d2bef96c30dfebe3a *data/waves.rda 4d5a5ede030aebf45f8f14941b58d858 *data/weightgain.rda b5551cfd36a91a26caeb1c1448082164 *data/womensrole.rda dc1dc7889a7d17b495fc08427577bde2 *inst/LaTeXBibTeX/HSAUR.bib b49cfcbd98e9d5acfe8536cb4eb37f0e *inst/LaTeXBibTeX/refstyle.bst 06e4b368936e0fbb227b42494c985873 *inst/LaTeXBibTeX/setup.Rnw 1d81a5866e41b36851021e3720e41784 *inst/NEWS 8c85522a291e4492cdbd6919215d5ad3 *inst/cache/DE-bootpara.rda 0383f1729295c85c3869deaf5e0724d9 *inst/doc/Ch_analysing_longitudinal_dataI.R 0814ae2054014967781371ef549e9c8d *inst/doc/Ch_analysing_longitudinal_dataI.Rnw 33fd8beccff155e4e469de273deaaa65 *inst/doc/Ch_analysing_longitudinal_dataI.pdf bd577c486b60681dff86e5e22bb01f8a *inst/doc/Ch_analysing_longitudinal_dataII.R 6697f18d269facd65cfe2bf87e6a4861 *inst/doc/Ch_analysing_longitudinal_dataII.Rnw fb3a7f7ad64f9f74a34360fe7ad022e1 *inst/doc/Ch_analysing_longitudinal_dataII.pdf 3e13fd9c07f69d124a61ca93a731c570 *inst/doc/Ch_analysis_of_variance.R f3fb91a7a06195cc19b7e751f4c779d8 *inst/doc/Ch_analysis_of_variance.Rnw 038b6d4591b4d55d8ae842c70ea42008 *inst/doc/Ch_analysis_of_variance.pdf d34e7caae766d91f920c820d3cbd93c6 *inst/doc/Ch_bayesian_inference.R 6ac6083e89b50a65aea2dd47aa426198 *inst/doc/Ch_bayesian_inference.Rnw c5f5aeaa57ca097f0abbd2119bd9b7b2 *inst/doc/Ch_bayesian_inference.pdf a4199159472a94041fd516a51bda54b4 *inst/doc/Ch_cluster_analysis.R 5498a10bd6c199daea66dff32806aaa3 *inst/doc/Ch_cluster_analysis.Rnw 88fe074a1c579c06deb347ff55da2791 *inst/doc/Ch_cluster_analysis.pdf f4e9594466d5db9ab93e3f0e1ab9d489 *inst/doc/Ch_conditional_inference.R 9918f29ab5c38f7576b5f3ec3baccad0 *inst/doc/Ch_conditional_inference.Rnw b59943d991174f892a277c5ab826d8dc *inst/doc/Ch_conditional_inference.pdf acb595c7bb23ecac06ba6d19ac3708fb *inst/doc/Ch_density_estimation.R 8ca53fb1b54170e4a7263c43ff6b02ac *inst/doc/Ch_density_estimation.Rnw 1a4bf32423dff6276331f7c7f421fdd2 *inst/doc/Ch_density_estimation.pdf 549534b89fc35c849bedddb98c96c50e *inst/doc/Ch_errata.R 08dd8a45ccab98efb3c80a5ba3459f02 *inst/doc/Ch_errata.Rnw 831826d5906375ef887bd2db8c877574 *inst/doc/Ch_errata.pdf c7ed7e6df3e0a65e0e22f5547f5de42c *inst/doc/Ch_gam.R a0684b721d8b22867cc4d2be11afda7c *inst/doc/Ch_gam.Rnw 54a960dc3dcaf08763e7b8dd3671570d *inst/doc/Ch_gam.pdf a8279615ff821847948273b06a90791f *inst/doc/Ch_graphical_display.R 255e1df7e7e21aa35cedde119741dcd3 *inst/doc/Ch_graphical_display.Rnw 9c1b17d542ae5981f54906673bf89ade *inst/doc/Ch_graphical_display.pdf de088bed10856840b8ed2529927a6875 *inst/doc/Ch_introduction_to_R.R f983af71fd2bc668a5e2edf2ae226eb3 *inst/doc/Ch_introduction_to_R.Rnw 53653e05ce64ba32203592d54dfa0850 *inst/doc/Ch_introduction_to_R.pdf 8adc888262955dce7d7075b45df6d6b0 *inst/doc/Ch_logistic_regression_glm.R cbf07d7ca92481bde11ba98077955e8b *inst/doc/Ch_logistic_regression_glm.Rnw 0744857a885f21b3ad88341bfa0b40dc *inst/doc/Ch_logistic_regression_glm.pdf 81e50e1464d6d9e97bb65b32bb386037 *inst/doc/Ch_meta_analysis.R 7495a1d40e34166b09835abfa91d82b8 *inst/doc/Ch_meta_analysis.Rnw 83e234b09bd6a486b65b16ec5cc05c4f *inst/doc/Ch_meta_analysis.pdf a5a0c1194a76b18012f596c471ee8378 *inst/doc/Ch_missing_values.R b20231ae22cdc7610b80adfe259f7144 *inst/doc/Ch_missing_values.Rnw 5a629647a34d8b0cb6cbe5f5ba4b4b99 *inst/doc/Ch_missing_values.pdf 0e51a696bedad62c09e708caeed2240c *inst/doc/Ch_multidimensional_scaling.R c56bf8040fe4b91e83877830e1a756f6 *inst/doc/Ch_multidimensional_scaling.Rnw 1f0ca316d162bbd9c24f36d11fc3160f *inst/doc/Ch_multidimensional_scaling.pdf dc89da0d9cdf1819fb0e86157b68cca2 *inst/doc/Ch_multiple_linear_regression.R 6b093667c08316669a41dc3a7f6958d1 *inst/doc/Ch_multiple_linear_regression.Rnw 953fa971415d3874433389f1dbc2287a *inst/doc/Ch_multiple_linear_regression.pdf 854ece30828d8c5ac04ffc42c5e41fab *inst/doc/Ch_principal_components_analysis.R 4d4ff5d0699d23a7c3840f10e72e5106 *inst/doc/Ch_principal_components_analysis.Rnw e5b338842b47b5f1ddc58802e5b5f6b3 *inst/doc/Ch_principal_components_analysis.pdf cdee07aa026b67bf5f47d68fdfaa37e9 *inst/doc/Ch_quantile_regression.R 51086648b3c1409837a0a818a30395d6 *inst/doc/Ch_quantile_regression.Rnw bc0483e528e3a6c54741b3d68007ca76 *inst/doc/Ch_quantile_regression.pdf 2c99bb333ea59dd03a917fd837f27a4c *inst/doc/Ch_recursive_partitioning.R 80800ff360858c127a29e92210a79d3a *inst/doc/Ch_recursive_partitioning.Rnw 61f8c5f55140218d933b8956f46f11bf *inst/doc/Ch_recursive_partitioning.pdf 8a51b6ed00cb6d2e5472470c73af57ab *inst/doc/Ch_simple_inference.R 5bdcfcdb82c367d215615331bc49cb43 *inst/doc/Ch_simple_inference.Rnw 73b7ff308097967f2cb13a08cd22c67e *inst/doc/Ch_simple_inference.pdf 46a7cef0348cad008ac807736efb59c5 *inst/doc/Ch_simultaneous_inference.R 1762dc48aa1b5e44e1a8a34d979f3d56 *inst/doc/Ch_simultaneous_inference.Rnw a62ef37cf964c9c7bc9b652d5061a446 *inst/doc/Ch_simultaneous_inference.pdf 2bef2010194928fb5f2765ee7cf6053f *inst/doc/Ch_survival_analysis.R e10394888e163506a6a47f7a5d4a8a6f *inst/doc/Ch_survival_analysis.Rnw 799fbb1ca2b908de93916f9a12ff29f1 *inst/doc/Ch_survival_analysis.pdf 3f3f012255088e103a4539b3f5288389 *inst/slides/Ch_analysing_longitudinal_dataI.Rnw eb1c173570420b948643b9c658a81f7a *inst/slides/Ch_analysing_longitudinal_dataII.Rnw 871aa5d22de1ce9ad777aaca19fb289f *inst/slides/Ch_analysis_of_variance.Rnw 473a113cae53bea78d56fd1da83b3917 *inst/slides/Ch_cluster_analysis.Rnw 15620d7175e48656ecbc2fad998a8325 *inst/slides/Ch_conditional_inference.Rnw 7c7a9b69e5b55829848373d96e3d688c *inst/slides/Ch_density_estimation.Rnw 187e9a3c6a9b6549573de38bc9736747 *inst/slides/Ch_graphical_display.Rnw 204305320bd3e31a2ff28abc9a23c529 *inst/slides/Ch_introduction_to_R.Rnw 33e517f46472c6743c24fe4750fb27d7 *inst/slides/Ch_logistic_regression_glm.Rnw a7c5a4d66dd22fafc6e4dbacc003d40d *inst/slides/Ch_multiple_linear_regression.Rnw 0a89260d948c4971e6af97fbd463ee3d *inst/slides/Ch_recursive_partitioning.Rnw 1e16bbc277e8be5423cad3db2c4cf650 *inst/slides/Ch_simple_inference.Rnw 707663774a2995d62d2f583146052444 *inst/slides/Ch_survival_analysis.Rnw 592ae1055a5c7af852ba5b6faed2f650 *inst/slides/HSAUR3_slides_4up.tex 9a5b5d322f69b1a652245a6d5cd0be5f *inst/slides/HSAUR_title.Rnw b587cb5f1561e6a8e7c45650df5ac148 *inst/slides/beamerthemeHSAUR.sty 53e42ba8f0222b5225ffd8f194c832dc *inst/slides/definitions.tex d4334ab5d760854952312ef3346ecade *inst/slides/graphics/HSAUR.jpg aa9a5d45b7d56c6c09b2de17b2799fc3 *inst/slides/graphics/Rlogo.jpg 8f38990c110066034cd66e04e2d724b6 *inst/slides/setup.R 8445b9caeb489ee7f9b11cc4116aacfb *inst/slides/tables/CA_perm.tex b6509f4091b26915ba508a422de52774 *inst/slides/tables/CI_rtimesc.tex 4f4809f5350f593c0a7748030dfab90a *inst/slides/tables/Lanza.tex 4ddd561262f148ffda425a71fa1cf548 *inst/slides/tables/MLR-ANOVA-tab.tex fe83d92b9c60b59260f25f5e1d649746 *inst/slides/tables/MLR-Xtab.tex 3c9802a4e3b16cbd51adb92b195b0d39 *inst/slides/tables/PCA_tab.tex 3e45eab10b07e5f68353d73eca518705 *inst/slides/tables/SI_mcnemar.tex 41e395ca7cf9dca56e527521d3f2f112 *inst/slides/tables/SI_rtimesc.tex 32013c89e73d1cc57325c172da41df2f *inst/slides/tables/exMDS.tex ad5988ab88c5fccb7ae8e00ced1fed5d *inst/slides/tables/rec.tex 6bc333031969a6a3e2642e358a4ad336 *inst/slides/title_UZH.tex f9ba0408a428d4b8b6bc7587e352c0d6 *man/BCG.Rd 83a780cac81101abe73e97cef7af269f *man/BtheB.Rd 379776bb9a7844c3e22b64543269b007 *man/CHFLS.Rd e51aa354de3c1169e0cd47a6e7482a5d *man/CYGOB1.Rd a0944f758c1cdba392ae83bc87abcfa3 *man/EFT.Rd c3428fec98ec7de3085ae5c77629e9f6 *man/Forbes2000.Rd 6ec1adf517271eea87056e836db81eba *man/GHQ.Rd ae9256d8d7a60e88133fe22731a7e36a *man/HSAURtable.Rd 7f1c2336e25535d1e384eb821316bf5c *man/Lanza.Rd c54a25e18269a7dfda6a59f4d35f20a2 *man/Smoking_DollHill1950.Rd d9464c06b71705f979cbb553c30d032a *man/Smoking_Mueller1940.Rd 00ca6dee070fdaed2b333cad631d075a *man/Smoking_SchairerSchoeniger1944.Rd f415d2b6de8223beeaca670991ad00fe *man/Smoking_Wassink1945.Rd dff06334210986f77a36a044fb572b35 *man/USairpollution.Rd a9689f3398363fc241e747c3abeeaf0d *man/USmelanoma.Rd 4d5e320117cfbe6e00d67c51d69870c2 *man/USstates.Rd 0a13a0c6b2e9d72a1a053a8c2999d7d6 *man/UStemp.Rd b7d2f083161dfd796b4ef128182e9ff9 *man/agefat.Rd 823606625813acebabc08b0671ebe2e8 *man/aspirin.Rd a1b1bab8e7da52b6f26123776602dbc2 *man/backpain.Rd a9f6790ab5f99fcefcf6896914489faa *man/birds.Rd 9de00ee110f9a5568fb0de5d58235acd *man/birthdeathrates.Rd 27b5151aa085e50ea74734c87c6c2fbf *man/bladdercancer.Rd 0b7591d442d5f7878f0db0ff4c3db44d *man/bp.Rd 246b944215ade8b536c986fc5715f8c2 *man/clouds.Rd 83e1004438d51d9f8cf2ab25fea545e2 *man/epilepsy.Rd c51b5ec6fa0db139705350fe9d5578a6 *man/foster.Rd 2f98524fb276e3e06ad62cdb0f913fe6 *man/gardenflowers.Rd ffb04966dd8cc6b3fd8913c9165453cf *man/heptathlon.Rd a21345831ad55584895c988b9663e743 *man/household.Rd 2aff2e93e618b11c058d93e8a7d7e05b *man/mastectomy.Rd 39266b6b7317624e4c45e5b33910c4c4 *man/men1500m.Rd 289ef07b173e4fa85458a2d143c67380 *man/meteo.Rd 5c2f1e8f2f8e51063856652c790fafb3 *man/orallesions.Rd 6c9a990e72933be538f041fa163585e3 *man/phosphate.Rd 1569cc6868cd96f46589df8fff508fed *man/pistonrings.Rd 01f973eba2b876c59446646cdd0f3374 *man/planets.Rd cc81da706e7fe538678a4baefca4f40c *man/plasma.Rd 1eb4458aa3000bc3b3caa2c81df27c9a *man/polyps.Rd a417e3f3f85f2a378f4dbb4a45e6df98 *man/polyps3.Rd 4532e74368374d84f95b5dc4fc8bd41b *man/pottery.Rd c63298442837c6081f72dfb65c722a1b *man/rearrests.Rd 02e1d715f434389a8c690981f708e297 *man/respiratory.Rd 883a98c90fcec8a5000a2d9ccf0a33d9 *man/roomwidth.Rd 84b1ad81a1a15eb9e300a7be821e5ee6 *man/schizophrenia.Rd 41ce7503dfb0eba06386f60786d801e0 *man/schizophrenia2.Rd 74e12e9a00327160c43c9581f0b74ed7 *man/schooldays.Rd 68d188277c29586ca5ab6c8b997eba11 *man/skulls.Rd 1f66ee2d9a676eaf63edbbbdb079f22c *man/smoking.Rd bb2199ecde8e220413749c4452d5dad1 *man/students.Rd 07381875ae4b87ee7191c7e7fa7dfc2b *man/suicides.Rd 0c294da81d8904adb8c6813d691555ff *man/suicides2.Rd f8b1d69e7c4e6272de4112cf97295ff3 *man/toenail.Rd 335d80e2167024443a91769bc70d512c *man/toothpaste.Rd fdcb5fbb6718fe3af1f7424e95a50afa *man/voting.Rd a795f58cf6cee55792c56a84dbcd2797 *man/water.Rd a70fff4537501e7a79575b9562cce449 *man/watervoles.Rd 399ec85c35a2dedcfd0c46e9342a8ba4 *man/waves.Rd 3656ef7811f97cf8cf153e597e5ea1b1 *man/weightgain.Rd 9d04e1d5053b38bd900f4c0b2a48584d *man/womensrole.Rd 0814ae2054014967781371ef549e9c8d *vignettes/Ch_analysing_longitudinal_dataI.Rnw 6697f18d269facd65cfe2bf87e6a4861 *vignettes/Ch_analysing_longitudinal_dataII.Rnw f3fb91a7a06195cc19b7e751f4c779d8 *vignettes/Ch_analysis_of_variance.Rnw 6ac6083e89b50a65aea2dd47aa426198 *vignettes/Ch_bayesian_inference.Rnw 5498a10bd6c199daea66dff32806aaa3 *vignettes/Ch_cluster_analysis.Rnw 9918f29ab5c38f7576b5f3ec3baccad0 *vignettes/Ch_conditional_inference.Rnw 8ca53fb1b54170e4a7263c43ff6b02ac *vignettes/Ch_density_estimation.Rnw 08dd8a45ccab98efb3c80a5ba3459f02 *vignettes/Ch_errata.Rnw a0684b721d8b22867cc4d2be11afda7c *vignettes/Ch_gam.Rnw 255e1df7e7e21aa35cedde119741dcd3 *vignettes/Ch_graphical_display.Rnw f983af71fd2bc668a5e2edf2ae226eb3 *vignettes/Ch_introduction_to_R.Rnw cbf07d7ca92481bde11ba98077955e8b *vignettes/Ch_logistic_regression_glm.Rnw 7495a1d40e34166b09835abfa91d82b8 *vignettes/Ch_meta_analysis.Rnw b20231ae22cdc7610b80adfe259f7144 *vignettes/Ch_missing_values.Rnw c56bf8040fe4b91e83877830e1a756f6 *vignettes/Ch_multidimensional_scaling.Rnw 6b093667c08316669a41dc3a7f6958d1 *vignettes/Ch_multiple_linear_regression.Rnw 4d4ff5d0699d23a7c3840f10e72e5106 *vignettes/Ch_principal_components_analysis.Rnw 51086648b3c1409837a0a818a30395d6 *vignettes/Ch_quantile_regression.Rnw 80800ff360858c127a29e92210a79d3a *vignettes/Ch_recursive_partitioning.Rnw 5bdcfcdb82c367d215615331bc49cb43 *vignettes/Ch_simple_inference.Rnw 1762dc48aa1b5e44e1a8a34d979f3d56 *vignettes/Ch_simultaneous_inference.Rnw e10394888e163506a6a47f7a5d4a8a6f *vignettes/Ch_survival_analysis.Rnw dc1dc7889a7d17b495fc08427577bde2 *vignettes/LaTeXBibTeX/HSAUR.bib b49cfcbd98e9d5acfe8536cb4eb37f0e *vignettes/LaTeXBibTeX/refstyle.bst 06e4b368936e0fbb227b42494c985873 *vignettes/LaTeXBibTeX/setup.Rnw 5a132c6c9e7994b2c29f42b4e3b68901 *vignettes/chapman.cls a0e5e5d1fb2b8adb4e400728239b4fb4 *vignettes/graphics/Rlogo_bw.png 8445b9caeb489ee7f9b11cc4116aacfb *vignettes/tables/CA_perm.tex b6509f4091b26915ba508a422de52774 *vignettes/tables/CI_rtimesc.tex 51c3707ffceeebaf14994b7806f079c1 *vignettes/tables/Lanza.tex 0e8b881930d42ea4ecabbd14b209e417 *vignettes/tables/MA_table.tex 4ddd561262f148ffda425a71fa1cf548 *vignettes/tables/MLR-ANOVA-tab.tex fe83d92b9c60b59260f25f5e1d649746 *vignettes/tables/MLR-Xtab.tex 3c9802a4e3b16cbd51adb92b195b0d39 *vignettes/tables/PCA_tab.tex d0af86886c7e0333dbf0392f94171b61 *vignettes/tables/PCA_tab1.tex 7b1e1bfa03dd8ccfa67b4b1ddce7e91d *vignettes/tables/SI_mcnemar.tex b6509f4091b26915ba508a422de52774 *vignettes/tables/SI_rtimesc.tex 32013c89e73d1cc57325c172da41df2f *vignettes/tables/exMDS.tex 974930e7d8a031707844f0347f4b0014 *vignettes/tables/rec.tex HSAUR3/inst/0000755000176200001440000000000014416277543012211 5ustar liggesusersHSAUR3/inst/doc/0000755000176200001440000000000014416277543012756 5ustar liggesusersHSAUR3/inst/doc/Ch_cluster_analysis.Rnw0000644000176200001440000004355014416236367017452 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Cluster Analysis} %%\VignetteDepends{scatterplot3d,mclust,mvtnorm,lattice} \setcounter{chapter}{20} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} <>= library("mclust") library("mvtnorm") mai <- par("mai") options(SweaveHooks = list(rmai = function() { par(mai = mai * c(1,1,1,2))})) data("pottery", package = "HSAUR3") @ \chapter[Cluster Analysis]{Cluster Analysis: Classifying Romano-British Pottery and Exoplanets \label{CA}} \section{Introduction} \section{Cluster Analysis} \section{Analysis Using \R{}} \subsection{Classifying Romano-British Pottery} We start our analysis with computing the dissimilarity matrix containing the Euclidean distance of the chemical measurements on all $\Sexpr{nrow(pottery)}$ pots. The resulting $\Sexpr{nrow(pottery)} \times \Sexpr{nrow(pottery)}$ matrix can be inspected by an \stress{image plot}, here obtained from \index{Image plot} function \Rcmd{levelplot} available in package \Rpackage{lattice} \citep{PKG:lattice, HSAUR:Sarkar2008}. Such a plot associates each cell of the dissimilarity matrix with a color or a gray value. We choose a very dark grey for cells with distance zero (i.e., the diagonal elements of the dissimilarity matrix) and pale values for cells with greater Euclidean distance. Figure~\ref{CA-pottery-distplot} leads to the impression that there are at least three distinct groups with small inter-cluster differences (the dark rectangles) whereas much larger distances can be observed for all other cells. \begin{figure} \begin{center} <>= pottery_dist <- dist(pottery[, colnames(pottery) != "kiln"]) library("lattice") levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number") @ <>= trellis.par.set(standard.theme(color = FALSE)) plot(levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number")) @ \caption{Image plot of the dissimilarity matrix of the \Robject{pottery} data. \label{CA-pottery-distplot}} \end{center} \end{figure} We now construct three series of partitions using single, complete, and average linkage hierarchical clustering as introduced in Subsections~\ref{CA:HC} and \ref{CA:diss}. The function \Rcmd{hclust} performs all three procedures based on the dissimilarity matrix of the data; its \Rcmd{method} argument is used to specify how the distance between two clusters is assessed. The corresponding \Rcmd{plot} method draws a dendrogram; the code and results are given in Figure~\ref{CA-pottery-hclust}. Again, all three dendrograms lead to the impression that three clusters fit the data best (although this judgement is very informal). \begin{figure} \begin{center} <>= pottery_single <- hclust(pottery_dist, method = "single") pottery_complete <- hclust(pottery_dist, method = "complete") pottery_average <- hclust(pottery_dist, method = "average") layout(matrix(1:3, ncol = 3)) plot(pottery_single, main = "Single Linkage", sub = "", xlab = "") plot(pottery_complete, main = "Complete Linkage", sub = "", xlab = "") plot(pottery_average, main = "Average Linkage", sub = "", xlab = "") @ \caption{Hierarchical clustering of \Robject{pottery} data and resulting dendrograms. \label{CA-pottery-hclust}} \end{center} \end{figure} From the \Robject{pottery\_average} object representing the average linkage hierarchical clustering, we derive the three-cluster solution by cutting the dendrogram at a height of four (which, based on the right display in Figure~\ref{CA-pottery-hclust} leads to a partition of the data into three groups). Our interest is now a comparison with the kiln sites at which the pottery was found. <>= pottery_cluster <- cutree(pottery_average, h = 4) xtabs(~ pottery_cluster + kiln, data = pottery) @ The contingency table shows that cluster 1 contains all pots found at kiln site number one, cluster 2 contains all pots from kiln sites number two and three, and cluster three collects the ten pots from kiln sites four and five. In fact, the five kiln sites are from three different regions defined by one, two and three, and four and five, so the clusters actually correspond to pots from three different regions. \subsection{Classifying Exoplanets} \begin{figure} \begin{center} <>= data("planets", package = "HSAUR3") library("scatterplot3d") scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, pch = 16, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, scale.y = 0.7, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") @ \caption{3D scatterplot of the logarithms of the three variables available for each of the exoplanets. \label{CA-planets-scatter}} \end{center} \end{figure} \begin{figure} \begin{center} <>= rge <- apply(planets, 2, max) - apply(planets, 2, min) planet.dat <- sweep(planets, 2, rge, FUN = "/") n <- nrow(planet.dat) wss <- rep(0, 10) wss[1] <- (n - 1) * sum(apply(planet.dat, 2, var)) for (i in 2:10) wss[i] <- sum(kmeans(planet.dat, centers = i)$withinss) plot(1:10, wss, type = "b", xlab = "Number of groups", ylab = "Within groups sum of squares") @ \caption{Within-cluster sum of squares for different numbers of clusters for the exoplanet data. \label{CA-planets-ss}} \end{center} \end{figure} Sadly Figure~\ref{CA-planets-ss} gives no completely convincing verdict on the number of groups we should consider, but using a little imagination `little elbows' can be spotted at the three and five group solutions. %%' We can find the number of planets in each group using <>= planet_kmeans3 <- kmeans(planet.dat, centers = 3) table(planet_kmeans3$cluster) @ The centers of the clusters for the untransformed data can be computed using a small convenience function <>= ccent <- function(cl) { f <- function(i) colMeans(planets[cl == i,]) x <- sapply(sort(unique(cl)), f) colnames(x) <- sort(unique(cl)) return(x) } @ which, applied to the three-cluster solution obtained by $k$-means gets <>= ccent(planet_kmeans3$cluster) @ @ for the three-cluster solution and, for the five cluster solution using <>= planet_kmeans5 <- kmeans(planet.dat, centers = 5) table(planet_kmeans5$cluster) ccent(planet_kmeans5$cluster) @ \subsection{Model-based Clustering in \R{}} We now proceed to apply model-based clustering to the \Robject{planets} data. \R{} functions for model-based clustering are available in package \Rpackage{mclust} \citep{PKG:mclust,HSAUR:FraleyRaftery2002}. Here we use the \Rcmd{Mclust} function since this selects both the most appropriate model for the data \stress{and} the optimal number of groups based on the values of the BIC computed over several models and a range of values for number of groups. The necessary code is: <>= library("mclust") planet_mclust <- Mclust(planet.dat) @ and we first examine a plot of BIC values using the \R{} code that is displayed on top of Figure~\ref{CA-mclust1}. In this diagram the different plotting symbols refer to different model assumptions about the shape of clusters: \begin{description} \item[EII] spherical, equal volume, \item[VII] spherical, unequal volume, \item[EEI] diagonal, equal volume and shape, \item[VEI] diagonal, varying volume, equal shape, \item[EVI] diagonal, equal volume, varying shape, \item[VVI] diagonal, varying volume and shape, \item[EEE] ellipsoidal, equal volume, shape, and orientation, \item[EEV] ellipsoidal, equal volume and equal shape, \item[VEV] ellipsoidal, equal shape, \item[VVV] ellipsoidal, varying volume, shape, and orientation \end{description} \begin{figure} \begin{center} <>= plot(planet_mclust, planet.dat, what = "BIC", col = "black", ylab = "-BIC", ylim = c(0, 350)) @ \caption{Plot of BIC values for a variety of models and a range of number of clusters. \label{CA-mclust1}} \end{center} \end{figure} The BIC selects model VVI (diagonal varying volume and varying shape) with three clusters as the best solution as can be seen from the \Rcmd{print} output: <>= print(planet_mclust) @ This solution can be shown graphically as a scatterplot matrix. The plot is shown in Figure~\ref{CA-planets-mclust-scatter}. Figure~\ref{CA-planets-mclust-scatterclust} depicts the clustering solution in the three-dimensional space. \begin{figure} \begin{center} <>= clPairs(planet.dat, classification = planet_mclust$classification, symbols = 1:3, col = "black") @ \caption{Scatterplot matrix of planets data showing a three-cluster solution from \Rcmd{Mclust}. \label{CA-planets-mclust-scatter}} \end{center} \end{figure} \begin{figure} \begin{center} <>= scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, scale.y = 0.7, pch = planet_mclust$classification, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") @ \caption{3D scatterplot of planets data showing a three-cluster solution from \Rcmd{Mclust}. \label{CA-planets-mclust-scatterclust}} \end{center} \end{figure} The number of planets in each cluster and the mean vectors of the three clusters for the untransformed data can now be inspected by using <>= table(planet_mclust$classification) ccent(planet_mclust$classification) @ Cluster 1 consists of planets about the same size as Jupiter with very short periods and eccentricities (similar to the first cluster of the $k$-means solution). Cluster 2 consists of slightly larger planets with moderate periods and large eccentricities, and cluster 3 contains the very large planets with very large periods. These two clusters do not match those found by the $k$-means approach. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_introduction_to_R.R0000644000176200001440000005170714416277506017230 0ustar liggesusers### R code from vignette source 'Ch_introduction_to_R.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: AItR-welcome ################################################### HSAUR3:::Rwelcome() ################################################### ### code chunk number 4: AItR-promt ################################################### options(prompt = "> ") ################################################### ### code chunk number 5: AItR-welcome ################################################### options(prompt = "R> ") ################################################### ### code chunk number 6: AItR-firstex ################################################### x <- sqrt(25) + 2 ################################################### ### code chunk number 7: AItR-firstex-print ################################################### x ################################################### ### code chunk number 8: AItR-firstex-print ################################################### print(x) ################################################### ### code chunk number 9: AItR-recommended ################################################### colwidth <- 4 ip <- installed.packages(priority = "high") pkgs <- unique(ip[,"Package"]) pkgs <- paste("\\Rpackage{", pkgs, "}", sep = "") nrows <- ceiling(length(pkgs) / colwidth) pkgs <- c(pkgs, rep("", colwidth * nrows - length(pkgs))) cat(paste(c("\\begin{tabular}{", paste(rep("l", colwidth), collapse=""), "}"), collapse = ""), "\n", file = "tables/rec.tex", append = FALSE) for (i in 1:nrows) { cat(paste(pkgs[(1:colwidth) + (i-1)*colwidth], collapse = " & "), file = "tables/rec.tex", append = TRUE) cat("\\\\ \n", file = "tables/rec.tex", append = TRUE) } cat("\\end{tabular}\n", file = "tables/rec.tex", append = TRUE) rm(ip, nrows) ################################################### ### code chunk number 10: AItR-CRAN ################################################### cp <- available.packages(contriburl = "http://CRAN.r-project.org/src/contrib") ncp <- sum(!rownames(cp) %in% pkgs) rm(cp, pkgs) ################################################### ### code chunk number 11: AItR-rm ################################################### rm(ncp, colwidth, i) ################################################### ### code chunk number 12: AItR-install-packages (eval = FALSE) ################################################### ## install.packages("sandwich") ################################################### ### code chunk number 13: AItR-library (eval = FALSE) ################################################### ## library("sandwich") ################################################### ### code chunk number 14: AItR-help (eval = FALSE) ################################################### ## help("mean") ################################################### ### code chunk number 15: AItR-help-lib (eval = FALSE) ################################################### ## help(package = "sandwich") ################################################### ### code chunk number 16: AItR-help-lib (eval = FALSE) ################################################### ## vignette("sandwich", package = "sandwich") ################################################### ### code chunk number 17: AItR-Forbes2000 ################################################### data("Forbes2000", package = "HSAUR3") ls() ################################################### ### code chunk number 18: AItR-Forbes2000-ls ################################################### x <- c("x", "Forbes2000") print(x) ################################################### ### code chunk number 19: AItR-Forbes2000-print (eval = FALSE) ################################################### ## print(Forbes2000) ################################################### ### code chunk number 20: AItR-Forbes2000-print ################################################### print(Forbes2000[1:3,]) cat("...\n") ################################################### ### code chunk number 21: AItR-Forbes2000-str (eval = FALSE) ################################################### ## str(Forbes2000) ################################################### ### code chunk number 22: AItR-Forbes2000-str ################################################### str(Forbes2000, vec.len = 2, strict.width = "cut", width = 60) ################################################### ### code chunk number 23: AItR-Forbes2000-help (eval = FALSE) ################################################### ## help("Forbes2000") ################################################### ### code chunk number 24: AItR-Forbes2000-df ################################################### class(Forbes2000) ################################################### ### code chunk number 25: AItR-Forbes2000-dim ################################################### dim(Forbes2000) ################################################### ### code chunk number 26: AItR-Forbes2000-nrow-ncol ################################################### nrow(Forbes2000) ncol(Forbes2000) ################################################### ### code chunk number 27: AItR-Forbes2000-names ################################################### names(Forbes2000) ################################################### ### code chunk number 28: AItR-Forbes2000-rank ################################################### class(Forbes2000[,"rank"]) ################################################### ### code chunk number 29: AItR-Forbes2000-length ################################################### length(Forbes2000[,"rank"]) ################################################### ### code chunk number 30: AItR-Forbes2000-one-to-three ################################################### 1:3 c(1,2,3) seq(from = 1, to = 3, by = 1) ################################################### ### code chunk number 31: AItR-Forbes2000-name ################################################### class(Forbes2000[,"name"]) length(Forbes2000[,"name"]) ################################################### ### code chunk number 32: AItR-Forbes2000-first ################################################### Forbes2000[,"name"][1] ################################################### ### code chunk number 33: AItR-Forbes2000-category ################################################### class(Forbes2000[,"category"]) ################################################### ### code chunk number 34: AItR-Forbes2000-nlevels ################################################### nlevels(Forbes2000[,"category"]) ################################################### ### code chunk number 35: AItR-Forbes2000-levels (eval = FALSE) ################################################### ## levels(Forbes2000[,"category"]) ################################################### ### code chunk number 36: AItR-Forbes2000-levels ################################################### levels(Forbes2000[,"category"])[1:3] cat("...\n") ################################################### ### code chunk number 37: AItR-Forbes2000-table (eval = FALSE) ################################################### ## table(Forbes2000[,"category"]) ################################################### ### code chunk number 38: AItR-Forbes2000-table ################################################### table(Forbes2000[,"category"])[1:3] cat("...\n") ################################################### ### code chunk number 39: AItR-Forbes2000-sales ################################################### class(Forbes2000[,"sales"]) ################################################### ### code chunk number 40: AItR-Forbes2000-numsum ################################################### median(Forbes2000[,"sales"]) mean(Forbes2000[,"sales"]) range(Forbes2000[,"sales"]) ################################################### ### code chunk number 41: AItR-Forbes2000-summary ################################################### summary(Forbes2000[,"sales"]) ################################################### ### code chunk number 42: AItR-Forbes2000-files ################################################### pkgpath <- system.file(package = "HSAUR2") mywd <- getwd() filep <- file.path(pkgpath, "rawdata") setwd(filep) ################################################### ### code chunk number 43: AItR-Forbes2000-read.table ################################################### csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1) ################################################### ### code chunk number 44: AItR-Forbes2000-csv-names ################################################### class(csvForbes2000[,"name"]) ################################################### ### code chunk number 45: AItR-Forbes2000-read.table2 ################################################### csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1, colClasses = c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric")) class(csvForbes2000[,"name"]) ################################################### ### code chunk number 46: AItR-Forbes2000-all.equal ################################################### all.equal(csvForbes2000, Forbes2000) ################################################### ### code chunk number 47: AItR-Forbes2000-classes ################################################### classes <- c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric") length(classes) class(classes) ################################################### ### code chunk number 48: AItR-Forbes2000-RODBC (eval = FALSE) ################################################### ## library("RODBC") ## cnct <- odbcConnectExcel("Forbes2000.xls") ## sqlQuery(cnct, "select * from \"Forbes2000\\$\"") ################################################### ### code chunk number 49: AItR-Forbes2000-RODBC ################################################### setwd(mywd) ################################################### ### code chunk number 50: AItR-Forbes2000-write.table ################################################### write.table(Forbes2000, file = "Forbes2000.csv", sep = ",", col.names = NA) ################################################### ### code chunk number 51: AItR-Forbes2000-save ################################################### save(Forbes2000, file = "Forbes2000.rda") ################################################### ### code chunk number 52: AItR-Forbes2000-list ################################################### list.files(pattern = "\\.rda") ################################################### ### code chunk number 53: AItR-Forbes2000-load ################################################### load("Forbes2000.rda") ################################################### ### code chunk number 54: AItR-Forbes2000-vector-companies ################################################### companies <- Forbes2000[,"name"] ################################################### ### code chunk number 55: AItR-Forbes2000-vector-indexing ################################################### companies[1] ################################################### ### code chunk number 56: AItR-Forbes2000-vector-indexing ################################################### 1:3 companies[1:3] ################################################### ### code chunk number 57: AItR-Forbes2000-vector-negative-indexing ################################################### companies[-(4:2000)] ################################################### ### code chunk number 58: AItR-Forbes2000-top-three ################################################### Forbes2000[1:3, c("name", "sales", "profits", "assets")] ################################################### ### code chunk number 59: AItR-Forbes2000-list-extract ################################################### companies <- Forbes2000$name ################################################### ### code chunk number 60: AItR-Forbes2000-vector-companies ################################################### companies <- Forbes2000[,"name"] ################################################### ### code chunk number 61: AItR-Forbes2000-sales ################################################### order_sales <- order(Forbes2000$sales) ################################################### ### code chunk number 62: AItR-Forbes2000-sales-small ################################################### companies[order_sales[1:3]] ################################################### ### code chunk number 63: AItR-Forbes2000-order ################################################### Forbes2000[order_sales[c(2000, 1999, 1998)], c("name", "sales", "profits", "assets")] ################################################### ### code chunk number 64: AItR-Forbes2000-logical ################################################### Forbes2000[Forbes2000$assets > 1000, c("name", "sales", "profits", "assets")] ################################################### ### code chunk number 65: AItR-Forbes2000-logical2 ################################################### table(Forbes2000$assets > 1000) ################################################### ### code chunk number 66: AItR-Forbes2000-NA ################################################### na_profits <- is.na(Forbes2000$profits) table(na_profits) Forbes2000[na_profits, c("name", "sales", "profits", "assets")] ################################################### ### code chunk number 67: AItR-Forbes2000-complete-cases ################################################### table(complete.cases(Forbes2000)) ################################################### ### code chunk number 68: AItR-Forbes2000-UK ################################################### UKcomp <- subset(Forbes2000, country == "United Kingdom") dim(UKcomp) ################################################### ### code chunk number 69: AItR-Forbes2000-summary ################################################### summary(Forbes2000) ################################################### ### code chunk number 70: AItR-Forbes2000-summary-output ################################################### summary(Forbes2000) ################################################### ### code chunk number 71: AItR-Forbes2000-lapply (eval = FALSE) ################################################### ## lapply(Forbes2000, summary) ################################################### ### code chunk number 72: AItR-Forbes2000-tapply-category ################################################### mprofits <- tapply(Forbes2000$profits, Forbes2000$category, median, na.rm = TRUE) ################################################### ### code chunk number 73: AItR-Forbes2000-medianNA ################################################### median(Forbes2000$profits) ################################################### ### code chunk number 74: AItR-Forbes2000-mprofits ################################################### rev(sort(mprofits))[1:3] ################################################### ### code chunk number 75: AItR-Forbes2000-medianNA ################################################### median(Forbes2000$profits, na.rm = TRUE) ################################################### ### code chunk number 76: AItR-iqr ################################################### iqr <- function(x) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE) return(diff(q)) } ################################################### ### code chunk number 77: AItR-iqr-test ################################################### xdata <- rnorm(100) iqr(xdata) IQR(xdata) ################################################### ### code chunk number 78: AItR-iqr-test (eval = FALSE) ################################################### ## xdata[1] <- NA ## iqr(xdata) ################################################### ### code chunk number 79: AItR-iqr-test-results ################################################### xdata[1] <- NA cat(try(iqr(xdata))) ################################################### ### code chunk number 80: AItR-iqr ################################################### iqr <- function(x, ...) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE, ...) return(diff(q)) } iqr(xdata, na.rm = TRUE) IQR(xdata, na.rm = TRUE) ################################################### ### code chunk number 81: AItR-Forbes2000-iqr ################################################### iqr(Forbes2000$profits, na.rm = TRUE) ################################################### ### code chunk number 82: AItR-Forbes2000-tapply-category-iqr ################################################### iqr_profits <- tapply(Forbes2000$profits, Forbes2000$category, iqr, na.rm = TRUE) ################################################### ### code chunk number 83: AItR-Forbes2000-variability ################################################### levels(Forbes2000$category)[which.min(iqr_profits)] levels(Forbes2000$category)[which.max(iqr_profits)] ################################################### ### code chunk number 84: AItR-Forbes2000-for ################################################### bcat <- Forbes2000$category iqr_profits2 <- numeric(nlevels(bcat)) names(iqr_profits2) <- levels(bcat) for (cat in levels(bcat)) { catprofit <- subset(Forbes2000, category == cat)$profit this_iqr <- iqr(catprofit, na.rm = TRUE) iqr_profits2[levels(bcat) == cat] <- this_iqr } ################################################### ### code chunk number 85: AItR-Forbes2000-marketvalue ################################################### layout(matrix(1:2, nrow = 2)) hist(Forbes2000$marketvalue) hist(log(Forbes2000$marketvalue)) ################################################### ### code chunk number 86: AItR-Forbes2000-formula ################################################### fm <- marketvalue ~ sales class(fm) ################################################### ### code chunk number 87: AItR-Forbes2000-marketvalue-sales ################################################### plot(log(marketvalue) ~ log(sales), data = Forbes2000, pch = ".") ################################################### ### code chunk number 88: AItR-Forbes2000-marketvalue-sales-shading ################################################### plot(log(marketvalue) ~ log(sales), data = Forbes2000, col = rgb(0,0,0,0.1), pch = 16) ################################################### ### code chunk number 89: AItR-Forbes2000-country-plot ################################################### tmp <- subset(Forbes2000, country %in% c("United Kingdom", "Germany", "India", "Turkey")) tmp$country <- tmp$country[,drop = TRUE] plot(log(marketvalue) ~ country, data = tmp, ylab = "log(marketvalue)", varwidth = TRUE) ################################################### ### code chunk number 90: AItR-analysis1 ################################################### file.create("analysis.R") ################################################### ### code chunk number 91: AItR-analysis2 (eval = FALSE) ################################################### ## source("analysis.R", echo = TRUE) ################################################### ### code chunk number 92: AItR-analysis3 ################################################### file.remove("analysis.R") HSAUR3/inst/doc/Ch_analysing_longitudinal_dataII.Rnw0000644000176200001440000005336314416236367022042 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analyzing Longitudinal Data II} %%\VignetteDepends{gee,lme4} \setcounter{chapter}{13} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= options(digits = 3) if (!interactive()) { print.summary.gee <- function (x, digits = NULL, quote = FALSE, prefix = "", ...) { if (is.null(digits)) digits <- options()$digits else options(digits = digits) cat("...") cat("\nModel:\n") cat(" Link: ", x$model$link, "\n") cat(" Variance to Mean Relation:", x$model$varfun, "\n") if (!is.null(x$model$M)) cat(" Correlation Structure: ", x$model$corstr, ", M =", x$model$M, "\n") else cat(" Correlation Structure: ", x$model$corstr, "\n") cat("\n...") nas <- x$nas if (!is.null(nas) && any(nas)) cat("\n\nCoefficients: (", sum(nas), " not defined because of singularities)\n", sep = "") else cat("\n\nCoefficients:\n") print(x$coefficients, digits = digits) cat("\nEstimated Scale Parameter: ", format(round(x$scale, digits))) cat("\n...\n") invisible(x) } } @ \chapter[Analyzing Longitudinal Data II]{ Analyzing Longitudinal Data II -- Generalized Estimation Equations and Linear Mixed Effect Models: Treating Respiratory Illness and Epileptic Seizures \label{ALDII}} \section{Introduction} \section{Methods for Non-normal Distributions} \section{Analysis Using \R{}: GEE} \subsection{Beat the Blues Revisited} To use the \Rcmd{gee} function, package \Rpackage{gee} \citep{PKG:gee} has to be installed and attached: <>= library("gee") @ The \Rcmd{gee} function is used in a similar way to the \Rcmd{lme} function met in \Sexpr{ch("ALDI")} with the addition of the features of the \Rcmd{glm} function that specify the appropriate error distribution for the response and the implied link function, and an argument to specify the structure of the working correlation matrix. Here we will fit an independence structure and then an exchangeable structure. The \R{} code for fitting generalized estimation equations to the \Robject{BtheB\_long} data (as constructed in \Sexpr{ch("ALDI")}) with identity working correlation matrix is as follows (note that the \Rcmd{gee} function assumes the rows of the \Rclass{data.frame} \Robject{BtheB\_long} to be ordered with respect to subjects): <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) names(BtheB_long)[names(BtheB_long) == "treatment"] <- "trt" @ <>= osub <- order(as.integer(BtheB_long$subject)) BtheB_long <- BtheB_long[osub,] btb_gee <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "independence") @ and with exchangeable correlation matrix: <>= btb_gee1 <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "exchangeable") @ The \Rcmd{summary} method can be used to inspect the fitted models; the results are shown in Figures~\ref{ALDII-gee-summary} and \ref{ALDII-gee1-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{btb\_gee} model (slightly abbreviated). \label{ALDII-gee-summary}} \SchunkLabel <>= summary(btb_gee) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{btb\_gee1} model (slightly abbreviated). \label{ALDII-gee1-summary}} \SchunkLabel <>= summary(btb_gee1) @ \SchunkRaw \subsection{Respiratory Illness \label{ALDII:resp}} The baseline status, i.e., the status for \Robject{month == 0}, will enter the models as an explanatory variable and thus we have to rearrange the \Rclass{data.frame} \Robject{respiratory} in order to create a new variable \Robject{baseline}: <>= data("respiratory", package = "HSAUR3") resp <- subset(respiratory, month > "0") resp$baseline <- rep(subset(respiratory, month == "0")$status, rep(4, 111)) resp$nstat <- as.numeric(resp$status == "good") resp$month <- resp$month[, drop = TRUE] @ <>= names(resp)[names(resp) == "treatment"] <- "trt" levels(resp$trt)[2] <- "trt" @ The new variable \Robject{nstat} is simply a dummy coding for a poor respiratory status. Now we can use the data \Robject{resp} to fit a logistic regression model and GEE models with an independent and an exchangeable correlation structure as follows. <>= resp_glm <- glm(status ~ centre + trt + gender + baseline + age, data = resp, family = "binomial") resp_gee1 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) resp_gee2 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) @ \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_glm} model. \label{ALDII-resp-glm-summary}} \SchunkLabel <>= summary(resp_glm) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_gee1} model (slightly abbreviated). \label{ALDII-resp-gee1-summary}} \SchunkLabel <>= summary(resp_gee1) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_gee2} model (slightly abbreviated). \label{ALDII-resp-gee2-summary}} \SchunkLabel <>= summary(resp_gee2) @ \SchunkRaw The estimated treatment effect taken from the exchangeable structure GEE model is \Sexpr{round(coef(resp_gee2)["trttrt"], 3)} which, using the robust standard errors, has an associated $95\%$ confidence interval <>= se <- summary(resp_gee2)$coefficients["trttrt", "Robust S.E."] coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975) @ These values reflect effects on the log-odds scale. Interpretation becomes simpler if we exponentiate the values to get the effects in terms of odds. This gives a treatment effect of \Sexpr{round(exp(coef(resp_gee2)["trttrt"]), 3)} and a $95\%$ confidence interval of <>= exp(coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975)) @ The odds of achieving a `good' respiratory status with the active treatment is between %' about twice and seven times the corresponding odds for the placebo. \subsection{Epilepsy} Moving on to the count data in \Robject{epilepsy} from Table~\ref{ALDII-epilepsy-tab}, we begin by calculating the means and variances of the number of seizures for all interactions between treatment and period: <>= data("epilepsy", package = "HSAUR3") itp <- interaction(epilepsy$treatment, epilepsy$period) tapply(epilepsy$seizure.rate, itp, mean) tapply(epilepsy$seizure.rate, itp, var) @ Some of the variances are considerably larger than the corresponding means, which for a Poisson variable may suggest that overdispersion may be a problem, see \Sexpr{ch("GLM")}. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) ylim <- range(epilepsy$seizure.rate) placebo <- subset(epilepsy, treatment == "placebo") progabide <- subset(epilepsy, treatment == "Progabide") boxplot(seizure.rate ~ period, data = placebo, ylab = "Number of seizures", xlab = "Period", ylim = ylim, main = "Placebo") boxplot(seizure.rate ~ period, data = progabide, main = "Progabide", ylab = "Number of seizures", xlab = "Period", ylim = ylim) @ \caption{Boxplots of numbers of seizures in each two-week period post randomization for placebo and active treatments. \label{ALDII-plot1}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) ylim <- range(log(epilepsy$seizure.rate + 1)) boxplot(log(seizure.rate + 1) ~ period, data = placebo, main = "Placebo", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) boxplot(log(seizure.rate + 1) ~ period, data = progabide, main = "Progabide", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) @ \caption{Boxplots of log of numbers of seizures in each two-week period post randomization for placebo and active treatments. \label{ALDII-plot2}} \end{center} \end{figure} We can now fit a Poisson regression model to the data assuming independence using the \Rcmd{glm} function. We also use the GEE approach to fit an independence structure, followed by an exchangeable structure using the following \R{} code: <>= per <- rep(log(2),nrow(epilepsy)) epilepsy$period <- as.numeric(epilepsy$period) names(epilepsy)[names(epilepsy) == "treatment"] <- "trt" fm <- seizure.rate ~ base + age + trt + offset(per) epilepsy_glm <- glm(fm, data = epilepsy, family = "poisson") epilepsy_gee1 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) epilepsy_gee2 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) epilepsy_gee3 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = FALSE, scale.value = 1) @ As usual we inspect the fitted models using the \Rcmd{summary} method, the results are given in Figures~\ref{ALDII-epilepsy-glm-summary}, \ref{ALDII-epilepsy-gee1-summary}, \ref{ALDII-epilepsy-gee2-summary}, and \ref{ALDII-epilepsy-gee3-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_glm} model. \label{ALDII-epilepsy-glm-summary}} \SchunkLabel <>= summary(epilepsy_glm) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee1} model (slightly abbreviated). \label{ALDII-epilepsy-gee1-summary}} \SchunkLabel <>= summary(epilepsy_gee1) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee2} model (slightly abbreviated). \label{ALDII-epilepsy-gee2-summary}} \SchunkLabel <>= summary(epilepsy_gee2) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{epilepsy\_gee3} model (slightly abbreviated). \label{ALDII-epilepsy-gee3-summary}} \SchunkLabel <>= summary(epilepsy_gee3) @ \SchunkRaw \section{Analysis Using \R{}: Random Effects} As an example of using generalized mixed models for the analysis of longitudinal data with a non-normal response, the following logistic model will be fitted to the respiratory illness data \begin{eqnarray*} \text{logit}(\P(\text{status} = \text{good})) & = & \beta_0 + \beta_1 \text{treatment} + \beta_2 \text{time} + \beta_3 \text{gender} \\% & & + \beta_4 \text{age} + \beta_5 \text{centre} + \beta_6 \text{baseline} + u \end{eqnarray*} where $u$ is a subject-specific random effect. The necessary \R{} code for fitting the model using the \Rcmd{glmer} function from package \Rpackage{lme4} \citep{PKG:lme4,HSAUR:Bates2005} is: <>= library("lme4") resp_lmer <- glmer(status ~ baseline + month + trt + gender + age + centre + (1 | subject), family = binomial(), data = resp) exp(fixef(resp_lmer)) @ The significance of the effects as estimated by this random effects model and by the GEE model described in Section~\ref{ALDII:resp} is generally similar. But as expected from our previous discussion the estimated coefficients are substantially larger. While the estimated effect of treatment on a randomly sampled individual, given the set of observed covariates, is estimated by the marginal model using GEE to increase the log-odds of being disease free by $\Sexpr{round(coef(resp_gee2)["trttrt"], 3)}$, the corresponding estimate from the random effects model is $\Sexpr{round(fixef(resp_lmer)["trttrt"], 3)}$. These are not inconsistent results but reflect the fact that the models are estimating different parameters. The random effects estimate is conditional upon the patient's random effect, a quantity that is rarely known in practice. Were we to examine the log-odds of the average predicted probabilities with and without treatment (averaged over the random effects) this would give an estimate comparable to that estimated within the marginal model. <>= su <- summary(resp_lmer) if (!interactive()) { summary <- function(x) { cat("\n...\n") cat("Fixed effects:\n") lme4V <- packageDescription("lme4")$Version if (compareVersion("0.999999-2", lme4V) >= 0) { printCoefmat(su@coefs) } else { printCoefmat(su$coefficients) } cat("\n...\n") } } @ \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for the \Robject{resp\_lmer} model (abbreviated). \label{ALDII-resp-lmer-summary}} \SchunkLabel <>= summary(resp_lmer) @ \SchunkRaw \clearpage \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_recursive_partitioning.R0000644000176200001440000002332214416277530020307 0ustar liggesusers### R code from vignette source 'Ch_recursive_partitioning.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: RP-setup ################################################### library("vcd") library("lattice") library("randomForest") library("partykit") ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) mai <- par("mai") options(SweaveHooks = list(nullmai = function() { par(mai = rep(0, 4)) }, twomai = function() { par(mai = c(0, mai[2], 0, 0)) }, threemai = function() { par(mai = c(0, mai[2], 0.1, 0)) })) numbers <- c("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine") ################################################### ### code chunk number 4: RP-bodyfat-rpart ################################################### library("rpart") data("bodyfat", package = "TH.data") bodyfat_rpart <- rpart(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat, control = rpart.control(minsplit = 10)) ################################################### ### code chunk number 5: RP-bodyfat-plot ################################################### getOption("SweaveHooks")[["nullmai"]]() library("partykit") plot(as.party(bodyfat_rpart), tp_args = list(id = FALSE)) ################################################### ### code chunk number 6: RP-bodyfat-cp ################################################### print(bodyfat_rpart$cptable) opt <- which.min(bodyfat_rpart$cptable[,"xerror"]) ################################################### ### code chunk number 7: RP-bodyfat-prune ################################################### cp <- bodyfat_rpart$cptable[opt, "CP"] bodyfat_prune <- prune(bodyfat_rpart, cp = cp) ################################################### ### code chunk number 8: RP-bodyfat-pruneplot ################################################### getOption("SweaveHooks")[["twomai"]]() plot(as.party(bodyfat_prune), tp_args = list(id = FALSE)) ################################################### ### code chunk number 9: RP-bodyfat-predict ################################################### DEXfat_pred <- predict(bodyfat_prune, newdata = bodyfat) xlim <- range(bodyfat$DEXfat) plot(DEXfat_pred ~ DEXfat, data = bodyfat, xlab = "Observed", ylab = "Predicted", ylim = xlim, xlim = xlim) abline(a = 0, b = 1) ################################################### ### code chunk number 10: RP-seed-again ################################################### set.seed(290875) ################################################### ### code chunk number 11: RP-glaucoma-rpart ################################################### data("GlaucomaM", package = "TH.data") glaucoma_rpart <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 100)) glaucoma_rpart$cptable opt <- which.min(glaucoma_rpart$cptable[,"xerror"]) cp <- glaucoma_rpart$cptable[opt, "CP"] glaucoma_prune <- prune(glaucoma_rpart, cp = cp) ################################################### ### code chunk number 12: RP-glaucoma-plot ################################################### getOption("SweaveHooks")[["nullmai"]]() plot(as.party(glaucoma_prune), tp_args = list(id = FALSE)) ################################################### ### code chunk number 13: RP-glaucoma-cp ################################################### nsplitopt <- vector(mode = "integer", length = 25) for (i in 1:length(nsplitopt)) { cp <- rpart(Class ~ ., data = GlaucomaM)$cptable nsplitopt[i] <- cp[which.min(cp[,"xerror"]), "nsplit"] } ################################################### ### code chunk number 14: RP-glaucoma-cp-print ################################################### table(nsplitopt) ################################################### ### code chunk number 15: RP-glaucoma-bagg ################################################### trees <- vector(mode = "list", length = 25) n <- nrow(GlaucomaM) bootsamples <- rmultinom(length(trees), n, rep(1, n)/n) mod <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 0)) for (i in 1:length(trees)) trees[[i]] <- update(mod, weights = bootsamples[,i]) ################################################### ### code chunk number 16: RP-glaucoma-splits ################################################### table(sapply(trees, function(x) as.character(x$frame$var[1]))) ################################################### ### code chunk number 17: RP-glaucoma-baggpred ################################################### classprob <- matrix(0, nrow = n, ncol = length(trees)) for (i in 1:length(trees)) { classprob[,i] <- predict(trees[[i]], newdata = GlaucomaM)[,1] classprob[bootsamples[,i] > 0,i] <- NA } ################################################### ### code chunk number 18: RP-glaucoma-avg ################################################### avg <- rowMeans(classprob, na.rm = TRUE) predictions <- factor(ifelse(avg > 0.5, "glaucoma", "normal")) predtab <- table(predictions, GlaucomaM$Class) predtab ################################################### ### code chunk number 19: RP-glaucoma-sens ################################################### round(predtab[1,1] / colSums(predtab)[1] * 100) ################################################### ### code chunk number 20: RP-glaucoma-spez ################################################### round(predtab[2,2] / colSums(predtab)[2] * 100) ################################################### ### code chunk number 21: RP-glaucoma-baggplot ################################################### library("lattice") gdata <- data.frame(avg = rep(avg, 2), class = rep(as.numeric(GlaucomaM$Class), 2), obs = c(GlaucomaM[["varg"]], GlaucomaM[["vari"]]), var = factor(c(rep("varg", nrow(GlaucomaM)), rep("vari", nrow(GlaucomaM))))) panelf <- function(x, y) { panel.xyplot(x, y, pch = gdata$class) panel.abline(h = 0.5, lty = 2) } print(xyplot(avg ~ obs | var, data = gdata, panel = panelf, scales = "free", xlab = "", ylab = "Estimated Class Probability Glaucoma")) ################################################### ### code chunk number 22: RP-glaucoma-rf ################################################### library("randomForest") rf <- randomForest(Class ~ ., data = GlaucomaM) ################################################### ### code chunk number 23: RP-glaucoma-rf-oob ################################################### table(predict(rf), GlaucomaM$Class) ################################################### ### code chunk number 24: RP-bodyfat-ctree ################################################### bodyfat_ctree <- ctree(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat) ################################################### ### code chunk number 25: RP-bodyfat-ctree-plot ################################################### plot(bodyfat_ctree, tp_args = list(id = FALSE)) ################################################### ### code chunk number 26: RP-glaucoma-ctree ################################################### glaucoma_ctree <- ctree(Class ~ ., data = GlaucomaM) ################################################### ### code chunk number 27: RP-glaucoma-ctree-plot ################################################### plot(glaucoma_ctree, tp_args = list(id = FALSE)) ################################################### ### code chunk number 28: RP-CHFLS-ctree ################################################### levels(CHFLS$R_happy) levels(CHFLS$R_happy) <- LETTERS[1:4] CHFLS_ctree <- ctree(R_happy ~ ., data = CHFLS) ################################################### ### code chunk number 29: RP-CHFLS-ctree-plot ################################################### plot(CHFLS_ctree, ep_args = list(justmin = 10), tp_args = list(id = FALSE)) HSAUR3/inst/doc/Ch_analysing_longitudinal_dataII.R0000644000176200001440000002543514416277447021500 0ustar liggesusers### R code from vignette source 'Ch_analysing_longitudinal_dataII.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: setup ################################################### options(digits = 3) if (!interactive()) { print.summary.gee <- function (x, digits = NULL, quote = FALSE, prefix = "", ...) { if (is.null(digits)) digits <- options()$digits else options(digits = digits) cat("...") cat("\nModel:\n") cat(" Link: ", x$model$link, "\n") cat(" Variance to Mean Relation:", x$model$varfun, "\n") if (!is.null(x$model$M)) cat(" Correlation Structure: ", x$model$corstr, ", M =", x$model$M, "\n") else cat(" Correlation Structure: ", x$model$corstr, "\n") cat("\n...") nas <- x$nas if (!is.null(nas) && any(nas)) cat("\n\nCoefficients: (", sum(nas), " not defined because of singularities)\n", sep = "") else cat("\n\nCoefficients:\n") print(x$coefficients, digits = digits) cat("\nEstimated Scale Parameter: ", format(round(x$scale, digits))) cat("\n...\n") invisible(x) } } ################################################### ### code chunk number 4: ALDII-gee ################################################### library("gee") ################################################### ### code chunk number 5: ALDII-BtheB-data ################################################### data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) names(BtheB_long)[names(BtheB_long) == "treatment"] <- "trt" ################################################### ### code chunk number 6: ALDII-BtheB-geefit-indep ################################################### osub <- order(as.integer(BtheB_long$subject)) BtheB_long <- BtheB_long[osub,] btb_gee <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "independence") ################################################### ### code chunk number 7: ALDII-BtheB-geefit-ex ################################################### btb_gee1 <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "exchangeable") ################################################### ### code chunk number 8: ALDII-BtheB-geesummary ################################################### summary(btb_gee) ################################################### ### code chunk number 9: ALDII-BtheB-gee1summary ################################################### summary(btb_gee1) ################################################### ### code chunk number 10: ALDII-respiratory-data ################################################### data("respiratory", package = "HSAUR3") resp <- subset(respiratory, month > "0") resp$baseline <- rep(subset(respiratory, month == "0")$status, rep(4, 111)) resp$nstat <- as.numeric(resp$status == "good") resp$month <- resp$month[, drop = TRUE] ################################################### ### code chunk number 11: ALDII-respiratory-names ################################################### names(resp)[names(resp) == "treatment"] <- "trt" levels(resp$trt)[2] <- "trt" ################################################### ### code chunk number 12: ALDII-respiratory-fit ################################################### resp_glm <- glm(status ~ centre + trt + gender + baseline + age, data = resp, family = "binomial") resp_gee1 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) resp_gee2 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) ################################################### ### code chunk number 13: ALDII-resp-glm-summary ################################################### summary(resp_glm) ################################################### ### code chunk number 14: ALDII-resp-gee1summary ################################################### summary(resp_gee1) ################################################### ### code chunk number 15: ALDII-resp-gee2-summary ################################################### summary(resp_gee2) ################################################### ### code chunk number 16: ALDII-resp-confint ################################################### se <- summary(resp_gee2)$coefficients["trttrt", "Robust S.E."] coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975) ################################################### ### code chunk number 17: ALDII-resp-confint-exp ################################################### exp(coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975)) ################################################### ### code chunk number 18: ALDII-epilepsy ################################################### data("epilepsy", package = "HSAUR3") itp <- interaction(epilepsy$treatment, epilepsy$period) tapply(epilepsy$seizure.rate, itp, mean) tapply(epilepsy$seizure.rate, itp, var) ################################################### ### code chunk number 19: ALDII-plot1 ################################################### layout(matrix(1:2, nrow = 1)) ylim <- range(epilepsy$seizure.rate) placebo <- subset(epilepsy, treatment == "placebo") progabide <- subset(epilepsy, treatment == "Progabide") boxplot(seizure.rate ~ period, data = placebo, ylab = "Number of seizures", xlab = "Period", ylim = ylim, main = "Placebo") boxplot(seizure.rate ~ period, data = progabide, main = "Progabide", ylab = "Number of seizures", xlab = "Period", ylim = ylim) ################################################### ### code chunk number 20: ALDII-plot2 ################################################### layout(matrix(1:2, nrow = 1)) ylim <- range(log(epilepsy$seizure.rate + 1)) boxplot(log(seizure.rate + 1) ~ period, data = placebo, main = "Placebo", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) boxplot(log(seizure.rate + 1) ~ period, data = progabide, main = "Progabide", ylab = "Log number of seizures", xlab = "Period", ylim = ylim) ################################################### ### code chunk number 21: ALDII-epilepsy-gee ################################################### per <- rep(log(2),nrow(epilepsy)) epilepsy$period <- as.numeric(epilepsy$period) names(epilepsy)[names(epilepsy) == "treatment"] <- "trt" fm <- seizure.rate ~ base + age + trt + offset(per) epilepsy_glm <- glm(fm, data = epilepsy, family = "poisson") epilepsy_gee1 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) epilepsy_gee2 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) epilepsy_gee3 <- gee(fm, data = epilepsy, family = "poisson", id = subject, corstr = "exchangeable", scale.fix = FALSE, scale.value = 1) ################################################### ### code chunk number 22: ALDII-espilepsy-glm-summary ################################################### summary(epilepsy_glm) ################################################### ### code chunk number 23: ALDII-espilepsy-gee1-summary ################################################### summary(epilepsy_gee1) ################################################### ### code chunk number 24: ALDII-espilepsy-gee2-summary ################################################### summary(epilepsy_gee2) ################################################### ### code chunk number 25: ALDII-espilepsy-gee3-summary ################################################### summary(epilepsy_gee3) ################################################### ### code chunk number 26: ALDII-respiratory-lmer ################################################### library("lme4") resp_lmer <- glmer(status ~ baseline + month + trt + gender + age + centre + (1 | subject), family = binomial(), data = resp) exp(fixef(resp_lmer)) ################################################### ### code chunk number 27: ALDII-resp-lmer-dirty ################################################### su <- summary(resp_lmer) if (!interactive()) { summary <- function(x) { cat("\n...\n") cat("Fixed effects:\n") lme4V <- packageDescription("lme4")$Version if (compareVersion("0.999999-2", lme4V) >= 0) { printCoefmat(su@coefs) } else { printCoefmat(su$coefficients) } cat("\n...\n") } } ################################################### ### code chunk number 28: ALDII-resp-lmer-summary ################################################### summary(resp_lmer) HSAUR3/inst/doc/Ch_missing_values.R0000644000176200001440000001625414416277514016551 0ustar liggesusers### R code from vignette source 'Ch_missing_values.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: MV-bp-tab ################################################### data("bp", package = "HSAUR3") toLatex(HSAURtable(bp), pcol = 2, caption = paste("Blood pressure data."), label = "MV-bp-tab") ################################################### ### code chunk number 4: MV-bp-NA ################################################### sapply(bp, function(x) sum(is.na(x))) ################################################### ### code chunk number 5: MV-bp-msd-cc ################################################### summary(bp$recovtime, na.rm = TRUE) ################################################### ### code chunk number 6: MV-bp-sd-cc ################################################### sd(bp$recovtime, na.rm = TRUE) ################################################### ### code chunk number 7: MV-bp-cor-cc ################################################### with(bp, cor(bloodp, recovtime, use = "complete.obs")) with(bp, cor(logdose, recovtime, use = "complete.obs")) ################################################### ### code chunk number 8: MV-bp-pairs-cc ################################################### layout(matrix(1:3, nrow = 1)) plot(bloodp ~ logdose, data = bp) plot(recovtime ~ bloodp, data = bp) plot(recovtime ~ logdose, data = bp) ################################################### ### code chunk number 9: MV-bp-lm-cc ################################################### summary(lm(recovtime ~ bloodp + logdose, data = bp)) ################################################### ### code chunk number 10: MV-bp-mice-pkg ################################################### library("mice") ################################################### ### code chunk number 11: MV-bp-mice ################################################### imp <- mice(bp, method = "mean", m = 1, maxit = 1) ################################################### ### code chunk number 12: MV-bp-imp-summary ################################################### with(imp, summary(recovtime)) ################################################### ### code chunk number 13: MV-bp-imp-sd ################################################### with(imp, sd(recovtime)) ################################################### ### code chunk number 14: MV-bp-imp-cor ################################################### with(imp, cor(bloodp, recovtime)) with(imp, cor(logdose, recovtime)) ################################################### ### code chunk number 15: MV-bp-pairs-imp ################################################### layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) ################################################### ### code chunk number 16: MV-bp-lm-imp ################################################### with(imp, summary(lm(recovtime ~ bloodp + logdose))) ################################################### ### code chunk number 17: MV-bp-mice ################################################### imp_ppm <- mice(bp, m = 10, method = "pmm", print = FALSE, seed = 1) ################################################### ### code chunk number 18: MV-bp-pairs-mice ################################################### layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) ################################################### ### code chunk number 19: MV-bp-mice-out ################################################### summary(unlist(with(imp_ppm, mean(recovtime))$analyses)) summary(unlist(with(imp_ppm, sd(recovtime))$analyses)) ################################################### ### code chunk number 20: MV-bp-mice-cor ################################################### summary(unlist(with(imp_ppm, cor(bloodp, recovtime))$analyses)) summary(unlist(with(imp_ppm, cor(logdose, recovtime))$analyses)) ################################################### ### code chunk number 21: MV-bp-mice-lm ################################################### fit <- with(imp_ppm, lm(recovtime ~ bloodp + logdose)) ################################################### ### code chunk number 22: MV-bp-lm-mice ################################################### summary(pool(fit)) ################################################### ### code chunk number 23: MI-bp-t ################################################### with(bp, t.test(recovtime, mu = 27)) with(imp, t.test(recovtime, mu = 27))$analyses[[1]] ################################################### ### code chunk number 24: MI-mice-t ################################################### fit <- with(imp_ppm, lm(I(recovtime - 27) ~ 1)) summary(pool(fit)) ################################################### ### code chunk number 25: MI-UStemp-tab ################################################### data("UStemp", package = "HSAUR3") toLatex(HSAURtable(UStemp), caption = "Lowest temperatures in Fahrenheit recorded in various months for cities in the US.", label = "MI-UStemp-tab", rownames = TRUE) HSAUR3/inst/doc/Ch_multiple_linear_regression.pdf0000644000176200001440000033207414416277547021525 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3259 /Filter /FlateDecode /N 51 /First 402 >> stream xZiS8 }lmuK[[TqHx3Ɍ'd cOweAXцh2H3 %+ɡp @F!$\,+"LH)")!S"rGS)(%A'hR[gSb8v3(LXv) 2-JPTLaPAa'Zx+bSD„zCR󕖤)ISD::ňtZ[h.%0iaְ6qhf4pVɬD!S3QE>`Yh#p- !zɨB߮Y>ϖ5>< 7@?+.֖b{U^ 4Nӊ1o+`^Ó1EL5mUoxHEw:,з~j fFe^FeF_0!⊧ 0˯ptoyyE`E6ُob$ sTLxQLV {q|H^\r9^7%q էqYqW'Y^β7i<ĴYǷk TƱXf#筌}ƴo60G)^vmU´[%b΁6@K_^@ 5!g0H(+4pA\h Es5n1/94I>)N@c'ǣ4t-b c(E1>JÄ%t՜[]EX$pЦFuнlcU_7Ռs 5_f0֍1tZ) 2Zr+9 S(K4:]%+6jܐ;Zϗ({QNkYWnWT*<̓Gcg|kvoG;`K*W/W%? wR9_ˌ$Ta6T,ziFaG uv$[iCK FZ M*5Jo?ȇh ]ҪCD " } `yW [.,p7ݦ9ݧ/=G-=􌾣#鸘s:iv=-NKzEs59 Z~o(¼/+`O.22NKZ^- _7W] ltJ}s/cg=Q`ћupD d 5=-G6ū! ;`l3{>>~5pn06o3fz߂q2 Btw!SRL|])>ƿy_9"dkҫW9;\ү-֐[-Au%Ca ` RpX\Ti o 8\-5Zj?pD M[ߤ) #ec)RyUjO-/%*8}Z 6϶ξh5_E؅S[l[v u``࡯NszKUW;b4 UX&g} 2A<>S%\:wj<#iLR6KI|#"o"":ˏxm<娍q#r GPi0G~s?YkyMѭ6Y SVhv֠-ogIZ nA颳#CщpX@rxu(NO4q<H8״I꽙lAvyZ^4-C58"0ӽ1ZtMWqz,]wp>QvJ/BP]snW2:=Mخt18ꡆ2_Cꃸ>˻>8CU3:rm ![@G6 _bVwى^ԸŨ>yãAc襑ST!&yeŭۊ[7wxZ Mߦ.nBNUwjzl榮 l!Vjtװu˕_s A0^{[(t`$Sjhv:12IS$K$O X@TMípusHׇo~{;fe>5eteQSՏ+ uOE àR'j /SHO_;[PsP1M#ugY+F!B:uFT-#dD!g?@L0ԸmoV.'!ܙ'ѯ}m/endstream endobj 53 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:27+02:00 2023-04-14T18:29:27+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 54 0 obj << /Type /ObjStm /Length 2251 /Filter /FlateDecode /N 50 /First 397 >> stream xYkS۸~~>Nmәe{ KO? !}$ۉcLlYYkˆ6KK%Rj 7Ow0npsa -Qk&q7Dh%DXωqD2' K,#RxC,'Ra]+4Z+tLbk ( Rx [*A#eljf I%p `Ё!#oxu`"ktQH3,Z;XrZHBǃd.I`kR,) ]as  @Q\3BlN>>~"\JDx1/4(餘yvS1] gb[.~<$u QeND47Pe(`E a5>KUAeNv.&ٞUrĹ=8Vej61@xE+=D%a;,O!~{x݃#x89+//Ƴbձ_Lg|J4siq=LIs [f\l~9؁,T  ͯeUÜ/!df?Q~1mbgg˳4I*_ʱbKT%ѱ0 -Ybb|3B H}xE!i]UBnc{ +-V{n __nGܽ ԉek:١=Gt@iNO鐞@yA/%q}ƴ_^1kzm~ekWaZLdʞ)9]7N^;zǘ2QRn+ϗEފݢyB7O`2~t.:-E@âI׺k=w׺}޷ZӼh)J⦲8$}IM |JOk' Tt8MƸ^]d4@4|[ miӐ7+۸n-f[QB,`Y8LYΆiI IܙޯA)4lu;6HNO"҃{C/k6 kS Mv0Ol19,^in L;`X74i#?NaYeٴtMּjf KZ_uOnS6Aй.Q&fu[jjXi5Cx rg(Vce Ìef9F}FsoRtt-"t '^v>DSuďJj^a5[a )*- _bK }wZd ?Z“/"grfJAƩ eY,eUӗ_5u.kV6(٠cbӨ0-ɬm("e4JD]y%O^kS-ĊieRf~Ulvt`ctd݇w#"ON|Ou-vDFճ~MZ_ݮvv<J-㌦+?ZXU1akf͐ {!PҎ,M(-g(;ؚ۾N1T+(鷊}bsL9ݚ9M'7-:>FpADHIn P6[ iA]̯[i43[3Z%"N+㾀rӯ\6>y&݂^b]= YV(ЙW$\&}D",|DH~}Ƕz<#oxAl]!|I@Ѣg !=b!3;T &Z/>5뫺lC=lͽ,_dfdW8{QOD1(o/@҉M<{ +4T$e_[ )BʵtȯC-SVt-CwG_~|G݄y1̟LFgkju:tX'7=Hm)2{N~eit) ^S')e'!}I˄0?`*ƋYY4\@jA[0J+'+rAdޕD^'gGyǣc0ߑN 3B )u[+ųx>yendstream endobj 105 0 obj << /Filter /FlateDecode /Length 3594 >> stream xZrW.=)8V\6,\!e#Rd>hࢧMJ 51hsb[A5ۯ6Q{1&(7M~t&l3b Hqt6ͲφM#eYk 120LA1ej@7TwDb1@&dK0Ƈ8zSGh^m~Ȅw~w*ctmO_oFV5[?NĨ/NFDep~:kDk=JL-Ω5ۉTr8׉@\`©0\>Ơpaw~xK> 7;Zj<^~jB{!H]ZOyk,Ì|HztZC>$Fw]^]%ċwl%m" ]~3 /i8%MzKȔ pOS4$Ϙ-bp>k A֜0Fbe9rq8@k pR7f!,{qẢvu 7 wOH-Rߝ.' ~Hx@h;..T.Җ/ GCC,$mZdʸ`3$Ubo6db\pv4BfcSŒǒC1'0rwbp&h R(h' gf԰BBQ!9 :;qBHBGīj{jsϛE68du;R᝘", !!i;MacR Zi7L#}ZA*\&w>f+KtlC]uDsW".0d vdu}϶U(P Dhpb^Ϙ4\TD*xX|'‹njyUɀYC(+1I94EwLS %1:婙tV7zjI_kVy3H8wN vjOIDcFemTY K_]iFng) "VRp1?7t5J_Up13^dtVĞ&v?k4WSqE$A"Tz^HΉxәdBǎi|f7X^l6z߯8D3^:UB+-" @:;s$;/5ʌ)1MAzow35ikx4hg\M-Lm0}^m׫@J}Dƹp,Z捵)K՛_9^)s<"*+0h҂+$yn>L2#Ɖe'?qfX]*zhRYceˉB0P*edL^SE{"+LPMz%Q+E59p:A\,PC/Rvf޺gb"yϭW=?Th;Žb*(`Y=r~q  ccy^vW9SF>8J6ѓfR>[P xɌ3#\Iysg'+;L)C?5b2/RJrIոhN33+x6SE޵}_1t 5#dv"YsXpoM w&XrGrSzq=e+oli@n0$Ռq*֑;KꋤFD8Rzۛ''|6KE6»Vż1hwz:[xOљ֙Y}E3fssxȹ&yzH.\or@W{9e8kՖWmk&֓mPWU] #X$: ǓDNɔq"b'vJ6MM̙]*7o/e;QGz~7zDY^i,hx~z~$_3=|4lvIRQq< BS? JBȞAs"ܶ38]kgPs}Q V㇉BHp  Qumm% !,L=쎏Ú0 l`";`(x=CsxF#|4RYq>'jzKwtљ:2+7XOz&_6aSȋ(}ckewzIg4uoi R{˄N:gK${-)KM5VgŵiQ]z߆>Tv׬&|hwr}: 4! A?JЃEQx<[?.ydŏ)v6/<`,mnMʂ<(R _M_$ qvJfeIendstream endobj 106 0 obj << /Filter /FlateDecode /Length 5317 >> stream x\[oq8d3$$@eɎ%Q<\ҮS]5sȵ@KWj~ W9SWgQ{1YPnt17g?΄wFZ&8:FY φ _1Fg_[oUal{r:E {j 6쩮6o&vgߝD]fg_T~۝=D;i56%ݝߜq ^`k|&#dfx|ZN:_A~2K6 Ȉ_[pIByU65*P op)7 Ҫ΀Q;qv?w{/Dpzxom051Jg+x G0"JG[xpV:Në=A֧2S~8=|HQ*IJQHW::ap4I[kӥ)x<~hΛj*qF8 ?۳$anZi /PjA55뛶}ΑF)rp(e=v< THz|bbE牣@mLIa+8Dx-7}@ D= moBk- OUHAF@A1Z+3QWU^.8gAIHFүKW!<>D NDv"0&D)hkKŠb]Ȥ" d 䆐QѱyIHK8@ cb9]lD3*ΦܗiT^KP}8_%#n&ة҇5-%"9U?5'?sZH)r@\H; uv G )0zCM}a7ꃀkP!`YM3w\6G֩#D.H r {[<;V:\_)}K tѧi'[$rC t, %PZFG4$]DCSؑ;)3J6\6́)?rH) 5]-)y+_$zvY]E8}D\ eǛkM[9@ XuBF70\TD%QfHg$5:UQɠyl. B:L)]d(a*oj/7λ/LD>3OfY!U(y4ŌIqG1l2a^TeFJ\M@,i,iG~/! d>֧^2ڕNTֳ&wHK\C\j|ÊYnOuZ& lR]5D~W5(X GKhGQx|ihBVBr&FAo|y|@3UYxC ہ#(,AIr*K R $Oqp"no  n*Ӗ'őVEKObNb 3mNYtO:J A3j=Zn+kVEvNĘeGAFd%/~&h̽ ;P^HQ'dXfw`)98]x7ϫp~ݭXOp EA3*dN嵿1`iׇԵ'.' *{:Uљރ]dۊڱxr.&τWMHJPCSqA`#>fn | LT̳LPLmT:&1ɩJPUKM27ܕӪHZ3F UELU$eRE&'"T\g0Yȁr߉!9 O' m$۰R.LX.|b\T%*yOod:J2:Ց.H$lGȟ0HMEjVgKuL(Xh 3€Ƹ^yw,QLK|SjgQ $)T%'cI.mI&M~1Ȥe3pY9ѼVM-:f9R3:>Zb"WR%Ҭyu)u֠6V\\|LԆ~JT;L]. Ek1biEm.'#kBR;7$%PyE҆5I:s%2 ?j [r,ƶ~'}@2n6H1/:t uZ^\^ ;`㬝vU͠^|G"ZȜs35FD:&^gj-`Q}.%[$-<&F .5һ U dv^%3F˗2h*i29bQn\Pfh)6k>/V}2s InI@ҚnYˤ3PЭKXk&<ĹD&^{Rpc&"Od@4`:S^Yr4hDJ Bl]8@ncU*=PsD% -@XDt, n|%H @icccn-R{?iEI;ji%svj SLPG tt5H/Ӽi2^T˥`8̣Uny+I$`! Ѩ&:m=Ȅc-:r)#jF942)DZ6.>e ”M- U 1 .}ܨA#Zm!),Fd|M5%ҡ6&m/KG=z󼞐J[w6c; d5%]maZC&,T -gLiNȏª}\]*['4b_7*\I%Dk7c[vLbI1a(x~Swl\Q.]%S^=!d'~_흼J.#C詿k|5+lwkoUW1sOX!KN<ꄋ}U">#<{k^ f,.FpSk'%}lrkXwOhrz󤹔zjuF:r*~KY~W^{HTQi.axN&ټyz,J:rqsym<חT k/2}hoI/L9gr,*\2eB zlܤ׫;0.ӵg(MYaI[֭WklT3rFOxv,^|rtG:UϷS&uW#Hջˬ X1gX-Q}@Шπz: i+z4{%6' ORILv|S wF<H#O-p17\h63ݒ)DvҐf/D7kѳD#"<]`[F!s"tr<9^g:yn(\]/] X'z/U0(ݱA拖 } iP;F&t7|D\,Ὃyr"KȯJAkLVMqBF.؝U(0wfT@yxI~netR.RB@S⠵ MOocةYX?$}O.M*J6lРӿ0e/ZMr۲ۭY펹o> stream xWyTS>1spǻzJ9oL&Sz,bL0@zId/I=aصLxaH|4ppF.E\U ѡ!i;8k3g,t\/O_v;nT $8N[D.rvs W; ǸPM@u`tl`*B/<б/8M`* 0:a*Hhw杘q~vz qSYɳ6w -qbIZf3Yϼld2O/ff:,c\6mƉqcf9ìd^c2yQhg^`0cqxEƑ̢2vL2s_Rvv]>W1CQ'%tઁՃF R :`Ȃ!Cu`r87wXÝw4z䜑ţug$IГ "(J2iNk|Ze! ҢHHӱYzm6NdZC{ !E6 @قr{T)Do-B v<6I=YpQ[eQQ!2S}]?([e3(ewopLO{;(\<}4k@WzVCN%]i-lFYe58h*'yHy6yLyGwQ Qă M BgAcǠ" vloؒ Ρ'(E~eLy̞Y(HH2҅n-[VLFXW܎ᘟK3 { Q c o[]Pw+>+}^_1 %UUJ ",D4Uv2wG7QuӾfpЏ_8?ߞ eKlR(B:qyD]:W5VL*28nټwwxCdʛ&w(p(aVĒ⦓EM2ŃeJ˲}]TP Dn̴~Lo8Œ~ZA:c'$A_W[[oi}]v?;1,Li20f _?^czXoe╋rLb&#ד==Cay {/IKg Xv_3h2 VzY !ǻ}OK+$W:'zꨢ}i[!^MM!S$26PtX9PkjUAZao^]X!s?⺯]k R* rc|f++Hn(ǭDd(nV竈l.R+~|I8z&D#COŭE",$3$*B`'fAB,,z$LZ} q+܇>gb f?{Yٹ_JkEd]C֬Z/{{٩TrًG(%:MeMhOEE }>7J!3MOWd[LZ. h]>׸`{5קA|ľ&"BJQwe'U;*!0MEq |5D`I3(*:C!h$[eiz'qSEJ* #Ay9}q=xMb;M圃iE:iSҁ8&smǔ %'xKU^˕,%c`Q!6?EPQjL1(MP (sWDkښq-2 dm~9Ϟ|UI')[#.8K3$2PeV@Xᨺ(hlmɁɡAaQ-4';K%Y?>UpM==$*0 Rl$!V(;\r3eqo% g`>+y$Zum-:{O;1=Fr_8Wpz"ΐm8WvuE*">g)b*kI r|O${^Ks]#uzۄ:+<RUK!v%$O@'wpÅ:!ᗕϚitTD_!p6O6J,S$xK Z  ǠSgql,3 &0@'5XݛJ!8zom:ZR!{$z,b}M:N,U:ֱ>M&5pd42%(ok)iT7O(z eGDFH-A+t5lml:&WҷQ]݀ri:FfCͽ`HϚCq~osq ?pmyfčJNn.Pƿu",KJXj[l3x ?q"цpev63SWҖm/m`q86''c s\2\1V63]Y`kjubAӂٻ%-C*Le& +Azo]0D/cp_l,:R zz;?!HK:dd9}맔 w[z[:vRk|J1}כ=z3`KuSVZ!%Hvצtd *-vYFFWoyŒvF+5ȝ ܺ;[bdXpYx}IIܼ,i򄺆u )_uzHPlQ&JnF +хL\"-TTͪ,HNȥޕtŐM6%tKxAv!)8Tv 6ɒ?N'B*pVYa ReF-pɰ7II8[^c2 گ,sߔpހݴ~G(4q];YB|-#&B_lGT@ dC.t;t'8O1\b.o?v}lҴ F2Nyu^)|B &&J^1K+@C%h6<+(ZD "f|cU6vL|A[BTss[(l2,e|H̽*tp3眺K7H,~Qڡ7^&C,bÅ@a[Z_pȢpPƩ2O1fT<7,[ƭBl-9Џt9;eؐq?Z^Q쵙Qɑ) /HPR[^FKب <8Zaa#SJ፽|fh8^^uHIGy41Y]p,"piҴhjH ^AthR8fۜMWnQ[ˆb^ǒ*b-fHkv7mHIU* ,qc81??=PZW> ̊, _:d`yd 5 q`]v6endstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 111 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xyt׶a`Z5$B7{-lIHllSLqCB :nBBB gI6_zb-/$9{Ν(@ tո X5 {]r?*AzRB 8"yvHhL6_HaÝM:ec: =;=|t^;2y4Џƌ1:$#E95Z@-&PbjL-P˨T/ʁS)zC9RNT_՟J8PTW;D){*zGUЍZBDu4"u; ;uvAvEZz -e2q̗]vt5ts}9d,gQ=V,[wVnw7{OJNN&OudnW=̒8;9{ n]r 4`FBuغM+PeA(i س;ǘ kL ]ٯm3jG2M:MF+9!ã4 NA! tW`7C&z9$dlsYdoaȞo3o$5:N>⃨zb"A*$kﲭ@%h ]yzN!J+alq Yʈo] ->x%;uľuE#cv@ԋY/ywbf5sEu7MBdE py4~kX!J*hk_."/BNOX/Yoh*N* Ǧ 欟:Xb+e&~QP}/?z}{^#/.O? 1 \ Yh=p@աf^8nnJ].VU`Z`tS R! GG O} Zp2rfW9 jܵJK-+C>;Gn_ԠJBRHe ZK۷Hͭ'^>'w,D8 MI Y2Ps)xT,fް B-hHx, ,t A@LnL G>'sOIw ^gF#SSeT|^` 2f]%m~ۥiVBU:#inX$#,QRFXA=\skg'`;c}h@O^!/~)oVS'84 @p?4ϐ޿;VHm@}):G_3 F/j=(î0.,HR{Euaf.bbHFY<iDbB@`f-{hw&#\Fvƌv Ph }`ҙ-#&g. ǣ#gON?_LPih,p7leEhT)$ AR3u͛oDoXԉK* >4ka/4^+r3Uy 4YZPk9:* ˜CԔ_[XƉo n$f3:d s 2 ۭضCo*[(i;UPP/AO7 e]Fiu1H<'3L១Sg}ďZ`6sߓDsu`!5FXHh8e /:3)__MtsuނS}+=D2j9Mr2$?YiDNؑPzW{@<~!URqmXԜGf} L~WG?9HzE4ޓUxdYD~HfCM(хug~}:P0pd<cw4O@$kpriG գ3P/2KP:̢Af<- 9W0op ypd*𴄳5sflAc!6hnrfr&joQ'HUHuvw ' "Ԃ*"2m7fhpu!}KAODٜ5EՑ[~֨΋hHV)q#jZ=PJ^PY;}h0F ڴ(\[۲1[z\PoYVJB0hm61Ticq0TW[hГUT6B*71C= 9D|;lT:#@Wnj]ěŸPϸ1]fʩtֽa5cqnn~\Fo1k6ݳʽ»r`{|l, y[c+Kiu[5yM>5^C۠\|"ofr6 yEIݻWT5[ Rt&lPe'#1Mt-6% r; UqhBmu18 wۼrj;8ҕZjIUaxR]jW_u̖đ2&'LJZ\N 4=VKmd cA #iV`ѕv_aNsdV53ÑEM0"AmK\ 1, 4y{N|]!»C r#4h)c$UlF|#!fCgtEZ%)b!,)W4ԭ;yoo ݕey_ Q̢"Qw_0[7~EJXTnwi "OLأ:ACuK 4F}>_e(}NU"$;z/0`hd: >\Ix%=!e<|fc\cxaWCFeZHA[T[U^T*puR`Fϛ۴]~os7df٣UptC5z%,#zf 4/C=vhw! 8\b;BR`smBkp]͠W}kH{̈Zd|Ejd7}ĿHE4CQ=0OPg~^Gxe"Y|EP O:m&iėo >}ws^u&% 9U- Mr4yǘ ֔_:on{9/c%/rDȌiV9HBEt~7[n &C-H-RsjaХ HByG6/-:?{ }ldr9):Iߪ}ɤ"2af )&]eϫRwVrB1s6Ξ<#:nqu:7c똗eqꎙ]}L@;?N5x=I)ዿ#Y|zEK1},yiq]'-N0(]_ULe>$$&*l7]xJj5555d&!Yj@3 &e[mHKIEu(%U H`b$ <Et?!b“,ݑ`4=  $xl3(I[WWQ^>9i58E*u՚Z5u> cX;iw_=}h`D_XM52u !*!)%|?3) Ͱ--G|Q$cSPiM|+:ܴ{N}sm&:tt:u; '+M3Gm/lZD @-QzRb*ߨr9Vj`TP^s|Tcd]W/$[=Q}!p'O-v0+ct1|>nߌ]: kÁj/g܂ X/Xa^vin7rL^)f #WXNGOz .Dͭ FrKO yCM+4qgK'$wccƯ>}1~)*P+/7~qښ,f=IEhqiA;SS1_Z}L1QןΙP?xG)fUB2to‰X>]cklx|bA0>KR smަ W#TNUF&eA w@tqp^ۧ%$if#fB c/DdY-5`K0kIo DKmz iMp]m䣗f̸diFȃLf+EHw:QG~lFяע,6%6rh=ץ֒ΕʌT iMQ fm1T$Ht fiu\^q1>Z/Ȉ#j<='l+cu`ו**bM ~[']:KĿ"Xb0?ӽNO׳EOې#Vl8Z$f=%"X3g>Ľq?2OIĿa=b$XޅfRFyfk WoEܸ:#Y4BLoXdGhpj:Ved2%Ci}`Y]{zTP/&E lV8P)B'"i /9]QRy# qi.AyFȧ]/wvŘӽe}5endstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5616 >> stream xX XS1psU\ w/պZU[kDd_"!@L @¾JZW\Zmp{U[kiuimڡ B-|sg̙s#<Ob﬙?'qcyܸ!(;8C㸿t9C(m4Dq ⰐPǔ]tnq+;f1W9rWDž󡅻E* ȁ*1)eITT-(cՠI Bت?ٶM,h$S$VgfGXcs!0"0} rF!p?@|K3[- g}aGނ a}ً-3uš_d$GT̀C!5K cJv~u3Va}9T foZpӐe8mU&El:X:YZ(9\ !}OouY>qlcI^r̲_f:ߺRcɖf[` ^ʬFFAWn o=*+} r0k3)qZ\41=Cm Q*<p=F[&TPgL~ֵ oضBCȁB #XbGnX8|G>\ i8Kp;=ң t &#ͮ4̧%9lqntzU%Q1ٌ6qb'Df(Yp_,4oO 35fgݵPY/]3h ? 8;5=J}Wa< EAA6TR^e~dvвÞ4ӕ'5U_ic}٩,\%zqD<$./h2 _5/@LJVxDMF:N4Q)^'!$j'4kbp!P XIK;;WpFp-Z FE ؇=f8P+PёRX1vP`w_BX$9\ Xȳ4ʫqu <;zOi8ӥ֪#3s̼#wWuLPӡڭaDY>4 K Imn>(j{b?:݊r}c\0 M/KfҒd;<5oE׷'5T6BY jSYõ -{ {9}7@e}0`f^W##NɱīPW-J@m "2r1ZAK7')_R֥zP JKuwNĐRlF\2@StPb M wvE87P0a`%+ߺCK}8O|tr"{/VF2r9od4Q}t5/ u>3>j\(Ary4|d4 |< 75'flM*XEi/%΀NqT?@goZCˑ'țF&`OPu }9ZuNXmzYч . d2޹ MJpGG}B쬃v@ݻvQՐXϚ9Z*u!ʪ UM)5a;YyQhN@rټ]e2V*.j -${7@ 5z|i睶S[똤YZE$_@rIJ%9.ғ9Z^ldk #l Ez8mkƔ}?GS ^#_gbJJ;~odW7 S_-1hIᩛX4fQe<DUDEbcA V3Q65+8QUULrĤ,@׭G.0jl}ɍmbt 8N4b:݇z_9e_u݇-.Z 'aD츢4cn6nݤ⓿lѼ5ǽ3G@Riϲ8ˆtX n> GAc =}P!<4>aN#=탄 u 7G@ey7,0tFJc??A}ڲe_]oWhݽG 2\ZOqy ?ߣ;ǷV SMjZ)lk;wXheIeKջ5L2@p>íko&YRSߗ_<BX@}᪒Do)$EsI:;iQJx+D)c~xNY{8Z Ohr o @Gp ħ|z7Iׯu&)hbKq#OpsI[+KKNNgmIe5Y@DK+ezة! 37`9ZTd 00M,52T?8rbKs :MFa O)3UӋUyLMg;_]m/_p#~b"y] rZѺYIZaf6tŪ?=FĈB|2DSŸ9'^o \Rt"#U-3%qƙz}F\qޫ.:y_v r]i OIKOS3Q7Ib) "$Q Tn(ZC (ĔY\d?@XP JF^CwLZU /P710{A}>%[a$)n{(GD/!cs1vo@ v򯰑sCzw}ڮPP%VEB$9L]sÿ>o&Z{4?{AbWDrt|F%?dr['\Pٽ[`HM?i؅cYc{/TF ?FBޏ_B'Hڍ0Bn ؒ跛0 KY:.KGG[) 2Gu^8[gxYa5 ނ'x"./}",? w)MȎ5 \[fԮv _ײ&ݴBEXKCO T DoՁ2:#&FE nioc_φ΀3eSzO߽qHDj`k[dt#*w^zAg&@EF##c451ß7Λ }47\q@tl[vMC9?Ji]Na>cˤ-T l-M]]M< Z2N) ['$JR_gַ}{ +dz r$˙ v):DETOwipBkw0Nvtv|n3g:p.FCLaDؗ2:7]۶olpT̜tъ:blo26aƽAo/[Ɠݰ?z:=8h_ ) 2*@e~f!7Ek"P-(fY,BumA:'AF,(/RƘh 4m76⎵6ט7{< ߄|mYG,iTE:7ur0bؙ RuҚ gTմoL t"uS I?v:l 2%diYq-1%8+Q bc^ZA*Z?AEeAPwiRBVV}ۀ 4 uч8jV D@xK h)h|Uۛmgclmgc/Vw^tմg .K]Xj'8֐H=h  񟡭VpGdڊf ː$ks5V!Oؗ듢4py{q.O?oE8p>{O(z ~ {$]6,.WZ#L]c:9/ d*rSfDJ]Q_:Y_t9LH;̇x~CG;曞Is4>lg*qjER}Z =4XWZcFq+ "% ,Ùa "f''7[]endstream endobj 114 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4616 >> stream xX tS}BX<*B($@)!\Rb »-kv}Wo-۲16,!vL4d)6dLz|'>{s'\D@GWXMޚJu*Б}jFSȧ͵qA,7~-D'9X,@FNz5-.pAtrB APJ|manG0\e {vki6{kρx]G7!vEo#IɥKhCG %B+,=v\h Wo[Dt6VGےm8 <&cJ  % =됁J>la]B/5 گ~51_>*4tN>F:U0'Ϙ'|&]G+*+ݎЭ Lu%!8,VEKUm灇y -C7w$9+OK]Eu%x }@9ӒC@ݵF !bXWF/ȕ(;J1'@w9h/ڏrP)zz.\L@;Ti@ѷ{. ٭DfA<}Ⱦ)/F['nƃnuuBءHvГN h4P{*{H&k{kV@ij!%8z %4eJbGEf 7s&.rVCkiJWLuz@XO eTɠRl1@NvM3LbNz2*Iڌߪ,X~h7!`heK5y" ;Pw.g )tO?9U~qspmڨwͻKh;G?\'0lHzE NS_ZlmmvOrHN=3;*OUQBw\h{lT\½itb׀~Ӈf^sYV$+ÒάۜIZ-pW:P$SoH5XAGh;.,z3I@kW!U%hkļB~A5&>kFۚu!Gsɫei u&h| HSsX&bmrnrTz~tTTIW(c^MK]=Qw aeHn$/)*)[z̘(cbfvuk27Xe( `S[۠(z;Z;! qoJ@"5&),ZSpq nWcA5ϐ +^{R!M>` dW^[v^LWjI띇khĂƹ#}e=k)rT:*zh"!of0+c??'Gȋ=|xG>EM `?lKHTZ%Ip{\$]D_lږt7Ef=r=0ڡl:+% 9oyߵQ Rz(DD'_9<h%o M{h]vpg;J-)t [[#}c_z翯7˝rN'SVUWyhhBWtў!!m}*IS龱CkKItj\ꠂ'u@YBшAE\\`}=GN߾V:[7MA]:PZE(¦v9`J?6\d<'.}Mm!pTWBjZ[9B+gfL 6*tz?"uhfd@--O.UX4VFR%>`q(oZ/zwsH\?xs%}DcN[AF'[9O1 BLs;X@+*.cc UNO>^tVXC9Y55 ./b(2fFka1 ˜W&gKvRe*(uXJv`ůNy巰R^u ]?\3R{|HzK1'1&O>`v09kxQ@^M`0WQC"8 45Z䶉YXhy@h;}V6OC3\>uȍx?tOD40JrWUG_A[q<32W0U`{S*)t \ ~DjLo25.*Xm+EMqq`7kМET:EdK J1&-^="ZxڦitE/e7`9k@)цOdh: Jb6u:j^>$hqN( 10UN ?wtvLPR:Q#M( A#A4fhF laAOk#Ci0ԛp5tpAxfBd2z zqMW3wwMvltPt><\Ԝ & j (4LP. ' rw rWX1ܧV2@}\j^NAAg@& ՘R<(fSQL{P_NbTC5̳MmTcOóRJC)b+R { _?Bu P@лڿYO^m:{8)_O$By_ 0XM`b 6I%KKb|*ug9|y\xi2ba8aXszJw{!-爡J/֗zLF7U }EzъrG?p Fݿ KY[.nambw[nBRRk)$ |jDfGQg/0Ϭ߸,J$nƂn $QV "1k|ĄjZP6)˖n)n~Ѣe^7>bʾV&lHwpBW.6[o īBq#mq*z+^y),Fr[>kxą.#|S*}q{f;,eA,^a=;*ؓ/ P%֧nr׃2X,^lkS$`}ǧkCe5 E  r r|݁.?U nwbCä8g\{3scSl=2 ˛hendstream endobj 115 0 obj << /Filter /FlateDecode /Length 4053 >> stream xrN#ٔ8nsI9$e;Tq()+d9?i>,2=ho7bӋ#9y$6_Yـ8cavsq䂘/Ώ=fafk*#fJY=k64F` Z>ٙU#e )n:ڪ[~bDVnߟ}LMvs(6l 74Nz{,Y*LG2L_m,n>)*L_>+x0}9{q99˭'L'O aD R"[ӆg /z! v[.`׀)G* BN qU=1YΓG %XB;5=o#x傚ζ҅63BI:!0+$ʸo8{UnaF[}}O/* z@}QٶK3꽞>*#.x/6Z":rEKTZG Y),.z=m.+"4&A~<y׭!j&I@Qks.aJtGuJd+\ \6Z)kTKenj h$j))j1YIg6D1njhM/#&iB5ubނ6qwu1jD{MȘ->+nk 2rjS""!VMj̜3qw0\RljCluox%Ux5fK?[h>rCHb1@A]ܻ/ϣ[ -%"9ǘ>]PN58z`u4aW=1CSQ#B.!) j;7('Gi4oLC&҈_}A S"x`@ʔ"\E͢ytY#[LYP'Ӈ /(=.piM}]ޯCAO =/艁٭rJJK "Ma3[Ei)譓H[cL~rrP2ЏJX_Lbn@:!ɮK"6ɖX~97&+%rƥ'z 9A#Yv$FrHNu:J {B@ZDT&3A0z V7o@jiNa&뢄ETO9o uA*HNFau'8Qi>%5E#>fM^a$0p.)]!1j>B*6 ̭#\L\Gb$i]'IҥBG(܀1K2>ge )43گ(ź(.@ -]7owKɁI+~@rZR :>26#:!"ueYuԹ3nΓu?88C8ѕ)1SK_19!fZ-_!sAQ^vzN18> _YRx{w.:A WӽY\?E+fMfTN,u0LvW8FA;o+eR E(| |KY):NqbAyC ?A/e۲5&>2Z%֍tUጳ؜65K?=o98J؍ oMmCrEw׫&F .Y[uб8R śLSx!ClC?abKʼnG令[.a!-̋ur4;mڱ\tj@([x`h\YmsEŀDZTOn4Qx\Dڊ\l62h=q0c7⡴Cq7{OlI1WD0d4ϵ7+PEf*8r#]4_kfBfMO?92Npk D]`=H8iA͝Ǖk'CqGNwyݴi-]LP3=HIU)B[/8ˆP K;K` FRQcxQ\B8 u';.'H;0vLأ?hJ,sŋוREcP!:7>CM^fՁLn, aq-_c>1%JpO?1h&0Q:t/^WV*X 3m[򮯹SW;Q]4;mʼEL꾛 62ӧë >A5KsAW GBe\]qwۼ?ӎ0}ɋU~p0ga;I0(߿CP԰͗-JyA*:ꅅߵrtJ`Nru׻i&Sc‰";f힥Qumuq:sIϟ?&ȱ63cu\%`T6kʿ~)B::-:"%MWqdZ#Pt7잤^ sYW#@ƕBB {1n$n?,w%j}歷 F/=gROiM R-+UލN\^Cu6Uy޲etb(/ㅺAǴ"xٲms/D g 'Pi2+),X@0.vA5^ =-VQd]lEO)`҇x0?ފ(v4Mf> aZҏimp+DPeZ@ȈjW0tt۱zIkEzjdME[g;I170;ZYYpVlw_ =I e줚ѯuUeaVpѳ=_daZaDB G ;תٗa1V˒rEZvwS۟WYmR*č&;A1*cHV}o3#)M5ؒ_Bat]-Vb(wZMt)N|s?0qendstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1328 >> stream x%kLSw<\StI3\oǂi$NfNG[Z JKK_7P(y3|5Cd0V99;0dzKJ_K&?ÓӒÛ `>1݀dHqY* qos<J!H%ZDIthWo?(iy*j@%S4ڑWiRR6T& C(I4) cL-UJ1m느Į\{[ Jjw;z;{xV٬6s̱sg@,L?%7V /{>1捽:>/M }ۤ.$]<3uU-bJZ]pΩ2R a"&.=qzN(#qxxB TTJ#Dbd$$au bWӲGմCX1yBaEī)xc3{}%rN Sx>}}ExK[ &/c ZΪL1lz#0c 0!l"zTƅ#Tfy@吤WIsf>n8ʔOk(z$!ryb/PbCS [Q>񱋣, ] ]96U#$fƈ50a ^bcE3 > stream xcd`ab`dddw 441U~H3a!G=k7s7BG``fd/mq/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS nӃP%E )Ey LL@b2X9wʂ(g!};{%Zz;5:;[$6M;}h L5mbSvwLm0rw&Κ1abOo$iS䀶xw߫D?JFs_[zfr\,bi> stream xOKOQÔvS15 Zc RH 202WJ*H JRy?,BcK [ss6!S8.lyZ ]= "i.瓖c)!Զn <^Jqn+++|.9UTYOQs \zjEa^O5:J`1 ÞH@` g2撹?=ۃ$`n9;5VKpW膖wacTJZ4%m 閅YZ0m"xzlZY*w:қ ӏ&U,&E0? ,_A]n $ڧ;WcuÃQ _ 9Z^umFԀW`'#N1L~nIdM5;$cQPendstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 543 >> stream x%OHaǟw{ۻreN1aL lܫ8nN:x.> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 121 0 obj << /Filter /FlateDecode /Length 4203 >> stream xZ[$W湄7Y+*9H Rgle;jcZFΈd~M/ۇ\^>Cz,<bV[rq!EŤڬQ$ʛd7&lpKB(kJ9m*<l\ȓQI-)3jP5̎5&}jyy%KsOL\ gfhA;x⦍_nxAMǓڂR6I:x*}piO?&|U`'x?<ʒ|ps@6;o&l-ƨ|yay}7y*G6gٔ^KE%b^w` (I+'1"&$uS]0ô"[lYV" !}~ Й%㠈z7'Càh4i(0 Ww#C;ilqi`j|ڲ2\[' E0T,ϓ(M q,%`OoYӱA]P~@~BmfAVh:E"ZZU@&._ &`ݒlUydzכ55$;p{({gk`O0yq hUzHݔq}ol*mQZlHaBP2+G/Bǀ17X{n TʍCú ;&a2_2ˇz CQ#*fWإg`S.NsD$t G-R4 oN: nEhVV ~o\~cY[2ΉPji0 A F  ,0+`t[ঢhF4fcda&b L zh m - ;TJ0CLf$E9*'=.!%= Z)]lJgCod/H(}"0,#X01&XySv)eDQ'4QF \HWBS02A:gG^ϾW< e':qz-fqRRKq:/\OPsN+vdhov91j}%WRyl%|?54b/eE g"tI\(#v| oVo+ņemYP)eYY<>V\=;p= bNXXާƖ؟\Aw %O5 *ͪO.K phHIԱEfL?EHc孋|-UĘm{8_y{OB-W~ޑW^پ?@_p{ε?~u5x5xM.4ŗ+jR+?Jre״ql*OoI囇IJ@s'sU$:A{<5ӎ9}i7gvHS:e7w3SuHY˿'!~>8XygEKJ\.F뷵cq.I߳ɰ!ZԂ9I=.rZH})|{דwY;+PN }&C݅EY-\xy2?QҪͮ>2Bf J|v;*:K+\!Iɋk ?8:+8giUeZ~QNMLsi%20'_Lux9>W^d}*BlڍHO]}/d-Fy!yY6HrQzޔ˩@G#sš_h/Z6?Ur 3e4[1siI(`ɥḍEav. hDo\ܻ }-ps۪-y&8:ST'Ǐj,J5(1ELPN5g{W-HQوg*b_ϕsC($QSIfXZ(!w܅S{},aXx-Jx6" iF\;وY` Ŕd^~jS6'7ޮC~؝\c0|zXw\qv֗3]%0q8ܱ_Kf'Y٠u7MAɘ=0rP|#\;i^̚{_>^Yj~#cvXyXzsDz *igw߃7+ O(ӌS}+ )/@厘'VP@4!fS6+߬UwC?Q75RnYd?[_vgfayaxq7171nm\O좒Sް?IT|~,vU] +IDy9_өMY$!\}>z;ΝS5/ӈߕ]ďuňR 7f_ӶZ5a]i;,jWendstream endobj 122 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3434 >> stream xyTS5+"( M"("2 qD2*(3 XNAjU:à@b@Ԩjվ}N\ }JMg!4e0i?%0 #)Ag'Xaxjݥ- QH *ƛL2EhzfۨLj2(/#-@(qb.Xp.>c8~pFuĶ6R4r#റPʄL;=zaWLP{2+iGcIAR= lJQtv'fN>}"8.籭>jk/><J=Wx,丰$ ݩkS T€i© +47+*4+aC'z95_Q2[7e pGBh`԰.甬2`HNj`EBF{s5Jߊ8{: 2-L枰{F wxDg`&_ vXEkDn *OBJs{mem 3ݶ?`gKf#۹gygMQ(1s;' {MH*?TA0Ө}"!P0KG2sf_NQٲ?WT)J7՜+l  w]ˮX.(P^9|NN1.x(صzD0&~ə9G*i;%io A<30m=:$k±B,\J#| KvΖU4G&xw"e$˷f, bܱ\p'+9 =" X' Id\81`O|ż~9;}pG$|7؆F\O.üG4i~^fϏ5'hj$hflh[憐UYqȏo VaogۀVnYWE SN7? {Cj,nf;e 1xnjX$7,Y'YfH֩稴csrhx#@\Ud*N-*NG˝Ey͇E_~w]bv,nlƤGTGƻ`a*$}xߞMe3xdSS0OGc UQWэ4bjFS?2[AI {aBsS6XV` F=ih?S[Ov{"YSArd h`-q Žx-. ^tU5ɞ<1|eWHgoxV؈pFɇ-ICZMRwQBŜ;rž]䈴]{c)Xed.>~!O8Fϝs}pL2^%>g%,⹮ -]˻kUW[\˓[{V"Ů3ԉ~<~Ef&1Jp~0-d|aL Fwl{|V5؊ HiEx-!i;$8E< ^^b2d38} BdD]t{i!MQNlY_&=V7rCQ0i~|)b5*ح5`@!LOu4YI ˲ `ҏm=c֞{Vur`ކ'J }YV7ѩ-kXseɶ M[zgЀ9YFNm0Ӫ!@{EkI#Qo8;*6!BU.odT)-@ɅIYs 6!7HS[{E`Oџf\Lrc(vղ P^vW_U4>f-(8o<؃v3WmօGZ;'MځCraZilYq >I/v_|_W׆ t'1BBh'cK^dJcv)9XտU#N{4So vHi*}$m j͍xsd]ddDߛr(ڧ-} 6dg-gQs:% ;lҫ;Zvuƺ/)J^'ߔ- M/{+!#bGn>qyP.p7#W1tcOKʳ)jRXT ݅{WsV7q<>:iCv bp}tRrZ_c #xﵮ!l|ʂ{Yd ˁw0,URd;t]Iև#؍V:94`඗wPrHFB0mbsּŠ.> stream x\YeIqx,G7naٖe-@ڲ,i520/Υ1:'q?!T9B-JTXE^C/Z4 ?-ǝBN&OP ?_lVx|=4>7xƦ v<OO xx ?Ȼ4^OoGNmW/T}1/Lir<=<;xoī մ1. ri.+K O/O4Oo.L?s׽ܟ>>q~@Y~s/ۖORsE1–ާ|o}xsp$ VbdN"OL͈<wrpNn *8ywmpls(LKpnG#nѥ/0m <^1Ct~P2m?( 爎 -!T, MgE[xȎH A!l-H!dN~F|[(B`*#5h8lJ!`P%8M2ʏ\[Yi^<*'0s2fIQQ(H 1CHy0et-iivm5"&gY O% rk,&|=*#:4hfJ2:]Aѵvm{q|r1CiV3lTVE`Hn!mCaZiivmk sc赏uj x .DenCj"!a0` slNȚ2f1-+P\KQF>. 7J nak0 w'jf- VaP: u-:вs8CtaLh$ ŋ4̑Y#(L_)+@X8280Q$L w-´4{;ĶTֈŏqfKˆu7fS?`dRf?9 XpaR"G bEPU}CtF6,&Id&ѷ |U4ޟ)[a:epaes@28)BAI誃ݔ{#԰hv5=*1׸!%M'Q;2#u:U@0ET4U 9E>t\LX/d^n`\NaV2mqBP- T MjC~ *i$*U|q9 zGHt56`n% XOu/YfH0tm 37%D-L؀-d1,o&eW"Bj@ތ0D(Qag.X(:[%ѓ JxCJgR \,Y1\P Va̒Նo M4Q{{`ˊ^,z"T 定uEF+bT0`!%|hx K ߵC S$O6ô*1TA)u"j )2V0E=8Nyl_bPaoچyh}-|ubX/*zL9X< n2DώA$LtZ6 /v%t4{+zIǠA>Gg -5uҴvXړ7[1`/IlZp:Gw1QF`Z+Q+l`*XE PbEzMf5E 1)X  1Y"CaFaZZ㖪JmljNb'Q;5#:̬Px8epaTfuaUAazwgv~R+H5jatQkt24nY <鰔֚2*AɎAo{2@o-P#L 0ފĴ޼T =KIMhe$*m UD8R("j Pjh`7m%G#I<ڣӧ qRP Z* h1Bkv#1p%1.+*yQd!5*s*hޗ{( L9$jn=z)y 1yk'+l uD"cavTJM-6¨JvlZa Ϝ.njw+mj?J&;fG^!cvT2Z$~˝Q5ԘfN*ewc 8^Oo=.Juv>l*p} -GÀUF 2 ҲP2L 0-X>,n,M vQ !4$()j)$a*#:&l]?ObPt-Ù-yFYMpH oNal|wBo"38 XepaPΣE ȊS10 Ӳs8Cl ZgB1L1I-0&6S*W. qpQ):\dt#6{;6^D9Ўl'&x _9tܯ C 0LՌe";,En0/6dlO$3P؜;Jח ܂j .)a*P8ҐaZ షCk̃ѐA}zpFLq-9K"E`ʸl :8bS;d(QaoNI8TR;&e E夊 akuJ`!V`P%yN`a0G´4{;t݂s\yY`sFf 'X9~\(J82d;&P#L 0-ގ^7’Em`\qRܰoMK:+APcK9 XeȈ rI69x2zkaepfږΘÚ\rs,ˉ>rG^+ n[^ketXV[k]aoG(W%%&d4H U4`ԽS䨰q0XeMM-´4{;zR.OnfVdg#<vXzeQ s Vҫt F8La*] 0-PE"v"oFfu,~|!,c &>jne]Qf6|Q\^Ҳz/m8YV7HHFG]sÀUGrDXS f ܵepfG(B?${h炞ΓZ(vl``Jc]49KSRvhw&hJlj@Ib`}"Kއ `Ӷn*?9J L ]Mhw&*'&lLK.9!Nifby"+MfY`ɝXmυpB3nf="rM 1qME+rֿXYgJ/~5sQ7bI+sqqcr<.PL?P􈯈7 y֗+wfƩ0c×z?fU}} T(9AOD^z_/ 9O>#_CO{8o|PM M,^nZ~ğӥ ᓈM^]nW-_~~[k.lǷķZr9>B[ݎ4õ~5bs[A:J=.w|v;ޒ$ɭGp/2_W=T(|o؎O;6|/b?'Imd7!;Bf7tq4-@c~8'0@UK8&^Myӭ3.]!y;>oSC.~փ*\(avLVD>/)o:8[Vj4XI+`dOo%\UrYʔאZбi ٥t|17דܘ&7ƣ>:-6VJ\S8~q|a8/->}֖+}/&'ؕV#-N'eS*!עWl>3b'ї(1u:pvg~Ndb5V7~K?R4,b﹅euyP1=<5FdcUfVS<{''~/8*K?dn[o:2Ij=epeAA}G /viu7!*06Ulb2LmeݍOoηt־O _keugzd1qYFZ9:wb^Z).'-٬%ۘG٨E36/پ$HO5M/V&mYjxC<+?G¦Ix.l sVd{|lVr,{^nw~SP- Ӿ(D{~b 1^ͭd]}NwEtsp^IMB*nUWL/Yi*.z pCIƼw`{6:GiRDJLV?0eߒ!]bQZxL[ `~\g~|~1x%^x5ϊgXd;my:"P6C[;ذO񔞍]Ա͘P+'Y~sYr6KXt[KN9ewܞTR]~uYZ46 ^3&p~Z䥣}'o;^2avo x@HG!ӵ]սmNtȯ8ZRm}=s'Y1|K6gq o&2i,Omj.݅,mD/_gC> Oſ}O'|+o'n?/_|O>,c>i?OyN{._?Azɞ˖ oWT !Jh;U.oQ h!b}5JwKqxv4i-h.۬5rVʙ_@?kE3> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 125 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3904 >> stream xX TS=1sT Ez*vHx8jUqBQ0HBI II ʔ DDޫj}emZ[]o?PoZ^NYZ#H4s͆y«"b Q`'M0O;bn|DaQjψxeHPeRˬyNu=s<%areH_?U%գŒ2R/'Z.`(X/f:]߿Mn),׶pݢ˦, jʿ)׉ |nPʞTZ"J!qYp}s>#bl%ڂ&#k^(R ͢rS,a]B^"&:=xRKϬ:ծ.m 'ZB+Cj[守;cLN YPo>Ժ;pd3yE|?'q _EP i:Y:J언6YчW}ym̐*d” &-SJ%8,lMxowځ+ӕ]=70D5g9Z\ FF58#8G2{[\toC#K )R6--3KQ;]54&F֤hMM=N(J7ǁInJjt)%Az&@1_8$/.kҘ)JW.vZbjd! F--~[d QȤ$BAݧ+՚ߩ2ԉ[D\Mp[%#.6_,f(ׇRn$ lo+~UduW,bs̖,ضpzjqNqw$8xJ+!:fp{AAU.Ř <[ /f_9d mR!i˹mEJvB<^*#|m>p-P!*.p ( Dw4P 5\llsV6L Z>04^{p?DANv%yδ~]v#?n˭ ha/! WЕFB,j353H;Zhy@΄ZqAA:<*uIЀ6K y$y*djʝ`92l;е!dx-1ys^JNjAnqnC<9. eS[یA:W;>ϯ>8/dg"6j˥RKjm \-I0'2W~FXlkt6Z7kOwڼ"Fm>(9Fh52Gs(geLs5w:Y&SutPÑ!1upaU .f lfꙇg^M]=TGkjwC( 7ETE6]'"N棎;2j5ҡj{rVg.JPQJ,<0pMPEE]2'*P5F'r}p0A %}hjUHI+ŵ.&XP.-A6SIC]-׉n;b^e&A8U[[[usKS\#y5 F5hԠMȔm ܪy'q\).tze 0x} ߝqhLQQڳڣՍm>h,rc" [HŃGwYgG!*Go?XbՃstT*$I  >i9m(NW;5,p"JXaR(a@Lf-p![_!Yq){gJN o  e%FcuT. v\ɋdo=<)OKddd!gk[TM{{t砝ӛB~N9?=yጇG]X~QT.f6*͖CÛ[*΋:Z<xXpŋ<<}[D 3 O]p:P.fLa5xb8}/y@F/#n߂a ы7'Zwwʥk=Mɥ-`,Mzsꂸ򢪊$k@:(XY^nm*/j#a'Y&%tc&`*uPH7Y, KlWm144*-eu݆*L%"Ft߰wǒEޔ  r1\?k p%Oa{b#MƊf![X㚇0XB"UD' oZM^h?r,\*+!;ضD#;ujB;hf7~xkqyw9([|00eVD+(ii2;?IHT62!\-剛 4GV=EP?Gz{#29B+m S5Jk`K4Ϭ_d62.'JsYơGø7[ R2t ir|Q- [NL2z̉ }de؈q!z]S 缶/P .ՕA~Po6ҍz@Zr(5O]Kn>[˒j=,;o60:Q©)4!Ṳ?2m! vwȥںi 4J=lve:cLqi$ mv$$.膃ߝxd{w:"sĹӇGE`W?~bnA;ElN92-vrNu$. WbdD,@!/8.22"$Xj0 3mEZ_jM dqYE7vTP_*E΋;C&'8f.р?\CqY)<[3% X,$dYpg)oA^n췙1N݋> stream xXyTS׺?Tq" W9qfuȤ8""Q!$!C a qY(^@:kjkWo_O6$]o⏰o}wkB  ܖ:!~PILjж8mݗ&E;]yoA݂JGm $iLlxҬY2=;%diLx,&Kħ| ^#Sb%hiD8(8|y`; 0L $EĉSfUHI|G$G%M&' ^,'$R|I)6$I;X,IODSȸ(x=:!>E,KJ;$KuLH,h|2*!2fM^J4>Y"IOM"&"2X,IjW!5Yx}q$&")*Nlk>2Y\nTҔdI\ݑ&WmH*ݦ#Z1{a|bْĥI)vEgDDDŽJl9qR)SM1s٣?-? FAD01!Xb 1XK_b=XD%RŸ &ˈb1XI&C$"‹p!D #H%8=/1p'@b1p%R@>+OWrp"eTerTD;S+-eٗ s'p + ʣʬ|ɉOc8d6RKSr˻:uuHa kfeWMqH@]XHꤟ_k 𺵾mn`d,V' { #Očz!1p8d f~'ɷ1Ͽ(2HB7/-вb2&}`X)lV̙"uvq6Ȣ /ا7mP ـWեn]}W;87P/$"\UBk]ErM9( ]A\QdZ+XavwP.30{c-v`KeGyxA1Ћ^.kdXryre|5=_^ It>CV9F2 2 z`!H挌TJQ9Д?vߎm d-@?@`cSfǍF!y2_9H'̅uGF o&9p>%܀V˘=b/]xfY[~J C|TGjѬe¡2R/B!G$CA ;4ߝ? 9k#Qcpօ9uT#^6$ԏD7{s.!< #-ȱ߽gO8?*ݶ`PplPDR(~ m'%:@WWUUܮL}"XɐtH\p뜱CfRgrٜٚdZ8!Cۡcps)Q(@1mm0Xn7' FѳR \k+VxAh#B[8p| E{ J AWɃjvdUP UU5e~@Hi=wZHi?Ɇ!8_#CޝDnTᵨua[wn5Rw '8:${Jnܼy AzN*7HtŽ` )S 7ޝ"g.w&yY'%;Itq>E?N)4)$F"IT|u U\ EV[k^ ϟ( {-3z]^c-橔8δ\0hM9۹jhV6%沗Yx!VЗjV;1L+ڙYB:0v@vu#&0p#Dl$f!ГccDP'N@Z|ȕN'DT7o;fS{ C"9(xWuխt᪗3NITk'+bT^OLlո"|Z˭N'c_QR) ͋zꋏNZkZ]?rݙ@2\b\R\%{h ]H /!`Oi|`K[lpb˙%]V'[K1G=#7aEVkL nb@5 ƮXp>ucVT`zX%g7혗 о_<+Mg2π~~-tv1Pxr85/ qpUy鳍7^`UUw((%TWr} ^(pS{qGwTjqbrx8?z R8CT>÷B-p֐'-!2/Aˇo^|m#UngZ{x#F+-~{GcX<!"Q9k?]7khaKgC?`>Cnh&P$4.vԊzeMim!j I];4*t:HW(tٕH@Qb&Yjai xKn8e`8zDfD&1n ;yG5A%p\qaJ6 fpm߄L!1V<ҒU[RYReNcs+]YHeP)o 2RD[+>"'69xgUyxcYplJK2ˌ +j+ˇן5fֱF#zƛJPaTߵG޼(%i]9cqB/C=\'>D <5N[ M_ϳq|O}]˝KB-wy7е6_:ռi;01(e6yϹۺ-.}uxOҎć˰ԠשO6FDodNn4}f[$ma  fG!>3cv6mbz'BgV<}~cFvVKǡV@i0VNP%ssVn+>6*cƞ~yP{|_7zgPxHPr -dM,"AWsLcJFfO[% 2X4xO ,2o` u/ W6ndScA6Iֳ>vl MGܸ3W$Y"|W^Zb#ӟSbiY| JA[ZYo:S7;$aMR)UE manٟnn*ˋJ˯۟u$~h\:a!V;a"ndh90,!d#}-q8ev,<%Gl_i+aj+CN'|0$Vٻ|w3ȜSoJ #UlQvi,Sj`~Qfw%uYJGW"WOmѾ߼@CDUHe.ӔSQ`u>(/0rKP'ۦ"VhUWzLWq*Έ4&Rhž*b>Ý_~;662].0[U (TbH.V",UU u@J7mk5jQҦw)~< #/dfl]\Ѹ- O<:6*&I,W㬭4hK\c zY`eMhn^>~Uͨ\RmJ2/nz2Z 8O_1x%d őue_[ j\N2܂ca)jv+B帋(feV}Sa@U+U^U]} @3Vd|ƑXM> stream x]1 EwN T)bI  D D7@ҡ÷dup6Q^NG\鈓uT[H{W**Tx̀w5#{6綌q 0*7!81+Qٝ'#V"η1_L5Ftc~ >D Vendstream endobj 128 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 543 >> stream xCMMI7$+  b]YnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer Modernstari?J(Ҫopnqnzv`~z\e~}t;_bdw揗cT(]z~ᷯpt|rMݗJ:kptM{uNL2B0:Y<<"wCp`  7 1ߊendstream endobj 129 0 obj << /Filter /FlateDecode /Length 4609 >> stream x\[#G~ DM/XP Rw䱗9UU=!5꺜kz`/B/^'^sޙw*?_Y[(K}otVdV~BgIzȆZ+ZdXλr7=WƓC9n{xu2kxRJ g"_wadZÅ.q=W^WThX<.)|5d}7Lu_I/Jx}v;Nq,^E4[]9^OgV˯/TR^ _u&no@1-s\i)dr=^dEŌ6pm/.sG΅xnF%tZ^\6>ڭ@\=_a [kE~WM\;gWXzaE r3,\ 9SíV{]{΁l0p}oZ>gޔWl{E<p",0~%N H.q:l+PRp#f= e:0eNpWqT6[=6q, 卻;#I'uzzE Cɒ:g@F0c൲q["eB`eu!GWY~-1.`vk"A(3֗>"<]Da h/=|+EfH!Mw<:QS]0(OD %:m ʚH|! Uc0ܚ x% 06LA(?#+lC̈́xugD!:q6F{rKg!ZW|U]QbȅJ̨h>Aj7K7]_q+;3ydcp.UTo%rknA(|'V+̄[i d` C7qmyf5< ;%5y#zp&>Fͺfbkc+$W ki鍇S]pa'S`,.p7y>+zR)Zj16ABM86I\9 ̛ڗ bEO€u$KЂ(T'saRdZCNq a(ь77D4$LO'w&_-!+@1hGVz /QOFRYqO/zy] pOSO%ѶjXArY0?St-/K pAkOVR[!2zYIKdf$@Lӕy zJ2P$pUVA$JZ-Mu! 3 Tk|.+CG*q@HHT&6*$j >բsM |'K~`jQgcz榏" bT{s MHOqrFcߕk*C>r#Vd}|US CV2)_PSW10ѭ1ո\Y .$/DԨCSX%/"cCGlik 5X-{0&`$qS=9Wg"Fg$-D:Q}8DSZrWae[6q-F1pyoG:RIwSXlڙ:O>֡"< 8Ƥ>/&Pv(T-e堣o%HI,tեt8W"-R>$Rr`O!1ƴ[DTVuǑgBEV8iJWqr5SԮ/m%QtqH%91&`]n"~4+vT|]A)ILy]"7ay)pK,}$^Fin597u8h7vC͙q,# ]W.g? dc@gLVŪ8W̫q 7gRe GxZJ ^%<#BlW?4Xuݻ|>4uAZ'.e~FUNUUzy—OmSa:غkm}s)*<"ꈒ ZJD -tjzN"QӪ? dx7!"/F,~^HLН&% :ށ[YSaT*{GI/k6|Z'7LTR+2?\ 54Ŀ[0uk&S* DK)ytxVTnގ_}T NnYW7H&A\u:;< "KN'!ӇhTFx›AD2u+gF3M$q2**mn7!4l5Xp+7alB[A,q{haej'v&ǜS!Uh*IGC+nQG%ZS ENc_W(!pK4۟b`zfRƨ4VG6 U|(yFe첧] CGvss-Lv/pm}Pzzy\x?O\|? $yq '5CEn悿gc.G >!G9Gj1i  O?sX}X ~fYw$f@bQ7t y6Z~b'T+Ž_0F,O7%Hxע؉@gEדߣR ev bt݉Ə ){YӪ_+v+)LqdUqn3*Ӆ331Tb_eŕ CbO@Z]⹚2nқǀTАGR2ҡ@Q5S#bN{IUeu6ף6Ty)=biʬ}Alz ڞcs Է{ϊ#].Mnnhò8e=28mƔӡ{k :>7*!( {̳s9t(AKvkаbz5 wsL˞M56i?A}Sszͳ(`׬aCZ+D #QI4D/U!uEIcgڙFHX֖iWGh8]v<&JO8fqAǽ!R(!n0W+×.s5KЍR}odZm|V,.Z l A?i2-XBSc4<'w0H`6/./?ԅ_endstream endobj 130 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 436 >> stream xcd`ab`dddwu041H3a!O'nnM?'~%Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SR#,Y{׏'⇢wf\7{y7NJ]lQ )v}{ycvo^[ⷳov%utu'wtgUe^s;;;$;˺ʻ9bض4F]@2N{w߭1l[^u{X&;_ôS-:w$]\ٸXpnm9o endstream endobj 131 0 obj << /Filter /FlateDecode /Length 1934 >> stream xYnG}4N/Q $B)(ɮ oϩݾ(B3UUէw_tx1D~yi !kNcVY͙@eY3+PRKQ3UPQQdgچ*&/\1PT01-Tyac"o/o V~yMIЊ9"(!Mtχ{O=^xBnmgA-[εSbK)Ŭó<2 Oғ[rA^Z%Y{;gKs=X!D3ie%4^'!-[FbU^ {YŐ;YZeiQ V,fnVYaX,ҳ,mgI5}XЖ1_>_]u#Iҽ9g8,eSvȢҷY=8n.eY\.ϫY:~C*e{a컬*W"\7pgL6x^Ū6nYkmʵ^wN0QeUNxU ٮפ4I ܺ!5ͧyuDiwfսSLfx?&ܽr_yHYcU']p7ɑe{m-{ ^g sd_3/5Ȟcc{Kk02xZAތ|:eȤ O4&M=%^ WG2| mSiV1k֏'R[P=KfDU6#*iF)29,{EiN JicdB1]KwΤy vv)J:#KPqM*kFUl&TҬo \_|cxIppfbUL;i#u(Qo]D;8ؒ3k!~EWT)%.|ܶxzb4}]<=ҬxYݣawnywi;qV(M]i`CؕDTnؕځT"TA(OSiTgne1>sc%V 'H傐JbqopBt4lY銛{]noyiHJ!7@ t' e֪PQ3C9lUf ϹM(1Dm+if(:C̀fPU&>oH:6a7H|Ȋo7H|#\7?&x|By`rBuҡ8T"悅=s^L]a,rE9q@?alcL)㒯 p}{;O).nx܊_U88l5 oendstream endobj 132 0 obj << /Filter /FlateDecode /Length 9507 >> stream x]YeQ~/#xKn'$@Fd0T= #0V?8%r.|W.m~sNseX21^n|3FoR guIeтqTf0x^PWn5/pN:/2Sޜr)lR┙Stw$==_Ӻ^w\rӸr^<}za\/~.=iT:}58 EHM-CJ1yĨjNevgTh`?_#V vzӻ)ɗP_?\֬|[{ʞ>\+{=||~sC[{ ?xXU_ Y-nT+{zp̘!nƓ}'k껇GT{Cs߼_Q4`7Ը?Ӄ=}"!Íʹ%Fu3|#Η7s5ߏ~_1 fu:q\2Kӿܵ˨VH >Weea~=YW8K9 Yt# Z$t^^(֏ȗ~逴 g0Yd_A*p:t J9\f3*z^VFza)MnvUkPm` JHTo⃼Wv,|wPU!gEb0s4 J o9(PMP qYEUG0$U*أT+\9p܁1C4 /#v%&k0m@ Cr !5e4P/TBT {ej55,?%Uہ3di$: AGP`4ʁ kLnI AGQpE*I4/rF6ʠNЌDQ:qJ,` F0QP,0EUy[Θ`aͤ’zC'(0pe$Fh2A%\(6@mXKR0K]fzd9FP1 Ѕ%LlJ('Pj}BSm&a~=mPRk4N.yV2w( h%Vq4+o!4/LB4 {4ބA9p:Aق:; 6b$9/XbdX@9xurulD<W1P\T7Z8> kjH~A4: 8ޚO%hPm` OLL0 P'EGYlYrV4 #9Ι_Q;8F[K)kPm` dnjji=B%oѰuQ`t+Ŧ1X0D,!݊i4;+F&%P$UEA=BzJעa#[8<HBZ9O`B0Al AU& ΁aR!o#'OF+5}{ ŕfT@80g !AJak0b2ֲC_iKdlGZ2")1{V.̀P@]P sQ4\AьC5y( uF?aADT%MlK'c `i vBkQGA4R5 s3榎f&G;&'$! "D5Tkb\%9հ!a҉] 8zb($&MI:~RK+dVjih8zW O5PT3a4h*N@#K!:NF6N< ֢bBq@_VzleƩDi6mCWz mC4mW$M7&Ղl#A\b+-KϢ` +)Yؠi+>SħnbkA[d &Me}t+)*^=][ yA@JU +.LD\ۚiPm` Љ)(8LcuB%mVGa>NHE5唊=J|W',% @=u#)k?GT4 NDL0t> (\ > n\?V4*=L=6^2cA/tY0c 4U:%4-&(t!&[t!4ݣa/LBV[d`Y9rOsX7hF؃\ʁd̓kD佺 t+b߫nE0RmLW̷iŁhy'&3}u Ng٥7Pm̸ f:!$+ s^hYij꧜Mj(T(iSlyq8S>34/4'Td{r㊮YTAIgzy`#'.)=5Y˹y) X EU#`i `[s4<4e\U_s g:lauijCࡣqB`6[eF ´;2FS^8~@I@p[gTu&;OJaBu䄇yϑC8,@M-OW\`ECW`t[gIN Z|0 QQeDYF1 J%={;LkFeKFˀ\tΕgݼJ{RzGzDBcρՀJ.k$4оKp̠@i6Ab*"Q\=沔C5V➝0yRU'1M,ݓTyR)M*R) '_lBh PUsda-,Y0krN#'.8Uq!%P&50ڤIM=4)lRkR‰R-COE9һE;|'<~gO7B*9|`!aHxH#:CYȜQLxAﶚ%u8K{yFmu*aN=+B(fu1flЊQE˨AbL}teBm Au^<[drp4Vtpdl u*>(s -0"n 6`~tԁf|Vs6^z8! o#p~/ h?^N0P$>^2 F90&50fm(ýP R5qw;tHP Ǩ/kTg{tG)jqk҂00&JYwh(g ( ']7Gmuhtqaa&a>{JoPKxQGIP- 0%` ,  (B%Kհ;8[NhM a $KհA!JVẀI~.s8g0 +37|@ ;xQ`?rN5)wUG,0(LJi]WО[T9WZaH+`Ȉ[PPj؃8 w\1_H60Qf6Їsb4b6 Vb^88K`!F-:r\Iq9)0Z`a`k ܈\ A-l*7  c/UP=J(}j-H( џ2sXsBuAkU@4OM"/^1#øW7wB$GpW@,qNLF I%YAK+0,0lM(|PP1H2v\IБ=J``_Ǖ@Sq%Їs 5b Wb> (p%ÃF/CVRAx WRDe0K3n+PO̫S8q!x aXWJ1ÕP#&Q93J+#p9&Yb.ksYJ!pXGXbƅP_.3,ИA\i0,lLĜ0 Z5Q@G(Y* h.G8t|]9?q\7N68s\CڄcBt'q\4c\A8.tq,)XOwÀhQl, 0D-)>f`2IIĤĤ lbRlbD"Ĥ lbRlrw`9JCbM~Q5M5廗BDn|[m _FXt'c=$*_|+cT0 5G+4b87]/hna"@: r07GT +bk mw_430ί<|Ժoղ f0E]+]bЦf<7B,JBh_cྡྷZJ=F YĚ~k% Vl='R#؍8TwAOhq2<[Ѿ?'%FV` OzK/{z T~ FͩҹF\`!lfZam*?V?Y 4Xs||WD7g~j9f2X~zgZ?Ú9aƔ} ߳30Ɵ@ȜE!ߜy_;$xT Qzg!Mj 6wy~Dc0 kyb&PRl䰝6 Nm|mߺڥ?OB7wD!L#43sayg e"Z!ijS{+4~^e:a"1{C+ݨ"\Ƞa9gi_"rVKr̿ǐ1-_I2/ǜouZ~$J~>W7)(&ynzXZ{ X~Y3K*329;mȆV 09a<ҼŶ Pl㷮:0^>Ʈ>o ۰6qvuN|ÚCtD{RP|kI tfQ2"\ S1'#zZ2+i"e:`6n{@5W#7'q޽ bK۳TY5ǖXdz9mE.0󰕉M֘;*1VGZdqLd\[(1n/p=Pendstream endobj 133 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1215 >> stream x}LwrXEww۲(D.ȋl@T|%@{R"(ӇoCH"ʦ[]lsַ͈nF];@Yrs<& I4.]2L$I1ʫvҨ(U:t4G&v#8Qx0YD1V"q@lj4)Ni]?('J)GpEOʪ%VUG Pw GF"4~.uyrX)Ж:,i00*VQLQ|Ccq.YW{n=c;A`М'z <{wRZbZڥ;w*! P74#PW8cgSEMI}wv>rq00מwf|W&"Z'ȾoAP۞/Y0,݉_^yl@0R3t`n Bٷd TQ_=(*R7{73kam u UU^mo=L8 _}V,w͜9?ܺ-]x\NDVy$A!$JR($8'G/GpܨYuzsHW񪻮zBg~_ˠN?^0*Eªĩ=xQJ:ou%,_x:W'sCekNG6/ " +{ơ_>?> stream xX[o}_G[g EhSZVV{"@~|/FJz%/8<3- UFiF635QCђ!g,sD Ʋ'JIQ2jGzĨ©4Q%R' > Bib$|z kXHdn^xM\WYL2$N1}-'ISfTԇRiDn!fur V_N(Z8a\/`*;k#$\36qzv&hDjJ;%##OГq$Gcv,&jj(,YQ)66y%n< #eΣ]hG sx_77rߜ-vȖFWRn8D^$'E{lW$"NUwX-N݀g j?W.W[fo{wt}-V->p&joo*`DLa3b0W60U CH4~+ ؄PXhWn\ݮcyqi]qAw>o>)|hקnMǟSNik77c>!Xm"F!5jN5)$xJ% ɡCw_üq@ ݠW)+k3)*L!1qRA_X!fS.Inmw-m#?١c(R7J7͍<׉PRD 'p$ɰ7nCeWYd(ʾ:Q:ل)~I5cTo#OswV[h^dUyRˁ܍ 8J2r*߯/m3Ew0WzԹhS;X;KqTq܋Rk7FgHeF."Ot@.愇on;b?^tw-K|Z6+qi=Us?nq7qu>ȗOcxntiB*y((:u޼vOMAqUѓ i-$yd07-G$`Jj jWP1%껓'Hpyg6uުZA\sªtaÎ( X!X/)[G}Gحl+τ!xggAyJ-˅]T z3! 7e,Vlp_hdگFtggPaυeuBqgJn" RLpLyo;p%C1/2¦+۷O'<:Nó_?e^%y(sGˁ ym'U2;%Ua0<,q2y-:LT „qqA$rZl$:xY6)z5y H#b5L)쭷hWptEˉFO2kFұGz~gWA'6<"D. (2r0|L`"{h\ |9C\$qcfpYk PK!,__9uS2\ԏ5 ;OO'wrD g0M)eN|"dZ%ƄvI$NO8y 4+?Xi9H/v^ h$ס$#p x 4PiEѻ5n9Gk^' Xsu h΀C(=:iyrUn̒J!ᘂ!  >\h;J cVf'i)o`!荄-`W}A*+fa0Ç7"Y|e+l.ԕx @F]<д1Cg1c@E&@njG&> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 136 0 obj << /Filter /FlateDecode /Length 3678 >> stream x[ms ~oo|I;q[7N)dND:+}K{MHZJ&߬Run}Qw/WΈ^+T{giUAְQ M` 5GYLhVZ͍r:EfTB6FQfT6mbfj%ɕ|:)^%7˵7Hʮ/W_uRmQJ }ي c|1bF*軿Óeӗ`x݋P}kW??,lwV6J4YD*7>Y-{ER,^$>ACOR ˏ**tC!Rx7+u:n7֯mQ؃;Ar"!D[?6apppl h%5jQIF{[ҘEg)}|:9&)BGRQJtf[)#40/?;޽vOo5:f-QFsV3K Z@hJƊ0^w"8YQk6B8<G@DA fAH2M~'ll`ud ü8G8C 2Zt;LT)MRhQp"ܒ4~֒c]U]a\. =t]=4脜DK,H ^q+ 1#18܍XnӾ<=]ycs&VJ3^smGţ_?ٖ"-&0 %'̯MdV ~_lfK,hZУc''|CP|78`4ŠJƒd! i j٢QvH[ b^<fpcs [+8󱨙~+fa bئh{|=TÞOW ,U Sd^ +OCyz.Ot,OߔtXv+/b'@ցÌofW%B_t~>x?|<-Q[>l$p[ȕr߁,"L4ľt؍rʍGӨI=QžjIgAq}Z}k8!2>iҶ Mie/Kj*c[ g hEJF| q!ԛѸa˧Ǚx6sR>cbh4 `NJXRLZ4rW[Z6hjGfxfǩvݖGDj|f5L rLK>?Tl%5?UPFg[Fx:AL}z:i(onklgIt/n2yIOI0S"j4ٲ-02J@ zLS'3gZL+c*_v* k|{cEԢ\Hdl&qعHH2N JB4p+D֔ZB0Ě+/DAj⾀< rט'RYBDžAkCӞG KQ":5"!NLy3TyxĮ[ĴbM3qC2ię:rw kDnHYRST5ƌmzapxŚ tnŦqH4m\`7o2B$ S\3l'@?+l,d/Ş |& &ަ50 r`Xe8g&i.=攦w0@V]Vnyj/)g Ty3APh󎹡]+ᠼDh1>Pm`f61g 6QTCgX(bH/DzɅD2'S#JXq[*XC꧶MXnor`cKTH~ /n yotɀ|W\ô1}8_kSv[ diw ,\떋􃗅_Xsܒ_Vcy$MkKh]faɆ^- g??܎2h9sΚB,7AmDEe1P M2mҳm' ¦P}l w oж|U-BCq^Ⲷp ݥTEnf_1bu% %HCz̘rQANOMSc#؈}:v 95(/o]13{RN,wĸwgu,\Cjkx~R8)F,0S,SLet% S0GdB|9916endstream endobj 137 0 obj << /Filter /FlateDecode /Length 1829 >> stream xXKo7 #fӮ*C p٢$({::y~HZ{i\ȏQV(IB`iix)DґyыMId$J ‰wYhTR[icssH՜8SU߭QDi}jdTeT8[RQɦ<%^vo;PFA$bu 0 @ޫ I;tO{e"2RbWʤ'&UJPRB[Y,1?Q1X~RɆmݬђwP>԰귄T ^+5OD>\jtg dtҶ /~fXS Vvݧ8Ri-S4<)B]Y_ȃ[\0SPPDžօ쟌aI^rf1g3ǝ8k‡ ~W;ePԼ9dut.V-\NK FZ{LEͯY6ܗ::I9Pon0p<Dž³qXWs:U-Y;WB\5Nצm9-z9<5gqElѭ]auqo]+ g&lfwX;M-ͭfKTgݪwؽBIvΪ{Nbd1{IQCLIuIDī@FuDŽN{ZE-*-,vxhzP[h!^"mULPje.5?0VJ? /[Cw %o2lP'G#g gc\osS%RiS2|]JV|.K |R'$Og-!Ո;! WVeTx`endstream endobj 138 0 obj << /Filter /FlateDecode /Length 2916 >> stream xYێe7}?_nDo|<$@шiAѤ&3MzfUv>ND SW\.{nP)|l=JΧґjS5Hl9sxA)) WI +O01.b\SJ-GS|9BO4:Ⴇ4K5}{de"W.oɥSd1pʺݜO?{Wxu1&dɺ/OYL-ƹ(S͟D4[}%̵ΧμxuYr]<\ٮm8J p W!qޏ=yveTS}ca1{3Z~A.'oW?g?#;m|yu1/Ʋ܏ѻgiYz9.1n]) )a }'/bIX&֦ԣ-~ ؗoOb᰿0pA H!7oO ^v OE#-_ۤt`K{k]lho]**jAq!65xhr2 e3J  T9ޡF 8 6] ̟*|];nڅtxNS _/N[NP8PRl$ CIAi`X-(~XhPlPB)\rbB ՇA4Y> i$3yKHfHtbC9 蔐abaze$7h)s^(ɑyζa$X-^ J(65x{$hr2 -,=煂uQnQh:5 lPB)ڦ Cbxe$ɊyqP W~F)t58#_j;9^JC⬥qPRB74N SBPR5\!VZñda+ a]ȸ w")8p4 Y 2ltLPUeЊLN۠dH v"1{b5u΋͆HtJ(L %Xm4L B9KpdČZfI60qR|sj{ J(Yk64X?mtLPUenʝ*Dy +;.7^pse?7906M 7PuSF÷E^v OhgP̙{ͽpJge0pR{^p"K'+"ؚRx' ኏ ֤a~Xqq$~O{:&{j)qLb~|q}K-%Go?isdSp*ut35ڰ?>!M]ڿ&1D+zegDftgԈ1~0NZ:\LzKSbcs0ۼFMO qQ|ne&d1VK<ChYud~$[~&hf0F uA$6]y TH]W\d0_~1eFLDه2D9o~5sx~6kOϾ68endstream endobj 139 0 obj << /Filter /FlateDecode /Length 1400 >> stream xWێ7}7wCN^ŭYм{Gʔt6rdŚ:{f|7|H9?gsFmw$3#z40KEqe"U/6[1#YZVl9?rՓ98Yvnt&(ŽgoqsBQj;.BF c|݌on\]lv9^a$!#pO✺ۿj MMhfϿjDQcQoNf+w8Qo(&W^P7[¬*!n!3WPN8(1ը,(ޗ%Rשww2sfcsv19Q r4^2t"#^TGg1)ue, X jg_FX#DOfY] fe$SʄˌgS?{'j1LoeVB2b龼Q!gߴW񞕹5aXE;rK/-LbzQ`#A!Ԝ#;~}.&)CǶݤpƑ"<!a2vfendstream endobj 140 0 obj << /Filter /FlateDecode /Length 2905 >> stream xZ[o\I~_q!qv_ -EXBh{1+=)LQj擯 RFoF89ᭋ/&N1FkEԅxVfH@3 "F[*9 4۶zVmuY~א?Xed<8"n%&QB"-1oLZۘa'JYV^:d ;"?D_ *`CK$ds'!a=4zGb gQ0wK0[]GZQ)U>2+zJR!.1@h-eGS `JL8Q)T|誄gh~RpQaґ*aDs9h-pa)8\2 ZdHY1'*Qc7ĐMhƿGrA3/4SNq)l.sZ!ӬnT61$r5{8` PBT%Ja,ill'#69#: ^w *`TJ&AQy5]GfE(FVK'rbα U)rbQs@T; Ǯ:zKhq^4SCp roVfoLvn[pmq7X޾N=7w :#cLE"RUC6߳}X~PqՇҭ *C{i4 f+:SV U@C((+حHD7H/=bxC@w 5Y12>@'.ÎOD@ҵP`gq{t]BꖈJODӑap4+*EHxG)/CP Cm4A"R\p.6x.@>Rb},0(B̩Kvv(+dӮ(;5][F w҃ gQ0(aLQ`(V4beÙ :fnQ wdKu 5L`-QKe\'@:Q50C(.M 6 C5T (<9tSthoTI󓑊Yh~ů`{ӇT "Jc4y*⺕j`X$hT 3R9bVT3R՚ݩ*fz/o`"oM ,-Rih!+_pٌǖ_`dH'b0uG3bTHU0 AԍD1`T:Q,2#U,7U0#USqxV6h?}- ě~bx)ilص @Yzj6f6=t@9hĔfNaS4d4_?+d|}6uQ=u2TYÖ1]lzgrk GHawF*#/ca<$~p$A,k6Yz[R0H|3uG,qE{Cم%Aٴ`|CqDߥqRHiyܢB)L*]FҍQoѢ tF۲Fը-[=~xvC.H!7^afS> stream xRkLW>~ Cgo^:Vq0I!"Y*+.q6P xF`7ЉN&3STk/{aN{9y{{0R*xiV:-^qS*] *cb5'QSt%BRhXX#վ^jk Y=yW[MtyNֽgO9<>9?1F ~Gi.P9!;L6T0Gz> r*W*+Fa@:@N1:"lìY39; @qC+38} ?ogtnn4:% 4 < œtHc(=vVk"bh 5aWbb.c2[g͈/\pY;w 5mUk% .@VnUҧ<[J6\}}~-\р"*31S^ Kl5JuվQTZhn!lkyJT fֻS\6vᖞZHSzX.Ŝ[vyN $4mt$:SX Ba I0̼Ts4bLB, DQ ^5,{$zK ;endstream endobj 142 0 obj << /Type /XRef /Length 176 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 143 /ID [<06b7e69b3bc247336cb29e7e4a8b860c><5921934032bcc5921b9f1fadbcdcb54d>] >> stream xcb&F~0 $8JEg58dɂB#6d|!̻@ tD?A:) V "A$k7XG sJ0VDM}$g6+B|&>qDm`E N|v!0{1d; L endstream endobj startxref 111225 %%EOF HSAUR3/inst/doc/Ch_graphical_display.Rnw0000644000176200001440000010244414416236367017543 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Data Analysis using Graphical Displays} %%\VignetteDepends{lattice, maps, sf, sp} \setcounter{chapter}{1} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} \chapter[Data Analysis Using Graphical Displays]{Data Analysis Using Graphical Displays: Malignant Melanoma in the US and Chinese Health and \\ Family Life \label{DAGD}} \section{Introduction} \section{Initial Data Analysis} \section{Analysis Using \R{}} \subsection{Malignant Melanoma} \index{Boxplot|(} \index{Histogram|(} \index{Scatterplot|(} We might begin to examine the malignant melanoma data in Table~\ref{DAGD-USmelanoma-tab} by constructing a histogram or boxplot for \stress{all} the mortality rates in Figure~\ref{DAGD-USmelanoma-histbox}. The \Rcmd{plot}, \Rcmd{hist} and \Rcmd{boxplot} functions have already been introduced in \Sexpr{ch("AItR")} and we want to produce a plot where both techniques are applied at once. The \Rcmd{layout} function organizes two independent plots on one plotting device, for example on top of each other. Using this relatively simple technique (more advanced methods will be introduced later) we have to make sure that the $x$-axis is the same in both graphs. This can be done by computing a plausible range of the data, later to be specified in a plot via the \Rcmd{xlim} argument: <>= xr <- range(USmelanoma$mortality) * c(0.9, 1.1) xr @ Now, plotting both the histogram and the boxplot requires setting up the plotting device with equal space for two independent plots on top of each other. Calling the \Rcmd{layout} function on a matrix with two cells in two rows, containing the numbers one and two, leads to such a partitioning. The \Rcmd{boxplot} function is called first on the mortality data and then the \Rcmd{hist} function, where the range of the $x$-axis in both plots is defined by $(\Sexpr{xr[1]}, \Sexpr{xr[2]})$. One tiny problem to solve is the size of the margins; their defaults are too large for such a plot. As with many other graphical parameters, one can adjust their value for a specific plot using function \Rcmd{par}. The \R{} code and the resulting display are given in Figure~\ref{DAGD-USmelanoma-histbox}. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 2)) par(mar = par("mar") * c(0.8, 1, 1, 1)) boxplot(USmelanoma$mortality, ylim = xr, horizontal = TRUE, xlab = "Mortality") hist(USmelanoma$mortality, xlim = xr, xlab = "", main = "", axes = FALSE, ylab = "") axis(1) @ \caption{Histogram (top) and boxplot (bottom) of malignant melanoma mortality rates. \label{DAGD-USmelanoma-histbox}} \end{center} \end{figure} Both the histogram and the boxplot in Figure~\ref{DAGD-USmelanoma-histbox} indicate a certain skewness of the mortality distribution. Looking at the characteristics of all the mortality rates is a useful beginning but for these data we might be more interested in comparing mortality rates for ocean and non-ocean states. So we might construct two histograms or two boxplots. Such a \stress{parallel boxplot}, visualizing the conditional distribution of a numeric variable in groups as given by a categorical variable, are easily computed using the \Rcmd{boxplot} function. The continuous response variable and the categorical independent variable are specified via a \Rclass{formula} as described in \Sexpr{ch("AItR")}. Figure~\ref{DAGD-USmelanoma-boxocean} shows such parallel boxplots, as by default produced the \Rcmd{plot} function for such data, for the mortality in ocean and non-ocean states and leads to the impression that the mortality is increased in east or west coast states compared to the rest of the country. \begin{figure} \begin{center} <>= plot(mortality ~ ocean, data = USmelanoma, xlab = "Contiguity to an ocean", ylab = "Mortality") @ \caption{Parallel boxplots of malignant melanoma mortality rates by contiguity to an ocean. \label{DAGD-USmelanoma-boxocean}} \end{center} \end{figure} Histograms are generally used for two purposes: counting and displaying the distribution of a variable; according to \cite{HSAUR:Wilkinson1992}, `they are effective for neither'. Histograms can often be misleading for displaying distributions because of their dependence on the number of classes chosen. An alternative is to formally estimate the density function of a variable and then plot the resulting estimate; details of density estimation are given in \Sexpr{ch("DE")} but for the ocean and non-ocean states the two density estimates can be produced and plotted as shown in Figure~\ref{DAGD-USmelanoma-dens} which supports the impression from Figure~\ref{DAGD-USmelanoma-boxocean}. For more details on such density estimates we refer to \Sexpr{ch("DE")}. \begin{figure} \begin{center} <>= dyes <- with(USmelanoma, density(mortality[ocean == "yes"])) dno <- with(USmelanoma, density(mortality[ocean == "no"])) plot(dyes, lty = 1, xlim = xr, main = "", ylim = c(0, 0.018), xlab = "Mortality") lines(dno, lty = 2) legend("topleft", lty = 1:2, legend = c("Coastal State", "Land State"), bty = "n") @ \caption{Estimated densities of malignant melanoma mortality rates by contiguity to an ocean. \label{DAGD-USmelanoma-dens}} \end{center} \end{figure} Now we might move on to look at how mortality rates are related to the geographic location of a state as represented by the latitude and longitude of the center of the state. Here the main graphic will be the scatterplot. The simple $xy$ scatterplot has been in use since at least the eighteenth century and has many virtues -- indeed according to \cite{HSAUR:Tufte1983}: \begin{quote} The relational graphic -- in its barest form the scatterplot and its variants -- is the greatest of all graphical designs. It links at least two variables, encouraging and even imploring the viewer to assess the possible causal relationship between the plotted variables. It confronts causal theories that $x$ causes $y$ with empirical evidence as to the actual relationship between $x$ and $y$. \end{quote} Let's begin with simple scatterplots of mortality rate against longitude %%' and mortality rate against latitude which can be produced by the code preceding Figure~\ref{DAGD-USmelanoma-xy}. Again, the \Rcmd{layout} function is used for partitioning the plotting device, now resulting in two side-by-side plots. The argument to \Rcmd{layout} is now a matrix with only one row but two columns containing the numbers one and two. In each cell, the \Rcmd{plot} function is called for producing a scatterplot of the variables given in the \Rclass{formula}. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) plot(mortality ~ longitude, data = USmelanoma, ylab = "Mortality", xlab = "Longitude") plot(mortality ~ latitude, data = USmelanoma, ylab = "Mortality", xlab = "Latitude") @ \caption{Scatterplot of malignant melanoma mortality rates by geographical location. \label{DAGD-USmelanoma-xy}} \end{center} \end{figure} Since mortality rate is clearly related only to latitude we can now produce scatterplots of mortality rate against latitude separately for ocean and non-ocean states. Instead of producing two displays, one can choose different plotting symbols for either states. This can be achieved by specifying a vector of integers or characters to the \Rcmd{pch}, where the $i$th element of this vector defines the plot symbol of the $i$th observation in the data to be plotted. For the sake of simplicity, we convert the \Robject{ocean} factor to an \Rclass{integer} vector containing the numbers one for land states and two for ocean states. As a consequence, land states can be identified by the dot symbol and ocean states by triangles. It is useful to add a legend to such a plot, most conveniently by using the \Rcmd{legend} function. This function takes three arguments: a string indicating the position of the legend in the plot, a character vector of labels to be printed and the corresponding plotting symbols (referred to by integers). In addition, the display of a bounding box is anticipated (\Rcmd{bty = "n"}). \begin{figure} \begin{center} <>= plot(mortality ~ latitude, data = USmelanoma, pch = (1:2)[ocean], ylab = "Mortality", xlab = "Latitude") legend("topright", legend = c("Land state", "Coast state"), pch = 1:2, bty = "n") @ \caption{Scatterplot of malignant melanoma mortality rates against latitude. \label{DAGD-USmelanoma-lat}} \end{center} \end{figure} The scatterplot in Figure~\ref{DAGD-USmelanoma-lat} highlights that the mortality is lowest in the northern land states. Coastal states show a higher mortality than land states at roughly the same latitude. The highest mortalities can be observed for the south coastal states with latitude less than $32^\circ$, say, that is <>= subset(USmelanoma, latitude < 32) @ Alternatively, we also may simply want to look at a color-coded map of the United States, where each state is plotted in a color that corresponds to its mortality rate. It is fairly simple to set-up such a plot using the \Rpackage{sp} family of packages \citep{PKG:sp}. We start with loading a map of the mainland states, basically a number of polygons: <>= library("sp") library("sf") library("maps") states <- map("state", plot = FALSE, fill = TRUE) @ It is of course important to match the mortality rates to the corresponding state. We therefore create unique names of the states in lower-case letters for both the polygons and the mortality data <>= IDs <- sapply(strsplit(states$names, ":"), function(x) x[1]) rownames(USmelanoma) <- tolower(rownames(USmelanoma)) @ Now we are ready to merge these two objects into a so-called \Rclass{SpatialPolygonsDataFrame} object. We first create a \Rclass{SpatialPolygons} object from the map in the correct reference system (WGS84, in our case) and then merge the polygons with the data <>= us1 <- merge(st_as_sf(states), USmelanoma) us2 <- as(us1, "Spatial") @ The resulting object \Robject{us2} can now be plotted using the \Rcmd{spplot} function, see Figure~\ref{DAGD-USmelanoma-long-lat}. The colors correspond to the mortality rate, as shown in the color legend to the right of the map. We see that darker grey values corresponding to higher mortality rates appear in the southern costal states, both on the east and the west coast in good agreement with our earlier results. \begin{figure} \begin{center} <>= spplot(us2, "mortality", col.regions = rev(grey.colors(100))) @ \caption{Map of the United States of America showing malignant melanoma mortality rates. \label{DAGD-USmelanoma-long-lat}} \end{center} \end{figure} Up to now we have primarily focused on the visualization of continuous variables. We now extend our focus to the visualization of categorical variables. \index{Boxplot|)} \index{Histogram|)} \index{Scatterplot|)} \subsection{Chinese Health and Family Life} \index{Barchart|(} \index{Spineplot|(} \index{Spinogram|(} One part of the questionnaire the Chinese Health and Family Life Survey focuses on is the self-reported health status. Two questions are interesting for us. The first one is `Generally speaking, do you consider the condition of your health to be excellent, good, fair, not good, or poor?'. The second question is `Generally speaking, in the past twelve months, how happy were you?'. The distribution of such variables is commonly visualized using barcharts where for each category the total or relative number of observations is displayed. Such a barchart can conveniently be produced by applying the \Rcmd{barplot} function to a tabulation of the data. The empirical density of the variable \Robject{R\_happy} is computed by the \Rcmd{xtabs} function for producing (contingency) tables; the resulting barchart is given in Figure~\ref{DAGD-CHFLS-happy}. \begin{figure} <>= barplot(xtabs(~ R_happy, data = CHFLS)) @ \caption{Bar chart of happiness. \label{DAGD-CHFLS-happy}} \end{figure} The visualization of two categorical variables could be done by conditional barcharts, i.e., barcharts of the first variable within the categories of the second variable. An attractive alternative for displaying such two-way tables are \stress{spineplots} \citep{HSAUR:Friendly1994,HSAUR:HofmannTheus2005,HSAUR:Chenetal2008}; the meaning of the name will become clear when looking at such a plot in Figure~\ref{DAGD-CHFLS-health_happy}. Before constructing such a plot, we produce a two-way table of the health status and self-reported happiness using the \Rcmd{xtabs} function: <>= xtabs(~ R_happy + R_health, data = CHFLS) @ <>= hh <- xtabs(~ R_health + R_happy, data = CHFLS) @ A \stress{spineplot} is a group of rectangles, each representing one cell in the two-way contingency table. The area of the rectangle is proportional with the number of observations in the cell. Here, we produce a mosaic plot of health status and happiness in Figure~\ref{DAGD-CHFLS-health_happy}. \begin{figure} <>= plot(R_happy ~ R_health, data = CHFLS, ylab = "Happiness", xlab = "Health") @ \caption{Spineplot of health status and happiness. \label{DAGD-CHFLS-health_happy}} \end{figure} Consider the right upper cell in Figure~\ref{DAGD-CHFLS-health_happy}, i.e., the $\Sexpr{hh["Excellent", "Very happy"]}$ very happy women with excellent health status. The width of the right-most bar corresponds to the frequency of women with excellent health status. The length of the top-right rectangle corresponds to the conditional frequency of very happy women given their health status is excellent. Multiplying these two quantities gives the area of this cell which corresponds to the frequency of women who are both very happy and enjoy an excellent health status. The conditional frequency of very happy women increases with increasing health status, whereas the conditional frequency of very unhappy or not too happy women decreases. When the association of a categorical and a continuous variable is of interest, say the monthly income and self-reported happiness, one might use parallel boxplots to visualize the distribution of the income depending on happiness. If we were studying self-reported happiness as response and income as independent variable, however, this would give a representation of the conditional distribution of income given happiness, but we are interested in the conditional distribution of happiness given income. One possibility to produce a more appropriate plot is called \stress{spinogram}. Here, the continuous $x$-variable is categorized first. Within each of these categories, the conditional frequencies of the response variable are given by stacked barcharts, in a way similar to spineplots. For happiness depending on log-income (since income is naturally skewed we use a log-transformation of the income) it seems that the proportion of unhappy and not too happy women decreases with increasing income whereas the proportion of very happy women stays rather constant. In contrast to spinograms, where bins, as in a histogram, are given on the $x$-axis, a \stress{conditional density plot} uses the original $x$-axis for a display of the conditional density of the categorical response given the independent variable. \begin{figure} <>= layout(matrix(1:2, ncol = 2)) plot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") cdplot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") @ \caption{Spinogram (left) and conditional density plot (right) of happiness depending on log-income. \label{DAGD-CHFLS-happy_income}} \end{figure} \index{Barchart|)} \index{Spineplot|)} \index{Spinogram|)} \index{Trellis plot|(} For our last example we return to scatterplots for inspecting the association between a woman's monthly income and the income of her partner. Both income variables have been computed and partially imputed from other self-reported variables and are only rough assessments of the real income. Moreover, the data itself is numeric but heavily tied, making it difficult to produce `correct' scatterplots because points will overlap. A relatively easy trick is to jitter the observation by adding a small random noise to each point in order to avoid overlapping plotting symbols. In addition, we want to study the relationship between both monthly incomes conditional on the woman's education. Such conditioning plots are called \stress{trellis} plots and are implemented in the package \Rpackage{lattice} \citep{PKG:lattice, HSAUR:Sarkar2008}. We utilize the \Rcmd{xyplot} function from package \Rpackage{lattice} to produce a scatterplot. The formula reads as already explained with the exception that a third \stress{conditioning} variable, \Robject{R\_edu} in our case, is present. For each level of education, a separate scatterplot will be produced. The plots are directly comparable since the axes remain the same for all plots. \begin{figure} <>= library("lattice") xyplot(jitter(log(R_income + 0.5)) ~ jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, pch = 19, col = rgb(.1, .1, .1, .1), ylab = "log(Wife's income + .5)", xlab = "log(Husband's income + .5)") @ <>= library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) xyplot(jitter(log(R_income + 0.5)) ~ jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, pch = 19, col = rgb(.1, .1, .1, .1), ylab = "log(Wife's income + .5)", xlab = "log(Husband's income + .5)") @ \caption{Scatterplot of jittered log-income of wife and husband, conditional on the wife's education. \label{DAGD-CHFLS-RAincome3}} \end{figure} The plot shown in Figure~\ref{DAGD-CHFLS-RAincome3} reveals several interesting issues. Some observations are positioned on a straight line with slope one, most probably an artifact of missing value imputation by linear models (as described in the data dictionary, see the documentation \texttt{?CHFLS}). Four constellations can be identified: both partners have zero income, the partner has no income, the woman has no income or both partners have a positive income. For couples where the woman has a university degree, the income of both partners is relatively high (except for two couples where only the woman has income). A small number of former junior college students live in relationships where only the man has income, the income of both partners seems only slightly positively correlated for the remaining couples. For lower levels of education, all four constellations are present. The frequency of couples where only the man has some income seems larger than the other way around. Ignoring the observations on the straight line, there is almost no association between the income of both partners. \index{Trellis plot|)} \section{Summary of Findings} Using relatively straightforward graphical techniques only on the two sets of data considered in this chapter we have been able to uncover a number of important features of each data set; \begin{description} \item[Melanoma mortality] Mortality is related only to the latitude of a state not to its longitude, mortality is higher for costal states than for land states, and the highest mortality is observed in the south costal states with latitude less than 32 degrees. \item[Health and family life] We saw that happiness depends on health status. Women reported to be very happy more often when they also reported a good or excellent health status. The dependency of happiness on the income of the women seems to be less clear, but we conclude that, conditional on education, the income of wives and their husbands is highly correlated. \end{description} \section{Final Comments} Producing publication-quality graphics is one of the major strengths of the \R{} system and almost anything is possible since graphics are programmable in \R{}. Naturally, this chapter can be only a very brief introduction to some commonly used displays and the reader is referred to specialized books, most important \cite{HSAUR:Murrell2005}, \cite{HSAUR:Sarkar2008}, and \cite{HSAUR:Chenetal2008}. Interactive 3D-graphics are available from package \Rpackage{rgl} \citep{PKG:rgl}. \section*{Exercises} \begin{description} \exercise The data in Table~\ref{DAGD-household-tab} are part of a data set collected from a survey of household expenditure and give the expenditure of $20$ single men and $20$ single women on four commodity groups. The units of expenditure are Hong Kong dollars, and the four commodity groups are \begin{description} \item[\Robject{housing}] housing, including fuel and light, \item[\Robject{food}] foodstuffs, including alcohol and tobacco, \item[\Robject{goods}] other goods, including clothing, footwear, and durable goods, \item[\Robject{service}] services, including transport and vehicles. \end{description} The aim of the survey was to investigate how the division of household expenditure between the four commodity groups depends on total expenditure and to find out whether this relationship differs for men and women. Use appropriate graphical methods to answer these questions and state your conclusions. <>= data("household", package = "HSAUR3") toLatex(HSAURtable(household), caption = paste("Household expenditure for single men and women."), label = "DAGD-household-tab") @ \exercise The data set shown in Table~\ref{DAGD-USstates-tab} contains values of seven variables for ten states in the US. The seven variables are \begin{description} \item[\Robject{Population}] population size divided by $1000$, \item[\Robject{Income}] average per capita income, \item[\Robject{Illiteracy}] illiteracy rate (\% population), \item[\Robject{Life.Expectancy}] life expectancy (years), \item[\Robject{Homicide}] homicide rate (per $1000$), \item[\Robject{Graduates}] percentage of high school graduates, \item[\Robject{Freezing}] average number of days per below freezing. \end{description} With these data \begin{enumerate} \item Construct a scatterplot matrix of the data labeling the points by state name (using function \Rcmd{text}). \item Construct a plot of life expectancy and homicide rate conditional on average per capita income. \end{enumerate} \begin{sidewaystable} \vspace*{12.5cm} \begin{center} <>= data("USstates", package = "HSAUR3") toLatex(HSAURtable(USstates), caption = paste("Socio-demographic variables for ten US states."), label = "DAGD-USstates-tab") @ \end{center} \end{sidewaystable} \exercise Mortality rates per $100,000$ from male suicides for a number of age groups and a number of countries are given in Table~\ref{DAGD-suicides2-tab}. Construct side-by-side box plots for the data from different age groups, and comment on what the graphic tells us about the data. <>= data("suicides2", package = "HSAUR3") toLatex(HSAURtable(suicides2), caption = paste("Mortality rates per $100,000$ from male suicides."), label = "DAGD-suicides2-tab", rownames = TRUE) @ \exercise \cite{HSAUR:FluryRiedwyl1988} report data that give various length measurements on $200$ Swiss bank notes. The data are available from package \Rpackage{mclust} \citep{PKG:mclust}; a sample of ten bank notes is given in Table~\ref{DAGD-banknote-tab}. <>= data("banknote", package = "mclust") banknote$Status <- NULL banknote <- banknote[c(1:5, 101:200),] toLatex(HSAURtable(banknote, pkg = "mclust", nrow = 10), caption = paste("Swiss bank note data."), label = "DAGD-banknote-tab", rownames = FALSE) @ Use whatever graphical techniques you think are appropriate to investigate whether there is any `pattern' or structure in the data. Do you observe something suspicious? \exercise The data in Table~\ref{DAGD-birds-tab} were originally derived from a study reported in \cite{HSAUR:Vuilleumier1970} which investigated numbers of bird species in isolated `islands' of paramo vegetation in the northern Andes. The aim of the study was to investigate how the number of species (\Robject{N}) is related to four other variables, \Robject{AR} (area of `island' in thousands of square km), \Robject{EL} (elevation in thousands of m), \Robject{Dec} (distance from Ecuador in km) and \Robject{DNI} (distance to the nearest `island' in km). Begin by constructing a scatterplot matrix of the data differentiating the islands on each panel by a different plotting symbol and on each diagonal panel showing the histogram of the associated variable. What can you conclude from this plot about how N is related to the other four variables? <>= data("birds", package = "HSAUR3") toLatex(HSAURtable(birds), caption = paste("Birds in paramo vegetation."), label = "DAGD-birds-tab", rownames = TRUE) @ \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_analysing_longitudinal_dataII.pdf0000644000176200001440000026611414416277543022046 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4460 /Filter /FlateDecode /N 92 /First 771 >> stream xks6 |k:W?j'㸲8Ym]d)$]oR6-+iX, 0"D zO VK88….=\3s:"{IPk"rC,(xHm'AW # $T ISPa  +$Uɉ5Zc0288⤁%NCg4=qp+I`h+PH&paq<0zqs C*r hjws͸`j9 f\hf UizA4΀4-H $R&8m3C,N4ĀmX!Xl4 l @6!q dq.Q8l%Pd3Any080cȔX<@v#. wI0_Ft5WCdoW,],dgN ݃y,ع]]13p`V1(beXʶy=0y6*k/z_a" mUE:\M*%OaL,='_'kr ],K~u/y5d1ߎRwxrDr|^h0hrz{t)#Ej0?iQ+ԞhצS5ξ2/HSesY fvǶ6+,G)PUMx2O,glJYDO:edQP)$)d/f-]8cݑsޞ+DCgdLDJѽlΠE Wpw ' hlx"{Y@\r~AC=o1+CO <{VŷA=1Y,W$ L!*B%P2@$}A#nSAU"WaliqqmNR; Ug\KǣJY;F2xlx2<n$x&CĀ%Y"'KN:RL\+*6 /\"QgRfm+ }A%Kd[r F]%FJlI Xi% @mk߅x]3^ a">* lD`6 p_^|<]w=\dan~ץmsF`:ny{dF>N>'` ڽ:T N:ÝՂjGc{Q0,ŧ-[{t V bpxgCxQXЇeCB,u(y:oaIK=1SzF!#:O3:) hz3.i: Kz /)Wy~SzCgt&NcYKL#7E9OBS +tS #+&T,9ޤMd3u&%@@^zJobLU _`vfIYPDN-8@E^AY%W+,o Tr*@@8Y4w|Nf$s =) Bד''/_B0 1~ʾȸIfayOee|TbO+Z8bvS& 5th U5-VM-u I^(4m{KXuݬY߫?2-}G53? >Z4O;}izW'"WbZ7pW@Lֹ_ufSb-$TWSiqً:No{}÷kh4絣*kQ,Ü5bolT2hSwSׅW+Z)L38Twh9Fr)\ 64:Ե X]7{ 5']%qQZvɝ"Pw~ 6? opgog}?bgiڂ0}`eW~n ouT Ev(ڢ zFi1j O2Ή͉hPo,QS pcpՄ䉵KXOpz6_)F'9Ld)G/d[iic.QZĵdUj,ܖ"aR=|XE`U=8/^B>qHV51 {?V9V[Y:JpRԱ>-dCmQg#. GoT`*jѦ[%y[횺;`jr.Ջ՘G( JXhS{T&D~qT fH2v(Q9 #TqA9@wϓo4w&hc5uݑ/2.\V05bJZvx/?|Hړj;桮Cii:|@9u"u߄÷h*Xcy^NJ;K0U~V_^t 7قprY3hiq'lv {z-cs-z~vIu2Uڢ`@%ibJئo Uܣ/m苳7vBLߛG}G)޾]gBjf+ݵ]g %r}JTy0hڹ؊Yq9&j`dll}7X\NO)_{ܙq}8Zaޤ2@zt3д2mmr&146 Uv2P_ CWRDk+q p) rtv V~DZGW'~)-ދ;".͆V~m>Q'{  :UJH|gCmG|?*98RDR曧=w5}fw/t5 Q<aK%.rRCKG3qK)TqR DHf\B,]ظzQI&!iQZn;)#vJ XZъLsWT(~ooseOw+I NaF[i{~hl}釠}5k>4Q)UgX4l?heP'* zyIo \s8x= ;joJwW*HTE׶1{mwUһ;ӟendstream endobj 94 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:23+02:00 2023-04-14T18:29:23+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 95 0 obj << /Filter /FlateDecode /Length 3835 >> stream x[[od~GP$;'}"<Bc{6;{})=U}>3d)ޞ>U_]rFd_B/_-Qv/6|tfypŒ2[|̎F5R2"]~Z[5ewՄ4Ay2ҍx“vtS4ѬI<2Kd75z"Jg .UѪ2lrԗ'˧G?vGoY=_D]\].>\(~B1LKóZJ9rnVvz \+nȋZj5p |([Ƈ=; 9cajxCezWH=EXU$Āev)tNK&Mpw J7ApNjqFkE0t-Y|+u#0-sjE M=˰KW<q HZ,MaC oQr"/*fMɨKˁו6 'R>󯂘rIxΓFA=ܝ f,vP0?9EvȄȉsD*KeXex /}ә1/*fPMp0&xjR7>eWl`F%a`-:rw(z(&zl4.p b'qpWTH1 $~@;dƃjn(]>>Z|pAB6Ό(1:88 ʶ^ @|9骲]i3^~Hce+4|*zg1 CTžs(lQP3 <ρcCMH_@d1ɕ4H "AH$gv\ pmuBq_u_Gm<8S2gKF~!sDa7f6zB\j%Z@B8g 50&츚ZޙN[d`eNKW[tSAD]>>.\79ݹIYʹ5ȦxWbǹm[K*Be. \qGtאT:V ׫8G| m\ fdO2! GHNUP=Ggm pp/ozYsl=oPh}E E'U1,@UjHMyҬ1b7pC*uJĘ]ejB?r: Ȁ&d5f&a*&=maI}Feš5䛓23K,()88(-㊒6di.g3aUWC?PQ:HaE/Rr-s| @Pd56v!&y3n;ot<"V&5Π)uZ .Ib4J 9U~ij*K;o y\$7+} /tU3n.h'yإ0a#_0<$_ER=&&ԥPP; B]qBjrM-\y TK5&@X4Kmd5:S,*X K䘻9.NzJ{ے!ɗ+ù#qon?/R<ĂX@سֺ#d}޾ZW]vFgh*Ri Wn pKDCG%yմ1JfғBfSn5}ؽ9Ԝ;p' @7ͯG1R}I4?$&Q&gn3v$9o zڏnPeHiҊi>eH Vf3?Co8rg $&K1N%vBOZ$z0~PV\QVendstream endobj 96 0 obj << /Filter /FlateDecode /Length 5411 >> stream x<˒$q>C]AZyGp:yhow&L$X.us +FifVVfvynֿYg:Wdrf~*8185[X I:,o$SЋ4 W)9zTHM YtҒNg#lj}JEۿus0a}fU9ZP,0_\>o798W6;-G)fk6QTNʘ< R)?0a`">` ]A)P쌏?S֘寁alF/u<YlF)T `%(97iS4tݜ[ou߄36[o@N{r=n[s뛉Wdrp [wܺjd ^z^}íw{f#?^vuwGTҕv)4mv>:_K.r =so/P[oG OPG};nsS R~P#]_(½ZxbAP,OX/̷[k/NoX_M~.ܠ3,_nzqm$'߭r4>mN<:玃K[͂ל=8qSYK^#\-#d:o"1zɁ&gjQydI/YRhv,Ls krd?~ttk`HأΦHգw'.px-}yO<'>NNfll[k ;_zuq닕Q!Qf#Os JȔJ+GW}X뫕0n^HCѬd =HTγv0YTT\sz?f3$M "Hٰ:Mj)ص N ߕx FcjVkk ~ h@Nhta@bp n A. DHӴ/%kx2)kd>+r! E(R,Ljge1W4"BIe 6Idpx I%7zSu[%h6?I9 EбH62U!ꀣ &V@ UF+y%4`~q| 95DBX|.E!?s| s/sK8<M0rʣKٰd4 {GB 䅕鍚#LC~< 1` n;W4Ab0E0 ) u)g]!=L-ԻL^ye"FTR& +(d Ҟe xV~c;֭3\^Ww2pmB\A,Q"X>Ov0cN0U5(7N0/,3q Gc4s45LXfjA*>ޡ$bξn >X,vqNNP~G8ՈAJ*}A\qIF9vR]q7DmG4'oW=oM-*͘ W5@^Wcۀ@MS`QOZn%>*p=Ʈ1zi先 "Wa|z?ݝ&Fh[>W6˛"DW7!`͛oqڣr?k?zт.I'$R`em > 8֟f3 `72bK:eCb NA2ڀ:ņQ QR32s 1"dv ܧ}Cjf)̡AE0F@  $d7iKWJV3m8R0]:?p3Ծ0F@)7\!9].oU@0MK.c4Ɖw ]2HtX3~c 4QI{Ypb&7 ?*ϻ}n3~ʹս0W s1q("NqD%2F WOI[Xp!a3IpaanR%h6?M="n7e}0}ЦYX&36ZS~45"4l B{NQ ;òT՟Y(w='.b.cVy3B5.9D)VL4qwӶ1Du!Z kF8B4 .$CAX7Y='6n4 4 ܧGaB=*saZa0(SE#s\S}Rl ͥxP!!0*B`8D<i !ِņ )SDptH`St%SBS9?$SB'PӉ>% (nN5:I0vfs9Q>8tH=3.jt$ lp` XV`1FcP $:3t2$AE XlFlv7Y9kg`y㙇S]w@=檇\tj(~GLT`E='i(N '%)XʺflhVQY[_m@:,<K/6G $ T4:eOp:rH Hy69U)Z/D.` a2c3e3egʌgʌ%ΔW>S&,y|(3e m:S]ϔm 傟8Szzus˳v堚S62ß|sc 3TWitY^{;]ŋ{>getpPn\3?4{-X ZM {~<8S0Knthmh]HxC{v,DxP0(DkUWZF^,]_bB+ǜQHvSD~b2sIJ2 {Qi}  |<}qGLfzr=ބi+ϡV9cr0_*LGTT5&'̎(tXgs\A-XwU8 dP3ٹm"@`4?* (u(rS"GƟK1 R FEP8M7]a< /3{H6,:j~ŰC -ީU VΐoOqCY q="Z}CgRsBk`$Rd {(Z@g{*Oy3hy|*,ƍJr wQ(i}7z!.ZBuCL?zz$6h8fߢ>å ^tsU\v 07MfSD2} wķD `]uSL5ErpE 1 D'[a}sJ 3:IOH7] ~^Cc9n|ȳUWcIEAtva xUVY¨$ o *<8]+{V>?\'N]\ʃ+ >x2Nn n6X&k痘]lz<^ʹUdXq봇ќ@ʝz$:RC "=g9N(I\.(x zYjF?,`+t">FL_A{ 5HbF{Vdf(lXXE7;(ږU9-ʝMmHH9X&U]wu +^VCc}e龮jN+m蒿bF,Y!PTמ(s75$[)_ٛZ,e}߯n!m04U }G`!\_ 5x}f[` 4 ,72*{ FN\87+w'PDc,O%S ƒ<ߗ8-A-^ ĐٖCcN <]9C9CƯX˯^ÍkX#ѦRma5-Lj"I]ZTK!?aeS9p~#H a#K"tK\heEBڐqk$5P-YpYͣBvTV@:?qt}V}_{H1;`?ju ~7~h-hw) 7n%|nE$mEx$u46??Q}f z>˸ur$<%*1js|pmL wb{SK_/;]|Dw?i^9endstream endobj 97 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLyS{o(Q,tk~\ ؒ'DŽF$g?D˭ƉRT =b4S83Vjt6w}'9܅ӨUK&Leh|(7|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xW Tg@bL5nw(-("4K#ݷ]@DhV[4qMIL41:j3ɼ-3$ow{sީs8MwU~H$ys͟I)FHaUx\[2J$aQiNȠ@t-^ps;, [[EI䧊w4P _2gNllݡQ0!6H//2ErX;l_'ehx/U0a+oF8GDTjwxu~6mq:w^/E,8{8Lf3S7f3VR 55(_`>4bIFqTKVz#βƨ}o8Sb{o%fP+5jHXn ຈ=|mSkmp:[u= qrZ;8'it-sb$&J;a尖u5 7MQ^!\ÜM }J`q -D6u"x:Rl?bKl!bʐLZWΜ0]>BA3B9f}$&Pz^!!ccg%MŶ*ٽ\r*d+ Ѹ @2břd{0zf9AN̗h#EwoAO0λ9[QoE {2ӼMף?yrVIRT<տ(<\֖6q,ϐaX]^6,BVݕL(Yx ۈBQ|Yr]K5cS2B?DNQQOҞ~<3>p< L)?yㆫ w=10ޫlkh9;LXb,g9&YzMA%da_ Ƕܥf,,GT4h%g]<#rϝu \fOXWV&+՝n MktEt9M*c,@=5,>3s}'ԞNN4W2Po/cp9bLiy756Gku!P܅:LUq0[ Ů[ Ge%PSO9P /Vu_RJ@c4S7!omƯ2BvAtRp+|P\Mu&>;#Q+TNeuuf6r׸#B*6ݖᳰMp&Q4R+yZw ܵ-@'ڡqM4SOUt4OsG$ϳ46Z%,@yr3x;=DWgukNDoonG%o !hA^Sbtjs^dt4oq؅㑭bPS[ t$򄜤<_ܟYop9 6ѨԜgRE+!_N $ޜAwxNc(XTD;8qyROǥ%gJJ kNCLVNdwxRLTexO_cށ5U *jrJ A#ըQ,yqƮD{q,\o ;g)oœ^3n|bLOқ_{wkͫ9!ۼsO EuQgtP,7]'!`&'@g$1p#~i8a)@Z]ŜP%@@ /mkY)nc:K~)ߜAª5齜C_97PLl{=0ɱ6?%aQ?%JJ"sb9|:"b4INTj莑ԍ2vKJ##d5^8}I Nq8d-b3iʅnI5͝U'"j<|Y8sd>ّ8xʂZw3ݮ?DCr~,)Fo7}K+#-`zBvo[rq꭯v> b{X8Uy >}dΊ(cOmCBSKG.mK:נ ؜-k"5ZHQlQb)fݗ\c2qV[L̂T\Xmdy1.xQ!nI75ۻhSwqTIn.2'SD0;_KWx 4Jۙ 렲$S֫KD9bc!87 O(>tpaxʓ}ﮈ6U5mҋs)c h6[%XbhWk9\.5yp,dŇQ Vv뫏 `|FҶ  @8 g]qL‡. 1S"r'Wȉ|VQۡT[8bюb/m/*=u$M]> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 100 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 101 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xzt׶a222%L@ct &ma[Vْ{eئ @(݄@8{GMr˽]_9gTn@ [inB/EޞbлA#7P L?qHGӧq0~t9>۽>;|D9qlnu^hp4'qEODEQ+ 4/l #E-.ٱ4#sy׊8>ξlw X.h}N&NTeKRoz zQ$[TwJ# (M#!,꾵W6lΈ*3&cD}Qͽ[>?ԷGߨg9+S_|s_؃omzzq_`p{J?hѠKo}sJHb:9^e!}lj3toQaxm{ &D/o#䇴/g UJyz">vW:5DWjhmzCMcNJ6DXB+C qAt2pXݢ2K;Cb>E6 l606-Rv \/>g,`1yP昶ڻk/! ZNtp8^"@A.4SPSbi~5WKCs6Kl7T.^E}_̣t6C}E_y*J/]k̃෸nAUZS>"A"L\U TV߷[<a[^)3 ڻh]!XW7 p?4@}~9]Ywp;qBUkV샃p@Z^`M-d0̷ Ltミ6$RAֆkzAh{i<̌+r7.ִiHǙt.߲ `PC,wh),;ճ `/0Ibh@v ?>'_e3%r:֊dXjce#]_id1'QCNR2=DHo!JŒx0xȶ=3}^\> n"4qhZ ϖ7ud-dXK\`UdX9:lw NLGvR_}ϲxѿƐ?%}ۈ&y fo~E ePP*LJ sfʇF.߽vezR3I14!lD: vyMԂ Dx\\!ȡ gS$FT!, 94Y 5kK1BԦLWWoW,FcG}]jZZa&vsTM4/rJut23 2cA}}P;'1'Bv$aakkh(̭l2Tu7I ǝE@F Rߧ x΀dpoF̑myNf৔5#>Bƨ"o5(]KBkZԔG&Ly_?:Jy 94ޛ)3_ZU0xә嬞~JVSB͍QM g~~섇K _wb8x ='5qU]R+2#G&4M/@X:Ƣ&<-;T0үpxtTZ7𸔳s&dAC!6iopU&ri>![,zPW. ?HCסŸH aQ. R | ?Da6&zAjRxr I[͝hmW Eςh '9 k1N}Pujsd3I\03j32l&n-psLeU ~IP' I>[Yzࢆt(U: "a6)Q)*BαQWP.(/MW!C^adM/B#ȓN`?FM.V)T*ݞ6^/v3*z'+|Ԯ;OKMwOVzȖ56Ò۴1ְԆX^8~Wf/!ꍪHD)Ύ }zXFV^g(( >3QjAYj7g9ΊRf3@C#' v-7AGNyO7*(=b13E"V& Mccm߶ٳ-w,0L^#DP2kϞ#UզŭfUpzm UNq;+f!l8WoCD;Uf2hԭc~,e*p&M5AQB(C]Ͽn#+'iLII3]Zi{ջ,^ڨ:RC ȷ%CԇE;4;i&*ntm`=ȓr=qN*jO_sȶA>`UE6'26DռM1(r2򑺽㊨4>A[_t,Q8:-v' h1s$w|t0N&7fԍwI I:]b}K=waS{,t |ߏ%4{9G :ɽzCFb̾vT{Є,*Y\mRw3#W"6Y{PiO hӶ8?_jB>M)PkbBՉA.VW*5ja:"tfF!t h2-ŋX< {4G R4MD8|Pz8ᷧ'E-b&1PO<~>:+b.YLTItM]ٷa)st +7~LuSΛǧEK,%BF|ߖW)Q)*C7)3Y֜WҮ-:{t2>d'M}QSPY0<*L!IM "DbYȀRr`^t99RҴ)<ăN-S +L.+Ϯ,Mv{zp :)0.c!IJ FNAP)9.y߯EOn6&X˭] +^C&0c H ×w;~xOA}&izc)K Q/>S9·A/XQRqj3ّV+P ]>f,OAJZ"!XӤ67-'weD}^]bS_bGsʉ`לV9ji"sDC MƊzґڤv'/.'\E?,~Ӵv|MOۖi V$V'qk{]dUHHddHHUd]]UU| +МfAmSWxY{kEY- Ih[k=J>;&SY,"m?[&#'W`N'_>9?bM/V~2Xv@^Vɀ˺Z@fe28O,2V: Ys *ϰK:ɼL#NGOȵ^Y$?h:iftdY?t~jQ{5E>7HQo Z˻q5~щ;rNR(>$Vdg˦=h,& wQ]!p;N/g9.pa,x>p?G|QqK7UVc' \9'QF/ƖsٰT"ٲ1kO_Oͦz &DoUV,@&?=yT[5QL0Kv1>AC f7˗?쎾DnP|}Gܙnc[l3 .GAWX:?Uj%W<>0cf]!kql#/yZT3!-u #W3Ѯu#zŘBKN;O~wCLIo; &`,uJVwoٮP#UiNSNF!eC)wPtyH+>Ei>g:AF"{XBGݾC ]o1VS[8I{,efZtIt[]+Ru*4R% EZ]V_|Kh֜_7lbĿ5u JJ|OtH7o(5VUӶN4 uF̏" bjʮ_CcCaaM,-$*-_!IN&;T2i_Zr9~Ha!'Kw {%[EշXU|KmAU ]{ϸ}4 .\"3)~wrx·Xȉ;- ꅯ!8nCsðĕFbʶ8`LXH\zCp!ƿbsbQ`ۂPQD' Y7K$'<0Kmá< >9QYt9kB$QQ[٭9i˕6[ٟ3$7i̓ 1g\v[+a$V.# qKdݟd|Ze,zcVmLk0t睻{WVܫ䇙_y?2V4Nuu:0`N])XW% HGL6am(s [!|l3^V4SH\Tma+3m B_ ۲b.}hnӘ!KѬesR'SÙZhlM6'] tsh0 紻YZd1)iirnӢasa0m)QL$|WO=D݋uGSߣM3eeh~uJItP9R9F/)D3V?6g6 ;$?XDz0Ior؇l+ln@[Qb DGCg$H:.J~SdvkU7xY7c׬M7d8c]/.zNcƕ~.4=h.z+|B'Wqqd,$~kV>19߸4 ]Gxc Yl? \+AU+n)<پx>풬3Yy>COc[=̴ th:6Xg>)J)G "(D7:+%B^E\s aPy:I\8/]JڌZā'}߹]M;J L@uRyeeɮOֶ{m\ϗ@7hk XAJ@7 {!rWJ r8FQ'. ]*ɮܺ#^f׏DhjoF6ȓ,p*w@~@h~qZn r)9 rbl#ӂ|T&Duș=VӤ\PAB+PkPHi`Z;[5L=ŧZ=П5vYHB]2À w#DyFGE6;- TUI!Cl $3;- ;4tfdO VnV2tX.C  ߿A%\x`'U5*%AZ_J ReaR/g= {_CQ `#endstream endobj 103 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5352 >> stream xX tSeO+0U("{ATT@ā[$m&mOm6m7-]tbjq7}߭Ee7GI{Y'lMrEυ\6?89Lʑ}`Mlyhk1G18l(OI$.IOM[xu.jŊu6d%' m%gK?ӓ%=&z1T<>+w('KI%iv'&''H(#>+yꖏle$9󶋒s,kph8{sNIދxo &HNIM۝g_fU~j,VN.nB^">~V4k#+uk9k31֯Y[X[Y/gmcfamg``Efx)GqYY= &|L#Ge7M V})S~?;/"y?}3.Df>=(n5kxnΖ909_Ц:H/ Q>Aht8egZ\^u zmۏ0S2T đԁOtJ0IXxy]GUFapoCQ2%; ȳdʝ`&4^pYAYu-p*Dr(gΙjwQui+"#F@DB3[Oi=t 4;ݒ_2\Ebh|cxx{eM2r5Tnfbt^eG\4MF|b17xLvI]CG'繟:^#*v߭kvWW30p?B HTRBon@T@1 N5@E =DȑȲ-93g-:Yo6]U|&0yy E#6jׁD`3_z_@/գ7ʟ>_u<: nn,!!tlWto9dfZS(VL0Fh7A+5Ge(Հ8NWCIՁ g*ZwԩqBJ5[PND]G/x>nA*|Rm>.-jq[5b]O`#Őiۘ#U46K.YB f=>|7/UQ |=){AOq沶fL"V} bҔKY ]|PRn-hAMj@A[@g,G۴23t.Vשk~ Cݸ}18 ij #k ;͗Ԙ<9>ea.U__9qwfG~z5}GO/8#'8E@Y/L} -BW%xȯDTwσu5Wn6vj|P; *J{ܗh45<)R_eVsڼ@mtSK0J}2YjLn (f(oY%KګJb7=3!RR$Ik&wsb4AiK<3w]C-Yp(@&ܶ Z9ġ\iui,Pk&72}0+20ŽmCmBk Ng▧1бP@|\XDeoAsG[ZȪ}=tBM?TU:A1T%OO*~D64TF!N=F+8Kaq[CSZCO㵫BBIDt:..F-:̔0O n|tT8?:kQpXqYx=ӏһ^9!~Nd|rfx|ûIWS< twzCnT?"'[jr -sďm  /#>zg{?N3ssC#Gu;ؙ[|.`!#zd {݄|zk"#0K+^ x`&7Q 0:=̡^R^U*ܛqP!^;Wْ*A5~|q \J`1_o: L -nO=|2''?#鄤}JgЃw 7P'b⁐KzG) %w[WNBuo8'.9,~w\7Ԙp2fE=1 pyn:k$6bH8`V; xAzA:8㯷C #B# df݆#1@Rt9ذTQDWJN'_ MZ6,@{vj6~ՕcF]7d-/Fe&>ymc]T\KE_=OkX4ZròUB kaxt{O "9ޠ7~tƢvEUeZ(< u9{AsЌg?g*$b|R0Z=f4X U:m37#YRt+wh [!/a㯙G_>Sp]mE|2Hwcט,.U_Qiwo!X'3v+ r(W֠(!nevZmlj5mE؏X-3O2k{hv~'-UB4uAꪜ _ɟϣYuql*TA̡8%dJ`-,.wM}SȀRNCYmX۵&b"iUd|l:ɤ Nʢ179uwQ;~^~eH3"?U\`oRkx0:kvKfuf-3a9L]Xqd 2yZlAnQ7E.9r`kuLDOcq"Cin"S4yd!ybo)g׃x8afdP" ܤe!w5Av0p Qr+w[;ׁ+]c.g %4= sY:20p~w}}>_N j`W#MӍR:G` vs+#DUEÉPJ]ZDYq SY07HĦ Jϛ⦸Df2yx-<=ݥl v&|7Ђ9I՟ÓkZqB]|`޶$c=EJ,Y OVZִLx;DgCl1lI$x[9lPW {{}gL9c!!s6.>>+EF'Rq# pW[[Nl M"6z2z`F)][DnS[F_N𘥬^t;+kՏfZ!$naPl(|I7hRw@ubI Y??=GDM>krxД+S)VO/6_7endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5536 >> stream xX TS־!psU%껗uhЪU`~2 A)X<~pِeC*lVٜ:rh0Ѱ~kj{P:Jk{Y v :|pL: #Gl1hDۈB]Q'p;I @AH.)PbJlb^֠R9]Vț̢+Xy+Q@`*ӥ50iLԈK06 V؞>.] j~s&T-Urb%w ޢF9R{zEVt5lOM?rd'=7P!`auj]oӰQ^8z]bn5!(0]Z"̹T.v1l:w,B8p Kܶ^7''sTĂ7盓gyH\b@-2>O)CZ]ZiөYI"*8Eyqj֓Yxoŵ㭕:o$?U$?]\M[s,vx]8s=@Ӄ{ {g+nk;%=+X+vAIv!UTQ=}a;pMt ;` $wSҘߗ@1Zm0/l@k/Re5b*%ژgoYʕ~~oz_kZA]l fRX{GŰXEQ})"]? ø =vgprYE2Cnijˢ .-*=nɡ4 )E=Ew^-M#sھ!K*ۗcF7%*$o+Ik-ڼϦNo$/}Y5Z1Ilx=?sfJ578x死G:ː/5UVݥV0ȴKNͲm'FPjĦPbn%ը!ix7GwTKuyJɟw 79iatxk1mJ KH84gE6m?g WtȡUn:Xl^T"Ċt(:2دD|>mJ韛>s8rrK}J& zE5qg"C}9ByeoҊ2*4:ks+_U P+(ɬ`j c3>!W @ E},Л T/UM{OBz{! x(iid+X9tg/tzjYp3i% 'mIi8xzr `7%6ݷ4z HJyv;2!KǴ T2yu"ȃ7zObdBC*TK( կu# ̽(:hyw:eB:Lq1eMv= bPjo2Kؾ1v|{$0R|5Uҕx[` JM0i3aN%ӦeR@#/>ޏ!gH૸-\|+P9'Hv+$}Eq;S7̹G~Lm~JvĢ}᛿k\&6{;qm !] lL:#1OW KaUWrOIj rh(8 Ւ5geYjowu^Ӌrl`u?xy6X?ژ>l8ZRg.E7/@D\^gW?C9 1CՐP/ow;H΂3MM4Τ2$jUzH֋H )F ͇-~%؁>: ;鯱eFg?9z>޾if~rPцnluUi SZYP_Ѹ1vk^S1-ԯ8b*V8bwQ,3x ^{qS[jiYNǣhF(((UQfzQ~EG55iV%3d'u`t4B^!>^tu:t)JaQA Ba`}>~~etz'}8ڿB%&~? ]f'{ia$ve$V-f6KYx9Dm]fl^z=C3d>W kl[z }Ϛvt޼y˙_9AB̼j" , v[~U9]-)re@ Onx\=( ?'T ݕ11I׬ͱ)$ceI凳:IL~b}[wvyv`'ǂ}Z`VUkFcE3FY픷['8xߧF(l,8{ٰsA>++H+*B+W?~=⤏)bN52ΖKTI \,D!sO|^tAtR狂LRP$*Vggep u5%Eh?˜hmTJ*K)0@+y $qD*F0ڬgjVݜP$3}Â[ fdT_Ap`}{®0CI /!ΟHh*ڟ6.;O۽cK\Yms2zEI:0n쯖% {Ĝg ~"}NhՋ>!51 ^W`- k)-ͯ粠&mYz:*bpK:$8ޣZ˻ ѿ~/Jf͍&siPl{!vOSgסjUVjs.A+aNcDPCOwZxIfVV6QU2*пlQDN`+'}Xlff:XAgJfMzpƑ:+B4SJj JBI*Ǹn\?Ag&0L wK5K!`uc#/Xb~u_ZyNC=i7mq۾2Y*%nٻ*ԧ3J.To }c.J`Hɞ౵gay)MɖI1(!-VWU 6\y2^l,*3x leu=$3P.,ŏ.Zk=V~j''lVGQJG䥤wC`_SC=9#s$A@Hz0E!Xendstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 392 >> stream xcd`ab`dddw 641U~H3a!O/nn߿ }O=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUMB9)槤1000102P ~~0}wϾ|x[Nw_'߷}Q;y?3og) Կ`00~Ksp跲ֿ^_n=E'l~];\| pBIOpb1y4^Eendstream endobj 106 0 obj << /Filter /FlateDecode /Length 1594 >> stream xXKoE/bũGv !R8\0c;?3=A$H(Tj]_hZgrʬFZGH\%:4JLu hːjD/Rނve}įiUO&t>%:}FƎS6YsZRF3˸Ittzz5L3y>eUKBk%`Dׇach:f㘜uEHi ھqeȘD] GՋ9uƲ8+J.՚NNqpCJC CFت3>YA笺3l,]LR 9+=q:Rȉbcѐ&RWGGfA!rdbmy®'kRJAUHm+QVe# vq e$+";O;_!Ojpf1Vjf)TȮ!u09͟/ (te:`|Sɚn#RKIQ1_K*z]MLfR% dt6ݰ#icy@]7^.PuШ >A:&J7Qa=txouը_u֨F.ظZзmF.8Y}~FtoK lT_=wg׊E*1S@vqMa#ƱR)5yFYr>jlv :wwѨv kF}Xd4yiY(VP!axUt@Ɯ]V֤Ή0- thP+Q0ي(=rz.g9<)fTv*62=Çg@[! Z=s1i*ϳ B&PP%"K6Ăv,{T"se#/_K0N)d2fquhHpr/#D٧/ef3`<;8=^r/_5Q rn,)O*ZVu}1$w>_Hn{6#FY܁~ϾpFQ&k=Va_!Dt9*R6Ѧl9DnA7`iw=8$|_k}>aQTx}]. .}g⺽`MS=K{&Xw 5r܁>zܽxm#w3tPpE7^܅ D [@kKX=*8 _ !w *Q\oB9r׎PaM ~S2q]{`ɪ˥92.3[my~cR5~[f;#>j*Z]]Nqsý˛Q t.8:X` 5ﭙ_ϖOۭ%۽9ZKvA-_Yض .yoǘOOWendstream endobj 107 0 obj << /Filter /FlateDecode /Length 3466 >> stream xioEh(BڞөJ q̮L{20#|{U]GONB"_z5mHj:$_d9`÷2|4P֒F mImD=~22VU?<XCc|ͫG1VUOUD(wNjMQ>$m5!0r8{MkDpeu<*PH[a#Zwp `v1NGȴ5&h\%(RmZ-*^Yx65.hh,«mEExq^V'}t=mF$D>Q9O_Q;S=|w i6f5i㍻uP*q{.ẠfA;zH?m~f5մnWYALb~,Eu,&eTӹ쟽z&ӻfE^'o^M7Q|ԗ1_NvGN@j͵=Ӵ5A,WjyU/nG3Jd6E{I{/xZd1~l67WIڳv;B>33gSt1t+,yznjB$!i5P,< YC+YKz̀iGv ^]'sGIj(>кMoOh x qI_Dj[(ARӦ@XTS-?R cCcuVw>W 2znh|(E5bTGTe#c*ٙY@rípN0mխ p&_z~HDZ( 0}*a[&1&20K"X׆0_|aw ƥ@)^ jbLه/Oȼ~7Sk@U8߿ UiO~CAT{-0`J!Lu%81뢋 EtjVy>-n[,83ym%$ ~˞djĝ ֨nٵ3[*u(m``58wt-ps2@ZpA sN>˙^Znk85dMȊv}e,L \ #d~9Uk%EwmSUk2;N.Ӌ~kpK| =.Rs#`u&CT|Rѥ8 F}|ls!.xq$H//fg$;60a WEhpK,BU?3B-uvyv殈YctvS)w Uendstream endobj 108 0 obj << /Filter /FlateDecode /Length 2819 >> stream xko;A-zLF@C"DɣcC~{fwvaMknov3;w}>2UL`2%8W)"r_Y.{\0՗+ \p),Bjb%q.kRZGB5 L ɤ±LY42ynH7_5d3]Nz/\ "y1`X ޟzW@\k&/V3Hv:bf4d? !:;n$BJ@J#!hA&3`{aRJ8"gK"?1I.U%$PQm@ĹOz/{, B JȸI$+Ƙ6>lHΐ g_FEv~qU*<н^e,=^{h2a \K,NJFyx "Qx:_s `$-EHgw|=?>6>=;XY$[k`z֛|~-ʲe|f= \ߗ61VY5YiDW)FAykًͬ\>Lx9qΪ[c Ng庮{Kb[i9֛("{Q E,~Oe֑:lfG~[-laz[eq,zMtj f/VH*_:kݶ _wvڲ\/.ѫvT`HM9VA, Ibw5+ꢵ6>o˧" yAx%jmQQj^(ԮjUlCoAۋrWr)Irǁ/*eh3E>$(#̥C#RPxtٟccGfsQ+jP-YZr>(!VER漨ޗ֗8Ys`~Wt!I"Uv`ƌ:s™Ԙ Ct*3Q sRe 2D`)ֲA2ؘ6zE}9ܳ9:Υ0>n>&Dv\RۀLsOb5E:bXј5y+ L5܁qHCPL^AёX%%>6q6 gQMejbUBX4gcXʡM$)5|OXܴ228*lVE `3C&A6] u˫!<vI%<;;cR$"1.eq%D:ؙ۞HzǓLrhۈ2hU!_F]9ֈbjQ <5BNg94[M Q&ֵBBSh{kxYI/gP)4 P+q,$#o mDPa46}i 8FJ[4Yv6HB^ `U, a:ebhp(uLzZzCA4LLm0@d`jmF ~hu, NÅ` +VU*0¼#y#n ;baCD S4!4Jۄ(F! 7Pg]$L䘛 T ^XzL{ y^}d"-!@"gNX3 N43v`WD^Uj7WJO>U?NTAV χd CӦHh*3TO.֌Y3`IK3 xC-W3Tkƨ†JMݘLaf<+P7'6{g8r(XQXaAT0HôK`C HjVC33#E0,Ob\(\X|mv\ -dA4۬m[:V`6qn>Ӄ)KZHKaa`q *<V5Ns_eg%<* A##Yb m.셭d uk,nb}Xث `?m"K&z%0g S aXt.w al47Dk!x~}P ssTF,[݅ RԐ挵2ijQHDjY%ςMI7 Np9rh\433cNFHS Tv>*ݝݬ!l Gh(3/.4.wL:iVg/n.5Xhs?atm{ Hf#'dfD#2NvGT;Ĺ}oGx;z<nί~jw$ .J?9G×_7ʬendstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6188 >> stream xYyXS׶?TQ+`R$NU"8 "y I쐐y uFZVomk^mzO&w9oo=@OckRª߱Ȥ[Q؃^=Xwwځ=^{=/]FE82(pc*Q҉3f̐nMv.%#cɲXYL8L%FȣeEHGI}d1h,L+$ȼhҰؘpy<6&atA4TG01F'$Ry42>4&Q.Mc¢ؘD">߁cD)>RQ rZWdž%޼y*I&RsʤEth>oLHJD:N#EƇGl8:yPDپzs<1A1Y)mW7:4^8.IKG#b/_<94uoZتp?Ȁ@mkE۱~IdO2u!3fΞ3wcxB&Lb@"kZb$D#F뉅D0Kl$Mb<@e$b9L$Tb1#b !$ I Dp!#AKHwlM%}Ļ Lq•H t/{,KKgvvБt;+yӷ^zUܣ@oO|{}uW?"'p8erW$4aP ŠAG_p+amV4G(3v48V j2WG޺S3e*>M}Gʠ ΅mde?Ua ކ%fcFj1zLn~P#&|HC#)l5׼@ڒRYA.# ;'p#ǟtfo?1/,u"nNʰ=Zb[C r2g}A"|z 89EeUɘPFQАgI(K)kǰ(50 zSW!վԆXG/^;# yp^" C' jp dռCdD!!$C=%6$Nwhb`6EQ,WgHP*X+60<@8૧`C$'8aj-.SKPv,6-g`"Z/MACfOi3 2A{٫zS (jcn^~A^20n)ߟՋʢj}n]@ NI0GmLdTkk롫HW+EpBʘT"?+o_w[faq8NdAŒjGdu-?>C)P,/ykK 0嵳F$"tzEbʔ۷ &-Jgq!I􂒣 @!Њ&UIeIIm=I*v '@8S^AA~R~^d+ A)ͯ3y%p(d~Ub+; 2#h@w'# é sOg ${m ^p l0`t4-CHDgp ̬'29 xd²y"d߈|3%f8 p(Rzl =65+*MHݸ&y2f>p`wy;wZU Pӂ 6`!+΍ տyrj X OSY'ۧCL\-w̶D|`Nzyz^kǥ7/Kb|f$,ngZ}Xӡ%VZ8{n$j %܀) bHcs~?fʹrx vb8.ПOڃ']pҏ$*JWƗ8܃'/\r9;-Qކ+Uhׄ]J5x}jqq6XJt߸'SdbPAǡ )y%O\oot&b OV]RTB0t'&kuw[ mFU^WC¦xBdMsC˩Gm/r u&`:14"9x#sR'yjf|ϫ 9F(q&u*⸁* )rdKm7DL8p.—OC'#\O&P1bzf,3SqGնΑ +I꤬ۖ( O %Q-_8T [g3[Bi tVs]cfi۵27=ECj"1l0>r/q_} #OeWgSl%ELZ[2r@_;) 01 IF̜bļ";&.AREݸzpB[2OOK&g(w%kRE#g.f,hSVIԚ|P|Xwn[ޔ36meEj@Yq-DgLߗS<0ڎ8eXYSE*2@&+Ϭ 8>&՜ ̐XEnUy(MF=ܼԀ\Kuu9!paOI9(y&eWoy@ߺp9q]wF˩GKNNQf2(GNW g8W r.GkZLҨ6#(.0DҰ%@'ڔ_t60ےr(I} | @/ŀ./+/V)lbɴ@ z]tR.^6ßU1'jkN`V[69qC3$݅f^ -~ka ^f,6c:1˓h]7~ut]HZЖVR*xi.j9R|Jwa:HG{oڵ=ӯbxX}l*anZ0w|H⇚!gN;aIpG{jc^\Ru(ɭ-+k(aFiMySrv6?m2j@ED$XHz%qñ~8yW@\BSϭj.vFQfZZFXG)^z/|ijIqNSiZ H3EFI>,)N47?k,leZyFsA=`,ҋb`݀"n0 .3M,z+,*ԋ  9@o8ODJc"ox35zM5@QhEZmu֤7Ps0 ީV0/财",7| V\dLy|Ʌ B W4b rl, ׫ۀ(/%1r[ 6 0%*S.%ivN|N+?|hd =T0hKҊ-,t#ڠD~5bm7@Z_ZWށ?I: (>1`˝&eqEWFt鼖 A[H7 v][F7p8"VՈKs+*ƺ*n>X9:fl~W; ˜"[K"wJ]I&m׽#@-JU~TVڔEţh,eX)aX(k㽬ߊFendstream endobj 111 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3121 >> stream xW TSg~1U|$AꜣvqF}4@H=/7ad@ES;23ݎ>393$''9'~>5Dk7-| O br?OBD)H3kqX|2L>g3s~|qJT$* Ao*Ttb {.55u"!yV^6SgoR%T˴:EJm#\bPkTDI\M'R*ҢӕT1ظxM´Y)j=Bm6R-VjP;pj'[jZF-VP+Uj-z(J*ByQ%"^>u0%[$*,$1WH2Fuz̏4x솘O8C*'ĻA)I%P =>0 q8o:Sw Co|S\ =T0d g'\m`ˍݸ?cݯkڅ9"^R9e r/ν`p< qRطg뎔h,EL|`A}H> *|%R3͙3!IjhmnLZP5H=ޥ/ISq0ECCbͿ6@Ev!ه[PiєC/յܚܡSKFe= T̼PȚlTi.& ed2eKiIYUMii_.TgJ,|qtI g:[@|*dCA 0P("PMG61^㧰.2hi)MN ×޾,=J/֨+#Rn,ؾt/ٹ;V/(?+ŏh2U0͕4@l{jo x[/0iV܏16ODM<'+rq .z/g0XHu@h %TyTpZހOAC]]E'-h,ZhT;ptc抌!4~O(??a[-i*Mdr~smBW`8:#Mѐ Nh2WeUk`$%h& / v-RR8+]sqȒJsJJ*ãAߓ%9%:ʒJ.TۿO꿶&8r-0`o]aK~`>BaZ N 9n0*Vk3&GR8]y<~:Am~S"><6e;(.I3 jۘ߳gwοʤ(:`^kvݶ7=0' !u\Msf`KA/_Y<[=*Ngк E ۶2Ec&0NhN4wguGl.GzhPc9BPf9= %$@J3ͼ܎1}]0]a)Z' ^tʔh6-xV@#u9=ӛ8];6)Y&楟\o5lZ(AqB)XR AfG$4rI8ߐ-q*CFzv܌#ޠOLywIq%bH`oG{g5((/mx6))@Qj$2Tyd 9Hػa胲NPQmaf]0N]9=x?߅oT>4 SR',n}w8z 8zIH&W  8MInJrP(8c^(B|0Mh"Ӕ6]{Cϩalj^0NUu&!)~-,~YH/#,m(d4weԏёlzWOTK)40}gIϢ k-/,1eqSraD; Xll LfplA]ޗo~&Q'++JiN01> stream xT{Pw%aUjw9Ƿg}Bj*U<!d!" AH*:\Oeev:Vsc~{m3f2;|>~pL8NDFٳo\x-@x]vT\  OF#}흍p\Y-FmS.P-TXfeXh QJ)9:#CXVY i8Nvrټ,1#skL]pҬ4uژNV8 rܲk$7qj2MVu39SbE=",<vca{Xl/coc`۰hl^6bmLea7TRL&[>/'"8TVȣ%<G>dɐF4RMՃGqDwFeH$1 F3W>q9: s&JGo  f3~B3 5:zk[[#/E,mC},SuӒ~uLNKr: 1]fKJPE!5/8q^&lޠЙΕi ed61<%Os;J!fkL;KY S33 +{M5Z#%pJBmLj7V-u$V[}dGcZ`;>p0FN-M6  ',I;?XCZ_¯E+ ]6@Aٖ^NLZ 7ywvdfWԄf/EL!V׮n*~X:n}z ]f oMËu-C&izt<86Z-mtWH{5Cw/`8/Ep t @zڠG,f6],95OP 䮤ށON)rc< xnu_{>In'?*Ε73f^hAFi-'UM5JC#Mʫ>(el`h@[b&ˉ.z,b9+jAJ-:Hn(+vI¢mP:Τm5-l-@l;aʽ) 1$tLXvSV8m)q֒߉3?.@_֙灩ɌnXuQ-_}l$ԳO1ۧ ~FA˕QP Uun n)t0 &{U$}-m\Q] 6k5@.ݴ9<19)=b$ IJm`%ډ^ޏԾAwppxx0!66!acPUQ n>7sn9GBppn8usŝb5WB@y61᫉I'hgoVt'I yptJ} H'eD2!j$;rOmb%ӧ ]f6ٮN3W1M&0hsi1GQb$=AJbp{"!s ҇TzUd \6rg)Hjm$YGC>XZ_q'zjO1]xӢw8D3g/ED9pv8*)O u ʨ؝4?<~ #PԾ1V6T~a^a{uTTۡ*vːYb_Eo\NbʻfZ]Ύj OIb󒒍!RWl3 7ˢ2a",M|F' ԐfVAY6bvIϐ[ؠ _GV( endstream endobj 114 0 obj << /Filter /FlateDecode /Length 3467 >> stream xi[aExr%*TJ  o7^B&B=w7ϛ,U]ξ^1%lL_wq">Ҍ(͈8JL ѫ5FKJCi2G(YJ+)% q#[YbT\2%R) ULSq:3E zt0b^l=bKnƎ8z $HO a\/֣׍L5_<~68k2:K9wQ*h^|> vy ;MJB}̊'aDzɄk%TxjLiqZ8< no.>zz1j$xuqQHVPwiQ{v,h]TqE4xJzjOM.CN˞B}EV Z'r2A}R>3zA{FͧjhȀknesݯOu;G`wnñ=֬] oG\[ty<~r+kC/$uݮU?Znez06om$Sw]i"qtof|S:< rk\堗pFy޾(F]@8D0 TH!jq\.A$b]_/gK0CI":\,d>Gټ*}ӮN]r|ӻ]6_l~pK4APG)3&e$8GhO5G!{w.'S5 US‘!^)ỤF|e#`Dktʼ>FD# &|!F r|XtRrAV,jLBck#adZNET2 rj;SALL䬮DU6)edyurɡk;v]PO>ZMx-\ufsgUyeZ;Rd_w}d|Y"B$$' -:mN_|(+B:E_W9 gwe9x5Efe nbpĆ@ZECWkUC1Xj6&agdծYzP1% ;r'kjz*&I>/byvYHR $:Iq*VuQ]:ETHm evaCqMD~vh*$x*lb3/iϢ(@{g/pJ 2{ٯ^ "VlRt,T\xP+KzHлyPj)p1/ghߍ轰.@2ZLP;k; Lr71}aȡYBr2I8&^P;חfp z3Q Ӵ+a`ÁTYH8`{+P +7,,4ѬZyJ[-kUu{G]J0jȓf?NO%kJhL;e8QOJ%)+ݕR^XjL Bx9,And.,yab*"b tYH |(HW^XH[`0 .,]g%y70V@NmC,mֺâR} \[AzU@C46&K@^vVL?J-uku 㴲 U9%7 ܕNU.]Ы< P_Mδ< []o6 * VRLlXP(cHWKdo%׺)]oeu2e0F}߄z% I"қ2l###l7[2qP=^6>^Iw#ku7lxhAAbἘF u1 WY {0O`ChڈK@q+cJ/" ,V=RȧBg>ƪΨb9ˤ[\pS7vs^7'Zka\|ⲡ-\r(̽ec{N['>"N#vUpQ,g|y L#׹SH4tgvqԮ`Э P5̧.k!hL[&w X;"<:gZPL4T<)Zc 폙-"n~Ϣ7 gY9ZzHdQ;0ޢ=o"^Y&~lvj*Jڴc/ s6(s^/м͋7EŖ νx_M] uѥ}cnLQn~8V̅88W8}A#>3fwq{~7xg(4w*AȺ;pjw3w :d`w+ˁC>!1\iz7_Yw%,v^-.s|}.|u/@ O a2R~ŸOLxłNr5͍̍:\a%Ld *3˿sj_ Xendstream endobj 115 0 obj << /Filter /FlateDecode /Length 3234 >> stream xZ.pbpqwxOf"=l?o.Wn{7Y1)zJaGd|.c--GRYvV%TŒ ŽTQIk) R& ZkJ-T'M)Mt2TTHm h:^D/Gr3_=dzlK_ߍ(/>fu ?W$[,mW&*P(C4wpK=ߟj_E_$zw!jP>(yy&xf^?: 1Wk>EWח?}$k"^YW~@E E=߂tRmd5r^%D2Vw%',<xi ywwͼ[g-gL;ݾYWeUP_2G;~c} ٻ~~RD8͸AJFTJM"@& )rg, /a [& p¡4wy/;i ̕,QC42W5$C 4hf+T=Bd*@ۗeBu7%i2aG(MBu 8<Lyr)#'}p )V} WdпWh~[1*~ZLaf5\cVJ-Tby LbUT,Q'pb+$ҔKwCN>m;f}frϬV_Opnj3SCX}y[g8CX&2 }拳#gO?dxGyjjkIcj^߶%WWvY67c9:%<-%GaM tqD  ;,*{t>a|7ÿGGQ$VP X;\%ZRݾMmѺ͡,XGA(dZZ_k!穰¹JUJ>]1s_,tƮI#X͸`r 7tA|n .G ; N" k" ^%  (\W\I b!8CE0lF'jyi*A4zy1c2Zz*T`oYo/=`\FF1Y'rÉEWJPP]Ema+PXh%(+ԇ${;N9 `ՙIt"i70ȎBa:q  Ԝqp5__+)84A|H=(Cu7 /1a'hҗm/vq0 N3Kպ(.06qAwqR?]w\}R ;SIQBհM:MophnˈOD  wS߄xJ.|Y'`~ zhJCZ>дB>2\|\C "LwNH] i ᵔ\Ԥ,I ɺAMI @R5r j}aEZe2P@ee$oX6PTh^6t/9DŴu#ROf`bH1Ɛ[aeiU~ :%㋇㋉D&g7&.U)h_Owf=ZUZbZͬլk)}B˂6@c}t316NzEs¬,uVAnEDOrMuA zeEBfmGDvtV )׋YV'L,j,:#unv.[Vݶ&v~Hڶֳje)jYcrQ _D"Ŕ9JN=On7on$]pnvzyL8ݴt6mJRso@Le55|1NʦtI~]\Wr{gfuY5l_.'6乯Ymͼ܂=|Z?2)` nĝI]!j5A'4|hΈN2غyTy=_{#f Cwͮ^~WP_19C~7qǽ|,Rbp_Oֻj;nwN N+- ``C~3Bj +&"2ڈ56t&09՚H|wS^0/ JeYA]ɡle ׍LT!9Q||YnW :gU| `38*lBjd8& P3ιL32` -j^AY ŏ\Uv/HЋ&n~PB`H5%'z>]܄zH^ŝ|/ϵTRd$#a*c`|ȃAP N;!hdVn&mefU}wfvp>Ԇ$mH1m٣&Xv = j0[-?hQ"v& Cq N^YH=+3.uL'-3ZRiJmŒIIV\mMd?pN5!ppGr%Hn#y7IZ%C[buc*l fqy8coyb=F%>TLrב\d%$K(DǀXdP;ϙGkmƲC  UF` DZX4) AD[&weC{Dm!x&-X5oZ[)$|8÷i KhWbM:p6p$;<(Jq>8 L$9ݴ͜י3Pm&wݷ̜o3ݑׁZ *#: l-:Pea:爮x/4ͨ)3|9UTmhqCaRq{ො#b' ߆ s!ذ?:ͅq-71Mn7?%}܄yj2~G o3Qu{9$&O1ub|[pc23(gv!e:߮99J&˨d4j Cu (XGF- m')7+>N!98 shg02x9\&bQ4$ӌیim?:Yư\>=bq;dDyƥY'2P/5>B]ǩ? T܎F4I{9q,mݞUڢ#djq4W6)Jۣ@]}E^1-«YFs8i_#1D w-4ń4Kn_ϰ=2C S^J Aؕ(&wim8gzȊF[`-0hEL/c>Q& h=!XtIu+nc= &N42UIf~UE.f3}-=&&4+Ƃ%'Ǭ @Hƿ8m{~bRmb })9*̥S_KCP|4vց#w1R,GABrkHcT<1:Ep ª񒙖saˆBpeauz2ݬ#~Kyx}F[endstream endobj 117 0 obj << /Filter /FlateDecode /Length 3020 >> stream xZk !_2*) &N"v{XBHZ;{.!9P8OS)hl+-Zmxt7q´xf[Z)@wсJKUEo4PWimqR9Z+F-UW29n[x-S!J$SMד&<rMv3+aF$O0,BOovg/};s^߯g+Dl0l^RpsL¼cB2!j' ׾ 9g"@b*뉟.~zK94%yռZ$7_s#ωaL Z 7'9N4H7'pE >5tʪC$|xIϣ^x *|>ko9ٜC^.:ՇmrVި>6yͫKtWͫ."[Aӛo'vtZއ?Ьp=l;Ø4і 힄]l?$'jOI9^v.QD~]ݟ>$nbY/W6~?m^NC==Ո?7\t}^ņϏñj~)&}mVm,<|m:.VgN n D iTJ5#`NQ$ E4*K'VsCnMM*6d @'(QvY͙˼wú{Y g%+ӕ d,NqLp|9ݯa_b;v,_vڤ8*;w??2͛UY> "9v8MpZpȂ,X Y,Wju* ] ^Φq5}CIdg|[).y 9,2T_mNo˙h^/~]$@M]`_5ti `@%PBjjK0lΌGEZ6* }בּ(P_0N7\uWj.%Ѻ10hK4h=ϴbͤ2 0p hc_ͥBSDP񹋻(5MV:^x/4=/w]Y!$0oّH Bė}ǨAi^AWd:vJAcRADhe/תq_ܖeSmZ=:\,w+mѨQ@y0J,Sqtu/mY_h' D7zSpqRr[S+=Q,8%@?)ݶxB|7s6褝(7 ST t)miW6%HD Z 2#`ܐAʗOWqY ,-*>ߤ@"MW3۔IZYTq%zoN?]L{">Պg{m(0e&ɲ ~Cю\=ABƃ\Ta/l5zSi]y%:E2 ʠ=2&Dɫ }IAW+j! ay<w7X꿪Qr l0CvUd%>!yT1_ڔL FpY&SC"Ov.Xm]f C^ n ~:#o* Bt"[,JZb?_3GofG 'â`VۋRWM7U6f{CV8<KRpy,abVO 婺ֆ}d"jq389n87迮m4N_Pu&=K@7uQ^` s$(ipȱP%OtPR8Դ(!=JwzWDB$m) Iu3nhC6Re)G =< w?BdF^oXl?t娘tCfϰzPcxYQZ&ZzkxO+2y9B7zUQPJk`^'Lwʊ0<8T p$uU0 k[*|A97? > stream xWmo#5bu_pP'Th846_x_l Jxvn)U)ʼoof)7NsϖY30ꙡU>d7h ӫӋ9M~e4f98w1iz; v\i&ug0f& ghd+guNh$$g#1Pt0P=d ] }~qy7>̲DoH)(֬uՕF!&hkEX⿇H7/bUE%mٯ!EKneE,,VΛhXtbY>Vqt_jiXzyuVaܳřo]S.U y.3LM$ vƟ< %ܺ!ͦ"ͷU}޽*T)~.`?|H<e/?:Dz8κN|2tnd&%VE,?au z"Q岚W?LI*zvkM}rUTNhdͳE9_iJ]Ѧt[)y*!Q`lM~lZuC({л/v05Lċ S, %0: pCxцX{/Gn٦P\AGTwIpjQ*iHcJLv2h7 x Y$T{rj򾨋M axj/"݈8=hwK͝*n72cr񃑸9wg_'wV-x$/F0KǬ!:A t:AP< | (ɻNQ{15"naAV{ߣ2m5`uV4ڻrI\DNIrBݼ3|ܶ/ vDqyr%5 a!jj{ħ%oyȱ# wSBuLɫ,s|ce)e]ޤŧ}*a]d3 [GhN\xmhCp}uendstream endobj 119 0 obj << /Filter /FlateDecode /Length 1727 >> stream xWo6ȗуYu [-;,;_^<t!tHܯ_= ÷%4T5L)m90CT1b%K)ɁPe2'cX O, |2TcChڧZR` 7/Z9՜V15\tHǚerH7lvv92 [+4zfC]&s(CE51foJb[ Np8a Zi8Xy)l1x`RFԙgXj[\0;G2+U嬦MFSޔ<$N"[ڑ$ k9e#t10(W@5W:BEqz)I$)د,4Q ~M$lyhZ*k疺E-U=TRۖ[깥>ԦgXKݎFU5=Tjn4oU5v:=usB8fşsVˋl^ CWΧ~||:[KL@g ^?ޠM7 ewco)rxkP~xp5}t˸EPL|[A~oOGOeˡtDYRsFGSbt^ﳬ.ò8d1`_nG۸'NG8_G*gYzFOqd# "Qc`Q }Xs2. 24nv,/fIsVe:-S=ĽЦZAׇ4g_qm*B%?'?V*qoLT*Zԫ2Rwo 4Ph:/6Fz,bUqlbJdĻ".45ulvI̢)ʯ9>WLwoK$KbW2~, jJȵENgLܑQI*;:4}}dnQ&DKMq7! o  e2pt]88eP "ʋxxTz3MT0 )(mjf;%eQC"&hCz7Ex/`sym4WZ~g%?5] 3bG3wތYg;+qW )wȽ+ w uvv,(:٫U$^tٌ*D0V6 }c%^$ 0967 C&ad5Zi)\^fha $W3[% 7;݄ eP X' 33 M` C=k C-Ƹ|Z.EPq1%Ж W`%^2dQ$?I&΅HSkeŴvL/u:Sѓ'dRlI|'On<> stream xXmo_!KW%@pc%p!;AVi%j$WٸZ؀\r^!FdOwY (fHB t$Ha1P#vp=Њ PIhbn!U~&^$G\G Y]-m4R"xՌc$ӈK9BSaU;Y8͵>Ep3e@ϲy1x9jhTA 3p+D.MBhB"$9:4E?&a1&1W,z;0F44K7XKVohw/`Ҝh~0 kZu:JDr6\04 0W/4U`V6QC_À6H) Ym˕$P~FFQ~iH |DIh"%?yR#^*ċd$Or/my);xK$BrAdJ 'tX$oW[C*0]Mgfټk\;ή;(1NΧWӫ"L!Qg'd  I6Yd}-|3agb“byjg_b*?qP@1 d8v'U}5Z~Zpfgx~yu_868-3oڷ2KwyMm46(M}Y6BUy\V28+>mnv8_:oO6YM?>d]W!xSUZ!heo8N|(ZEE$RLYCU;^d0/|Ve_ /hۛtĩmrY L4.*0> ȤV Vaȑ"$mN7e4 2vDqjvz"MJYP~(ǯxu~Z#0ΥbWe2{'D;}-@R4WM@Dt3*]z1v#*V1Qc# Ѱ:n@"LKuRYUv,ī} ._e3Q$ = \H$mj}!-Fm̰W}ZEGfL;#u~Gl0U]OtNvW'-DlgbD rI2%5|3rKΊPX9Z hiVRGٸQXOHLdXȤ.V`dVIhxaڽՍ:q`XlҒZN͟,G@zvV"k7fٻPY"HPP/ĢWLXq4j{ 7kl*;@):o:  %jmϱ @d! AR` ~ &Y0 VRKk`qQv4* >̇62Ck`77wpG˅rR6y=. `#~'2>&0a>4$]mgPFG||5L:V% ZNiaYDu&td43nrgg[y oӼyu=+֎s"ijo/7Y1iu?^WMNr_Ц!\y_fkM=M7 ޡJIڄ5i96eB'i/sA2 x{4Mx {3UF.a/> stream xTkPWftYݢ "yDyD@I%qu 6qH\DB 5 Pdѵk[v{Q4MϊVU gV^؍v]HRb;PA  .8ClȚCIhzU7/ZxIΒ=J_ʜ=_(#eJB]D../.Sn..EQswΉʍW%j|TPTHmRT*ZJS*ʛZGEQ˩h*)SPBє+*jBIH3^Fkn`'fWm7!q'%͗ICle2Q w"-N*u!Pkp/zZ?WY_]}Wɿ XcnOQG5q^B_ (5mY?t|Ms8'|mQs)vBK)䶛hz p:Wwq}igVFL{rX=Yލ:vm J4@хϸi5#Y-Jg`QDl)IUyP9tn<t%4 " BÂ*YRs"ScRw#p;~;Y֢LXnXESO{֘V+fE:4‰E"R"!a$̼<LbS.#?;[> ܡ~vRW_˺ &B1'lU?B\HP*jКaF⍴pu ?M{nz>urrfnR8dgzPPj7xm:{4ֲs1n#қj=ǕDyad޹}t _^i;ދ`6'e"RA0Wo _6`Btf͝/>Zo`tՂq2(=.|s`?un:ZN^6l;rclK<}c*"q+txص-q~,s|!%hf/_<%,14Oמx>qg׽xѲק^KCIuN֙,Il|Pk&pf 5 ַ#=__6v>$)nξhEP831֘ڶ?;Nč$'DsӷeOQnf.i? 0Aī pa,KFXx(RJ7c}zH ._ U0k P0Rc"+qADȵEn/7)U)RՊmBʼn$> stream xSiL\UftX'Oy0 HKC SfXj /v E F2lQp,HF 5B`9or5hs=;w$u@ ø髋ey!~}A#hsEa+C~QO70#)Dĥd<|T^SQVRj^ kg/BlQeYQAuTn(2O*xN_OZ4㵧r6\0݀fmÒ} ha"W@f3H> stream x%ORqʓ166MkNjZ.ȩ5#AAli"_ G-1֒š2fj^tfBǚY^=syD Fs 3q?+Ģr IQm&qԣ% 9dAqq_L^RAo#5zLYah$ibٗ,kW\\ɥ%鲰fb(G3e$6R]iRRC)b *10) aM%,DeX| Px6fwdxSL#,0?NKv5y-O-e:oR5 ;dV;?O/ā60VE}v 7"wHAe&m6&htr2*I8ȡnCA?Hb__hWU&\kОk)M{}/ E*avbog;l/V>,Od{h{0"P5J]hí}^z)0 0Z%s6o(V6C0S^nw "1d+'ǫrǓpʫԭTQs^*Zendstream endobj 124 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1078 >> stream xmLSwzժt̵(." ..(DXЉaXR[BArq`@\`0E`̸0$#SٹДiWlߡō]bR/tw;u0y-&S MOCQ4si۸*F]&Ә3yτ4o?4 ѡV5D7Fm9Μ%&ޘ˧s32YrQ z8!7P%U+QT Dɩu|(M}7bq^b3|ƈWPbNywk7HZ ąXz$d\-֙I~no`0˙PTpAj% X)M^1ǒ^.(TV+0f_WHUkR6 ҭpry_wd+ZيKB/AWɑ?7M yυ+[=sG?kvapOtxܾZ%9O;o*n<@7Qb~lƧ8HHY=Q;oB{t-[O|2Wԁ)"xia[xujmv(:{Ww]K0T2GKv;\(c%*# rvC0b*,g.Ba:80ht}A 5qKߘ1)Q~> stream x[o$u> 7 |hƞvG/‘%-9RC:_E.wAĐ~]bkA+5f%֟jsp땏b/VΈY+ 5Hqv6aYl jM` 5z&Zc+0{ۥ*\(l\dB BU! "TcWebrL\~8G*Y% ~ʮOW_NRlRN'A1鷿;وY /A a~Fk5qxt¸"87ݧ@Ƞ)b8uE|KEH@+M,#Cy0fOEe~K%W'ubu/_NB9*b}۶i7muV_Mmy= 3ӱ۶*dh)_Jr: hߴ7/ph|T,hW G = e[Fv!ݯ6?wVok7;wlG;?=7V~_gK_kbOv6 z?ؽv>,c dgZdkQddo$}^ S Avm_vۡM)`1gC]>+f8d':`Lr5ƀ&bO^m*l"x%},Eߧ~M]TFCc&ufVxҸe[f}XaRàaLZ̜4+JNQS}i;CИ4qmcTD2 f/uf.gZxUD+%1zU%RRD"Zf5&Nпc栄6H&FT<4##N͐>f?A-jzڹYy)g~lpUFZ3 ά45<, X͂U!HF|&v$-fІu .1F٠faB-[!EH!X #aJ'&4Vq#(- Y*d<X $^x[+ ,ú)T`cXisО3Q!MF5g<3v4)*FPǖts $C[Zz1K5 OBx >.ùÉYzG43"m/rY@rS!8K)K]Xj_}Oҩ0#dO4)#UGjY*#-%`"1^wҋQ"vJ ;D.",;O62DTZYIzbuH+8O@rȢpY`ERp,#W! ")b?Ϡd YUQUlQq,.UY*IƭPfܑ#KOdJ.^u+2hH!Wg z )I ٖa+t 15kHJt0 3"VqsFߍy]}渻} KVB7 ںRPbOEp0cd%=|N{f+Z;GϫndTY~!E[djd-N1>Xio-zԉR݊rACۋ 9M41 \)̃vT$Q);L;JY),2=52޶2#~-KyHU+f2 tfA2iFOG\ fb4 Vg"~QxDa( NuS<}@y(u02ϴP1R-SY5ыV\Υ3ŌH ?0@::)l*W#-zTzf%;] kdAZ@y>|&Xq h܂)ctGF:J-4̑`L~.sA;*D(tUѤ,CMoя 5pM=WT `H-+Q@Hb G>.cjViiViRi mH|/)Fkt!N}F t|F#)J}r<@E^{и ?lC?5޼slchJia\ރB`*GspqJKx."Pv:N;O_%`'b+_K?&t) J 'ؠ*{ X@Mڸ0 ۓ %> -$e H-,}Ji6HTs?%A}.}iA>F2@3Ʊȣ~-i ~P]%#]u#*3 x69@W ]Tj~(.&0!NJH?86J+~ EDZEg9R7(?on1돪Y[?0^#fl\%} W ;YN 51Jpg=κ|LV9قBS̨2LnaDL_ õ;Q#>!+Bхqg|~B .1nj4U>~nV\=v?j)7\*Ղ7l`+.\ten{u,- U3v ]rt'3]08f|\#uڠ5EO11%ǮPUw%dkÏBIx+2K-<}5eFW%K-̓K?kfK=ݽkVNPYnu]Pux9ܽ_,~-)JQ/ 3UIe?QTgT~?@ Jwh2[w;OWp;^wI2 CWT[֨.2P*gmwNw S Ȧ0R9]}+TN!7bt \:iEj J~H67ԡ􏥡.6D6=IC IJx{Ju.#YZ#}"IM*adrV{;\0gƦp9-9jANʂH%Mg |OQ2~;7fyc# G0呑_YE{r \RDhƛb4as6o61pڌкLhfx$ôΝ+(r|}<\T.3$DdDv JӃYF+}?\N.ÿ~iĨh0iZjPI^П(zWݱʜXS)^ؠh9"YP6=u2YNaST -gCuƋ+;AH'ݣQȴ)2"c$uWTW /ڵPOtHVz&j\p9.ؗ~Ji w^#;fg) 4l Uomz^CǪ>{Wmendstream endobj 126 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 997 >> stream x5}LuZfټ.l!d/!#K*}=(K)mi}[ZZJ[Ky`P: aD&јwpa1YO$DW߯0=,DxATj sIR*e6uuG@\vN~EOGfa:7)Z'y%F;2;~gnN˶rfPx¤ 7\n\ILDMQ t8 y =Ը7ɥ{)Pv߽}Vdg;@<ޔ>So=8r{ezqgO!g?wNbr ]Dz?h|jp`,$L"TSh_ -J0o] 7u0j,\DwF=\95[8`gNy CR!\+ g{2xa5]9Hǜ=_= ]œ֐s)e$i!껧cUv ,n (|k0Ėf(AsG1\ng߆'Ir!嫃LfK+i^r 9,x$R Oendstream endobj 127 0 obj << /Type /XRef /Length 150 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 128 /ID [<00ad28fb434acd8aa89dbafed0cf040f><1bc2aa80a9c22a0c1a5e80dfee854a58>] >> stream xcb&F~0 $8J8 l""Es@$N)R"H :V "~<l- `@$od|W"o/H1,4vNl 268DO endstream endobj startxref 92836 %%EOF HSAUR3/inst/doc/Ch_conditional_inference.Rnw0000644000176200001440000003731214416236367020406 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Conditional Inference} %%\VignetteDepends{coin} \setcounter{chapter}{3} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Conditional Inference]{Conditional Inference: Guessing Lengths, Suicides, Gastrointestinal Damage, and Newborn Infants \label{CI}} <>= data("roomwidth", package = "HSAUR3") nobs <- table(roomwidth$unit) ties <- tapply(roomwidth$width, roomwidth$unit, function(x) length(x) - length(unique(x))) library("coin") @ \section{Introduction} \section{Conditional Test Procedures} \section{Analysis Using \R{}} \subsection{Estimating the Width of a Room Revised} The unconditional analysis of the room width estimated by two groups of students in \Sexpr{ch("SI")} led to the conclusion that the estimates in meters are slightly larger than the estimates in feet. Here, we reanalyze these data in a conditional framework. First, we convert meters into feet and store the vector of observations in a variable \Robject{y}: <>= data("roomwidth", package = "HSAUR3") convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) feet <- roomwidth$unit == "feet" meter <- !feet y <- roomwidth$width * convert @ The test statistic is simply the difference in means <>= T <- mean(y[feet]) - mean(y[meter]) T @ In order to approximate the conditional distribution of the test statistic $T$ we compute $9999$ test statistics for shuffled $y$ values. A permutation of the $y$ vector can be obtained from the \Rcmd{sample} function. <>= meandiffs <- double(9999) for (i in 1:length(meandiffs)) { sy <- sample(y) meandiffs[i] <- mean(sy[feet]) - mean(sy[meter]) } @ \begin{figure} \begin{center} <>= hist(meandiffs) abline(v = T, lty = 2) abline(v = -T, lty = 2) @ \caption{An approximation for the conditional distribution of the difference of mean \Robject{roomwidth} estimates in the feet and meters group under the null hypothesis. The vertical lines show the negative and positive absolute value of the test statistic $T$ obtained from the original data. \label{CI:perm}} \end{center} \end{figure} The distribution of the test statistic $T$ under the null hypothesis of independence of room width estimates and groups is depicted in Figure~\ref{CI:perm}. Now, the value of the test statistic $T$ for the original unshuffled data can be compared with the distribution of $T$ under the null hypothesis (the vertical lines in Figure~\ref{CI:perm}). The $p$-value, i.e., the proportion of test statistics $T$ larger than \Sexpr{-round(T, 3)} or smaller than \Sexpr{round(T, 3)}, is <>= greater <- abs(meandiffs) > abs(T) mean(greater) @ with a confidence interval of <>= binom.test(sum(greater), length(greater))$conf.int @ Note that the approximated conditional $p$-value is roughly the same as the $p$-value reported by the $t$-test in \Sexpr{ch("SI")}. \renewcommand{\nextcaption}{\R{} output of the exact permutation test applied to the \Robject{roomwidth} data. \label{CI-roomwidth-p-fig}} \SchunkLabel <>= library("coin") independence_test(y ~ unit, data = roomwidth, distribution = exact()) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the exact conditional Wilcoxon rank sum test applied to the \Robject{roomwidth} data. \label{CI-roomwidth-w-fig}} \SchunkLabel <>= wilcox_test(y ~ unit, data = roomwidth, distribution = exact()) @ \SchunkRaw \subsection{Crowds and Threatened Suicide} \renewcommand{\nextcaption}{\R{} output of Fisher's exact test for the %' \Robject{suicides} data. \label{CI-suicides-fig}} \SchunkLabel <>= data("suicides", package = "HSAUR3") fisher.test(suicides) @ \SchunkRaw <>= ftp <- round(fisher.test(suicides)$p.value, 3) ctp <- round(chisq.test(suicides)$p.value, 3) @ \subsection{Gastrointestinal Damage} \label{CI:Lanza} Here we are interested in the comparison of two groups of patients, where one group received a placebo and the other one Misoprostol. In the trials shown here, the response variable is measured on an ordered scale -- see Table~\ref{CI:scores}. Data from four clinical studies are available and thus the observations are naturally grouped together. From the \Rclass{data.frame} \Robject{Lanza} we can construct a three-way table as follows: <>= data("Lanza", package = "HSAUR3") xtabs(~ treatment + classification + study, data = Lanza) @ <>= options(width = 65) @ For the first study, the null hypothesis of independence of treatment and gastrointestinal damage, i.e., of no treatment effect of Misoprostol, is tested by <>= library("coin") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "I") @ and, by default, the conditional distribution is approximated by the corresponding limiting distribution. The $p$-value indicates a strong treatment effect. For the second study, the asymptotic $p$-value is a little bit larger: <>= cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II") @ and we make sure that the implied decision is correct by calculating a confidence interval for the exact $p$-value: <>= p <- cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II", distribution = approximate(B = 19999)) pvalue(p) @ The third and fourth study indicate a strong treatment effect as well: <>= cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "III") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "IV") @ At the end, a separate analysis for each study is unsatisfactory. Because the design of the four studies is the same, we can use \Robject{study} as a block variable and perform a global linear-association test investigating the treatment effect of Misoprostol in all four studies. The block variable can be incorporated into the \Rclass{formula} by the \texttt{|} symbol. <>= cmh_test(classification ~ treatment | study, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30))) @ Based on this result, a strong treatment effect can be established. \subsection{Teratogenesis} \index{Teratogenesis} In this example, the medical doctor (MD) and the research assistant (RA) assessed the number of anomalies ($0, 1, 2$ or $3$) for each of $395$ babies: <>= anomalies <- c(235, 23, 3, 0, 41, 35, 8, 0, 20, 11, 11, 1, 2, 1, 3, 1) anomalies <- as.table(matrix(anomalies, ncol = 4, dimnames = list(MD = 0:3, RA = 0:3))) anomalies @ We are interested in testing whether the number of anomalies assessed by the medical doctor differs structurally from the number reported by the research assistant. Because we compare \stress{paired} observations, i.e., one pair of measurements for each newborn, a test of marginal homogeneity (a generalization of McNemar's test, \Sexpr{ch("SI")}) needs to be applied: %%' %\newpage <>= mh_test(anomalies) @ The $p$-value indicates a deviation from the null hypothesis. However, the levels of the response are not treated as ordered. Similar to the analysis of the gastrointestinal damage data above, we can take this information into account by the definition of an appropriate score. Here, the number of anomalies is a natural choice: <>= mh_test(anomalies, scores = list(response = c(0, 1, 2, 3))) @ In our case, one can conclude that the assessment of the number of anomalies differs between the medical doctor and the research assistant. %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_gam.R0000644000176200001440000001710714416277470014264 0ustar liggesusers### R code from vignette source 'Ch_gam.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: packages ################################################### library("mgcv") library("mboost") library("rpart") library("wordcloud") ################################################### ### code chunk number 4: GAM-men1500m-plot ################################################### plot(time ~ year, data = men1500m, xlab = "Year", ylab = "Winning time (sec)") ################################################### ### code chunk number 5: GAM-men1500m-lm ################################################### men1500m1900 <- subset(men1500m, year >= 1900) men1500m_lm <- lm(time ~ year, data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") abline(men1500m_lm) ################################################### ### code chunk number 6: GAM-men1500m-smooth ################################################### x <- men1500m1900$year y <- men1500m1900$time men1500m_lowess <- lowess(x, y) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m_lowess, lty = 2) men1500m_cubic <- gam(y ~ s(x, bs = "cr")) lines(x, predict(men1500m_cubic), lty = 3) ################################################### ### code chunk number 7: GAM-men1500m-quad ################################################### men1500m_lm2 <- lm(time ~ year + I(year^2), data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m1900$year, predict(men1500m_lm2)) ################################################### ### code chunk number 8: GAM-men1500m-pred ################################################### predict(men1500m_lm, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") predict(men1500m_lm2, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") ################################################### ### code chunk number 9: GAM-USairpollution-boost ################################################### library("mboost") USair_boost <- gamboost(SO2 ~ ., data = USairpollution) USair_aic <- AIC(USair_boost) USair_aic ################################################### ### code chunk number 10: GAM-USairpollution-boostplot ################################################### USair_gam <- USair_boost[mstop(USair_aic)] layout(matrix(1:6, ncol = 3)) plot(USair_gam, ask = FALSE) ################################################### ### code chunk number 11: GAM-USairpollution-residplot ################################################### SO2hat <- predict(USair_gam) SO2 <- USairpollution$SO2 plot(SO2hat, SO2 - SO2hat, type = "n", xlim = c(-20, max(SO2hat) * 1.1), ylim = range(SO2 - SO2hat) * c(2, 1)) textplot(SO2hat, SO2 - SO2hat, rownames(USairpollution), show.lines = FALSE, new = FALSE) abline(h = 0, lty = 2, col = "grey") ################################################### ### code chunk number 12: GAM-kyphosis-plot ################################################### layout(matrix(1:3, nrow = 1)) spineplot(Kyphosis ~ Age, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Number, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Start, data = kyphosis, ylevels = c("present", "absent")) ################################################### ### code chunk number 13: GAM-kyphosis-gam ################################################### (kyphosis_gam <- gam(Kyphosis ~ s(Age, bs = "cr") + s(Number, bs = "cr", k = 3) + s(Start, bs = "cr", k = 3), family = binomial, data = kyphosis)) ################################################### ### code chunk number 14: GAM-kyphosis-gamplot ################################################### trans <- function(x) binomial()$linkinv(x) layout(matrix(1:3, nrow = 1)) plot(kyphosis_gam, select = 1, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 2, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 3, shade = TRUE, trans = trans) ################################################### ### code chunk number 15: GAM-womensrole-gam ################################################### data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ s(education, by = gender) womensrole_gam <- gam(fm1, data = womensrole, family = binomial()) ################################################### ### code chunk number 16: GAM-womensrole-gamplot ################################################### layout(matrix(1:2, nrow = 1)) plot(womensrole_gam, select = 1, shade = TRUE) plot(womensrole_gam, select = 1, shade = TRUE) ################################################### ### code chunk number 17: GAM-plot-setup ################################################### myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } ################################################### ### code chunk number 18: GAM-womensrole-probplot ################################################### myplot(predict(womensrole_gam, type = "response")) HSAUR3/inst/doc/Ch_recursive_partitioning.pdf0000644000176200001440000040235314416277550020666 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4650 /Filter /FlateDecode /N 93 /First 782 >> stream x\[s8~?o)wؚJUl;LʃlӶ6\ןEiG9{J `; OTb]klb&% d8D(#q+FD }$ƨDJii<:M"ƵM\dD=DDK$іub#mb,s vKL8 x[% 2qUqI&2I,xA〜K2 2,k%'y2V rd7tGAģx4 hBBr$(4w-"5YBTYd9` K 0 K) 2Z!Q5@ d:ǢXZ2NwYK8 k BZ@Ɓ] d#2Z4 q XPYJ;@c W&X$+W,eBÁ@x&3@ƪc Y9;h-< ;zSbJ籤XcjbL]#ay1>c;dct2˗pf| /|Ea躸/?s΍$ st?[m>o[V0r|E>.&ȓ\* {~rq!6).Kbe|qL`~v7ixO߼J^Ηt1R$>5&rt}(GoJ 0?Ӽ 5hd[O4])ZgX*᝖+=WU%̲/+U^ի ϞV̴7_ 7^b=hP:E&z.OɅ7]I>UYl^2V`G"a/ ?w(=aN""t~Y_I(_ί&}`-Gy8 /&zd,xՎbzntϗ4W)>eR4Oz:7Sd)DxZ|K<BRf7Ɋj~ٌ*0DF׭WsQɖ[iڤd*Zxt窕ϿVBDS2k눸I!J *s[1Cv<`-͖Ս@ut e,yMrc~GAOi4a !]#7/ #9èmʮCeX lm8;׎3w2uI+ǩAW-5[B1<:8fQIgRI %"\%i1tW;Tj &#R(ێRZXϛ؎Uݞ;=hSյB^\=U9R1 2}|Q_+UY W[k8w`,XiV=Fy qsaI_›K`DiC$|׆L [D RT:`ߦee~+vҊÎ޳쯛,)˿NWdɾwL͈o>@ɤLr4I&aN vVj~΋6ڱk)-lG}38͗ C6~M_tW6k Kن6qHHvGҺn`m);Qʡ#oz|jg_\>N~B{`h&{c7]wXI8݆uO^eS^m;D y݃|lI>fA[ݬ-V\a%VQm`V~bTN\.VT7RB`Ukxl[[>ۊ+{6zŊ@fuYNm?+\z;u_ ї{f'o7H^]"1!Yq>Q~'98Y>PO,'"]=񯡲G** ž#\ӖW~\P&P}^wqzvXT-'Њ&Igz@<\nzވ#N&,kI_篴ݔ gݯiZ:+P!tP&RۂsMH}wb E=9qu26&+q9g/^%2}c[3ČG6V>P/"ClDZ86G2[YpT 7}feB0DpYݯpsV0K&]!p IYPH@~]znɦv:9us>RWqUH5yxhXn;hI#Sٖ)Lw]4RQSXHpNEp'h+GLlac,:bU;=4Jw(1R+zQF$H0D:}5CZ~k4Z\նT]C>~[y!aWv=َqI fpuʭ\÷GoɟpC+|lhb&֣G פک|Kf6@^xVt(QӠe{}_Z\pg|wה^ g]mZ 5YĽ26;ڔV(ϴoۈ5klK+ u3։l**R)tJ&-#E/^YJJGRB2R + V< TXAŦJ( 1) V08+Mw&D*ǧm%$Mc2r~DGk׼g具DT=h{ ås6L]d/fJn+A~p-#Qe*#8 Z 0  t6z`(YgT QZXcSFxXW`9]K)^Y:RaPAVgOm= 2UkBU5X#jK$k|{~CCP։(uJn?G]eXE>h<;_=/ S߂JLjfpBK$υ%cʁ!7y:m⒕%b?>O vɄA,}U$|($%w3 A'9$ƿC#$&s)INg y̮a-o*o_*ulg+m U:l lY_i}՝6߄/h[{U W_~=endstream endobj 95 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:27+02:00 2023-04-14T18:29:27+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 96 0 obj << /Filter /FlateDecode /Length 4224 >> stream xiodG!$ހ9D AP4J3=o7C=>z]/ql(;J˗V>:[8aF}.̎F5R"= >-|*h5!*mPt2㔦z(m4gM[&`Sw2$PbʍNYe*;x-.x2no^agW(Nۥ`GS6 ƼWبJgO`[zެN#fq{ b;Bi`hὗ~Dfpۆy5l[7<6 wunNH7|8er|LaG9cL[CB0K˘6A[ ei!q> R\! 2aߠ,0v3>7a:n022.*)pn(OWN9G1dL J$]tFXE8gxA.wZ߅?rx>sx?δՄu6FGAgL\d * fWDtu>hn>އ5ha"iţ"(eɤrcgPDWDFh?N 7l?q$ڡKH:9'v}D$| 5Mt!~LzJW`@.E49j0\Km$pD5#%9xd`pT_=-&N0 8#MrN%$!RRV"`-fdk$C(z :@PŊ;ߦ Bƀ\kp9sLp+Fx$'&CdL(#c !/)t/g x98ћ˘$A|c= X:9"IǴڝufSM}_h(i@ks bK"\ԳP7qiʞ`gsFq@4f(AuB7z BfGY&uw7qT!9rt& Dl%nw!46P7\>PDpmEh.B^<F僭QY Ƥ¢ )0=$WfRG'VL6x_jz;ɸe2 |K|?AԌ䮈ia0mQu ]Su ț*춋mDCu=!#$~T[y٩ɴ}ѷZJ ^zzSp!âM17ݫWu ^H;v>Yv%bAR7tD,:Сfۥ]R,}j:F|Q Cš{Q^~giNlJbxQxAA1YmLrMӲ% oE? ͅ06($S!jsC..*[+8m"Ʒ L< ~=q}& KfA25C"n)adtU<יU@ҩ\_N/i2pOP rO8ᘆAl!6(nkPg4CgCר5D zCF#jw\!% fȍI\%߽@q31sʼ+5&\'6UNF?f^7ΠvRڨcJ!ڿ'9W,8o|]p\Xmva(Ȏ;HT;h =F/W#?)hb?7SǃT3d d=Dpz]W;' WJ a{iZns|ec2UJH5/S[q'ښo N1 X6PHP4ClJ}g /ɍ SkhǨC&s9:1fVy:fNMߤS&F2s-S\Ul)d|an}4Oä-Ó:|LT]1c f(ٶ^д oJ, C8rr^Wb3#!5֦nU07nplc5}03-&`*::ĪbONޜb6yI )zrT:&ԁ2麍iM?SI`x޵uaEp&K]'nQIѱ*hObymShÿ$}}sq N&bZ#~}˺dk~v0hwq7QuWVpomaym{(Y8556`p!B(yިYojMQ(5?;/R:h͇{vUN{x6m7zFlGp᭄d1 F|~oݙ2|Wd L^:ygߨ|I%> NW6r¤}lGXy>ooo"  泠)=;-86'<PSoZpWсX6N+̼t 0V 0h`0h8 lY4A5 @S 4y&)4nLNf,t;BS@3h"A 4Blm7CY 45/A}70 V e&Y(UYA=rendstream endobj 97 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xX TS>1sTD՞PjZgJy$$ "BE hvj{П{[뭷ZY!9{62j#nKf?MȤW@Իl`c:%|li#cҜ#"}_w7o3/wVy"|ՉՑO3-":Ac]#-M;GEƪ"8|IsRhטeby$ Z!=4)ysޜּ1xf 3YLd11 ̸33)ff le2.+qbc3lf&Ƭf^bpf3/3#Qhf c a2NSƊIf6N5Y.oXqVS{zSv 30oAK be|l{: ]8mػrް|՗ w?cF,4 Qr/IzgiթDHH"A}Fe%4xSu6Q8gUS6D6zC^e+ʭ1B!1oo Z4 dyi=Z [ ${ W;1׉yϚpAWy7Z^)?%b/Z/i[vE埉gH kwZ.k/am{=h&,e8Gb7.Uz,:yOȠweg'\˗5L%X@G$}$}K_v?oeA'ˁJZEixjw&7EE|.3BI=*!]~7|v{E9|{6c{ոw?FEDM␪DYY_BUJf-H(-8dnP)ts#bR6xԲ"ڧu7. U{RPvV&VrX,3˜cQqY{LI??bVۜV @SHRӂ|񜴚=w9hU~ϒr7QӚspE/SKȺe@RbC=pV4@4ih Y_dڦsA;}=zNl4LIˤ|nD6Z4қog RtNU&qo`Q[ (l\t }Eij-?HLzTs_3#g,H #N c :`-4r2e K&jHϽ8Nw{sQMcb*O5蕪F(sVĆ[p*10uM|[+b/h t_rd2 zLp$ؿxlkrVhQ Y" J W6~4a.+t7It58=r贾q1+čL gK+Jk OSl?驛!Z:)H|ZzJH__\3ؓO֣Uс]ۓ-dǮ\ Zؚت. Gf"0τt]noɉ vX@&u&+#DWDl8WnIiKt撶vSr?7jU#>ȥ)W3NhF0W:4Jڬ]Yʘ|iч(ITO3 ^I}VyG)p_o`$(72s Q΢CC&TjK>UGHߟaJD۟lN-RiYE&ԔUU&7$jFPuy̷۫N P bx5$)ss[O.QMFᄂyWr4t߼ noծNֱsߎ-O|J/<K=|D:@O=(E7aſԑÓ8 54K@o-k?gFQGʿ<b VAvAl|Rp/|\TISf{GGP˘q!2K ON3mP/{ ˖ y%_ d,?qt\ 3ץ_MJ dIMr0M!)ʥTU ~J9k2X5zPyVfkOƖ>e:t /Xa{Jዞ2Zi|pMJ ~{4Fot('<: _r͍f}/.,FZFU/: MfV$J2ZZ;CE9"855O|@FBT5̰]3T#mEh6>ڜԗ\{GH?P#PRN N h5Q[րba,yc<"򝂴O4q.i~ƑR~ xۄ2@Aڦ_ ^Ȣ^oZ)$_ΰ'| 'ihBrQoȂ`adhku+"V*%!{ -cmIƽ&$% $Zvx'D)H- 1{ߤuëUegFUv~[y~];8oyH~c%\gHwPw]'?/}EN9/Ecn8jL;1_olͥ*w ΀>1m6C;}`[ @8T\$ST " 9U VXM1{{pZ-.WZϓ՟ۇ8'rكJN|c8.Zhhܖ-VLƠ.v')I;+rs 򄢃nwLWgJr_`R(-wYLh8YivϠx.v ޺0OdBj3询rtyȃChyQ*$1R@;XpeDع[Sfwד@` ʞauak1yéӍM%5F 9QԴmՄeD,`H1JhG1[I~o %l xr<󴅚N"֢")utM6# l< gYN^!}AS?h9B=ykdy_~.@'*2'> Z'Zqݎd X> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 100 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 101 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xytSWºf+SJ z q7M¶lI[E-7`)Pa@hH\s<# [[%{#յ %Ds?~P/BO}-oOBuavHC !1[}"Gxt4uqgyotv\Itt8b_dd}5=(blH#G;Fms\q~Hpr oGZ^J#xySpv sC7  rtѶ(h1b{oVgk7~IL:xǟ2bdc! j(915ZI}B>jjIFQj5Cm>RyG|jO-Q$j 5ZJMQS4/eG~KGEQ){ @ R(bT7;Dl;ԆJEtQ Fw(L2= h~ùSz5׶#lݻjcv 6b~=g޳}o{۟r6`' <8hɠA9p+g i!?<8epCym{2H'k-䇴/e q yZ>fgHjm:CMpcVH6DGuFAҍڋ UҼ$^ ٲz\6X*۴H v}x?ꂞXO`!yP *;{/~ ZJzykVq8_~wA4S`cBn%-!4, /nض'Y9o@&;$N>󼿘G|zMv+6LYdT,]:a[^!3 ;@,7~^?.pӇgXžݰJ+Tn F&uu ݽ'MgNecP05^ 8:J&OLKE`j.h Aoϙh_wجvט_C8 :MF%rf sY"Omǘ쎿OX쉦h9 &e ߮RPG',f9^Fmh3H`@i@QL1h.lYz:$pf4?!8x2t&4;^]@wY|OgXƟlO=~23CFpߧ d"ka(Ńi F$&3gD\2i-at®&TS=@C(DL"jAyxl< QtyS$FT., ōG"+%YU1BԦt'm{';u\_ fuvC+`u=[(Ac M|S Juu5[890a !# ՄX\mDCI)oOg;[r4hjGoO Rݣ xv(M=Eh1G9RfWo ?b /5ߎz?S}O|) TہI c!5/S.+4Дs߯LѠڤ|W{QJ缅'4TdpD ,l!Z9Etwēz/t+Jª$d 7[x?_Cq<,[ )9tsFWDf|TA SWk:V#YB[qW,NY76#D 6ԟx< A@ݚc#/S$</ʝ eF4\BLhN4t6?ECMx(Z.R99Lg~x9Dj&𨄳/MhɂBm]*L"?l"0 ,QUdD܆?i/ i*4XAjljE-"2m`hX}!KAOB%{ϫIT"!6kbI ѐLOsqWT'/ 8T6C)WY 0,d 04iP;2r n}ۖlaSAy[)V ઉnۨ2ĐLKw؏@u*sj5X^Aܹk+s3yAѓqhK'\a=g:UZW|E~ÿg&hSdeM2[ C *|`rmc4ep{߲UޒwWe39BC 46y5o(|EAR]e~ZfPNxMG+)ܘ&V&Mcӣnup;)#5Iϫh7Jbkw:TQijSjNp2HFҵVhM^Hj43~N6,(*ڡP-R6pQZuԪ0k?شs6p+5&u%@(CMon#+#eLN5Zq4fUk FYXhD1Ԁ|Z:D<1Xt񍓰P㉑Vs ZȢ Wvڅϰh CB1M6(n]Wfw;yzIp6Չ Z?[󔰏h+!rƶ,7E(9aa;lȦpIԥ^۽cmh1^I؃xDxs /S?آEh.?E EZ%$B8YUUSh_;o-_E"m5*YR5j}!DQfPODzӈ_$;C*aQu BaF DhG9Zun9r궨hՆ6ſP8NU"$'z70axd* >\Ix%=2`\p))\Ҹ1,(نSgfZ˭<8jT妀ssyjM^6ji9t"_nOՑ${>’m/7ǜ\a0k%iPe хD;r>kMDEppDDppEDMMEE |H֝hvшr}lہDіB4}J}: ! C8@/p{{,@Nsw$+,#."B<2[% k:/|(Djvv+' 8CCtlz4^FO򟙔LjMf!>킻*`/F &@'HTiuv32]WI`~f!B(k_̾kWK:1ѦwT|r}`7 mkDe{ئ҇+xI6{k䅖Y-Ih`K 2{Bo>;:SQ%,$m?_[&C7[pvoYK:ߚ׃IKOm6{ e 3U,+WǓDU2'ҒtlxXל=cIlhMlmf40hKTT(Aʿ:tG{?vd$x5u%ObӂRݶǧ,"a]%2x +GhׂN}xbL%{E3 5& sC t|re$hVE*ELU 3,J}M FAݶ*9'iH3` Hpd G~p{zkN2zd9̽y6ͬm7:no"ϊKV鎭hbB|7KOhcw&~@lmfQڴ%ϗCh>4d)2SUJPI7F-O؜O*I'H)h2c sb}4^&"='l3a媣ח+*b ~'_JĿ! ^߆G=+1=t-~1aa%,5j $]LDN`R33|sh{2K!w&y/~_܁-&O㑊V ͧN@2Iį1=AF։'cĠ*NˋbZ&2?,>L\'>jl Z WǍ?<+vJteAz.kw-κ"Yt,'t=prGhBEα{XW|ޫfnAl3bSZ5wlRǫS!c'P }r_a/>SPœsڴ3ij4j ' xk n$># eKdÝe[h}\pwQfZ4ywN֝zwaB.~ D'ݼ2vfg(/Q$ JZx;Ēa uDL=a-k;bpG3$|f<û Z63ӶYB^ ռO 5z4˼(?^-~!d5dvj&bjWt!Sj5d'`-8>F>d@IǏh*" ^Z?tMop޲<k`C RŬFޙJ.s*JF uߜRo&NHMpPZUiւd-o:BtĈjbKp_dVh.4F} <$]+>~έ]xy4}oq.0YlFq-Hu٬@'yz\ʲO#N>.њ4yFzVïwuGB˼ͿɡSatNo:y!TD9﨔JH#ѳ{m<c+ˋkOn=XoVXQ'fE=dz4Y9FcV,wsT߸hB{hIA*=KWE( >]ȧБ.-riMi c 9侐_mM6уoni\psf(01Sa&ϟ^:oC?աhPs*:Ved2%CiVj疠,{ӦzpݻNfѳ]^Owmendstream endobj 103 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5071 >> stream xXy\SWھ1Jiw/.تֶ. u" =o@@*QDkQ\ZNv2[kz~t39}y簈c5nm>qo:1a ăȆ-yX09 )F!,VFbUFf07tҥK>KCW' qЍq9)Iq9Э аRrr2=T~~ 礄nIN%%nKO ݂U陹9IЍIBAOXZ&{mκܼW 6&&LNߖE.]x1 flb3xFۉ"XI'vD8XK,$EīFbL .(1 t"xxKxX[YǬ2((qwHx '|4qM`h{A|zI_ Y1yNniSnMM꟧1MiEEus6})VtE#5R;88zZO6̎wP4T3%R H`ڡmpH_lq)Q֨c9:( Lc:V z|=,<6QZ5{,ny+{޻d!:oc 3$5G4'5A!mgf dVOמ>B?mK_(SXHQzA8Nc\j{lT)P藙ZNV\먶Xozao>A Νi_|4J-墠w?w"/1,IqlPm" h%43}3 |RvˠFpL4Ue42phj @/s>6g1c mc!5ς#>õ^:=[R2Wh06|'ewmF`dyY>`s|Z yڌ">E}pi/攲6Ϝ7&b-r[*u7+qa#;:{C0C3ԖH5"e.oS$QӉ5MVX }^|s?\.+,R"B ) wL21`%4*pHs 9lo=ik5Z' ?Bor:nlTB^ɠPl~@.G7\T;N8j^AR )-S%<[hwgQ{O `;";r27'@A˨o2,ɶGWn5TZ 2Rj)ntt^ό2 ^\Ҭ\QCI\KH\6N>nf,DcG!_jJqBΩskl:(5hh$I@[&ףE_nG(Wh柮˲=vbA.V!l;FNl]N}sQ "L(, X)!8NZ-ޮ ~rT%+S%LhBt˺0e|>vHw NxM"$@1_8h&yY{~9:0ta"4* 3B K`Qj-`}ӹ f+Z A[*dc.>8p+m>o&L9zCy>nde2KE>/8srmR@;*G?fpot\%UU>YT1_V8gd@n+䈭 2ў11KO?p\e|]-Ώ=ӗ y8V FԐїym+GhMUU:* *u:f&09{ߣC?da6S7.=s-'h(0{v4 QqZJİ72).α}S|em@E j:h~gLx0{R}NzҁV(gbye?!L\[Z'wg|I1|ìzkv4A %ʭQG䫿6PQzc|!P$DDNO!N'9 ,qgeRjiI]TT8(VijN&VF]vaO馯ч.h;h+ɠ&4^`7駢}nĻCmk=Z:%7yQ5IɥRJ@{oh/^Bo1h`1U!y30sǰ?v8m9M?e;3w0eJ\#4T\ꠀ'-cL̈Mq?"nN Vi#뱥6 *6ӹ2E(NU6=Ӄ]\E6#2y.{̬9Lc?o}D[<.Wr ;23B8O-_Aj/TktU^OuktUI6䓹.YUCCm[W|]\!31Ŭ/pVl+xr8*dP`V+ꡖ讼GC ϹFt)[*=Ahh8e2~¸>|ȹv2I1tJ⮂ `bqyОyejܼ%]ʼ >/aO ^kstd$&ƛ7j(m0Ub5 $G.PS!/lΌe1ǎ}k~}8eTf6S7-:]{~w g{p9_DS=A쯀96tOՕ'-+q;FTyM6ղCz@큮au]JJzszw|@ q-6@ ۷]98b᠈]ɛ/]e&QLs8\FU=%ZU)-JKK\1zN76"T U5=5 tMӁFc6֙ gSta8v0|?L ;hGUd>$/75::Kk5ד3sU?LO UNT(ӟ$IF&ǟ zDQ6J2311Ai;w܇Km MP 8q"ixm0T Z7e .5TAYɬF F`Ќf7ʩB-nҔR"ܓ+3}NO)899\j2(9"H3h è2AC(hv9KGo6(]u)6@jM P2ݞ5vQ12/YLm]mYonЃ7ZVWv7yO;{*TO5zGl\ڲ^$J)4e}vWg|(8XGmSn4[TJ!, /c)hMhO*8S!Ж?\ugGaѿ/w6 NɯFDCg,"V-=6I%ԋ_"#TyG1Tl9#qctC{XRFfD#"XkT1x-2 ז{A:˾zЬh޻^?u>Kq,g–2-=7WiXR)1Z"1AB $/"QБǞ]IEgeE/nHKuBon'E+u m"S-, P M^>^oC 7YfjSӯ]VXAg']End*g6pxk_j7Ȼ/g&Ι8FvFOkJJf5|cD2&Y:rFZ-nJo!^#٘פ+ԔFohF n Гf*BXt3;祘izEG |vx ɪbW22AbXhߧ /r="wF}YV*d6=NTOKM˩onR>ڝNqz(GAiDtDZAQMRdjWYy9W>|2aد~u_ JϾ7Y+bק_8/ 4cJ!{~B\Ȥ lJg 3(--Sdw$?']?3{ >Fsc͸6(,Cd([aX<`"g-g-FXT/8mࢆVQaL&]R8SH7jkendstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5621 >> stream xX XS׶>1prTHzjZCAVqH#! ÌCGZTCXj[oڻݷCW}#익^_Q6(H$Y6cxaHO8 G.NlG钽0nmC)H$_.)&z4cLv9}| _/ 'WO;SIN^ eJӦT!S EoLvR*eNCa{VɃN<̧j\/TprVQ|iV}+V*VV ߽6u:{m) pzFLM9cExIwN1PԻ{8j<@QMfj ZFmSS j*FS;35rfSk9Zj.JQ;({j'%)SbjeK(O R );jL PC$ A*Rԯ߯mg2 ]2J,f.?q{25ۭk4dPw= [8=~.lË2bʈ8 HۑKGF~2֏Rj wD56U @AHb.)QBrLB~Vb]RTȇcm}T( jTxP'(B(a-v77Fp3~ FT- befnyXIK?̹zH՘M^E?zl!'t-h V] ` Jr`ŏ(0U+E0޶5+Sd4P숋mCiuٻuR1Q>$…l H%'h_β,;5@p`u>l A1Jǿ d7bބ7y|Zd1H_f + 0D-D,bsW>l.+ߖ=86G<6"D?~R2?KK.~)]*t_($۳/҄}#MÈs`x;Xu4?HDC7c/aKG=GL.nJr]-F>L1ª#A.8]H 1eE5eڣ󶮉XK8d6Y; ,]L3#&wbea4ʳ?H{هY<ԥTj~Ko@k0>3*Uiy 8]djdCfC4ɜ3y^=#ccmXSD7%j)ҵq>k f6~u>E`Vt' 2$PMRmxv@Zl}f,X L)_|S|jdw9,17{z3۽Gag?:Z_QƇ"f|jLd L @0C<.݇dfb=S9Y2H.u~%bU=x3At2rCg$[eeU>(,#hY00gp3!FVG%IUu;\û][/Ѽ/! QS#?ȡ'Cnr#ZS`-R'w[ݩ圵4[Xlk_Zwz$Qo#RTraQ#vvГK-tDHD6|6N>=q@ '0 =$Bo3fTQ= w+ӢڐcJ)1T=3::cK YP J+J/gz<`޸\Ä~lyVԖsFZ6}_5- ԫ+ ksZtR t(1;+!&\u' kAN601"!''!utH+6P@D6zPj?9^Lp^0OC[/SoV N^vA6ΚWLZ^緻h(,4KЇoJpԁ1oB}ޢ?W7YpˆO67XmST>Ĭk#~\Aamׁ|YQJ5rKk*Iߊ?[rx7fg!^{Z{Gei yw-[薷1b6DL/0wk?CIA[AI'K\VQT{-~k 9}/cPi)TMk p ",Lr{$G>+ʹ.UX -hl~8j]&X<,%yɾBI&?ލĀV1+8RPTZ~ ;aɱKrt1`x,5'ûGԭba1`M};uaͿiƎݶ2מ>FOc\5L'|wt~9 n-t.]GKO&Y=jP\P`q`bT~H(Rq{#Ĺ+(;)>ybOV=H\я-YOchS!٦6\. CkkkԳ?{ y_3o6+lB/γ&hJIJqJÔ-РJgƃΫ>G}Yo0ҧ JS2܄j\'Fq7幓jXdwN8B*>#8 #]\sL/KaxE"`>R!mjT.@2U)C#`w>~~w[mG#8>MtF~qq~2I9plX ޥ13@H:LO6 C@blՊMh<O ],ޥnUW[uV_~NoJkXs@ |u1ކ\WYh'-[6KWzL!=yr[bUw;c՝û4Ăe|׊[7:`czo Ʊ*ztǗ%>a=|0j#.H{KDRy=3pw9uH^ i#|@|du`m&t>Yt H.0&xo^O]M8M^ e>HmFLfYf%qRJ,ɧ$mH̐ ږB:UBH`eA:DR71x"AGO! u ],Gè9Tu[Ѫ&]UgL$(pEՒ(߯03 &ۂ X[Z6x Ͽ/._\!]'8;ڊXì5$ˣdFLmH*'i $Uq\zF`)鴦hD-f+ZpZ7)Ԝ^-E!u 7FgЩSmݡ!ᄽǣG8(&.SUUrLG{GW`ȕ?|]QlĔksuxuSpPHQ.O}sP 9sIFQO|%zSj1 q0Frp3 rE~MM).n\^%ܩ [bkigsNFV>XaQ@% c<2SXO X 0=I9rݡ&?HX.0_a^@:ESf.5"/S8[V'[:dsu3+Xw^3u?Y0iìb6HP6SU NWW QYVU \GdI 6r;; ?hԻCendstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4012 >> stream xWyXS׶?T-1j{iUCuQ $$aFa@!*`NZVmmׯWm{IK{~kmEҔt Yw$Rz?Vſ杏ŸyC/|Oӫg=3ߑQ.CVANZ8iۋdl41IM b/\D)ML?2$2y$U.J"TI.A,ED[M $EL2o-IR@.A]8YjT%**N)I!IVD6'(RJ%I\"&U%T2Npd*N) 6)Sq \a!;bTJ)xY\#T1T%d~b%\T)O~)BBR6$(%J]GVqQγ2*$9]V-&(8i?}tÏ ErR.LLJ8eiMYoo.ADěJb&>&kuz"LSb)1XA$‰ ?BH&D?17 1G$&b>V+x%3'6LARIrIen ;W{1nF|8J<:ʨ`mr_vx*3D uvmB}rB# P֚mE uIa/MZkf}%dBPRYXTsQ)>jқFPpeMe|\/ {cE"&z#vͅPWO#/V+zetD!7iIc]][~ˎ+D =[`iZ荛CsfKJ@.|Nî}uyfoiXXT\ZTĄ-J [ n>+o0Գw=X.%KFueԂ*CS +Nhjuv#Nnmg{ pv$7 ƹ4fA Xqpє[ rP_PG1i3v'h,lV5eF@֘5yulfc) ˑ4cWX!]RFT,92Fzi@)]d̖֘ PM {/#_ײm_f#:4 @%Òc t[fJcUdqeQe+MuW]i7W:p{F1#lkM_9 G.LU6-9{5_iwkvmk*9ʹ'}Aoԛ}90`F bkOl*vo' 7@¹AEeE0 ;zPCWiLE2]!Y5?gWJtUMz{ZI(wWӿKV/]RK!TjT4OtJm"K/ rE˰e8}B2L,jO^ܓ͢I=6s_a ycݻR5/fr 8d.QXj:P 9~'?GS8N]e-y'+/)i1>ڤ1 z}%ӿfnEXT@C `$ #Q cؽr)P, } ,xy6x"]F|YS2uR=6 q0{ے^WԹyQ1(pvYͺʬhtbMô^6;k?y;rjԻS$Q\ׄ55WpC oV 3ȍNn<7y6%yF:]z}]2[1G7/_? ?S.lr?9GgF)\ħcK7L{)z^OIQԵ$^H=z6d<.o, mhu?^C4wbt$s آ5uť:5a A0XMߟyf.lЀccsE\p4$Ҿ,5hQZ'Ep |40zlʹSCٿ0Hx3Q|yE.chKϱ2$du  `k8|`sF 'O$OxE䢻"bD;?~ $Y.4}xx욌sLF+6;hƓQC9 OF2k24VQGq:ʫ,Lx2 |*| cxemM(JGuʿdmz|hH! զXsW XZH)ɯƊ#bYW8[|eeZمE&־kcσ=]w`NQ$, RXpjV;tt42-cFPUmhOq ;{ğ3.fY4 MsQp &gkpZ['G+st6bZRt{*hǞVs>< C~pDvѡp>sc]i[qi*yóែ֣g>k ةjSa+c> ;z0Ml}LBƺLA|fY7:<ߋ t{gp짡ϚӐ#Ӷ04)%) 5_z=cv]YT{Jב쀾ֱ-yLdm[%4ԤX@t}-2kx^֭i@~@lT59;<%_ J2߆U*D8Hw雋^._Q'Ih49C'Y.Ѹ5ZJr&?n$AR3E9#wmpl=ϟAﮢpLeFAeyȎk07}g##(nW|T\t>*ߚy0TG~So܏:=#&^u] YL YP'tPp>h%UqK$=v朵 Y)sBVG2hQ{w}SSCWg7& }ʾaSgD$vJuQfmQ.B;W.l3 uCDu$X+S {2i%[m0^+%Q{}CUs|N~zp7z2y'>: ̥g];e2}Ll]YpޒK7 GKfϘ7u=}w'G^,Hɵ5UW0?qjcRG0 dPUIDNE,cP;]zehN۶C?t:{1W~=p~_ĭ绾=Oeg%|U1un]Vfu񎼣QgįC M#[(~X7K! '?K&1<9~qp_AZi\BL6괷vlaGdZVƳZ)۰m\䗎endstream endobj 106 0 obj << /Filter /FlateDecode /Length 1685 >> stream xX[o\5~_#Vw" BAamn f&mU>ػqK (qϹzg}LͿz}В|=#dHi~%ep4)i & $ZQ8s%7N ֧`IHGIJ>UA346d"L; ϐ.HdtrLχ_X96ڻbVJ&"$8_g%UJ&(Jv6aY4$6NJuR)ȩSֈg,g/gIwcPَ m0)#Lz!4Zt]*X9QJx"(8F<-kx"xdq`AYIᬭ8r%ap+w"8992ep\t,"ҽYYf˯DC FqcJ9+Dʘ#eҤq N>ۤEX6-ϐjjV'P*xH%Ğ\ZRF-<IkBZ۾E+hF2Θ1D@c/) 6.o8Nqڹ1&7͘leyx56 g誊W܎'eڐҀdTjʋ_JOQ(I#g9#A)I YCgdaYZQ  zvIB6f%gxSciu=ċebQa ʁr!ɣ  LM=(EftZcDx?Bܪ%NJv(sjrK0̾ۃx55~0HƇ=BM;38Ж:hP.1φݙFa0"ATD_,b@h,0Ubh@d? ^^4Z*Mv|DhB{_⋦N`H1: 6h~NBN@iesԗ9C -b YcYţ26}:s{YhhwhCmr^z͎+Ti||NO)';0VLuNr:Ni;;Oo:tzӉM'ʞ/w_uWimGjӌ:;+}oM蟆q.M7̭Nr= qF%vab^~1l^tA{lnnfT,@3 `",QY|)+> gCDYde]nGڋe3o e?+ ~m92Wuǹi+K[ݵ6[Ƈ-{}A cӱ uV>Gzg|1 cHyeC傆?&2` _uUo|1dJ4щ*fN9/9ZqVqSh=,kTMJ Lјbhq3jf(}^W~vP=MT.:#NLwױR-ѱwډH~W{{V-:ww+VRv,Tp}y?ڼ A%endstream endobj 107 0 obj << /Filter /FlateDecode /Length 9284 >> stream x=rqH>A"Revd)G%&y].IY$@"yO==}=HJN>3=}ݿ?uoIا~;x>\'}Kx~I~_?%} $䁕C @,V,i08jkVߖ>nj QŐk%1Mf>w'~t/OPN>9!6Sl V'_z(/Υw}~\8_uǾ-wAw?_.1F/.ozHG~wc~Uzu⪻]u7ߝ<ǯ`u~\K~grZZ=7r\ ;N."W/U/iތW\o p=g^ PWz%WoVK}-WU)Cru%W7ny:ߕ:/7f\a~7Dz!-B~'W_sn`e=><:%5vUOo`5w}N/O}XL4T@fQ @Jܻ@xWi]5+!u#A*<҂iϴH @CjK?H:A>Mf%<ŁqrSܫg$:RRpc&|O.xp1qz)P P)W5!C!E01d*րА;)`UmHʚd:ՙ,N@Rt,kS8-"OidF-R/RLVJX L-M98A15O`&((5̋$ݘGL*5ޚ]OL 5#y:!-#2|C`ܧE5s Ӳf9DLLf![q&Sm̞)+e+TA 8AכUH N[Eڭ&%p~6\J*V#SVkqqSSL7 llM('rp[SL)L9NXVo^Q_QwL_AB0{)]d:; ;D;M1;V;)(*I*m Tk8ZfqDQ㠣QI#j:G7j1%Ū$I<Oƺf eTx|$9Cv߼~W43@@ 7@b,3&ÿ̠}A!x:A+iޟἇ&,`XbG13u [Q&uߋ!+T:Vh`qAb1Qk1}[azclvf@@ FGH*!i*@~Phi.  $BN ȧAW; Mr@ M ht\1EH4XgE(* 6 <4xRi! '!v i`0W &@=$UD2+C=,qaC2WV*98)QY&;4e,\9L$r.VKͅeR|k%A{|ړ딱h %Z[DS3Ԭ6g \gHKl!QLik 8h%FSmB]N|z(bBXꃧB=S8a+Ta6=) ꭐznc1୲8XT((٩'J`}.Xt{lVy8 Wd<[[rSi$%[tb,n6=mj_qG8Gt.v5J#]k ڙ?BfUU^UUU784pPzaHuC3G3yxjv$r}It,vz?8I#7SGwz웗#1\8䅔|XĀRG߄Ӈub> >p1%^B  u/$7慚yyDe% .6Ņ+yi $T9نr+`~ł 2\A}/dɾ9!37  , =]"UhR;7|  V6, -I{7a[T'Sf $r%TXBsr H {kUݞ!@ 2P6u9OфH!XqofICna#k0y@y,P2@z08ߝ&Dy`=L$8S3~>׵ Is? dXI'R&ߧ$J+`N2 X⏩X9Ȕ1k@"Iu0`WU;rƘ 6<[ \l[[-c.6emy jm9rEmvZ0vX +0{ QB+OQ2B ejMa3^%Fh*ZՊ<3!qrjAjZM)MnV*DuʾY'+ ׳ ~mHhLQ";$ר0$@+ yB1.f]ԛBbUؗXWV$(KSHX044 [N7 R:4+- ޓ`W2uJ@r uw&tFC6R*k@ژu%:XHgt4@ #2i}2m c.[v V)b6(CLEht=p2nD-M>{Vt*B")8} 9 ho.E;ɁF;3iÕA9itOLXZ1-K >Ʋ*cق`E ><ڏZe 廉q>$)4j@n,IۑH+$UzobfOMc %X!Ŷ|̖a~VD<:6Vdy򣔰A3(z X3x2Aie X3b}gXMb^mVxV/>VƳ |x-Nu$]C 5(zƼ瀰9+cPBY(xq:ā%|in9GTE#ι 9qzOGpcWU砿1Ja]#QgK i5I Ƥ\Ffm5]XCL@ *e{> lBGck;pO'7u ~D`'l sL;aesǽRD|"O 3u:Aχzjι L|~ Gq9S0_1qL՜OWOR6EAEA5cv<:lXHXU @+f`` `yݔEDx9R,X5>]Ec"hxI“xwM|oy F#"F;QG55̃ly:͇ |)֑dP/*3SNA +䤴KNS3G0]e`Ow(ELr؜MΣJʙuQ[9Κ-G7<X+drTTN%ˉv3=N3RŽGe+ڂ8Z4ݠ]wzS;\;e*kvUgfP 7*DD) p3xȦ$!S:U"#&U-7ϖhJQ~J_l=-;׳SzC`wK/}r_z y$h٧њ5VL6 >ф':x)q?-£d5%|z*7OXa2RFu ¾noev,#>6撍4|rl472=ƈֹ;cc*ިHA܂@v3=шoF'F܎HF(ϊ6n˸TO,q˛`ЃdB3ɥ6 ϵ3Y8-QJw^ HDSqlCqo% V6nA.uSg]]Pwuy }]f2tc*ve.OwvYļ'Z )u(Ļp):){)-[[i#a*v${bk*({b^x>Db?/R_麶 T]ݧ]J=J_[D9rRM0ΡN GL+j{y>]xCo=ytFa1f2xIJL\x#\<]ci~,q ?N|I}o`woObib7s6nla,a,XXv3GhƲ9+XABP9sY|wYsOȍ%nݾ!,b8FEaiÄ[RǓ鲟l8u Mc (#G|;FQʈ:#b8%v:&0j` s˃/8o 9][mJqԕ1:XXh\b,KcYX:8QgRq VwOҫ y Rwf}LݟS5~i5wr9߻^ /vo`Rm}qx=?{Z+^]0D-\@n H &%w`K= ]р`C':h](WwߏO};|-/ф+'.4.}ܲ5^'uR fm}k0V\.i.x }+cA@d-YPA\Q- ߴ 7=ފjØR"CN/va2A cygxAG~04s_m%l|{,/GW"o ೃj3Ջ!\m~D6r|f0ą\}eIqk?ljj_{KCtvPHAJiPQ|}сՕmP8yGJ0@S[}zW >Q!Yw%3_9`2{M#xRF9M)5(@8 ywn0.?CWOc|E8z]m_MBb;|lZUڃ4[+s;f9+& +?hHJcFkw8ӵ=U @ h4R(eT.(735@)b&z6f4T$~ZdK"vUc!Px'sَΒnHR4_> we?Ie/&81=Q+H.cjo$d8Z Y~fV Çb61~Ν]G66,4+T f QԜ*S[ZLRm軧3+P6D.b"D?B. ݷ| N<?zyN{*8y]P(@|I wy^1^*ӳ s9iG&A9-z#=>׌74\~3QVz"Wi3ٟ7\eۍ\B3>P2q&[#3,[$R;d ߮4lHLj] pݩ\#8MH&i|%ܠFvI52ּ <5Ng,'Hžƃl%-#%g\l[3f…|ݸA%ۨgtՠR#Rzۄ/}.L\U%av1BEMBu~01##Qr.Lf0z2U2Ղ%!vDKGszdjZnNQ&$5 RFۮdLi.?k2C OQ6(yuUcAfj PUŌ[0KTF𩉮BfK:c4檓OM $+hHyuc=Fo+(&9}܎ 9?[nN4|\2Mm}>21WƫQlH 숛NxD߈lhqQh 07  ׇ 0v-c/iB['oYcUHGWD&k>;B XU&.=ϴo9׆tt4⃅yt&T) wY#yX,H[*VX QdU'AtP̫J{?"#Lyae^4Vupz7L&ZTΖD8H&UzGu>5s%ު;bShH7ۆypnPhG9DmPW9b0A<5_マ n]dnC7yLJ~ &Ka wg-_jlQտ#}ڏ%CڲGAOMC79&AƳInG@e.F%ݿbz <I"@Axiw\<z q|nanAky˟gr|m? F;ntC\َcom:x|mw"^~nظC7;yC{fC@wKo\|*cKԟH'E >ǵ6uaaH7.r㎭8.#T=1 ۸9iژ%U`xendstream endobj 108 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3648 >> stream xWiT׶D[P 2DAq@@@Fр!q8&163DAQ j"Q!u=4$}kUuooM h6 HJNLMY haa( +ܟ'&QH Əi F¾t%Y^"N6;}M^FjrJ~|E7ruJbd'Q$)3CR+#oo)*ҽf Ή_:M~L,WwOeeART5 &SSH3jeEEQє5ZDyQT,CRveO͠@ʑ T0BP#)SJBxj4eFʜKM2Ss(g3e@ͦS@Ex IR'7n0 8Q|F L$yڳYl?r? i聡n1<>r##|Fg41X̆&vHՂηtW~R_3.ovRi:jmK9pږFOI8\h=!Nn={"{J@ 9ʭ ɠJ>j=b\e𙭂M+]]"8.`nK V=a96]:O<h Hnje&+35B[ W;=-*4;aC&5 %?Q1[b6+䐓퀃 ,oWgR|U-X 78_24JN0Q㻁7q!X&Չ\+d$ ~>l< ma H#=ZaV310  2|~ wa [5$  h^S^M^I!4:/䪾V'.I']`zSVb`ˮMЊՋ=8IKDB͆o5-A|Rha`,t.$; &]/%LsAQ6Ziki :uM0 9ze2#?(2˧*얚v kJ-Waiӱ܀+˥+P/lA1]%}ɬ+l!776p&LZ]@Zd-'|(X7O;D &I>LT菻Q"mf7nrz%o_&ճalӆ1L+d ]p +G:_E*.:+֩!Tӊs^,}U"W?)^ aP(`+ ĄBHCkv`f`#|Î2VCg'8`J_ꂃ"L5y65_:!;ֿ!Yuk6)v,:o~-?F1,vgr0?o !kӖ Φ1ڢFȼ~D.SG[gd"qAIko8`-P j$I 0|Rc%!jǁdxeދք%$ Sp!L'+58cH(d Kq`WWڥ`e^A 2/@w氇7vpȡ?\~1ӄ-ڗgsN&W?Ena 蕃lkQeY}gF ͕+.Nwꂏ1)%: >4X<)nIxrǦ2YlhLΓߥTsq %:괌nOX- ahVZxgnקL"<+0hc9yWK'N 0kCZ`ޟ$lmq.΃x:$kem06bLǫ@{r j% пkOD][p G{L݊'I }>f{jE/vУ0RMRwV3xsVKqX cἪhYŒTURȭaԀ`8G b%ix]0]3cɢN1-èd7?A[<z.9%_%=?{sf΋)v pEV+ BhV,algZ s1)ǶѷrKi.Fz#3܀(tS[rg\sN&1PW|4mt!$Ղ5AEWH+ fYt2$($otVIls 3+pB%'+WSϓUT\b'좰[ 6YݭׯLr3;yumq|%#Bë|naʋnbrX4ϸlr ^zNmXABVb:4ɧ}%ſfL!'ב4-<> stream xX XS׶>1sU<:$^kQDy$L! @IyL :V[mի:mwwm8|e!bl1"cFw/3"asb K`';ge4~9 3pӓX$Q{DEU&gϙ*5c|qD2,/RO᧢(䛢‚T{燪TsOOHHpuR,4U o RʗEEk"䖳Y^<"TAJ e$0n#DyDT멊[7 )0h]а͊3gϝ7qin#fqg\xf3qe61f+3x1Ky,e13Of&Ydf3k(f4 ,3`F2h83aD΢o ;/'>i3ѦVl{@P)vsO=X1y\+#Ovqp'dQ5V~1escQ`)qYn W9ɐ d=:Nv@t@5;3QdZ(6 eSdJ~^9 F`NC|,Jb׀8đ9'j ǫ0 h:Z,7wd[ +h#ZQ8 库C%nfshPʷ^$odVWCF@+0 &ePd5|Wэ4@H{۫QB"dh2dD-"(t~=]Y 0'ϲ}Ebt" Hʗu*pVAt3t oC *'aHi(3%X`;I3*G x3ƋNwe._/;QvC)>%˗MԪuKS>#N҇Qr٠=l`RB0^ܺ~_?"2"W]ڢv6C.Xp^(QFQ5&1DZ.qt1dԃ耎$/~;Ubzu[uYcO*;,ׅ5a7;884}!E,7o< J^"ǹdnƹ?sD BVNI{8<dT}N9pUPP/TӲ4l)%+jƩF)siϗX]s3 C$/ jQxj9O=#p8GO;e{yLݲC4q_ .w$p\p"ǍD3+2 3~ %tV, ZB^Pm^#~%(Ι`7$/Ƌ6R҇Q%AR!Vd)fLX%$uL 0m"r$\?ז> =@D:?5*dܿ)rq8 M &K4]FaF8ma.oA9G iR6##;GѠ( pڳ+"1N֮:q=ƪdi:iCziNЊq9")B 4*/B$XGFV+Ab(j|?s?QaQmQG iKz@Nv!'=vpxp~7ٓ_oYڱOW dM'yNB˃JSmt$i*gWΕrz7ozW$ mI[<ɩ -/U~i~}<9J+/,Z`LcOwy.:Tw֐>+Dmfհ=$VIуݧ'YJQR[[4-n٠d{XffvQpиmߎ {|ݧ+L\E|_{86C֞#J:YŠ77iIs&^<Jmy&Msr:'{|fk P eeA֍8}0h@x+mVZjd]qG}5U,N G^ mV yO,rP?l7i.I2XS&ߢjsLwz9}_n7Lpj/ǵlxp/~n2uN_3{[K8 };Jd_c)j2hH)*ǡY F~xOZiڲ+)HsPr1{-5A7y)a+OwK34y W7? upUbh-X 6dʿ;a>>̕ %ĿWڂY-3r1BOޘl7w߻r,=BvA&3rƊs@:$TXA}T^m!UdZmT(xCXUH^`Žrw#AO^I|5IcL.2 -kU\~ih1W7*Z*M݀*L) 蠛qϴI*ylhسZ4$b\5Tŕ2\;Bdh2 M\-xQ.Φ6zPE+P][pHx/Ob"*edd&rMc.QKo`b_XIݠZq2ǭPէS2Rq@3Yi.Գ7Ь//1@ ub-ZX/8պc4O~||u֭t3 a I_O$ӕ`184]$\AGި3(kVMVu- l&MnA:#Y7MY&FxGo~/+Jz6g n! X#K + Eյwjf|28;$}vH v-Üc%gh2ev%zgQ}]^B¥Az3d0ȈKiDllDd*%ش{Ȉضnqmx[푙Ar ?vFA]QW_`1o.P_D΋@]Dx=/t~! DEsJx #HNoKʀ+*/hp6G蠗4EY׷0,n .1d'@jrs!2Kn\D)~~wfQ5a_i=> stream x]q?Oq`Ǚi6#cؖ ,Yiu&H^*/H֥ϴfFA6zTź|d<;ɫ3vl=,Dz%e|xuV}^rkByy謭eɱJҲχΆŰ@%q<~u|b9s/>K8>:!,?޷o~ʺz+"e#DѦIOwVk̓y#5c:p4ApRkVBDwiT5 \r/Grh8pN>r5rFlm_\]0rc֒3meo6S|)0b¨dɿ߿_գsoeIbot _<>B(ypSCp|*\s\IP~EŅ[sNiO~DwȾ%׹_ӒQDGP,g@\HHD)ʙ7NIJB)m ! qWeܔs窱qISڻhI|D!pzs`誸2 uIi/E&{tJ}OCꩃF_xݠӧN!VΠ䥂'xF yU=)I@=)#H,4)mZ"8NsIBWjn !m;0.W\+&'*q$WcQPҴh} Ozg-1O" bXpRhZ봱xOiY<,2% c6OmZT9ѴbOژHӰDCW[\e6MuɇՌ} EV7 ״n~#X"A\gvE&LL}5;MՉSiD/Q{YFA*uϲDx Ҭ了Nųc'(3NI:̡rLRQB2) mP|< ÈH0̌X:=Jg0:AUόj Fbڔ]Ψ3c<è,33Of2I\Ȥ(#ėL2s/Ͼ9ٍ Rp9tY3^ǂsB?^;O>;%a@fkzOSĊ)tm8F{Ek |HK4C ݺ4eA;t/ElВl;SJ$S"c>#QQʸH 0w @VHO0 $ǩ6.[X d7m~4^RZwh30%TPH81$f6,3f};ye$.koRϓ+#$dfC"G'贺Pնqi ^kSX# u O显Lpֽc- 4Z2NIčcc>E05Phk6w6] NG+mFl  31GEfXQP&rU} bR5Zj![ͨȯ^ÓO y<Ǩs%Fޫ3W)b) rHtpyOJӉ8)omsȓ8"G0Q-ͩUnc9@)5I"Є 4Wp G?9Y~(7-#[xh(u4B '虖#ZҐQ83vߤAgڵN!0u!*\Sp.47(! fІj 2.m#D쐛u"J]NqfgyZڴSM"=i/L y{iB}aOeG:5>UPh$MòL,v+_0kQEfUI9k*Me*!2bJZx}Tiʙ4m"qkv#aϮe0ãjb(yPΎgFQD 3ZF\Q< 0ȂR<=㞪C _5MeZ340Q~N2V4h S@=4Cf0:$JqKwIV* K*Kv+I,C$Y)BmQ$RIE؋i$Iu@,,2H!B\InR䚇xEijrr Bb4Tf$ьVS1b`׊ьz33523Nɰ&i5Q n ZcTպ#5By#DF,,yѺ&OLZK]vD5+Dwъxtg#*ћU _̑G.$Lk/#wJxһ#;^:5{?Is>w~''D: [Ky ރ^%zxo QJ=~D}(i< G{_ 3|~x2O8ciYN&KrzY$2 9-#Ң 9M-עU>-zsb9-bc>".n U䠹Fr]<Ͻs= 9b/$%䤾无T0@h; "`23`v(D= AO2CZaXPe83_𬠾O.<z;u<j𜩑FϽ'K}@q<o~wu7RQt%<τFmeO?{^Swy8@by}tT<;sЍt'K@Z_Qd{יZUE!%xi-\Z6OnP9,e Oj9ɅR/J{7Wixfw${nx,m9󋼮ǫw޼ xڍ{4Տ>Z(-;ٕ]C8ǫG$vHrT鵸8v4D,4Y7=dMM.ٴM4ڋ0^ڴm/uڂBq%QG 9Oxȕի;^}2@Brkw{ӉޡmK _5ՏO;w۹zCV:(hQq7<1pʕLC 'BP=P3}df||WӴQ81}A FqW اvl4Ttĥ!Fz%ԎP$˘Zas}9{JZbL8.~yٻ Oo$Ք\UZg C_n}&`n!sA1*y|\nmNJr1:%/.LMa_n.i/'Ũ6@ hQf5F( pa#2^T5p |aJl}\yҍ%kHq`l`|Ux}_};aḞԆi?~gC@Z]9KOD|u(yteV"S4GlsUd:w5~ɗDOJ.+}N L$kps?~1c9-Wxٖ3n&ʹ^9I 4CrerKY[y?qSmZoDݴh 13].XYC]4KS'X H:ƍz͹M@hfo5rlL(̯= ܆a ›N68oS8´gbÈq|_|*v@x~h5 G]RCبԽ ,m7o( "grm:: >u_i6fNf֊&*@^anIWOClb%eĥEIwOX :ՅޛFuXb!K#KwjsXi5I`ա$w}:dHR@2QNԛ@}4#`Cͱn-M-ٕq?tfĬGJȷz|9^j91w/Ih+hv *G{?Z)S5 /f?>n| 47SS/hxߏnnuO`]F~NЈ-4*p?]=:][qlV{|a*9דÝ:'owR';^!¤zv,͘Dv{C۫xCW;<]aStycw| _ N  rLjz~N'/v|?BWoR;Zr|g`; 0G/b; Ԟ_k$*Xs|F+tzWvk7T qanr%`WDE5|`endstream endobj 112 0 obj << /Filter /FlateDecode /Length 6703 >> stream x\]o^mׯ}F'd(mEeXvo/9ÇѾv7MЋB:y8j+,O?⪅Nφ^\*ܐzH~zsdg*=YnNG z/?kɟ:'JL~W/F^իqK:@wC%^/%+4֫zN㤗_1K9#wzu{?Ks?u[GȹBx ո kZ=g?͟J֫׋J^e%7g̈go'z^;JJ{sfά*є/X_/cWIR3|yg80|b;ϾgЎgdnRJ=wZelgU_Ohߜ%q?7W8ndytM۱?׫sĹsڞ7Wg.~őQX;2P.Cp__#2G#m2ZAm2&W(Zv/G.ԦkELQb"[쁟0$1v10 )d"XZJFᖅU,éhmbJ`*P(14C7OJ!snJik_FO840Q8vm?gjq$09{`~!9xC6?DHؕ`n:_Hz$7PpJm"SA9= 샟wLO8v=6o' yIf>jDcn:<2P0"֔ txz?d2 Zi$(s2mB j4ESJH<6gYs(4RH\Y9qd`垀i@]a1f6":f3S)qzGZyȗ;*EJߧ}wTJHFQM)[reiΎ Mmu#J7MhH8v=F 0lj9 ¬$Z>yK 7ݔD,v5PB®C\zZSq6LC*K&!E%c+8b)=M)P6(HBN#ZkƱ*%! hEȖ| p%$z8W)z2[*%sZf^(5ٺ8v=n=95H q7ŁN~V}q>|J@[J_%Hq@PB®Xo1.)ؒ1(7?im]ӶqGAqj[7 8v=fM'`d5#msQ_\핋L޴HE)v%fř7^ }EI  CG;r #J#4RT#?%pjm~(1dÑZkJR)65JyvU ޫaоm]iJu]h sjPt*#DzǶe&EHP4  EX (R7=fLkg@"4 nLj9f.oH{] NJ@Qܳ)DΔAAקB5?S:=Yڃ U8xUatƀ@]hY4SeGOSQ,rnpr~nUW.D$LP(E=$ ah0"cіBF0Ff#FH#B`D$h0md#a+T*J F6=$,sA{ݐZgZx!YF{$('sC :BgPtQ^ Q6l9mI,5(2kM0kMPZ6=w~sv:c_.}.xZϣ^_"@| su5rRP ԫh8v=f]x #JFo{\S8dž @*R&26IA 1_~h Q)g;?ۨwsv 9A&*[z6$ލ>VE(1%]i!JkC<+Q̹ e~W v$Hp^X?P([M\WY>3o)o)d[̻U3` >֬HJ Wxl vF"|Y~+;~Kڇ|E Or7 E/8JA(11х<A{yPADa<@B]_[Q)(fzwXSVa(_ľFٸJ&Xʐ|o҃rYp V9b5[j W.ʈ!^6z kHXz.bRl@4mJ ~S2qc9GKmbBQd"`z|Wb*ƟM1P9ހ9\UvHж*&lJP Ġ'PCѾ͘R+k#e2RlRHpb)&ߕ`qzYhe6T#n*yp्t,Oӆ5o@j}h#j|F2ulUf=J{I1+Cf5M zB4^fSbdfP&~ Y1'Ĝ&{ {fPBbgPB®ܴhA&<;j|}}|$)EA}n@ S7?nȠ`;,vCȟK{mȓv)Yή4'+6~0M"o_,N +Ŭ3%ˈAy5S..EIIZ\J\v (+bV.XFC/.P SSP!CY't>qsW8]]') O/ bq0́\xs0[\ JN($m\Bٸ:ݣK(+Ge MO5χg<$׆NELŖ1ڏ=k-A`W/O/,770/޾;b} />ônQqj\Y}${)IG,-ŕ|W8'+;HY ϐKzԹHBisBTgxp))@8anVq&T0E.rwok%ӓg+>U>ys#"&aV)iVA%DRy+!ՅXh6J8K3l]{ӱ^^|wԏOruȣ^==Wh?d۲Nys殜/,G ;緵F7~^PL^"E_u)>húlHNζ)(?% v[}øKu_=)ܠtG786wziyNzui@y> -rebg)'6 %dy9S ڜŪxQDT?f h$#V}p }Z tefυ0~{BEq[#݇Jq:JZEa,#Mӱ[ 6unJ8>cG3EOb5S~  ݭR:{ cP>Rv'bج=q -8Znrmrg?4Vxldq{%ֱz27~v[sY&_^]1"$RSMg>LKub 0~y9d8N3;աb?_oݚ^kNw9clnwtMx%a1`.ek,,o'UZc5ޘCT@vZ~k8ͤZ&3|8ϴLb[ncb'FohydVySTO?U ؟7 wfu -?oXc~ \8/<ƖᥞxL[i_?j}q=cK݃~I痑}nLk%3oWz:wig3rj NyNJ9ZҜ`F=WO4ŶAjHLH܊Sg"f_L݋횏 s䝿>Ƒ%Y'Cvۨ$3ܰKutfX؜|^1-hO eN*uLqE.MmGq{Ws(WqfȒ>kv p>MgBy=IvE@g tMs#;QBN7q&l͛)Z_:vY?YϢ Mꇓ;y|?{4_,CP@ۈyW-E]endstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 114 0 obj << /Filter /FlateDecode /Length 4504 >> stream x[ooq/C,x}SF'hlAN+.y//ߐኻ'hq8;;$Ù ܟVb+Agj6qL9s˕NnςrRnξ?΄wFZRj c*cl>k= |E-j!pq\ƴ:E:[&VWg?ɤvϾSv[>J+i5 $8o~W߮c4~kL5jzx=}hg'CP*N>y!= Z9iK12s'2л0y#2#fj#)9zcVt_7uW[Sm^Cm͵,|cmyU[7aem@6ޮMum(lYFKnkzh|ٚm׌˜_↑odJ*P oFF:p&%Y7~$\Nw]y;-J~?&RL3@OSrplf /:Y)gi…% %lҙ6j!S$(Yx _'VZoli W3[C$x`'h3jT;>S4P(j&Slh]@4BH "J$L xKD q{(f23-$AA' 'Hؘe&@DMrܞn1QێNB7T!UHf\k.N`_Ԉb4NU4O)U+`o2 ̺UJlKu;#rsMTe1b: l3/Pl6AH5c!bf)wʊlJe@*WHyYYiVǔ##VѰɍUE|83EnFc` 0<זA Ն+(+-DcK3E; u l>n(3&oAb#7JC檸H1lUShu%/T\Q,]u̥u^X 2a z 4q 5yjK25Dl+4\BA߶Sno;^ZErjĨUJxT-Ưb5UaL կj8W"nà|sg'q6SE3ql1VNAt߭vWiXP6ʌ!Z~r#9&IvYyࢄr% K )f0=FwyY~/J,8DK@iB*Ljώp8}X)CC:˷[}c.NbUn:ab0lw_opf)˻ۋfw*=EJA*Tu,!;& J%:DZ1#H/)%pcDf>/?ܙ1怓D@;f!' Ul$y<1H S9DA9p_2])\SJT.iOӖNqnfk6Х.4O7D7RMS%(%4*C!䩗kM BM$vz@傧XVd8OsIHL=-(:Nw qd-216Unku|MTvjs?IZƐib\P)mTŌL;l[)Ꙥ״pѸj{JV=k6TV%͂M/;g̕F/f̣8\ ]ꤢ)6e b#SNvmbN tڒ[ܖ8(omL,cZ&&4P% bD\MN_,.!׹?. m0́GS 3jv?| Ry$/"Yh]Gx{ߨYq,@Z\ @VEHX!+}:̴T9[CFجj@zI=d϶Ǽ!9w %nl nv+TrEF"w$afβ=4 CHD"Vš{-0;V$s2x^:kk;h=  C+C}޲0vΝx|j/*qӈ.z3vЮüC5oȆ>`c#~_~xr]/Ҏ> ˟.J4m; Ӿk>h7"I!Oɦ-+ bD.)rYɫFcK^ZUݚHQ=2>eF#r|7õ4|r}ϗfwa #K_@(ҽX}^9^7u%>/L2CJq~Nzfg}o;8MBGr0ݰUV?Oޗ}~ZH9esvL{ӎkT;=faۑ`ޘI  vB%ϻŘ ȣ'KddEVG"{4^=H^j0c?Rr_,A]o拓WTzUߗKRǪlqӗmI-j[J;MnռRڑۂ"Iz+ ܩ|wHB{㖊R.W˸o1NhҙX]F<\]M_/X9/^;z*6Rj\ 26c|׆`1Ձ; >17It|Pb*B> U鉙d_VdmmWW6.Ĭ;Rұ r"j&"E2Ne(f +s U*k 3`ZN+yX}ÑO0Om'͇E[tjMrC c|+rAV.0F*k=IӦL%ߒ|XI%$i, y"EB/>:_ɯe^@M`eɍE!0  fOzOxͤgs:U, _ɊTXd!ҏlxL>HOi1pe\~3ģ'An{7,K/-vOa?Xv{=(Cn}=Hw#Z:ᨐ4uNrqRP_듓. ]U|TڀxdʤN9rna1L0Cu)߭Y)j.|R=ҤōTZ,`H0K8%mpRk`n?r5;JGX]I㔗> ۶ϖ- i_塝Kr}J6}N5 *$6O0RPO w]," ϓx2U/U3+F\;|xӔuqp<,Яw]҈]R v-okBXendstream endobj 115 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 851 >> stream xeoluOlĨw/\F$u)`au=7V=\ktvGT@#!Ad/7&c4j]9b,/7-3GfvCzX[7~ݎ|VqxD1tt3/vv0|l;K>\>f#^V0^B`޽p ucw3aa!6xu3oyyc68n6cU h1l kkޅ`_!|jy2d6oQ78Mdd^Z(.*YJIe?vd􌮞+jB}Ͽ圃㧆iI="y/\A9~r2^8uӵ+ߑ?_vt &čC0XwdSρhQ,F6uԾ7^M\5mi ψ01&s ҫp.ʟ7gTLlxug$"6pЭ׎sst x} _SfYLN7E{veeuqR-y̶K{8ƍIA*]mEq1FvMͩP*Y%Iԙ8mrYS HOyIK [lz}G:N([/\8T>P, T:( 2;uq(B3IUgA 㿭5{-TP竡ZZQ6C6K* 88no~rRb<.ȔϿD0+ e Oo5]Z[}G-Պa+endstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 327 >> stream xcd`ab`dddu 21H3a!#kc7s7G ~"Ș[_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*"s JKR|SR Yt8۽ǒ3~t:{} 9w>$:ut=6t.Աk/Tvkp=ol-b>sd[yxTqQendstream endobj 117 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 444 >> stream xNCMMI7'&M   %]ZWnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer ModernnOV7Ӎ~ru֋ŌXxO`{aozVj~}t;`bcv>V8SXcmPb`tl~tuf}R~ƞupxfppbuwCp`  7 Lendstream endobj 118 0 obj << /Filter /FlateDecode /Length 4408 >> stream xrd#\T8CևD%TR$ allח]ӭkK3e jVHVw4 O/(˃ب?4Jpzyxq9;W~~rv/;,o`pzx8Űh .pCf\~)!aYOej}MVqr"#̣5M@-,Gy9 a9NqV8' 8h bsԓ6Y<9i&JVm*Y g~Rs@/y98Q`n,'0"GĆ{"M˄x#n/&cBrOuy@)]( K7' pJ'^ tY#8|e+%g9pIk "W֎ʂ.d 7\ GK@p@30d.KG%r4` (@@=V"¢0;hIXx5ժxMp /$6h5Kx-ĭ'Σ6z>iG$5BJ'31*VF _朮8)bITY\tmʝҫtc zUF"hw[3Zq-,/ %%JOug(uȠ4yĬ a&|H2F֧@KB \"w1a&x] $\Tx)N'@}\K6T^Ýy TP9mW9?&.j5+\AqKl }_?CG42lݴ.Uuf-Q(kIWarM= f STe4}, +Ӕ\4?u4l.9*S$M 4zr4(ǎ̏17KEެeP]Up.E3v\USԌjΪI|XiM̩t / ^Lk qd>DOV}E@Rcv)^",Z7}l=%%$b.otV6@t`I5;9ZFC>p%C}wP%1tH-Zz!133y ni1Jմ /^-Mi.*7v6?gkCdȋ" ĔTS0Q9&lg=ҩdbR>\ Red:$"Mh9p-ù WἨ!VLa;21J2i9)6zJJwn7APgofIp˻CPMPv@8K)Pvg@w $3( Nķ[H-yn8yT&{RS)UN]N;egmԭcetwGcZK%.{<:ˣR.ίƻSO;Uc7XXA)8ȣU7cۭK#=֐vҰsvU_φ'Ļ};}ztʣ_rKk^6a$):z4'@NVww/gԧ͉9_ O}չ*7O6HBŪ6 r֑r%@BBX:h*hJKP ץ+?n|zZ%6D_l%3m?!7Q5I>6G=;XڌJU+ʰ߲F_weϺ}n[Y.a}ꌢ&q1(p%-YoهRizGHf0gNMj.#ߩv7z6C, D7/k{7[pMy)}5UsXNMǾ i覛8GҾoIREo15\L[IeȄFĹ8ͼg|ޟ j*I-lW;Џ.7.UdG&TӨ2_}lar> WaiXP!F]¨q_- TrM4I ΗyF&J%Kh# [/"W X?5!Rnڵ)mH(7ֶ7 ވpȹF8;cY6IΔ,Ťx b7bpW鄕3 &(+O5Ycj^,@XT(ߢ1,:FLqxnFsv[L|d~P'LP/D` ^B $Lh,2%c'~WY}Ī}쩣*Kv4%>E5:Tqr=+~q\D[DNVрXM #P }fQ1D/5BV{t͠fls7Q/Z9/Z^t\$O:3Y,̫;K ~vw[soʭ])4i_Z?ao,dUfendstream endobj 119 0 obj << /Filter /FlateDecode /Length 18626 >> stream x}[-9nΟ0OR% ` c8C깴ѧ{3Ǐ̸֬a$8g(_?x]zq~~x弝c糗^gnTp>naRG$D,6;K~K~~(g69&~63)rISn_e|^Wxq׽UbŨ]$>ozѮwhG+o{>֮wks/oQd}+eŏo?ObqNFt)ы'_轟^,.M}k~>;سY^{&߽{)Uo'חOx-#kU___?4J}ƾqGJ`~_OHo>|kw~}DÓzݭ~Nk~D/J/Sc9jȵlſgO*ׯv3glGn$O29k_=k[w }M}DO^'iI}TyoYo맃'e~RiD1|?Iv柶iO_F]VgZ?YyOg_>i_?rٷΑeIi-hxbxi~;5sn3g7YN-'eKv{wf')xR_'uKwOtS\'O>V}S>IdzIXh$Z^gG Cn1Kb|DC{?q~z_N]mi\¯8~s}fDgOT?:ѓ M6Ӈ'Y]۳o/k?D=+ӯ="_>gx>}b4" s0G/ECGo{})KCײz?}o3~z^ԓ^]JyxIoן~~?^/~O>ӯ>7nj;nGx*#ߙo㸝U[ ɡ'G_!իe9T1Y99mY9]drJ}K=ߊ~Znr]j׸m2s`wKE}m*~V ruTIIY&OBLR߫bljdʚyk]׫4qFy+nM}>!e9ˡzvۇd_XMmvҠH-jUU$mq՛[|sLK)vJK%vRf)[',bɐ]zߛ6ykۥc)jf6ϲMUU$~6q`R/)dX1ȷ2 ˲J?8&JjXcB5Z,Ao>qP|G^O"-Mı6h$k餽\m7,HIO5hOB>tv$)ou˴w.אmL .|a]/*g?.kA "j Ʈ_-@l-m֖EZhʺk+:wVK:%DS<,eS 5˲֮ڿqZd>vj:8Џۥ /fNtj{3wKĆ"wjgLӤM[}0wi"_G\ɁJݶ&nU++TEjR@ƻz2<"=eBxD{وy :Po`]q[O+4jvӣ8A'9Hy*W8}-4a=!9H(qS^ZR|eF z4y1> "&]uc)7A?!U6lVhG%vX7I>j+b7vHr,vIm*7v5]>[j1qtl,:i7 mV&R#%ca-OVyÿ捖'ujr0浪 G> [V}&Ѱc+]XsdYi롢=۰wHhuwZC]Sؼl%bqęG==kG!#=2<â-NƳ?fB>fi9FJjE#MꠦY)1qRu`ꪧ'j0ХvZ~dXn0شOOY=V.$lZVdL8:XON:;5+L60Z`0uˊě,l h9d е4sܭm O=.Vj~Sh5l 0FL]혿tU\}MQ%LJ.tMmǻIamC-h`!5xp|;tݫ-5N#Z5uǧji5q`Sz:D6X!%Ӥ݆/R;%^?|:d[Ή㕊g F*ЪيJ:&RFzl2ɢaIui Cur?L~JjSlĩmLq@F,nS4+SF~LTm?0`k12?gH\u2Uʮ>F.i \ :fgαm`2Ki˔c00~Vb{:knȼ|ѥbNd) jr5Z,c@P +f#7q-8^=(le%ywyt2V:}җə.%ojANh2`=dYPi7:GS):>e\)gtJβtVfv.5 3;eWnv4|3ji'V>Vķ986Kc,e<۴d61d|q`0bR9spfA箦ND;L6oa`nUZYd0tI'6X:qnbܜޓ䴮* CIm2 FrX]g8OȚgG݊#D{?E'ǗM'-ll=MUl6attսUhJYk* '63Pr% [R)|^E'ɸ}[m2IZSۺo›qӲ]&ijMg枑VѰb&*R: `"]U9kڲ*f`ǘ8Mt+u'̙bưUwwyv}ԏ?&/+O[w% Fۆ5ƍ\jt/wF7IAXuᅕ}]-dWt3W5̶ f )n􃹣@/{8(,p>aFoBd \H6 ͎fU76#NKvŚ.:ew ~bCSkj6=КVPVRZ;ʦWGSKe 6ЗH1nmCid`)Slv톙V&7v T^w|pd! ÷CLҤk}=i[)IiqI ;35[rmA"e5;-h!ǫEkmLو]R ۆ#K͋j,a+T +Uh͂FP"hdcvAZ9CoCzh}1)qYRia)#OzYj('hVPVRZ{KgvꑖcV=9RB]NJ#Kpa'#vzNk܊TcwX.8eV4ZUWw=yġn#5m o-J/A=ƙ8lCsT% 'LV 89%崝X;i+Aũ4͖T6}dNZ`C`-FB*n_{ 1>c/Hq4xIb4@y_&B1,)pZ!fCZ |W=ѽ͜NXa v˚A1I@j* YeO+P98mClDX J.C|–  @yː7S2rsܡX̥$MDhpڷ$|T@ևt1ThcC \",t k|ÿQickfn(aNИ6i ]ñ?ؠҜ<@NƭDؽ?#W#Q@j} }ѶRĶ84FCn)r`А w.)XiXzҠc,f`SzIia)q =ƹ[c=+'r={a]p  `Æfq '?s1,F.. E&v"@X]5"bǮgG=ӓ $+H#o+L%uonEorv4qA{«Qg!q)7wFTVPQ_ +(FRR;cG=2a3Oߞd Ɔ'-$%,b|H>cǬ7g{6HgMQ],z*AC%9@JK 0xN[c%hkx(GgF#VOea.Ϥ2,@[|A I K)<]7#50 1ঙ puLH#ۈ! w ]F^3}zT+B­ k9Ѵu])EכN ߾y*H$O}~((XG }H6/3FH }p;J蹅fn6ZiF/'cp WٸYA3%jhXKF*4E2{pRj]Jvf9#!s&6αJm]i+ƴ!x'}rK#Tejrf-26<NqうҞ%9hQ%l4ړ? 7gVQeY:BӢ%e/$@GE( ,49=ݺg 5mmhG[޲8vfGhŮ/NA5o\ÛkڣS.5Mo: ;Mdbݹz^R"ּJ#eͫc`2 г\"RpۏC ^GW6#5iwqΊ:S@ Hk{&|[?0ʸQ6v)[4n{`׭6vCtk!Cg݃Ѓ؆cC SZwsISH#ıtRf gmVP"v k98B&]d^42d>k=f1A S<58"S%h+X ρYW@v`~RRI`9>Pf@fڗOakXK~RĖips٣Yf/\JT{;5FaCñ#4gj͏< xǭ˶{fî٭K45+o"a{xۜsyv͵d!Aa5 (',F]~DgJ(@ Pid0 .F 9PGO/w>>_5pD󚏾W E! "JhRD((Vz@HK2oD3HgZ3Hg\Yp'yHxkHL!E:<)9n^HNM@l 7 dDi!e9RVm_JDsjp@M p"$h75вj?TzYI"YA=xQ;b߅MMzJ!e)oV/ 1&C9Zwz/C_ꇨo)ď_jmv=<ӪFmǂRO OLQhO O ?-?-& Ӿ+=PY V^(Yp&3SYۤ3 9ciЇ'C(8YUpf)=]Y?F~Em޽=8N o Vʱl[kN֎ ]tkmK[~X oU]zn)^j3[Ӹ{L:.@=IDHx̺\'7I|77[xqdiuguk2pޚn+ 8oxM%[{vxzkeJXfGMrczg`=q<`|y&4Ѷ&70ov;fq0oq¼U{P켡V$8oRtDuexS [U>~zu3ꕠ 6CL7Q(oo'7я Vg7ƣL om:`fu7P&t'xG+#D75 [{yOlwy3J@M,A !@/7Lz&Fw!ݪ#!rAqKC[=- o.V7\ Εn\+ě6CY/3ě fKyM7 xn2rlx1!5*ׄbd[7y[S7!p_5} έnO1om3@w0rkz-n6" MD (7{7zސW;1^3[SϊnU/ ؤHlsFru4GvQ'bYݬa2aY=@r֬ [Nl7P gv5AU @ 7i7 32q8Bnus$[=@5aܪs]J pVkj(&3[Sh&٭)4a@Wތ x>~ V[s^65tL_t%r^֎ a53cXn1r[L [--6nf Ͷ Om{XnMDp8XnxqU l/Mc0l<^6g(Pnmn R`ˀʍ.r$2YlBf(7[lPnт-ZPE Zb (-&ʭx71ܚھm wf[x= 6[3J^`#hr[M:J' >gfv&Uv}J۬r6+۸Zb 8\ǹks3_Pl*fmhnU_޵6 7}I47z_Gp \,Q;ٺÜfDsVg6\g@#}$ۢ,n xnU/ 9!5z"Fl~[+̄&M0Uf"(һ&cЗƤ4֒Y-mmwN{@ &[=m|5QꁥiJ4N 0Brj앂-Hwk!PÁ8 mp"U}xpAk/˺D/qlHw-9@f y[XrXd0vKdIVxngc8-)8kIۢ?S---D?vj\[rfnaNBx&-}5 ]ib%lma F*XKq^`L\fytQݪ^_:4sz$OkqPm "k 8 ]p|Ԏuuku^3 4!גclmAJH(x([&[r ڝCNn?I7$גHTȶ̂ni%h#5@Kԛ7k%vld 5I vj M̵`_ -pPLývGop&sLkFk_s=.8v|!9@eK @m[dnaDHP-*"؄'W&Oon6#%N>!HZr- "$h75@"P/8@`DgW,¯=^)6 iOu4&ZrЖy-v1ܒiqda# L O "` V}-9@`Az0f=~$&Q-s [@zGz&"@87P+% $Z0ɛ`1· ˰m1:8[ vHHZ-9I Ygs;f;mx e%<(4&jWmE HMC)<-9e qgR&d7ȟ=1ݜ ܚԖ: 喹RV@(WiPmq=Pn`H FrJL|K̘a)4 \@dz' Ejಥz"TaYr[pw-_+@n5\H/48jZh2[dA䶰h&_ EE[2ܖټ_6{@m;&oUKR2b԰mxB춉cj2cU2aUb>iQ~ZjťȂ&2ZMnǨl8 Ih\qJ$,[j'p[OX"Z5BmZFH6[H9t[G ~brVKR2 ԰(~@oKUm(SP$oZACWKR2·.Vr'pK<&[xS'@jykyly?ny+@ k9%b%kTsxX[,(akA&AX5Ʉ@eKm)BÃ&ےӼ"q\pr[YB04qՒPE<ܖVPVRZ%-ےckRltmF 6q0Ą enK#(VmZ:H̖.btPi%kl JJjX n8ñ9;%=op0hUK29R;2sJ8jX_-9_8@gH@pc(a 0;I`୬H hTO4%eKpV-[\| ܋ 425R? ]ZMCaPrCAqPO~Eór ܮ8۴]qخ Z [;u;YgO~Rcs\ʩI׆_3?S234&ӟgcouIU]%D<],YdzH;.>}, j;OnKژؒiVu{Wt[*9Wѥ׻AƓ:u+t=ҫu*V)A~1g89+^ƶ-~*Py:|#ܫo,:oתFsR#t,4V lԺQDmUW(O{pJxZ?]K{6UT2P wcmm~yL~>@[F|)ƆA\c£e~m6v27jQ;W*p5X.̕@/姏HuRb<(;uFʛendstream endobj 120 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 277 >> stream xcd`ab`dddsH3a!=;kc7s7mBcG``fd+nr/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS%E )Ey V L,*?:o;+J-*Zjђr| 8O6{B߉Wq]b1ùd"\Zendstream endobj 121 0 obj << /Filter /FlateDecode /Length 7733 >> stream x]mo]qGC^wH$n M]Y7$l_gG;ϐΕEhr83~{/Nޗ'oN1`i s<:Ieg/W'ONr2i~;KHɦc``\{Մ!xXjNV.y .},l>/f"j`uȄՈ:Mjɷ'Yy:ӓ~iiٗh'/ioW;m}yvN/Onٲv.K8OJ*1Ѹ??;wV?hiزgb)Q#bQa}Kɋ1Ko좗$w'O+Z/Kf`vJnG'$]O*ԑs85@No/OtΤȣž9RFNc a4.Ur}!s4+PXm9I+c$x lDbA. 0C<ϕ/SCd1J޽Ѝ1tG= ]jsfC%]HPۑ)%UlPp7U~uW'Δ LbW3Iy=$y^=9iRD2ם>}v{}3*r3NX4(p{~{{5Ĥq; ?޸5ML R2[*k (>(l,-P*&X`ҁNS0Tڅ@즀O䋨p ,9TÛDpjd aG?zk.LݻZK wdE[&V : VjkKH*XElKJֈVk3M0P\NQO^뜳ML]TobL]ʠAmwMcE[&Θ뺛tHy!I7>t.>UNbhe?D%0'"qPJLS@K<`kUaw[ѯ:6 9RD84E9Y%"#Np1.qǍJ惤 ޟ.g\$0%OL ئh>xuU:dr*Z(0ǤBC?ӑ搸E>9ecƒ1WL'Xd+u&$(`Br!^hGj ɓ zbZd*AO*S.Rs07^\ ҬDeGO˓~ɉ7A .o0+K. DlzF(ԧm0֓V@cR5+UW$ ̙HC#P-Q5֕=Q$6SG.=ZLčm 3(مI\|iEE@G(7fD扈+5ÉZNMfܒWtjx&ZPhЩᙒA8(C*K e^K:W}^S!M(%e@1NщcHP yD 8ġmGBMG )JepDG)ɂF5ӛH))aY  5oj@ Tp2oq`=^O)ʼnLiOgӚ6 IWx)&I ,M"%2I:d&ZчbhEgJx^>*+IW6p=sE6ֻ6JoצM`#@7~ \Rcy0IO8M_&vc2q ͊LiiĜhf4f{ &SH7N촄3QkAFiMaZe2Zw63풮ٙX<2U%̈́l6K$4]jHѬ c k8yQt4h~Jht(Nsp{!yw|H;= bhW(C{Z6,a5=LtX_BW Ɉ?Bi`9]d6ja$ոD?ό| ƣ' ~dXL\&GRq(ĵ&T:|mCc,o=yU DW[Xx*S8z8F(XR< KGR`I(X~\Ha}pX&O# ȇ+bPa M#9<8^دnK, -(~pXq`;W]y\8ssӤRLr@Yw>mM}#G8m]3ؙ\`k,:p K5\CҮc бkXHa}kGu }Y)o;=̧IKȽm;{i9E@; tʘ-NM;wywN3؏si˜bv6pp>U3 p"<1gTpb>0p(Qs +3j7Tt 0S'l91j+v;Jb;sU4^FԶCQ%󉓾;La ly06 R@FCsjQ5YMT2L}qŒ[a3EOw T}e";Qw(x~ d\"n*px~` R8ЩVrpx: IpU)DąǮ8ۣV"xS  fo6!MƝ?IޠL&. -Q{|fɸkAresS0o:H&㮧)uޠe$թMxrnԻmyl/ɶmc/lȲ',˶P([˲ {pCc-\;w,nOvE}O^@vEUdg_I6E䀀h" D$hCSblr2B RO 1l9!Ưpqĉ\hqFB8,Y&G\pPܧpY\HBܰHK\HTyx| ;8D$t#Z*1J4Yh:b53Ų$I ]?KIt^_^~}{yx%2dR9s/'P9=N  FgN'B蜎:|W&78md|tGix'8u.M&<@*&`I,X`,)K̂%`y"3c̲zi#WĻ/b[buxBrD"(r7wM lUL#<ZY;FM*X5TrIM1EaVZO>q?K&ljqeQ6E~;./  %~A_, `_,+RXss È݈Ćy ΓQ {llz<692q R_2nT|) ִsaLM1FaZQo]y)e_>W/Hij,o1v/ bB]:TaW=+(z>@3g+_իܲw7gب2%df~rIΕzDtaPM0.Xn~~YZ?*ڂ/*K]R\$M=_QJ0hWiқK`Ш.p[h ϞBjP>wX/!k;c8hTZ kɏ$bfB `8dCJKx8od4/)dJu)dx`6"x1i/y{-|Db58,32q1Xv6(vZe\`ݤ.] i^c5j> `|?P Bnʞv6A&ĩgT\ĕ01CvF$♁&nX"U09RZO.P^\REW;*G:t3Aɕ]o zSVp2Vr`t\"[DMb쬋6*SWTfPQ ahxc{$ͨM;$ZBVζ}53n9l\3ܺ5f\4sl.{aԥ+F[צ;b~#q˸Ƅ7tƿӯS_:s>:mpO&Ww7WsR۫ë W&E2TKl,*oTAσkXܣMڍ{'jN^Ed*=GNb wPԿap6<1^(NF|\D:^aS1-ײOݼ/EHN*F5LN[Zd2MMu+݌6әtĖ&Q&I[Cn(w{ňN͵jJw.ײҖc9cRK4%NYWR/3+IxħʄlJ'm<.$Lb&oC4!!jPVqT>f UMp?WcmMC3/^vJD0*wN$zNMWZs,sTl 8f뛊Gf ;MV.>l.Ƕa8$Z U(] qA–5l4Xv>dQy'u#G!kžV>p^HCΏjҋض2G:7B<Ӑ7rF?+³t\+M7go&9sD!kmYDe֭{qgaNS<{OɨccG+`{[/:~_s^؛+Ӑ ŮQvsMu#_k&(#>MG&-utߠ%~Һ\2Vh| % ᭐$'kh]j7u6R);!y>Jn%Jsg/^ uPqqՔin~qZ\K9mu0L^⪰~\'جx0G^Y+MU .+RUC334D7=sOAl!Ηz7`*ߖp9܆8+'FW5NJgO 6Pp)K6(v%pvqsκj,1*cIWy=66, 7 :? w)6Zg3u% "F;w^%a'mY!.]*ʋ+QlNuiCFFaT:hq̎&/D[V.psc'cSd.fӑX{~ `ܨd!1xWwS٧Y]`w{>4wJ whƠMfl[{#uXem#Rzsyj6N`6U wI=:JWW/rP[!z!,_Vx[GJV= ZM|ȲUρipۚO+*h?mY+|_EL=E;U'S$'$|n' <_vP.K]|2'1endstream endobj 122 0 obj << /Filter /FlateDecode /Length 5334 >> stream x\k\Ǎ>,2wXO;[TSXӽ|OG;OOΧ_Xȫ; >Os[+&vl.[_ȧ77sK'_P;lf zc}1xk iJ󡮶E.2D|ynej&l& HIM)SpkLOm շdո&)OT造BI$$!k  I7IΞL\[6V. "qo@D@@b! HA :q0, hPԪ]@+lfqLYC<ݥ:/YP3В'>lR)lQl%Bm%}&d@#<+O> &o6G:)(6o 焨]ћ.S#`R '7TK34{bBU5P ^ jxm&Ji`5j ZAu4!f"QeA/02ՠEg3I\t:+u:m̽L{LCɩ :M .t9=<uFsӠA3܃'$F Ub"k^k&@G9 %@& OF$OI<'uF|!x0>y@Smއ'H)-0e>ݰYj L2!sJWjᅘS×W,w˫H&/ooQͬQ̿ />֢-"(QnGRl<1iߨ =u`D3NJ 6J(SI&>誛bzH@9 Þf,5'_x*L#@{>K_-}F{7hi[e9uUrC6 7;[9\%4&{tڏOUܐs̛Z33N͡%9TnCI'К9tvGi}tzzc _<=[?*=Yt#%fFthKf$ʇl;9mVp^8`mW1Dl$1a$g5By#b-};OHpĤ&THsդKj=Vjb$T3 KQ!A Td$Dn S'2oNZph獅+r F)K_Bi"pCT7']slOjRdu*NlTaAIڒ y=IAnqk`/c+}E0NE0I"X }lPiT& Z J Ux!t/[Վ<G$H5*@Mc(('On.<}cXGr̜KY2Ce,)Y' JdfX/X_(YA\KAO 0,[T9lxYAic5e3gڜ0:[Nq!s Ad<8{z Q&FEfs a)V泞L%od,#fY7 őEZY=PwEߺݧ|F)ۥڷ>EC6)q3} \ȅCϽvԅŷ?1dx>vlmRk./|EMۘy35 >RLyh !)/By6'5igOf-DKs59Q<'Jj-DKsQZ?en,L>hG4wNMl; D"8>`x2*'`-(C`7Ai W 3DpE/Lђ-52Sffd(-LRyzљП%%3>.5YgtivfѦw">,JWv^hmM-G~{ |u?F-1&y-hNzX-qTϣjgmFoG]~M+zL[^S\^);/dO֜Ԁ"/clW9N9rޓ#Ãt$u @_<2ibyCՋk~ߺ,jXjڋ_~ Wk[uxRЄ./2 S m5߉.%bjZl61^H=`mTnF;X5%8JACOR-wnOwH^Ԇ0p*]pД-ws{ Z ;;Bkۈuhh'D:&gg8 H Tu <=)բm. Ұ~*2X3x|M) uS '،#7Jjt5,_MgKgaqoԡjAjjh̯VPLsnM/2[ )|$(!Ao礔X:mXΨ#j=T,M?+b u3k!js,3ԠM#{. # pGEq18>c 8i;/e&hӛ bz)7yp)i;X{xVV"^L%z~*AjX{1ڶJ{i`n5UA:mR4l_(aLQQy V Ǡyu  D;3}Ypx>v>DP+YU_]n&c˯5#2#L _}??(㞱q!]?z_Kl%n>Sқ <;-f<:{[F[dn)7t` ^w+5G*OkQN}>H8]_ WЈD]3m *~8;^j܎4&R^Wh2b|0vݲ1u[`b2ڌY8bqAM%i>MmˎFzLW-'NgUj6XI7iY٥kU$8> f`m6g?eS'磛輸{E\OwOS.y@m}m9*.~%Gn5m)=6ZzCK`"ѯ\3Z- A/ikzQlz͝-;{:婱vCf?*^MmV+Чm a\N灑 ٦R≛^)xg~hFSufMw֝y5Ok@v:|1_h͊mکJl5s7p̿fMWS i4eP+ٓw?nBՆS"ioءy_(|Վ\ ӍC ULR!]x󢍂\ <~˗G__?wendstream endobj 123 0 obj << /Filter /FlateDecode /Length 8931 >> stream x][sq~Gĉ+űe9vʥ$c?(.H`Њ^gGӗ={+lΥ/__fbwkq}Pwߝ?$kh.dv'!\|}R]rY&[+P4Oa EMc f*,9UE%_ZTy)N\2qEt}Mj>{}'Dk{q~.5{lw`dzo֝\uz7&d,y91M|ױ_MRr [Ͼ:-nƕ3&GQ?`/j?ᶫvX hoN7;S,:XKBr+\FrBV.6>kvc_'J<\b=^Q޽덡l.͘T 5 Wc]R^\R/7grŖEųEw%.`ߡ$βKbSjw  Y5!3-b 8]߁%gg"edF& k'P"`$PJNdPP[J$JрLq8yJ"Kj%&# c ¶:(() I8D(EXxL BXx!.햺x, (e< N&LIܸkN<ڇŅ# +)/GMsw(ThMuY`5a,V= ТWc!YWlsZ׻ڢ%9-[,J$hKE2ESVׄ-eqEk˂EBme[GU7 X8-gY94gm 2Vmܝs40| (.8z Xv=BiwE=0irPpE[`7YMD/jѻ.jSUWMEaj#в,j3M]{TVpԪm $dKvha3yvA&kێ&5lPDq,ڏ#PCi@묿{6ܠy`0i2f3VqhcaސN!C_&:muH>~XFzz˰|RtK%.!NPX[ ;f)K_p&Ը YQ"Z97`ff;RR\2qYOij i&&{g$A=3Dj03mq$n@n/uFGd[FO9q#XH "E@ R-Q9EBLGWழ<@Œim<0djx={""ej8sQA=d*W::Ol;KSoR ]x`IXlG=tf X0V)ʠc1ZX#(D2+=x,0]yƢW PǪtխcPwI3ݺ<6cQJb[줙n%(kJ• ay5+gy@>o[# }MJ+R&G:JnFL(b=3+(g%1D.T9w.) imk(y2Pb-(k(TAtuL־ KE.vJ\6GUY5.ʥm^yd5KAj ~6vJ( En3h;wj<|cX1lǓaw= qio]{|~c'?X}n?"?5k8A֟:%HtѓS5bOfT|*حv4AiuA;r2|ފy#b7ӡO|7##K{|ghFhfi2Vg#nC^!C u:2Mv?,Ga5=R dX_8B{TV#װ݆7(#1RJ8ZqU<~rr LA\~a!԰>5 &I^S':5sUdӃ8O#="xě>΂Z١C@{P6͋C΋#ŁŽ?XY;Rg-xh\en բ4\@Pd8`b'NQ\Uu=&?t;rQV2-蓈 .lE[hSZ:>k.9k.u"\EYg-izI Ÿe5U>aÌ8(^ox,2]8r1nu|xS\Y9K஋k܏NZ8q3ZHThrl#'ݚvK2I( M\B\NLx%5=2؋}㎟';,^2a!9fs`\0s \:`\gR' :VW09) MZ.1){Ֆ+U(\Bj6PTuSOxN4 %a赪` ^l^dO[HC63ݪz{M$pʮ))[VV=XO]2Nc(ǶnRGm%}ys{zF? i:a ,AD ~QkhT=o߼;Xo .`a/ߞOm~wIZw'X>e 锼=7^zN\* JyS&Dªp%vDf3 ~ YUW0i= *w9LA0y<Ƶ|J \#~ +qr+b\B\3W(i@g5B*8+)oCD#F0)YNΥANKpus`8ޏz*ovx3> tA.(VI_>_HTK~㫊#`d3 zᶕx'_nυj_SŚT)lR;~s),9o^KNy/.şO}]{9嗋EDG o~KRJj|%TKD{~ix4D~!F9+| &\R61wn? |Ūű0RĒwv! SǷV|q4&/2՜DŽtt|V4޺Փ>{jY}7xc58+ި1ZW\ۿ:Vu\jr3|1[p86L0?lSr)'?-m&cqh|`V(9h`;<1DNjS|N}^!.'&ߩK%L.+΃#Fo|10{>S6{w.\03LJҫ2}&2 g :hkj+5Bm؄_cllwe/ N*2Y#+0Β_Ef ,97 2 ~ u&a?Rmx* G NPZEOFgl0% k2s}q`A7+ m O.Ћc֘D6D2d}$vzvb :3/OP0+&,b:p3p9#0wn\ޏq|ARo;,j÷IC\jqOBDgYf;'SSλHp״6cQ'ixFwNY~R}(jV>e-mY}T2fRÓ[<+(ի H16`pu1KRG5|ZB$ɓK sqaBK`2#Vdi5 s+ `#q b[AUG苿V1`-\6HYS`.&- m}o꫍\n|+|#0D%~}B{z߲o/`۷}; c/l*wхw\ &-Y(EOZ'Xg81>lꋍe#WC? Wߡ߫xە!͇hD}'kql}Ɛ!ᅭE,y>q 'T9,w1@@Mᄢ->W@!cC岤@c*K{iDO'zI4\\â]KKAJm z#癣QgKuhGoݵ~wl T[s /LLsBqX䂒sl륁EPDd[z6yo3+%Y|X??S'k?N爐095SHo[>bt)K xLYE q90 |57J%+;oos ݟK U $ȩ0ݩ1'E !uCI 5=,,>i|t{c֪ SY4yF)ZIÑx5Uf r]? $M_Rq܍6b!گs+pnM?YQgHI.!\t}mkT8N%yl3_mHHeE2KHSymgAB~2N^qRؖ {K @2."SvuL2ɆIq/7|lZ9ɾe?{fP j=I{kKBVXX=p5¤ 4!o4vVzQi Q7Xh\eL?|e|c\T[;.kOݼf;Am>M6&Hn&{aEW2Fz8#pMo8>aiy-RϷ L;*ߓ] R萣˥yϖ\nLr*dJE@v 47#,R8ވ fmKv؂|֩)Ÿ@1okV@Rm@9[υj:w+w.w9<t*ed-ӶK|"P(bft{)"TtӦ./vj*z}+͡BlVYZݹZYsM~$+ub8ߩٵ-0ώ1 7 fٍ LE-9⡊bV5%Fjc7Ⲇx8[&`\`l \Town܈ >;T=HG^}.C-XX`N*yl=)]k ؐ?ٲVm\P"L>Ů`*Ce7sgntid %H݊=sCvq$/P\V2曪_hdRF|ns Ɍϰc?/3pw Nrncq1%sv]72JXmȜD~ÚǪ6V}<pcVʓ4ˋ`<^~#|7޼*WWSAml/Q,\p6%hi;Sי!#?W> stream x]lU.3c]G$FU֒Z֘i!X.˴;ݙb )(Th]hPlXMք2A@ A5ro]~?A.b767ʯCvG,tܮz'{!'èH(m!,IO|+Ju^Oj %Pv5-ȸCy.ql庮Z-Vh+8$rbUzISRעRUN!NM"5hzoGC.ieL:y0ɼT"kKN7;ò` ~Ex Ul]1 #K3sscɵp]2ʪwXۯ$MIN@da2w+㛠x˟jfo3' v5)Ѽ.jE/tvl1"|: 9ɪ?k?̊#=˲/ ~bڸv=%5$&aPo4o^1dI,.9I:åcgpʰ_ ]s8HAa`s0÷&Lݯ}n $]v>~yfvSp4sX4Ɛ;Iz \45 P0kГ=$VѪcEvlj61r4as-ݤG$^;蘍(QBx[\QCPz >HGY'k2a> stream xUP~C {}8cNޝ|ĉm LW&@G7GuHp([RHJ*AZ !Qz>AH!)DŽ*H*T AX"RQ JU.ZS(U+JCĂ%8;ݣ=[C ^@DddjTLݹsf8X݄X*iF};)-ަhIM`énj!Pp+jBPG4 KyPOsX]iHx-[b8 *'vC¨`4Ei-m@fY| ̺fܶ/0 COJ&Jˤ xa(EG=|JImxϵ/+uQ&W@fzl=i3pp.WDGsA,+Y(}8x1q>sF^iyxKoA'0^ᠵfyy~?Zâ>^q jZ^a23Lߞ ȀxJ; i>Zni0Q?n4{+vfѦsyB]*I1$#ovb];k}scRV5ʶ7LڌVTj2+5l}#mNRlY~fho"<<xs+P5ƊF=Y<Nv]TuG{& U\^v`Vq0M*ܹe򖒖fg 4C4ҸVȖ=MmD#-,mRAϰ)hO \tQ! v~ s 瘝 ۟uo3Ih=P f3qXѷݓ5x;\br|+0 P7/mI/H$ʞx$2F0'A~fۥpPCKYYYAɕ}x*p'F(f"@]>#-}z?F `@[ϝ.<CigU 륬 't{FH/,D"NO e> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 127 /ID [<113dab1f3804d757e80d368bc9c705f2>] >> stream xcb&F~0 $8J Bl4#xD2B x"H RD DHv~Du`]R``G e-d,X DzA|=Uʺ`] 9.3K endstream endobj startxref 131910 %%EOF HSAUR3/inst/doc/Ch_errata.R0000644000176200001440000000350014416277466014773 0ustar liggesusers### R code from vignette source 'Ch_errata.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE HSAUR3/inst/doc/Ch_multiple_linear_regression.R0000644000176200001440000002130614416277517021143 0ustar liggesusers### R code from vignette source 'Ch_multiple_linear_regression.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: MLR-setup ################################################### library("wordcloud") ################################################### ### code chunk number 4: MLR-hubble-tab ################################################### data("hubble", package = "gamair") names(hubble) <- c("galaxy", "velocity", "distance") toLatex(HSAURtable(hubble, package = "gamair"), pcol = 2, caption = paste("Distance and velocity for 24 galaxies."), label = "MLR-hubble-tab") ################################################### ### code chunk number 5: MLR-clouds-tab ################################################### data("clouds", package = "HSAUR3") names(clouds) <- c("seeding", "time", "sne", "cloudc", "prewet", "EM", "rain") toLatex(HSAURtable(clouds), pcol = 1, caption = paste("Cloud seeding experiments in Florida -- see text for", "explanations of the variables. Note that the \\Robject{clouds} data set has slightly different variable names."), label = "MLR-clouds-tab") ################################################### ### code chunk number 6: MLR-hubble-plot ################################################### plot(velocity ~ distance, data = hubble) ################################################### ### code chunk number 7: MLR-hubble-beta1 ################################################### sum(hubble$distance * hubble$velocity) / sum(hubble$distance^2) ################################################### ### code chunk number 8: MLR-hubble-lm ################################################### hmod <- lm(velocity ~ distance - 1, data = hubble) ################################################### ### code chunk number 9: MLR-hubble-lm ################################################### coef(hmod) ################################################### ### code chunk number 10: MLR-hubble-age ################################################### Mpc <- 3.09 * 10^19 ysec <- 60^2 * 24 * 365.25 Mpcyear <- Mpc / ysec 1 / (coef(hmod) / Mpcyear) ################################################### ### code chunk number 11: MLR-hubble-lmplot ################################################### layout(matrix(1:2, ncol = 2)) plot(velocity ~ distance, data = hubble) abline(hmod) plot(hmod, which = 1) ################################################### ### code chunk number 12: MLR-clouds-boxplots (eval = FALSE) ################################################### ## data("clouds", package = "HSAUR3") ## layout(matrix(1:2, nrow = 2)) ## bxpseeding <- boxplot(rain ~ seeding, data = clouds, ## ylab = "Rainfall", xlab = "Seeding") ## bxpecho <- boxplot(rain ~ EM, data = clouds, ## ylab = "Rainfall", xlab = "Echo Motion") ################################################### ### code chunk number 13: MLR-clouds-boxplots ################################################### layout(matrix(1:2, nrow = 2)) bxpseeding <- boxplot(rain ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rain ~ EM, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") ################################################### ### code chunk number 14: MLR-clouds-scatterplots ################################################### layout(matrix(1:4, nrow = 2)) plot(rain ~ time, data = clouds) plot(rain ~ cloudc, data = clouds) plot(rain ~ sne, data = clouds, xlab="S-Ne criterion") plot(rain ~ prewet, data = clouds) ################################################### ### code chunk number 15: MLR-clouds-outliers ################################################### rownames(clouds)[clouds$rain %in% c(bxpseeding$out, bxpecho$out)] ################################################### ### code chunk number 16: MLR-clouds-formula ################################################### clouds_formula <- rain ~ seeding + seeding:(sne + cloudc + prewet + EM) + time ################################################### ### code chunk number 17: MLR-clouds-modelmatrix ################################################### Xstar <- model.matrix(clouds_formula, data = clouds) ################################################### ### code chunk number 18: MLR-clouds-contrasts ################################################### attr(Xstar, "contrasts") ################################################### ### code chunk number 19: MLR-clouds-lm ################################################### clouds_lm <- lm(clouds_formula, data = clouds) class(clouds_lm) ################################################### ### code chunk number 20: MLR-clouds-summary ################################################### summary(clouds_lm) ################################################### ### code chunk number 21: MLR-clouds-coef ################################################### betastar <- coef(clouds_lm) betastar ################################################### ### code chunk number 22: MLR-clouds-vcov ################################################### Vbetastar <- vcov(clouds_lm) ################################################### ### code chunk number 23: MLR-clouds-sd ################################################### sqrt(diag(Vbetastar)) ################################################### ### code chunk number 24: MLR-clouds-lmplot ################################################### psymb <- as.numeric(clouds$seeding) plot(rain ~ sne, data = clouds, pch = psymb, xlab = "S-Ne criterion") abline(lm(rain ~ sne, data = clouds, subset = seeding == "no")) abline(lm(rain ~ sne, data = clouds, subset = seeding == "yes"), lty = 2) legend("topright", legend = c("No seeding", "Seeding"), pch = 1:2, lty = 1:2, bty = "n") ################################################### ### code chunk number 25: MLR-clouds-residfitted ################################################### clouds_resid <- residuals(clouds_lm) clouds_fitted <- fitted(clouds_lm) ################################################### ### code chunk number 26: MLR-clouds-residplot ################################################### plot(clouds_fitted, clouds_resid, xlab = "Fitted values", ylab = "Residuals", type = "n", ylim = max(abs(clouds_resid)) * c(-1, 1)) abline(h = 0, lty = 2) textplot(clouds_fitted, clouds_resid, words = rownames(clouds), new = FALSE) ################################################### ### code chunk number 27: MLR-clouds-qqplot ################################################### qqnorm(clouds_resid, ylab = "Residuals") qqline(clouds_resid) ################################################### ### code chunk number 28: MLR-clouds-cook (eval = FALSE) ################################################### ## plot(clouds_lm) ################################################### ### code chunk number 29: MLR-clouds-cook ################################################### plot(clouds_lm, which = 4, sub.caption = NULL) HSAUR3/inst/doc/Ch_simultaneous_inference.R0000644000176200001440000001514114416277540020260 0ustar liggesusers### R code from vignette source 'Ch_simultaneous_inference.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: SIMC-setup ################################################### library("multcomp") library("coin") library("sandwich") library("lme4") ################################################### ### code chunk number 4: SIMC-alpha-data-figure ################################################### n <- table(alpha$alength) levels(alpha$alength) <- abbreviate(levels(alpha$alength), 4) plot(elevel ~ alength, data = alpha, varwidth = TRUE, ylab = "Expression Level", xlab = "NACP-REP1 Allele Length") axis(3, at = 1:3, labels = paste("n = ", n)) ################################################### ### code chunk number 5: SIMC-alpha-aov-tukey ################################################### library("multcomp") amod <- aov(elevel ~ alength, data = alpha) amod_glht <- glht(amod, linfct = mcp(alength = "Tukey")) ################################################### ### code chunk number 6: SIMC-alpha-aov-tukey-K ################################################### amod_glht$linfct ################################################### ### code chunk number 7: SIMC-alpha-aov-coefvcov ################################################### coef(amod_glht) vcov(amod_glht) ################################################### ### code chunk number 8: SIMC-alpha-aov-results ################################################### confint(amod_glht) summary(amod_glht) ################################################### ### code chunk number 9: SIMC-aov-tukey-sandwich ################################################### amod_glht_sw <- glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich) summary(amod_glht_sw) ################################################### ### code chunk number 10: SIMC-alpha-confint-plot ################################################### par(mai = par("mai") * c(1, 2.1, 1, 0.5)) layout(matrix(1:2, ncol = 2)) ci1 <- confint(glht(amod, linfct = mcp(alength = "Tukey"))) ci2 <- confint(glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich)) ox <- expression(paste("Tukey (ordinary ", bold(S)[n], ")")) sx <- expression(paste("Tukey (sandwich ", bold(S)[n], ")")) plot(ci1, xlim = c(-0.6, 2.6), main = ox, xlab = "Difference", ylim = c(0.5, 3.5)) plot(ci2, xlim = c(-0.6, 2.6), main = sx, xlab = "Difference", ylim = c(0.5, 3.5)) ################################################### ### code chunk number 11: SIMC-trees-setup ################################################### trees513 <- subset(trees513, !species %in% c("fir", "ash/maple/elm/lime", "softwood (other)")) trees513$species <- trees513$species[,drop = TRUE] levels(trees513$species)[nlevels(trees513$species)] <- "hardwood" ################################################### ### code chunk number 12: SIMC-trees-lmer ################################################### mmod <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513, family = binomial()) K <- diag(length(fixef(mmod))) K ################################################### ### code chunk number 13: SIMC-trees-K ################################################### colnames(K) <- rownames(K) <- paste(gsub("species", "", names(fixef(mmod))), " (", table(trees513$species), ")", sep = "") K ################################################### ### code chunk number 14: SIMC-trees-ci ################################################### ci <- confint(glht(mmod, linfct = K)) ci$confint <- 1 - binomial()$linkinv(ci$confint) ci$confint[,2:3] <- ci$confint[,3:2] ################################################### ### code chunk number 15: SIMC-trees-plot ################################################### getOption("SweaveHooks")[["bigleftpar"]]() plot(ci, xlab = "Probability of Damage Caused by Browsing", xlim = c(0, 0.5), main = "", ylim = c(0.5, 5.5)) ################################################### ### code chunk number 16: SIMC-clouds-confband ################################################### confband <- function(subset, main) { mod <- lm(rainfall ~ sne, data = clouds, subset = subset) sne_grid <- seq(from = 1.5, to = 4.5, by = 0.25) K <- cbind(1, sne_grid) sne_ci <- confint(glht(mod, linfct = K)) plot(rainfall ~ sne, data = clouds, subset = subset, xlab = "S-Ne criterion", main = main, xlim = range(clouds$sne), ylim = range(clouds$rainfall)) abline(mod) lines(sne_grid, sne_ci$confint[,2], lty = 2) lines(sne_grid, sne_ci$confint[,3], lty = 2) } ################################################### ### code chunk number 17: SIMC-clouds-lmplot ################################################### layout(matrix(1:2, ncol = 2)) confband(clouds$seeding == "no", main = "No seeding") confband(clouds$seeding == "yes", main = "Seeding") HSAUR3/inst/doc/Ch_bayesian_inference.pdf0000644000176200001440000024645314416277544017713 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3093 /Filter /FlateDecode /N 62 /First 495 >> stream xZYs7~_82q3[)WYOVRb)?PH">k(ezl4u7QL0͜g9e>B:bűaG,fRKˤ`XL:T Td *˔2(wLiP)Q1-:L+Jn"NLG *#<ޚ ix1UYP1'AMFg-3oɜ]07ca1⍉*;E;w<Y$, s`EbNư[{b&A£zOd!ICXPi!a1 !Iⱈ1YJ Z ZP 9Z=$(K+ Pп~aMF$?az5Mgǣkdʳ~:fOO׫z\] aoHT@8SúD TmNfig*7uTnA[4A )}oE2ZhGVBia HAI'!~9oy<:%sa7b\0y,#d}zދ#f\-NjkMNח&U!9)I#<,]MVVWeHiSqe]H:729<S[Z9Y*_ILlEd>MVÏ <֐ H 98mY~-ɒgq~Z<8Hؗz:dCD!)A[nr-7D)4:M&lFj`cUr&EA`>x0 l(mjYQbݮ?~Z $K]KNjSbVl-ci>FceVF_<XRC iҒ .i?2wq]WKvh]\5\uH:VP;2Z*-Лlh?E([яBd<̿0mSS)zS mPfK i4aI5*/V]S%oPA_Y $.mU6k98~|7Yq,I?{|?K#S~#~|𺥧Nlq[ ZfDp۶5en 8uy>=IELW;c7_?$3?K?zI*K-9 Ea8>NK7* MC*kJFeܦ[_'YkȖn}",AK T]Au`!Yq6mb:,UMޥZ>iU[ } ~|͠3zY@xї!ΠI|@4]Il^.F㿒UEΐ|:-GF~Mɢ X4Y.iSr9l," S04w0},LTNިA/0pJp z  stE[?ZہFx`E0 Vál۪5YMAM6Lm:(BEPkBմu&*uհMըFwŌtVx*aU\tytjz8r h)h`h@"w&|*ґđjq%8@@MhCwj[K:{ SZ a?  "}4&Sl!/NNU0jH|8JY>ە퍶[e8Zyᮣ|}'S73%$ݪ ^Cl &j KSCÿFh67l`}yfKڇit.TnU}w\->v|Ŧ^~o N}A-av4|6|7z9ώ$뷗Ӵo[3g.?w.RKz"w_˺kq7w>ױwfj̫Yؓ[qoePwlvg;mݸ\auKUӁ'ɳnvZwj&KSI^}cjCųW:jc41+b~޵d+eKM/QMh{\ _y & 1J4$7q(zw7*-O ErWn!IT./_er4ޗSl9C83TSB{5aU[(Z"#mGAjRGM7-wu`O:V;(D1"X;AzuCb~d.yag! OJ[}WavouriW> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:24+02:00 2023-04-14T18:29:24+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 65 0 obj << /Filter /FlateDecode /Length 4624 >> stream x[KG/s4~B`0 CX+ve_'UY=k C5ՕY_>N7fty݅"8ڨw=H&!:r}EVq .bpjfՑ<49N^>¯7srLSit! cRZ&nNRYܘL; Kcr0ŔNV7+<}ry?c&._^F =w!zX.o.~?(]>jt*Kç0l ai5wQCrmb,\r:pKTvxuw{L4”si8Œb v'r6vxGN Qk0*e?LĤ=d)]ߵ̨ ;k\H hso c'2ZEFjZqo"Q@%(^qX IM%Ftav~R+/lFKQ!v"G!ӌ&4L _+7M3 ,S# JH~ ޼%N<%Ë;_ A%/ڄ y-wjέ#, =>Y-(d=G.Ë38mr|BXЋ PPU~x qY#VxߣfAXh)%03e3$&?j9:Y, k`&y5vϠ* s .Aى '^1L/ L€c.hG =ES&~W8ggt"(~(K?Q` q,ndxJ=?3DV#C5'Py1%3|'QPP@^6bz4;-xF00rWߡPxWxӶ`×[; ?Bш`W κGv*n(&ym6h#@PҠՃ$0;|,1ld>f$wq;&,2TD7x>`JL=;?1=Çcj!UÞ$9bh +Xm΄0!惁r~AcғuBXHI ~tp{t#;`BߒqNhI`*ARש59dHc҈6.:">[hFq7`da:6 5s1,y6JP ZIYMtΖQxIiTPo] x`y' +>. ,~P<}j&c!ޣ#yTP5gٖ /2"$Li0&G8%J,T%Ai')3 :O8IuX{K1S&o.!.@V\oT&%Twޛv`!ޖhl˂ QN}fy$zb%o8Y|0@O{Gz$Y+kVљ$mzQx[i>`2P9 ymGf;Bf*:Nuk2rTd>j7yTvVgh5tZ9>^t* OK M R5 u4m3 [= _`TeiU Rxi}k0ZzY']n[ʎÅ?6 f{m{SZ+e~ʱ_Eȏ'Y;LG<˭Ѡt:JLA:aLt1E8j96eL qհ-JoycJ7$f$VxɦQj=BϥVڵ|v .Pע rt${>0Є.}ws<ǐ,qP;^ŦtIJ- ]#;kjUmi-xEv~% ,WMɕ̲sf|2p 2G*vEȯv$W%*$c;>@>fi- =,Ppv}eg?j\SNb>_ԖP5+@Vš%B.էaՔ`Pbxp?rw`ZM Ɇ[:6Ig)KgP]BZaoGQ={&+!T>;kMеrϔ C?@0DNtR+DVH8\k/@(d@9wTWjA^.p[3p`UOQ]q)g[*36:.sOI[\"O}ԩX6= L؝MNe[np1$'CYE-IjJbW4&FBP~+0 jM, LKq $ EMw΢Xpբc=, :Ot$; b9DsoucYS9x`l͓o~g=4PGV 1_x[y[*, LNCF XW*<,n=":b/wADf i|6o{5稞ye+vUqr B*n>T&GwhcX6D1gtE\ЋLYaEp,RfDA}yRע`:dhy63Z;TJ/}GU#ViVz 5^]jwnF1Gە8_ p^]Lq67ˣWJ^Y8#xsI$ Rup7G-`߮NjƙuyZPKI xhY b(*)]VHvyT3wfTYb,QڦSn\(x[xG.K*]îO$-{-3.Y~=`Ywڠ+,칿mM뻠[\ &_QΕOJH 61gOD ٛ\$܃wd=٪]%^B`\;W˖vkrBQoM ibVLИ 1\7s mZ /YZ̅>֤r!uS>OT^OE}^yjO>ZfKx>á |pfbuH.u'ZHgW*:^BuOd_Z,߆[. a>n'1[UI\ci{߶/˞#pK-1dJ@]z- 3@O8=z,8Wѵnٯk8\Aw=wZwɵԇԏ>˸H (zXNQ(* 8ldDO7*6++꽆K•u*k1Hhį)$ G6^j^T g9':D`<֙ sY%u!K{zVo# D`{b4u=g#tGVXcˊ97*6DkǚINrr{7mT 2,gwcE]r Q[_$Ǖv%)[ys1+q ,9>MM}z]dk8 }.n/2R>?U?#|C#gFqh6-!Ih纮9Ӣ`C^p>p*^:n> stream x\[s$G~/9hr"6pL` 8+VF^_Ofe]j@5UYy2ZߝY /퉚M= D띟e~Ӥ7[ ƿ +ӗ8qMIkB_WBDq6MvGAIxt dXbnA^T=!#N9sd6 9I0G r+vwI K [xiッ{ܑa-8lߔ^u7~ ,DpYVY+e\vmc@.v nnlG A¶h~N+9ohjzLf1zB&R MDT3&E'+}0\:$ D_Nzk hA<E(M@Mʰ'AQ~P)aݯ6D) Zl5J-si.$8P+oV\ 8kFM;pmС/)Mq*RTUeza<Kl€ EZ6 PO\BHT+TvS9| ^7D9VJi$ G[䋶15r4C!Z.ܿ,0keglC4 ,DU]jR#Јp=:H쳫e z\4GeMkZcH[CXnS &M&~YHEQ@SY< 2Kƒ3O gz`@N)q뚩qu >6Ƽ)mrK&o>?rB[T=*EEPفwI;` 4Aߩ&׎w^wJK@1U'E5DOOK̰O cXDrQ?&0gn~X_0_*G%$ 슪rg筻fց/ȝ6i^ULdUjEsZ a4FCU%h<孆)PRVd@jf8<\ F\޻wTp]aPPO݊: DdعH/ xr+cW-&F}j!rMQݏ Yq`lLŽ== LX'h>8M>WF,{u<6!vdBʆF<eg\iතyWItK-}J0AʻqcWIlv;{ mn}XJ5f8XG8<2b'NqD\^{rl}36-K@Fg_+Kz w~K"FhekyEI.Ʈ?Ē!XMK# n<).y[I1}x̐"WR^օT];Tj#֗j ixdS2-̊ C:x̔9+ MxAf6竸 ֊)x~7։H~*v3z2j}銏֦4*x̉uPJ00g:oDWC03kX='*ü%924@Tܓ^pi4+70vDǸW)e~[~ vP}™4bl?yN^Ez'GY꒖ "UŲRW etzjGU:LI "ypMhdw|+̳ v1r3 F O3yV$LBglbS+<׺`s?#յJf9;Wk݆rqħ)M#NIt༗sAr$"(l0'U27;GT*Ҿ$K+"nc /uqt ن,Mg7eD:>.KY|Vq1J t6Ƃeeω\1ݺ<8\j4̬:? j؏y76~yKwUM}"L*qa/s x/˲:! 9e bRkTk\Vވ jX fyfLX}~LNoPKPɘV^@:GIEszϙڲtC@G7E0I|e2/ZdAu3VM48ƥ?M=h![ŗ-߷$L9JЕm +.H}^T萚z!RQv^g#B)کElIP@ȠX%v%)&v͆z?t2|-_QDƞ<~z¥/.X/S}Ҽt1P gVi̻[Xmx0FϧkO >.+OY;ׇva<ˣϾ4ccuǦߵV{łjmZf ~XjO q .2PLL'?}Oendstream endobj 67 0 obj << /Filter /FlateDecode /Length 5723 >> stream x\mo9r/AZ`wq_C|.m<:>U,͑Ka=lX,>TϧQO_Շ39*l:3#Ĩ<ڈљgOSΜu5F~4:ͣVU~[FʱV}Xλ"U7nT3D%TiTPy$o:9LU]}8ٯ^JGo9,A(dG!gj9|}5MB 7 W^34w8y7I釯ͳw4I81|-9gEk^7fR~a.ZمiH6N 7oW;}!vbsa}uXn?߿@`@L#~ڏ߽a8<||!2pzx~VUKc=V .]_`z85e C`_o~WpQ̗ex +\fcYef2ePflj Τ>Әfsޖz9 wMB>`O>4ӋCӍ7jMzz.>:C?u5 I =Z3=1-)" ԯ)B,o]~nd­Z2܋׍@W`|&k<G =3۟ghǾ/x8a0i__=밼8 DDbhKJ:⒫u5$,@־$ٲ$GPڊ>c#̇ _o}^%zuqܼ< ERF[9 pM{/г3$H> VN s$U#!cip_!`xXVpkBZfɒ?U[#jFn&şg2H[kGUBfZ5Ҝ<[b2&,E9,rU PՔJ-G=ڙCiV7q9π*ə7L [l?dHlaV3:N8РZԔJˇm[hrzJ3)s!?XBs :Yd[辈z_'E0 6 -O7V59H&!W0Z!5q HM),mz|^8Uz[zI]@TG^$~SX0hºFY,-$BL#3}Y2yΉ Y%˶rq ۬Lω6WzKfƌ"RVǿakX~e^jo(؁ >ɮHu}oA FDB0RG\<wЉ\ƾ~-nC!mbt"<=EI, ~FL# fay'Ţ,6 tUx%V,؍SFG#\kL̿km&$DŽq&RpsXo w6ܪ N|.GjbCrl=JrnGЏY8l4OppOd%jCI~(>9r`Μ ܤ|ٵ~nEf2|-+I2.ZW-oVpMid<, K ܨgj,4v7og ( 婡lupCKw%zcCXn 3P'WgNIJّ&(siS m8ܔ02iLLHa;\"3W*p~6!_Ż|[,:iIva>gQ!zO0RB ;IBRk}i;zւbUn#k{v& ikL+ #/#fFqmx!jC WGI2b<PeI/!1C ۂ?hrm (D?7XUeaZ-Y~102)`YghEp)\sɴ`k%pa%Id]d>n\a 9 *PbEIcLAt2,_n̜Wupa#"1Ilu  VHh[4 _!ϕSqV`S/5qs#,2ke!ֶb1|#5) }R!t' VФ_/Zf;dj dخZ -L1KCx\myR!)1C –~" o{ 0 3W3DJ;b0tХ Yԛ*dr#KK|~ ߪW*M 30O~8(ֲe™4ϲcXr1BIF0 v⬭ Q;%QQ8SR33(͸L^"[OC1"JR)L cP'XEwmgB*uO$ChmiN[+ J .{HCď^F}ّNs9[370}+BW}V*#:c(S "S]νK`\<{Ĺ'=K03 6d}PUYݯ9O'G#sөhbA"LzvRUU䵎9ۣ$3hwTJ] +m/{] }5^gt>sUN/6D;-<1`nRJJYfɝCX@.GNɗ$VfK{3| yίgEіAұv}ɥY`u5>E4I#ΚjC/NC.bO&GjW:<㿧0o-: |/h" ؅Pmͤlj%pocs 6MTUuʙ L__ ض6DCsrM.ciLO\'7MIjv,椨nE7YF}=Շ x8ދB|- lS,%1HG{M:[JOԃ~Y% k yթ&/MV:Fdږ dZ&;ayS>u)ʭc3 N>H/Frmt.tD U$_n]dVBPa/\*SXbT"Ox;Cq&@%gxPm ធ+^2uP3SY,r|2 H|Nqir $ }R}Sk]׋wŝ!4xwĈycolUB.ASW 䋙?X5_N$;/NDi*=&b?ƬցU'Է1䌛+WΗ*@i{uv¿8uJ]P~n :.b ʇW!T>bˉеr/K ߯t kJsu#-x̯'FsAHlF;;6_WMzXpj?:B P q{Lܚ] ng5)#0ÉVs*}s>"ĀƎ504!,$fga_}.>#:s6FƖ-]/=, ѕbbpH^VM icЅjZuKp/2NC4__ٚEkӭH2l:[ELz\C|t1ȅYCbi}\@|Pr. VD>m%Q%9CE< Y}#g({[8C#טZt+Yc 3Νu= JOIg47%7wu0K/ahFEGFצJL1eBq7>߱߾:g0%endstream endobj 68 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 69 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4400 >> stream xW PT׶MC8gcY3$`"8D3(B "3ݽhFA[FgMLԋI|'Z_={t//UUUT7}9{(s3J$I78.5~/*f !KꈧLD)dgvN"Q"Ygpkvk׮^llҵvN‚#ȗvƒ!11> Ra/ }vqavۂ Av8;`;SpX;wyPplEQNQ.OH pK ܜ/#834|i˖Xfz{MmP\j+5N-vP^kNjMmS{(gj zr(Wj#HGmVP+*ʝP*j*5bW([Uʎ9F=6[n)̷YX[YK$Lgܘ~9 nMēf*vjҬI&uL^7Y5eޔSnO:5FPZ^|d՘IdȀ6&/MR& }\ӣ=}A}fvrF+v#KxĠ @7Ҹp Ǹ{Hc$AD,$kmX;pKAɶ$\e1mhWL##5y9ܼIF4n+%Ո7Ipx4[1=^"h_o ~W5v }NMxˢ6Y}A 0V2Gj#mABhxfyxuh*yxq8!\q2B'0XVuC{TID~̠PrHH/‹.%%#l5$gT9֝>=[;i8+x:Akr4)Y`EW»r5ruxw37臻{-MC0MmІwhA#OECx\$-C]?~^G }FHibjLUlHdF~ϩ06v4s [c];8ޒ$CQ鐑h/Q3+$WuEuG~rp?AW U7qUQA HoZGeaaF~"]DZ VZQ1U:baV>Fi#.lA),H5&nhLO&nўࢪvlGiw}lm#h>6q80vMX7AzSD][d.Z,EAiҢl{v0@<|?l'y޴nSAs!B"`x^\d%^0KbEꫴ[X>14g:/U8V~s rȮe?:+;^P;4;2ATUBӮhG%ɺ|~&$ƻ9A(KNV s ФGT#oI1NϋIv #qowűi ~cIcS6.4DKxjLīPygeO{c/!9M kĨed9QrNAP+ D䄆 &=% @uPJ GT^HնJmԛAW=05$D-S༵&JjZUՍJPC<3CȀ܎ֽfߊE(mk qD>r$FqG /Ew0Oؚd`hei8d*Hm}h_)91gRSK[mo_؀@,o]?/F8T܋N~ztE6d-4V_b KXܱt9qJc@ԀzEMdBqH,F_1ژ:G}qFScHLեO8ݙY&-/.+8\V JnjnO L Us),=]wU[{5xugNW@fouǑ]> /&*hc.&OC$\ *YU+ׇgWDuo5p6ZPgrB2_M"K"th&fG?'7ׂ 3h0G3dA0Dap[$kJ#FeӨ}Xq)#AA旭hc~27Wb)f!l] mhH~Cmf4\6/lT*]Vi!49$-؞36 {tΤ*aetk#w~2Ozƻgt&8}y};hW4 ]8-ӭt$\dt bɈm˃p}f7P3Zet{]cah_PAIE%視}db<x4X3N,xX2RW} 2sf۸s0LoLcXUHnnOrurexo!blsmh E} cWw`;*jb-E3~aѻqEh|9kl};[sa`C䎝9i -r߂L y Pîg,~g %ȷL}4?Qk&OVYgpendstream endobj 70 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 71 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 72 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xz XSDTP cUVkqQq'$@yB LVsZUu~ `{}ϓs]z׻vP}(@ Zjo>߄^XJޙl 0bwH8 ! Bb#vGٍgg?kDS̲s b#'# sk7vTTɓ'yGN `DQv|"}"vx- [cg$0iOݪPo9ݲ laőKJ\2kUj'5~v81xӦϘެ=f I&;EQj65ZKMޡ1zj,GmS fj>Z@KmRm"j2B-쩥2jNfP+*ʁZMG9R)kJLI[ʆRèᔈbT?jBS)+ A?Aj9IeACłX-,eLKLyi^aՙ F/ :ΕlZ2;A!OK^]nڵAѕf0BAut(#%PU5h%q:]#t`gf పMi%vlY#|,MK,Y`-ۤzk25A6ḌTt&CDOfn\ %٧/ɷ[\W* OUE_)epAp}g]*|ŃE.F Fk&-]ih)zATG9%<L@}~@bc*G D VWZ? ulƜNQwٖd4c^0p5A/n-< We<@m!g<`Cc rd%g7=񋚵WUhVE'AhN_]|`SaILlV#1y(nG`V{1'ԁ69wt&EBvӥ-KOnoV;xv'pwF4Q۶E_^F%w%61jM"˿b{jcʦ?qKgƷmӹ-eEtݱ#uǀvv98zZ$ INFOr{sTE2O}DhXÐ='ofǚ)&39,=00oktغU=7DA%e)JJL?M<0̌ƒh=c(#h F&&3DW|UZ;cD{hՀ&!~ QʷEIQ`۞=ΔPYh,h4mVg]S vT7K$RրJ)TI΄Vҗ 94dԎnD\o@ BVkx]*MڛPZQOITzv0z B\9rFCG(6571PDH`:R3rNMYAC BgO*4xxt_ZxzhSu='>Hés00Y.\viJHJ黓>dgIhT"~^+(# V9+ F yaMV& !#7#"O?,FA+@ h,;yF8uW7B;:=ڕuYnï[q+GNyO7+)V#b1F"v&ǎ'.ճmwЬ,0^-DQ[wjcskq pe*Q p2'݉iUsmlAYP\3ߡZ UN?b]5ʝ`DWkj6eUwGjS ug?rM019yWu׫OjS՛-4b5QuL ;Fo[mEl@]-zbꜢvF|$mzɸh\pw%椄E4:dɏs4WT{jׁ'*B\wlWl!~E eD-yx[վ16Fdo'dc(k4S#'"ƗLC_v¾+䧑>L]:\4U%qV)Ӓ*,DG_HqD4Wo0=c8bcC*,MȢos\7Uqج͙Cƽ' v]>c0% g ѮΩlrJC NT :URVA U(3Ԫ 9?MnZ LdK#t ?' WmU@lw9Iݜ @d.La&dи=<ü%8y'Dz-T)>fhDZ-QiҲʸz&/6M{(!`&qd I)x ctNɰųx'~9## rZ~]ᐩ)w?l S@DxIu.ghWK`@hTŴvnv lQKMgꞣKe}t١'v)E!W񊮝6ؙȋ̳^)0O/ж{/<&;&SQ,"m>6OG7ϩT3c_oNn^E _ :䩃A*2 Š^?UȬ,Wwy|*CEPmp{NA`I#TZt됑V\:m݅@Qf6hvWVݟD^@:R4dlu\_tnS)U*0J(h9Ii2ii~NUjn*N`sGȻk,|ۿUN0?sRⴹ>|a:kG|Yq˙75b \K9'Q/ŖsyTي]N_O-ƃ: B;d@ŭZ1 L~:j`d}b|H+[L>n/~2Z}u{C s4qgN3[$ [aKS:?E *WyDi`=-s֯8@f2둶<-ESO Nu۽+5e#W3 Yx!bL{i''3i^>Ψu]ȥf`Z?')׆IPDRTTHQ`7#ɲ;(ݲd8O%MiF=et! nS,CdYn9`4{o,v;r;MAyyq `03];H R}-͡>?z4Q h;zm~D䍩 qQa"3UE$:ykR.)Z%A )|l6+/i95ta{Nl0WDM"="}÷_w<-)0K UUq3.G{$7̏h?Cx!.dfhm5js5j>woad _ab>ANO 9qAuv%ǶWPlx02rexm%/i;fToN{,lF+.V,L/g"DؓtgmI‚쬛PH``4 xz0E&(*%1:F5}ogקRŶ.lZ{?~r.12fXk a ڐcy dݝ_e|ڸ1,zcnmL{0upӬ 9pv6?[ɏ61~hb]ei8jڸ =aRcd4>8{ oK,pHGzL6uXWw5>do! NYhmSE\= _1cVZeӵ7DH,/9/OIlB41Ǒڴ`w Y"zmMNb'A`Bz"{3{Ce3Qh !=0uUѺ%GcuO ]+Ńu Z ]@ 4ץk`n3?Ɩg͖hO݆,ܔ둥zc PJ~{ Ox/^a3ҳ~ğpP$c*СN[8DQ9t1 QTFH'@t4_Dމ F"S ?{LURih^Z[ІjH]x}^_W14C+?=)lB['ǫLV|GTB0Y~\}(穔B<PX^YYR6If,.| t.*Y*YvM^lJIAVNXժ\$r9U'n!r:-GeBTӸl-m"??Ԋ{RԓI^zr_ȯ7}EIGx74.93 ل)4B2[Oo]> stream xX XS׶>!prTH=ZVjqj:WhU d@lH cb[_J[Zٮc}0_{>g_h +V_8? u+/wP<,R\# *4c:;tq4Ox+ i7O4uT[[JrwHt<`N@i_7GۆD#*816c2v؃v+lju/M)F~}GMzq\xW##t=vLa T-(8H.̢KQSI`%->gKd8-]`^x֣ 9gg`t4CfόMPg鏱5> 8Ko=O]2}R "Lpoe.$&=YeeΪ,wu|+g/xۋֲ]Fr:TW5T%uM{gDi9lE>Z04 Q8`!=$FH4O4\eࣔ}SGgӮܸyhOKhb9db3u>pi7Dѕ?Y=b:쉥ٸսPɇF0bh@[aDï-lvU ]V‘J w޸NWzXoF4S N}f0cqn|_FlӰsh,n~bM4C]`#JTn&e|i~\"Őc"5RNoçm4tF}‰13(0()2S틹 %iv<\?GMK'W9B9ƺ%9L6 MV jC9e3OvMz [4c&Gx伜T mkZ-5es ;joIv1*DO╙xiW]vGLѿE Dq9Q6+N!4¯,8͇fHg%JHdHp P~ Ѓk"~ بodfh5{u4B8rhjs.i~:TLFeIN;"x ЈHzDDpQ*&2h#(8z?$rv)zutP;yv50?MFYH㈲YW yXlL'(7L#ABQZ\rRͥ%DX˻9eHZoLDx:,l$Ɂur N#=۰)i$GO]6VTw_=jP/sw A><[T M(P婵:W՝e_aEPf^}8@_;:Y(Iz i042dBsIC#4Σ.tDf]t zv'EhEҦQ3ѠXw\GYPI(ZUSf6{{)CU)ܧyvL6c.ҏ_/D G_*Xn>ycΜ;c/-R6'렢1޸Ӕkuڰ>Ĕk7%mI+w"K*S-c*).%2d< zwQ3Zx ^zU[L.!߻zbVҩ(Gi($DSܽ%/S=VQR%++D76hג]S^ ߁%Xmn8X'J7]sнf=_;b\Mަ*\qBT:?E omFt]<+;w& ȪP$Fn(2<w1kv4ķh$Y2teTR%6*Avyb~OV=.~O>1o ! %lB_λ!㈦BSwءVkKZ C!Ƹ+2\ 8X,9?]PkE'OK r9EiU.lvzlH*ӺIIlp¹O~Alv摢$s(F,4FȦOo4mYw܆jenѪܡ?IMr Çj T8̴*ZZ8ڢ9 #̿NQOb(1A}1գ%K}BxW$n9|pMIUݢ$T{g$qd{#BTfSpk"^#e$-BԵ-iWvv6FRUdywWzdyl笕׻z}{/~XϺ3x >ctS,¶+?XNUeެ$m_f|vxK"%A򬀬 2;A?>zڍ..:.ע*6Jh=E}ȉk;.6c''vHw,,.)-=MͅT b>!Y"VbҸ"m6k2ԗ}Dd()*mF@aUnw B&@Sn S z(H@-g~uA '#P&AI r$K0Hffhȿ@J' 9ޣN JQ RT+ZW\ y^5eт|h,*>$e/W5}59/OHN_ۺ`>Ux7l *KK'?iˆ e}]UyS{7H*#''~zc%=[qb~ Ð0v+YZ6K E'ۉrt]qݰ|,'.Q^O?) s2 tI9^!;>'ʀP^Ev]~EuwAiK$6S5gES Ȏ*Ӣr6*\ XA XN iXhr@ :S~0_elk׏2IVba4Y(ơcӆyl c 6oͶɃ[57s#h%x|eXewʚob/M'[QOmܱ&Y q,yj}OksQL 9b`8smnBueA<}uvc<Y-ڟѡ*ۚEyTVu<|[r<a5(B)Xt[oطCt:uk9`Bdv.AkgWO/>ݷ7"\&"[Ԏeqsq6.m{Mn 61ر2+:,Q7Ž~,hn4;\T\\-K4]t.B}>-/.@LM..%S]웒QBA>5~%)9"veJnW3t=;*N-JAUDE4yW-C$u!e9م%f? Uh{M,*U/w#k H`7eE)H Ż.#NhƝ]vk#i{ $C}HJ3"kiK:##OS2%0 JbPc ~%3Ze]#"Ue=ikFM>q~>\aQ7,&Qv,LuP 0֡VI9<O%f't":1Dxގds*КƻKHΌI'_[92W(߯ޛoqW1tm"vl3Yj"=\aŀTtQ)MU |>/F7" iU8 B1UZnTR)qL84n#f5َ_;endstream endobj 75 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 76 0 obj << /Filter /FlateDecode /Length 4025 >> stream x[Ko{ ~?C ?l+"()=U]YQr`LOwUuW_U\ ?=Q_O'hZyG1Sܜ<; ^>ȕwFZA$8:zYh U^ڙ6F8bmR忹PNѸȄ ҏAN֫]oJB5<^=5BklRqxdZ1x!(dÓbCnQ 2:a?mQ~s6Z'qxҺц hp. oʏ"h?>(ݽlpQa .i1z^(σ_Q2C +KŽ`aF%7n ʆ8cRlY~M`s2ywBEee$j~>g;(!R;qBB麙ԬJM}e08v(.NᜂhdM^]*39|^a_^CWrLA7lyΓmKnhhA9f5s*66RP@5hlÎeFƻhS;9 /'y'd3uZw $%L{I0g@ j;o8V{ L#:#%,l-[q7͟z^5'᳝7y\ɋ\ Fj\ xàMӔߕݰ&wmkb+uK<vhZ2PapR9u~|}S+pwំ^?9i@c`hKְ9( uql^Zu>DG_[[ l<=&hjO8HRVD u=!hp׆@ȷç(vwl-<Ľ4l:aEAaANeRњ~9d+2^qr~Ddz @ cr4p^S&Crhnjڵ yz`jQEμU p?RT|DxAnUؒw(𭀰f5G;9?Jk_[/k뺶vu9M@^o[T4R_5A!f _\>9tg6Ae3@r rL=# =0yPG 联hZ4.(HqD^@\9f蜤!a-F{QY C I^jx {C& yԤ #h}1Zoޙ?GSKؤ1>pL~Rmx+8 uSV^ZPL eI DbMO5xv(+t18@0}bu5urãi[:&XYV4MEyGQUZ0Kl#^qoRt"<(g%#w-҃~ ګ|[#Xt\4S2y= ¨PᎩdF58`F@TXo:(cTiu8Z:we,j} S>a>0jIxbՔc-в)3) lѽ6}''ZCUpk( 4K B!_X] RFC:,K^ 2./{YіҸJ8#";! GQvK.K/F 7URC #v#m)(=\L\J6OY@i&q5L-:\.J#WݏLioZg(ԦَT:* c?8(%y[کKiAì/-.-xÔsR[HWM[tIlVG&`4X-׭)M3 w^vMhU^` Y<là}v@>k9u]&ibK n.~y= %K g@DWoz:gDǮk`X ɖ2-] xңGVj#TQta`KC/HqNST"= G~h򺑀»&Ht)ߗxjQf3Xxl{PJK&cV?[8vciUnY-t.YQw!yA=|RVf.R7˷!?wK;M:6)2f.tA_dX}U㝾0piSoq&d9ԡ>9;ݟzC=:˻x!OsoT }FkO'=Qy.gb$Ǝ]ڟe԰Qy/o2c7EU.ByjB\ Hq?RIqI$`xH~~KNnendstream endobj 77 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3801 >> stream xWkXSg1J{4cTZm{jk9TUZkIp $MB.@@M "XR/U[oGO+S[{fz2ߎ?iis޵.1ymeyLn}$ BP(z&񤙚0,7C" MX|KBYlu QB$dK<%)=N] J熄"˞qJ3-^-t )#+)1D5.=)~uK2I![I aMq ["SDi˟yvSK b>A, "6b;xIxn/w@ScKSJ! Xᠹ ЦkJp;Ԡ62Zc{^nq|??%@Qr`;pXJ5(t&=< (hdSoSp =Oyx(ym<FY'+bǩ68$.U!mźǰsH\L+uȳGno3@_ZyS*RkMGS>V|3i`YF+s OA/ ',@I"/uLLx3[>E38Jx N2GlPHv doo𭥌eF+&]/e1؋۪Ag"o TDمYWShhM4ׁ/a6֔܍N/Z2q+6Cx6NS d1@4sm6hy'ש]`ښʪh-1r@h"#v&$LH37B 9-xȾq2a`"݅Yri^֑](r:5dž 7;UZ\TZjG^⟌s-Z2q,zQX|T.5-Š`:QhY"ϳ2TYSV~dMA6*@}(᝿x "07^zH4V۠A~EGl;2Y0+;]#Qq_I. 9RI^ c=E^o79]Ca7Uvo#@:TDfE>7"99@׾ѫuC'7]ЉR L-]=5R=sa v?l-6{.rYpЉ g*NA 8V ~9/!Qc2d)2K 6L8{˫w%%y_1qnކJr?u(؇h-Gq=p(nnt vnq~s4qYuRz472Fo`ӧwœf{oR6  Lg 2A\s#zp3Nk3|`{RQ^Vr: f_95"u \`kY5-soMyq,6qg"n-'t#ܾ=N6m`/7-`|'|9dpX`7%60 ܬ޺f6J+T}t.JHT+|hphs`#</X×;Iё>[3cPhշ ߖū!@[foe~&}H z8ɻ!CHK?>l'hF w.??|6 w.c6a3/uݸOZ@IuPe'sXq[nR㾧DxqO^T~ /*PJ49L"#,H*UB6C2:O%j̶dɲuꪺA(Juw q%ِ/yx@W]sc%]Qu[W)BdIA}#?h?A09\v4}1G_dnwxo׭mu{£M1SEo k/+"^Q?lזiC~naF+cGr5h8NXZ BeL/{MX`ԂB33Z#TTn,lϼd '8WZ-B }v[޾ DSמ\CWMؾGQ@WmqGDQO[ {tkr*D=ecϭ cdqW*ùli2qn&IKvc^S7˚Sˎ(e 7n)$e4PB^oM4'yk۞K{8ʾ&Pô#sC"譌VNpj.}D1G/vu܁kئxƢ+Rܒ![俹Ψ7kiVH,dkݵ7s@nB#j3[|7ƩoFx OVVЗ׽bȕv "Y-uϩ\ I6mx.՘vwg> stream x\mo$q. }Iv|`Ǹ/ _jF#$V#SU|% rbXzNUOߜNOFAiuӛɫ7nrt{YrӾ5ggr eǾpz!-6bbyMC*35ZgL9=uNiTZDT.Sw'Dy99?;?$YjajNnN+1o+ҽY|tv-GmTşQyo_5~PW}&Hf/~R֣~T=O97`NOTz D孁 L᛻ǫr|v?noj Ϸ=Ol{xXHL{|LY?^Fnv:a>v+`l>]anߔֿ7CaǟOẹs{~v74,p C_~ZFp~y:{\o7evV׏7zR2THס.XߒAP,b ZI͔rfziq=AChհ8νRc4=cn@dbxҰ#UKw=֮> /8AAyl2kHbl58H@a'7i=,>,˥Ȼ&bI-2_+вvc裕Y>?*/J+; G9;elȯr52z/uYRMq$55̐ەPAރ%3 Џ#7m20p2zۼ6;+)}GX] [J{IcXh a|IӰnx&O=Ӽ+) Fx'u?=9#?]mF#Jaِ"fM ֬2?hXOgo: [@GѼI4&ea.ПݞmƕXk$PsCF 8ie>m7A4m콇0&WCh'`ǶڎS0(?輾+c-3Q U֣=JP4WhMuM̼V $7_l~ 1hjQLV'*:]s^> {psT~$:'4 fNo{ORV1l$f϶7(a&w>PTϵ#S5_ ~𴸫M>n N4Sht@8og " p8]my2Sٔ٬>p/jSɤuӶ7bݘƵO8i u x74J6p易ANa+7i'AA: ɘަA١$1PJKp|fN{d`` ǽ76Gy6b0IزaB$O ,]N$>`1o@ڑDjbfWbFT\/t(~ƌa 6u"R{mƽY}Gn \q).۠5f,x SV,G~G0\A#9-j9&;?-{ zFOɢXouǻ3hW%J.FX!`Ac&F]$^xzx#ٔH 6i*C|_*YA' !tyDoM2 S 4r'pr3#k?/*'p^)S[;;e."L.Y NP(/``:u%5or4F8ӣ'ߤz?Ե/.M*5M̗#27UnOOw߸n>?Saf`uzRxSKVsoY[&Uq`cu> Bdz[IS,*c>?7d1uh1qh ]d *`R);==4S|ʇdlZɔk<7|lRDnpSԗKꓟ K30Ao3tBzo}\8k"kR0;wBJo }ёWdށqq(CDg0Ras8CcYάV@s} hi 7% &ȑ D81~mΟ(E cxrt)MPuӚz_ d* Џ #"6Ute)2]#5! D&P[z@P7²WVeX:b0>C#rl_֜gz,Y+3 UhB3:z)|Sb¬6(Ao{$(u-l5FmS1՝LR5S$W5ΖccQ;~R7f<0DHKi ObS*Lr< @ga*[.59,]Qp g]ߤ2 ?^d2ڭq" j~X$&PoܕQ!ZnL1R¨ `qLKE`P!= vB@pC6ж2UTl Df̪0ff,/ B4`<`"EIvwOОi37c.٪[Q%x*+WJ,mhW9imB $PS.fxf%B$K48\ }/Dެ0Deuz3"u$\ XWq }7 'TUp>򋡇"Yn$]/ȍhVc"d4ץ 2Y]Y5S!&!r{@#%B4.$IO0yEʪAz^z"_`m,蟆3tR&|q7ۃY ; ,Qi݇'^cWS\6#(lL߸$hhx%qߔo utv'S2tGc2a [ | ; $$>H~1~w!|;ϖ!] t؊9^0Q ʑEIT*G"lbaSuQN4 F@bxqψΜZd-T(;$&rڑx~&&Җ_w+3וo\q3Dз<\ 3NC3rda}ʵ$}/JR^1\J<W5MP>g"2)jW\FB#x; Fn'B\~d_S.^yJ.Q1(%"TYf.`J?4J}fvr\^ :Y ,;;Duendstream endobj 79 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5706 >> stream xXyXSWڿV h]kVR7E**,H"l&!p +;BTj]pmݵX;v;vFk~;7g|?<.n.@ "H^9)\$97ʅ{5X$pnٞ/Z^1~85AN_7q[ʬyBbtʬY1YbYJ"*ONp4E$K{ah2)&5x<-U=RZtnRttKhGD@@:"mKR/ˈΌY" OH ^%郭k'O͘9k9s}6L|+j҇o"EcU8"O&&k_"#> B"XDL" b)1$eĻrb1XI3b&:ICxބ# " $+bAJ#B eH ߹&ROܕ4A'^_2qHÐ4GW' ^dxkk^kz=Gy|,Ok{M:I/w22rd;#_,i+`VØh9ڞ_S`4p2eQxjDv=(ڗN&KTSmsXOy>*\1o XMg8ldNz;TFRvn>mQm^[dB-UE@$wOPF?5ˍJ|}m眐$6utl20 aC)"$9 QOA/N:8p3@`' ClA9VN`@γÕ1h,((@^0?|6 Qu :u! ]!$sf'tL|ךe ,!b㦥y!3E\C#ށCn~rd_TfX"|R@_pi]En?C 'ぶD&2FP tMTn(7 Z8Re,+**=B+ DZ? o9\C!F2Y؝ YY?u-; R(B1+=YrW+I3׼?M?Dzޯ~$q+$3jd|15gE&`!.H!}S.oR=Hlj[jc@4((Q#g(m4MX+6|l2h4Q 2pUaY>YlRUUV6$wFج2GC:TK-%iC<X>Z4w=g $Y=#tDSYy;l޶QD*_0kYx7ؐˢ@3J@=]>¦TsQMn}giX >P"  ur~Uf'|A(j󄄷9#¹qBwAmp%tǔiTmlKtդp|+>p[wnەXjg`{eFe4Н7ۿim+oT,D$2J쩧oa<- D"<|09~L HMmc*>ޫڳ1.dӫntrp;i# jcWK(c(ˠN,o/^ h/4U4-lC^AWAsv}QLM1~c~UA9ou|hĈLBrDt/o6^WzZpV+܏q)~y.pm*.-,+So:.9P[] j*X-J6^ Ur{ZH%>B(ôS1弄Yשx8##$#0{~_f eT$6i RVx}8MNe6@h)g]RNUꅻ& e¯///^q\,\Wn .Bc] pcثkuD2 I#iiT4%"Ɇ-W?Gz`.b+L_;3>h0'U[\/f(BS;߁A02?Bar}䂅Xtp6OA1žaUNZE~QutU =n5jLcQŸ. C[伛%6f'&ƖE8Ǽ5wc -. \&Âvzws`m8vPJ+-z6b."|}kz1@pS̊ ;+F9!rGF9eȑbGWQU^+g٘VoXN23'8ޣ9Jc2DtBy ݻ p5p3x|I8|jSA0LM)p-hSmS<ø{L&yΞU_Z9 )b) Gw[-7-jKμNϚxl\Tmc$Jq"YWc?Y2-j#gS JA(O͐mRSP4z09)@Ts0L Co3Ukn mBqC?~;o6aF@SmKW  ,{1!һ:/fbq< P3/sg|-Q4 P?v_^^vD[{m BS۸Qd09u~Q#\;/ ur3tPm합e8S7K2&jd1r;t V Wm#+ M*9uNJK>''ezI'u v( ǠUYb:<~UK j1ޟ;هMdeuN˧}'!%)A.FXgVM@_>aUxZ2e'̞|P'q́IJ <ɩ:l=\<8| pvrZXHFB$#х&uYWQS+9zT9@_E,Z:=UkJT@EAA#O=6<-F6T]_Pq.ۭp 6?GXsɸS/NtGni mNBΠХ>QF2(p'{/q%=+s0&'-(f`Zcj1:7-0% A䞸NB+^eZ;497 6ғ$3/4|)u~I&\l 3_}6eϛ$ooA9D܆o`֦+æ Aл dwr| ;kwOBO]d&ExL7.?ʉh{WGG_l۲5dk*x/ZQ GI{2Tg{۱]ӰG;pQ( `ҧO!b0s[};bWE2ƺ_f]8ŁOO> stream xcd`ab`dddw441UH3a!˜;G?nn?' ~!Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SR AbwGߏa,eD3;[9+'O_ֽoy(O=Zcwmd)ӷ~7D~F}9 ~W2}dtzJ|iݱ)MuS{,(79lN-hh? :iٲsg[bҜn͋3~WgFgusxݛ7]29 xq^^qq^+/^!Wi3.d8}en9.> stream x[[o\~W#m_E IKQ[mP8A֮eҮ]v;C#8y%gùg3^^ً#6(KgV;3; *n +2|w *PM;m8\q}]2vuMmފ6(ꛮ O6jX6ֵXr)%%uƐ7.,|-÷cADžӃqW m6Z v`Hvo3{+]H܃h&QE HrE"u} PƲm su(o7j")(J\mϔsY2(L IL>?ߜ}]5h;# 왕T_& %%3ez"=JQzVX1Гx1_ *(XZ䅺Q0=rP{nl!ize+]yPq3wp ۤxJa| V+W^1 Pŕa,rIx \eG(?ɋo(vX/QpӻSТ]FZn5Е[z}$[=^i%2(3#k uTE,Ht˽k(.d|ǁޤ(2jC+3Cpز{oNuJ5j;[I xY=q4rD g6#50lE *w䐴!-C0 g弎+3zɞ~Q,#1 O! ")+[Ub((&0:a=s cDc;c"{.XZ:Hbj# b1:&-X ݊D b13^ 4s:B,*]qbc/1cpXkîž"54,S_̓sK1KA"MG ޣ'qh&O{9b3>AmtD&1;Q2!FuT: ڞYbb+* NU#yvuw0$*>k3\nb0=T.?SJ΂k02…SrDOe71AR_Gҩ= VȪ,l{)Bp,vgfgeWqv0o)A o︠gay ө ʤ t({ܒvU]0gLh3UU @Q1{ l`먟.*x>rzjr!wWGӓuP]ۥEm&/G6jPLH #ϔ*DzSU7L;KF_8I : Q'g`n-}"|8ϟc4 <>3>q.ƺ!0 { :bܻer zB6 Q_%-cYyq,<*pjb]B޾н0쥕f+!Uw/ @G׵sEs)\h`瘪F9} 23BEُ,/@qCe/\/^pd o(1HBV*b'1,1X{DB$C S^3 Ljzhkh+}jv@>RH!Dž+I'?w y<>XibY^AF)4(砛u%*W86 NDL|jieX4 F;Aff3(p!0RӆG$UzY3[ j~ J$%jʛCÕ6p %W}=Ie%nWP#cctXƀD}@/S_ra~ HxTgċxzGEfOA/9_<+=!@ {9q4pݎ$ӸG ӕ,HtF@d*B,im22aPH) \#vCԄ6AmaKϛ x@!4$\hF@TbY)ܬ/2uMkMa2yB\sD(S#;v2B8+ x&,U|¥'ZdIJcO w !ظjN0q$츮 5]T ;|ꨱSm!#;l=Nû$WW-Y#u#w|B)Ly0Ɠ;k*/@avԐYL]ΰqM_7W$߇voN tMirxI8P*29|' q+/!_5Nrc}8BI!ƢmX[';@0䄴v>L;kV m'ᝂIQ$2"hK1QJ: @_Pz0_RD.4u zeW>~k}>}<e?\9Q@їytTkF>O44:"m[龡W- _mIꞌ@I?+m򤸲M aN $~Vl㗣Q9h_QiCEȺ'PW;ukJZQcC ޏT3Ź5Gmվ(c4v5]|~PVI񾱎p(Eb6Kb a1nu"}>jPx?Pcc/Nt]]^|)~_?BYq>߲ ⛆kpNףhp7 J`W?o10N⽁ᓓɱ_endstream endobj 82 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 83 0 obj << /Filter /FlateDecode /Length 3433 >> stream x[ms 鏸ɧƷ'm'i؝ƚtTO|:j[E:ѿ/@rIp=)ۼL> ,Â|H/_ ba3#YT8z~, k<TZ8kE Fʑ VG^dQ,]ou*M2x"wWBqJBF~lqv\6Ϗ>Vfq(/8+8==zq|ytҹJ|-1D_.o4L< cw! Ϟ-WR{?3x+9g:`ګ[4sn00z_ G^ 8'9Ż?.WZ y <ȣmytGC}GyˣX\ixXctjE} ( uW3ll{ƅ#*$ƽu/:l -YHÌq` +0zIRO&G16a7y΄5YXu ս.<8Pxng(2 ANhnPs3mI'i?tn) WF$񣆌àN᝷ * պ7@tQ UbK7?&xDfVʸ+h ,`wļJBHhR)XbFڕeSc L[  0)_ $ݝYƫHL2s|88G0ܩyᵀsx 2:{]Db >\j6,m]0\*ShBfcɥZC_ Mz@yagSHx8Q{SN=<[y1 ?8 SHpT3 ) DHq#38]W#іMF ń}-Y5E}[b}XPSe~8l"  t*;Fh_7x`#N%qwFElNїGQ l;QpCgJ&/ 6&Mqy[$K L0^x4jղ xLR6@rW`axILqzט4ŭS%pyCvsP?&GEQJ9SIfM[(U˚$5ś)=/(,i\NSg2rt:U5p&oXI1аw@ڱ~L\〒ᡙhEg`! i}GYHmA-7sE8qpin&4Nk'YH^q$sN]5>(K2pJl&h}NSTi1ȸݟkե&I}=18v\UdOz+n , tGb dcmi^˧;}\TsU@4>Gǁ(24<psG 2j6:Zr,X@<(+OlE_Y͇]8VgqK '?z# ̠DrN @64}".-+Z`+k "VKO+Rb%X668嘱6Fs aƚn .tcNjb$ɶIq@SHgRóaݥ=L[.+#LJ<8ClDi&ڣV+eaj&>ݯ)$oaQ|ڇ1TQ)7$@sovP"M!j1,! ^"nvdCBw~ n`0a~`jS3Tk HFV2Bh=82LUȄUY G]e~MPqmpRei)-E=c"R+_2 ԸLo?[NgRB霬>K>>Mc!vDb]yFr\)u[fpwSMP#vX BU̦E|4"tXCnf ŰZvKU. #¡4jí~);0GYXUmR˚utٺ=w7>Q:(;= Θ= d0У4꺺`J]ҷp" UWNLr~3\ãxXYξ5bDEĹdf묊9iEmDc[`1vΙ?ۉ<>;\ˈendstream endobj 84 0 obj << /Filter /FlateDecode /Length 4873 >> stream x\[od~W#A6/A 'N,<~42,i.C"GЉ{ey~zXpaLY~~RNCwLe"V;_9gbLkxW@ pK| _F ؖyUZϿ*y\:^7jҺ.Һ{]Zu;XL 'p[Zd\Wjޖ?$dK!&wn8|buSZu{Lu6bQdŀ_< b.'q$Jёo}d/¯kn~p/??@"N:+ҚKn1xpucyiٯ r&.QH"zSZ'PG<ـ#u)x+/-_Zc\R}>ŀY^8[Wí![)AȎ`w_?,X|WkYq#*1#EiJ=AoΟֻҪ&cy#Bl$j1G l)" G+Ŀ~\9IXBqRo0̐q6漱`[{ύ^Ϸ/-IqTv|w |vxaŻ:DVJ*]uHwó&W;Rq`B2|'7LwۡkA0wg9;pI0x773Ziqơq ꕿO1EoH9F&%Gp !kam7' Fp~VK*/p9* <- bXi6ym E)i?LڬIV\H@qe, #mi]&!5U(kk%N+Q:Čx JJr ix9aN-:n%L{NiB+lf[@'I\pnZ'YaCȲZ:@N<,&(%z~v\jS ֍C\Τ9,p8:F4g.k=rE)m\#U*nFi_8)»F7#lUtM :0蓇<ZqSMJ;d]`Wg& s{PcΈzBW|?sW/ZCm`zjIN{c(AZ&iSrPFe9ϲTOzw )goьV{c|!. zJmq#x%w6/-jBdD^ `U*v.ɣ| u&oZeT2zL&\>{OFW]GPMrso/.i!=ʺjˁN F[x _ njtr YŪr Ix rhav*-A]C??-f,zB!VvXAh 7*`Y^CzIbXe|o=QGs?w#sjH&:5?m: ?L&24gp#;\C䕮b7wZZw;y.3F&WCbAz8,eHx-.ǖĵ3m_A5 ]3MIgoFaXұVh!wG(C;1-Og':t 1'wv +c=f%xtAjJg4EMΔ6|-!u_޸o6HoeI- y rT:6+ᔩ׀!Jr+Rr.d#/`;B#xI4R"*o|&"Kaf([f5 hn BA7F?C*;G|1DtrPI>b5~oM34%P\o ?p_oJBHR r ,XGjVժkT3sIubW }3hI.p$0V'  A.B/( n X׏>J|\pDOoOoì\T*O*. mŒ0eDvϯg=ʂxg?T.̷J:Τ᠐\MB≧i?;ݾ}{*S78L)':Q| DR|~3fyb$Z=<8 KlKb7fH+TY`"NQ*,61!|Yq3N5A]NR<)# u牧 idvdRׇE{./䖖;pFfz96ﻬGOB *|23YЈ_|qb{"YB% 7E[b9֚ E2\rDS[o?'aWr4֩ S&a!v@v 5 1*x&/ėDIwBC 3r\EjleZC4MZ,mԉAHD1_ Ƙ語J=X3rN˶i: (c}Svٖhd[}YN'q Lj0f$^Rʘy<"?= $H\g+d_rۦ 8,}tNPdHT~$дbѻIi~Si(<_%oo_@/*߹s‰xl'#\NNzQL *+OjK]i+%ܐgjj'~(QZ / AАϏ)+<\*΍I%)Ĺ ]RLn^ @@\bxtC>xGM' 6 :UclE^vs)]Q43!GM{CRI+c0'{j*Ȓ~BˀL(ԉ99.V$2irOGsms!f \+xNT_" T q?;#4 _(zrr Q 2z 7>1MS]W {Qʾ:V~] q&{$%|ChkgpǩapQDHNAiC/tHYӞH gUA ȓ$+@U[% ʠ1%?9'4?!KU#uG; V;Իhު=;ѧcCBkO5jp#o4o|?+g7Wv~ Gp:XCPNN.ruUBeY{ { y'q1"EƘTOIQN| bbml/jٰ : DB*i9`{"%Rl3 gҾKe=, qjIEkټ^T4N+*hͶyR};m\oU&F2mC*ߧCJ5>}U/> stream x[[o\~G, =zOxmڤ]NkYh%'C;C#H y0g> g&Y K^Dyf85s _ͬgSyrv4s5R<p׊3t4Wl=";l9z WoʔWcbfUُfx7Lzko"9=n~o_E3XjWyi0Ets{z\sr' Dgͬq[CIfZ&jGVכkwٞTT8Ҳ"-ʤ1YGWzs٤obiM(&D/JD:Kh~Yy3.x!&ZB\(\az؞"!@?uK$ykBno O,&ҰmLrEBANBL(R;ojZ `1[mbVuΚ N'LT(WԘ 2t@(e)P"]'N[&'5?4T? b< :n S7|{hQg0/[*/i=P˯́^(΂ =u9*|{Eoqc~$MxPr`}0 3 n)(Wwe8Gg} W>j2Bx ׃ GR`6rqޚ>#u 2BKfj콋e ͌{70tǸmˠǴR 4P\$2OfY'ߍ=\Xcp!4O¨>\quYp U2 SZroM!sUeᰫvJ0kK;1QL5_C(mn jxfd1;\pzNz,2Il9~SiU3+!!+$p( ̒Kc 0~&ufAݔQ;6:b!Sy8!5wctQ9Bjɥ+B\"Lj(Dk1a p*@Y\M4U[%I7vf0M0M~#c*01ԁxSݍĈa|*jBJzF.)n䴜H#$1]_8d(f9=Tjl=Fнfg,gHSJ eИdcg#EpG! 3{Yj}G PLzպDg| p8-?HxWjo]\ͧix8xҴᶑe8!,;TNjp{EB$FxB?CM8\p-Cjɽ.(؍%4X#NO2)E|@<^E !BƤHX!mpCxhtpK1(7xU.qq@3(MhǢB{#Qp{韔 Wfq TdѴ2ANaR ߄GHwʺM2Bh܀,L=$juGu ;}/Zn w -J;nvynKAԛ_4FuvoZR7>\ҍ}mu$oz6uXQ1#eUt&T @Nu~oŸVf顪r8Ik }T>&m%^*=|rv bNbnϨY0_ ڽ^{K4F#420ѝ'_6jlF~~wL~`}7<F:P#P#f率F$ۆg]P! 5DAH~"pgXՓ!/9 92ڞZ~t9q=SKIҹMOmi( ӒI6o1xވXY=$eUeePӄW}g ci&sDU,!fNN1;1egeN+b9_[xKda.C>N97 bC5]`uzj9,rKeHώ$ QUmI[I&^e~!-7#, Hsju 93;@[#x,y@)HTcl \P})iXƍE3ڏ)QTv> wc9?rӪXbuS6V&VˍݐUI'SNyHWq2w2P`AASxFs:D Վq =c)'2I:2i#Uv9{u'@#חIQz/-\M$P|,('MGFvJRh`B"h)'ArFLKky5T$Sm[f]dG}P NbwuN>"u_wX'&H;1B;r .?.b?4!MgIX̚h+)yI 9M hUePx#-#}1$ן##3Fto5ETvH >>X E/3hH<*T[iwMӋ6&é mӃT9ysi=Eܗq-!CBB+>Tk TPX gVnIendstream endobj 86 0 obj << /Filter /FlateDecode /Length 3698 >> stream x[ms\#v2s/zahB`t xĻkN{+յ@h+7Hnz>c~D}rd3 0>\=>F5R":F1zZ[wՄAy2x“wSʠQI<jlvv_ه'G>~{o|sg\JP,0Ņ~v~-瓰y ^B)[ O6W&wW(PoLI|K{ F dTAUA0Pj.G,b Utt+TCkЃ*S-hL`/42E:e@CHʁomM@UF 'T@j JIE r1mP?Ĵ!ƹ¾N0z#b1gI$|S;|ϳyX":]f)(ְFD4l;U2)?i$0i PL2Ɋ; |s(N6Hq&dSNJ7j)lU+^f`ZPe$Xᵠ:mz$@nwE53!nMg8aaV큧,݆kmlqSM&8xc!gav.'p67Y0q; Lu>UG#B{yBu zLjcFK_%5:/qTb(vU^axLf)+}=/K2+CRCP?\4`O@8 Ig-|kӀVWZ z=zGj@KUm֫*UnU0ѫ4D='Esg%49m0V3^b+ڵ)~Q@7kڕnHYÏ֭.ۅt~>j\`'85Q"c=E*bqE @œ^_c)Ldx!vGc'kY k8M9}:rn 7d"&̂I]kAhcN](B&+ aňkǰF:/%FX9&O "4\ ]qp )0Ce#C9g nc#ä6rW[|"(Uhr_ٺ9v)v0I iRaXS[,sȢjV Ab0| ]DBLM<#UXV~2YR&%@ޚ%@ p w{HRq+%@>EwːBUFa5ۖ$7OՇL7Ɗ΋-=И=T%QHt}VEU"!YSDn]C-|@ |oE#N"{w_F\ě%;pud8npyqA0Xg C"AIC,ĜkH5#$t#hnSOk.Ύaq ~Swȑa xA#oM0e.ɱ% ժ^!&RF]Rt4KތBE\ҿ1)}0UC-MяVG妥[U~EfsaÂ;W ɸW1"]zrq 2]oHǍyE_Ri(-V?kf`>mZ“[;lvס6% 3]ۃ҅ŗ_t:4eCϯ7fSѹPO =Wέ{Mk?); <4癝zf1vq$,\jj njxGzJ(`)%V $^DL?/?W3 8𬂹 PeYExD{Opq>]ە"P]OD H%-p%қ,|V %_)rA) {/}2ܖ rx"Wo7"κZcK/({ĕP(<$HCM+*3J}5V2w,}4,_sI}ל[YR>{R;9'-endstream endobj 87 0 obj << /Filter /FlateDecode /Length 2784 >> stream xZKo/E. ~?N(YI$9|Erd([䯧z8#F@3=U_}XJW?0y5DDR}ryI2 mVFî$4xw9k6M+c9mΛ)17q>1 C6ݞS=mR&6*r[;~syJm~{vCFV[e RmOn7oğw@nk)m0/v{cRZdO^Z/)Kވ*^B'q{bs7∛MJq BJ*qC`j7@z: 92o)Ura~•V6~Is1{a2):Kib<9+)TEQZ<4Ǧu6]1zqE$o\kv U7ه_`2|/L>+'a9m?d+? POVEeHZH^k ⠳>;⪝0> $8)c5W@&{c"1B&j9}zݎ#܄d~>+5$}{˰Ct+jUFAInre 1щU27mA(ZBPMa g!F:i!l+YQ-8Hȑ Zxv@{x%CRqE 0\.ۿo.@z(^gK1pP~UJ93uh+v>2 WJClFQ+)+Hxtоc3[& TG7蝳wYo6،z$ȹ@Q|@Cvߋ t@p, dpq9c8n~W z#q9d9] k$9Dݩ1>&< c(dZcsxGOg؆>1@`¼Rs<ķ6̧5C9Qc*gE3eKDF`NU蕭@2Hsp`BovEw 8(u.'9N36cVZ8 Sބ^5qFy9BKN Q`Sɐ5V>C$'gB5?|Aթ &U\!'!@;Z"X^L9-Aܫg!č#=pd}jakrB /g""5Zׇ[DtK<~,p=wa78'YX͵k0Y-[:@ ťuXw\k@nar o;XWG]@paB9gQVS|3\ve[E+Qy/8Y<=zTڰyVQK7Hg29E{إ # &Q38L;f$˲x4&UOv1Ŝ.uЪˋ8K|rh3XY9Sd| S_>ـ]kgOK2xYFAŋh (&,&.$BVLUﻝsA9]Pvµd!.Xw›$CcıX8 ٌ(#([0>ظS״t0INwhyP=hABh12 xsː&ܞXױo[;~G]@Mc=q bI䬉vOaY2躲6le5;{V]ľW$Wȁz欖uڌ61gE&YtnM 5&*;Uof6 @"aanZ g| ZP iV˳%aQIP#u0|S$[faꢮnV}]JueJ.[-PzS~6wS9#yq45#Sa=4G 6Lu*fKƅz fO*}]]?\0"YV]F=L>'1Eiwj^>l#I6nJzO9(|Dͼykn9WN~$go|>s%Q"dla0]]tY'H }y&6@d#O bR ]TSҡ.?O!tjZ-OtWRVP|pcˏ= @{9=>V$,L[0CijjpscQ&)KɹUjbkrѢ?(ʡKSqiM2]:æjOz6{~/1endstream endobj 88 0 obj << /Type /XRef /Length 118 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 89 /ID [<1b9dd9a3487319138c10bef262152567><74ffb695b27f04eb8b7e265373c1c68f>] >> stream xcb&F~0 $8J҉ufp$dbK@$.)"H ; "E+A7{$&CɷH22-7 WA$&2| endstream endobj startxref 84901 %%EOF HSAUR3/inst/doc/Ch_errata.pdf0000644000176200001440000002634014416277545015350 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 1311 /Filter /FlateDecode /N 21 /First 151 >> stream xW[s6~fg~q'L mR IKeq6Hƹ0ct;:}:2Cq4HI$4@QE(GAQ-$P5s(Q0QTiv1#aA$B VJ1cgq#a#dms؟o4Dٸ}~~.P]le㹝 fpx\[c ."Lwfg[+Z֕,G1/7|u*[_.6qӸ'F' jX'>c8o=%-}a>?,GG tZw1F4/i<(H!`2qG6O79gɥT@NǶ?xxzo8vh$ wq圭¼S7ē?@弣9E*:TJެV}y69qMmwQ/έ/\_|zp4%;WagHrA@kdJZoC!NR_-K~Ofq PBBMZExFy!DY* 3!jRnw&ΣjLJ'4P78i8}躞!TWuQZӳ&;~)oxe5=} /endstream endobj 23 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:25+02:00 2023-04-14T18:29:25+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 24 0 obj << /Filter /FlateDecode /Length 357 >> stream xu11 vb< D! tgofhD/o+Z5O!x_U+zkq#|.A]+pk`o7Wdڅ٣mfx{*GkSM3uqS&Nuϴ <[GhYYUdYkz> stream xuSn1 +r&رG*U nm@[ZݮZ*33;E=L߳CD>ov.EVӁ H}sJ,ஜB)kC5<2ٙ;9 v;ʉĚ;S+{*$vkӑ'ӦvԩwOAqg{uiZ~s˔#Si>HIboP%OTj 3 ϪR%\M h۱Fam)(aNY9J$D 99A.n/͛E@CK}E[Z$bV\:W'C )75HF~, b/IQ~8kIn(Q,q^delrLhFr#J4 ]m(E܌p."2} s猕 nj|h~'w4jod-l*+=bԜSτ͢X,$tlb֌[ogZ^&Y{@[t-#V|4$eg!_ăRmV:5kk*摯9js 2r@Nʭ̦:-ӏ>yDK 7[/.^f^?`&vendstream endobj 26 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2530 >> stream xu PSgo ^,bmU{ѪVAQ|PDGI @Ir@Z ١vcԺ; jg۝dn~;'QD:`aD1NȎa+_/ό'< P7}J$ZC^.Ťרy+VX>_+UzMlVmLP%GtѤjјrѢɆ:+24FAOW)uZb]tJ1vc߁4JũZ;18UZ))|y ES0jLSS@j;DSoSP!KZjJYTEIqn^z#ނl3Koa1>OD,~t^wJ%/yv RIȽEfEkɰ >hu>8mmAPc;J*zNƓ/+e<0ne49+ldo:oN'^%PQ&2";dHƬrd|o%}bnw8hm:U4JO,Z‘!Jm?@?:.Ka[Ҏq=N Icq[Y.zhk/3UD2՝y3fK+9\M2%o' ]8ȥû7>Z\YҐ4mHé5mNtd7n8+ !, %FM^ L ƹ`DęS4[YQ>ᐡFUD ݬ2k IT'[8K A[^([6=${QMui2m5RaC3" GfBOE bMqZ4:mf''/ba'J\qO ټl02IU2ub ".с^vCض+H[ ԰1ylpjAe() f{,)1C G Զwch\כC #I]֨Et2p{t|@%օ+Ejr{u5E X"V܏Kq >sc}&eYv 6NJ4(wyO } ;@f~xN4/<%? >%ŝn~U{uI)J܂Yl;x/?p"lP#dn7H`P*ŀoTGjjmܕNtVk*K,"eufswYmѨm: aAl=hċ#)DZ͓]c|~.$@> O .A趭.XOدfE%n5W50pԉLL~:{K %E/+zgBΝ G]8>8y*_J>RapXliF.%%εnL#ƨw"O^뉴mlx{[ * 8[==ڐۛsQ <>s@%(rY\SSY{!$3Ue\oiX d߫(ђ PFo-.Zmr"'&Ia;p2D$nWrev`mzx0*)kI^8MD?>JgÓ,4ʁqxҪ]PI7Bj1#O/\A8@Va/Ɍgj\}up-S`/֮ftKAA6V_գ69ډ л/(w{$}H1ez3濙Wu5'uDE'l]y5q172;n2_?tuepvnۼpyJE9/C5#7EVY Č̩*1ZFvx{-w";GQitendstream endobj 27 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 28 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 29 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream x}LSWދF { :lFb&DYm)ioUin(Q,ݮ@eAM?>0[ehQ a.dysyyM%&P4M3Eśrgwi%=AYw&C : ҵY)XnHihuQqVUZ%1Ӝ%K幹Fd8bqd+$`7;U#fJRejkks*ruRJ,.#NqZK*q[Z׸%S,v8)LESrʠ^SYTOPz*IJZ$>aagBŗ?2ʆnTܤQ2~o {tgl5llO` d l3jik 0U\$-&hNoB?s3+v#Եz9Q %Zfr<[N2tFSw]1 %Xڠ M|Y( \ :#!=Kw:uwBvA>iLb[G@H H>!$W?@c$GqI4`]ͻl NIrd p$o{?gţNk{F?zGp(@v檭z+俕q@(q! 2cTn^v'X>k83a7Ůcv(|VS2C}jS1ɠ_>,ȓz d0^)"䎨r#8* ;PԽT(P[K&6E\+IpwLpy'?X:|u!dY_G V U û` W^n _Om pNKqjAVtE$j9qa[e:Q6fĩ.7ۘc8 Ϲ31 (:mOp :ww5QɊqz22o'SK0 $hM˖oP`po}vU)%^+M?I\q}  \;uauP!yݺ:Xy~vendstream endobj 31 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 32 0 obj << /Type /XRef /Length 63 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Info 3 0 R /Root 2 0 R /Size 33 /ID [] >> stream xcb&F~ c5u&6YmLkN e5 $vq  endstream endobj startxref 11154 %%EOF HSAUR3/inst/doc/Ch_graphical_display.pdf0000644000176200001440000061133514416277545017555 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4993 /Filter /FlateDecode /N 73 /First 606 >> stream x;s !K.qNb'8eιSh {e`e(Caa]'s7gIۧ:H!!vrhH]8tЮ8`(:C}0qQpM!EHI}P LQ8ʇT:0bQ1t4 wS 1';!0BK'Jp} ٧> o3xeo '9C $8!9JpxW°3`&候2p`f>pD ` GP<@4 #3S؂Sb ߇ 9 9ph#\@?Y0D!C 0 0>tPYi̒Ɂc(&P7ťR\iYsmqR fz4 \l?9^g 4xpD33/K8* ZD>] ޗĜ?M=li+iI"~7WR9kO>e>' bOONN{.m&xΙm4%:|ޘn:kb>F}zMΦz3n ]!\/N]s S@J\Zw?Gx.3>i^Z}0`AO M#h}җ\j'ǤK,9&{Su0*CVi`:2}^t! *8])C"BAO@cQ(È8`sQF<ŀC1 ذJ;ZogZu&؍)W C,S[V !1rix[j2./\%8t[K|Ӯm&Dq[jFiogdھ^r}REïY+5aIGlrt-TaI:mWe:3 L Lo @(X k( O'AP;O`ϐchp`/!>~Nh,@'-_5׌D5Y9^<׈"/>XCa¨Q?Yk&~(TKMeZ !ŚJ5B$M[KQ^ d{jp9Ri6A6 iv{q4[,&vrOn{'ڤSkVLt$M- cυ Y>twPl/pzttKߦ-0;6w27qr>ݪ-f˩-HA„1HLs >/X]lΫ.OFYOIޟROU.G݉:΅bM@ftbpu0L@H MxE(3·dXlc9u;,xo9=Ӧfzv; qLre޺/!a{ZO;ɾ~N6m_xE]ٸch޵.0^ԅ|MejI5l;y:#b.]]evaz=쌆sۭۅYTJu:S }oS7(EV(SA֫UrK\<ܨQըA/TEߘˬ;4r!MTvg \f)fA^szClIرbs^^7.nV>K,,ӒQ7DءG0F7};=aҙ#t:+QdKg[ZҚQG*BYJrcE ]A з1}ǗiHא#IRצ.Xuܡ 5\Es*ɗ0R"~~:r\XE ]{[*Y}@h$wHӅ1\ۃUZΥK0Ce>Þ-WjRbPaeGhjBʐ\0]e9CzFQ\)rʊyN4i1A(S3}n^"ťe.{Gej՘|}4 >|;S~ ]KpҖ˖vƵ_1_.FED r3-q8e.UA̞ ؍* P+u& ͚@\2Htp|lh- + +dš&[Gt'D1|^tE_|%\r饗CjỲX@-`p - P a@eZ, * f@X -P)\ve_~W\qW^uUW_}5\s^wu_ 7p7tM7|-r뭷vm~wqwu]w}=sw}<>C?#<裏>c?OSO?3<>s? //K/+ꫯkoo[o;{|~G'|駟~g_|_~W_7|~w??O?/믿o_ޕQB /),||Ү0UlZK6$ɪ]4e"pm{_84.8.~ܔ5 )?ӵ !V+I(AB Єc !P*0?@jRU0%Ȕ> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:25+02:00 2023-04-14T18:29:25+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 76 0 obj << /Type /ObjStm /Length 3308 /Filter /FlateDecode /N 73 /First 637 >> stream xZwG^۾l0` 2'1ܐϒ{{>s:IkKv&o~wמyfvfe1qiL \̔qfy̜`$T)\ѦZ3g1-NfDc\33!c3/0t,1+&k&c a2)0KI*md6j##Z+ObRbOK,SXwBͭ]zOQC$8A5WDm@ˌ &c &ڤ5 K#D*& H!e ^ZWJR{6/oZՉ[6?6PJ#GڎBTnWdU " QEkXʩxj6ۉ+RTjr GqJ۔Is{0zC X;*5pzB"17Tq"nIz(CO( 'PFMFt KF@vJ%X*U(Z"uXG4T0VH)l5V4%q16K"|ҟ^9¡Ff"#2aQA7`Ǫ*4b(BG#$k"W_n%̒wÀ٣KFKzC9s$ѭ: eDꐲ$R^%ڸ/S&QM]JP1A>呣e')apH^4LTYV }٠Wi M-NW } ù喓q(4ͺ G$*{^0TFG4%3A`vP\ 4r ~<5*5ך6Sq,I'D\1:KZqN%d$L1eDҺFT)k#/m䭘o⣬P6x0 H# H(A51iuPGjkf?2 59w5Py`0br\ S067 <%/18pژ4%cQ7`<6BbߐiY:«l9cP$DcXP.Ҕ"r!4uk}gyclPgU=ϪzUҗ U|6džNJ}I:KWFڳmgMc5vhҵf* r| +twP- 7 4'91eZ`]C`ڱrXv+'4lx<]2\oBuV#H'dAbp2S0[@7 { I~yO#@D 2bk-h`/@l]DD"Q@L .2"@t &[Atr!zavq[LG裏^`1p(ŕ8 RBos{wq-:/^| 'xK,ikkkoo_te:::/_bŊΕ+WtIVZz5k֮]{'u֭_~Æ 7nٴi͛lٲ5r)zi׷m۶$Io^(vرsᑑQ]vRT.w޽gϞO?}޽;3<̳:>srkk"ź@D 2b@x " DbuS@T : ZDс@lU=;Ͽ .‹./K../+ʫꫯk뮻믿nƛno[nno;λ޿=sw}<>C?#<裏>c?OSO?3<>s? //K/+ꫯkoo[o;{|~G'|駟~g_|_~W_7|~w??O?/믿o_Qwńԑnۅ2H*mUMd=Ⱦ@9ZP%բ5d(ǐW@8Y3-SL"[WpEHHgEi%D:,L*D.fSl3LKĻk)nP6Yq3̣i1cQ<:*pyPMlҾt1*)**e{PiIφL [5T{yoEQARFU)Hd*Q)U=8.8^]*2aZO'VhnFLV]ՌEu`nf,-0m!4a8MJiEp $"pkgVhi,BnMø͑[@VFFX ϻyS麨°mh948x<ގ iH_F<k T#Us7 NI%*`> stream x\Isu#GjTgvl1L P$@pHz%+e Tbu/-wӨv>ѣMOoO jWc듨S*oN?IS4 ʛrhm?:1s~|˪bcpbQ\7q>5E8)(h5ٖ%"LY+qM6B[b-o8yHכݯNO~4& )2??Ldo{?vJںTkxmuVƘQ)?_O)}j,vPڎ:84 A)0SJ)0<,zJq&5`R Lc,d^8|*p:8-qdR*Qk?9T&WƄ;b 5M(׷QKwZx|#f"w'*%KT*@wˇ~ż,&t O,A1؜.@4#{tp4WeWV mX0b~ax&8Ј #{~*a r-DlCKq fŮ.P,7cll0pc`gR:W`Y]nFQUfi3GlN⨞';Ni6 `x[U { ɟN9h%-o׶8 h)c!Q!1%RM/ ϧ`\tSRk h1Ia*G=cT`U{ PB$fYW&%|UUlQft;aB>QXW{ߴ Q`¢jJ!.c # #i&zmMX|lʞ2@;`?*8k.s&mg>J]=]nl&>Qs0j:`@Y`s_m%^  pa ʄ':ҴL<@#(EVМE`SFsx ~t1fɊxE$QkhUQbtМ;fD|3F0p 5D=(y@ 5_*E sf%XCiC7=;q3+q&f!a(Bnk;݃4Ipb2&,BC3GBϿ (=j ;f'^\}gV6xd2S:|G-h8{< kf.N`ˑ\dVTF8TEp OMQz@s暇ԨrwV~U#ȆD,d,prۄ@:k`k )FF1x t-ا@>ޑSl|6\iTVZq( #9+O]Y{nAB " xLE盛pXQt+[=ƺSfRpUOlTYA k[ .":Tfi;pcsZIjwY(P2̠lv_dE.Uր"2`Z] UѱGigVS7[ =ŗW_7 Js^dYf١rRo(S1 f~~y9jM/HJYJTNH!GA͞)#\=# v[Z6YHV~UWݲ!KT7z--ʁi#zwi/ZIy.OVy59e`4f+.fPsП&nj7P4#>Py_;i`T& 9lRA~Y~j%" s4 FZN'\ 5iiپT\!w{xz6,=8ˉEh}=K>z :rvrab (0} р*6m}}|Ϯ=9S DK۱}ռ~,Firzf_)[>-w[) !wH> ogH!ovuGb 3ipSes]אr(F1.m&jه=`W+ptMeAU,lZl]l |σU$qlmywaq^W^l+= @PⅨU eX$d{M^* 6̈c%xԵL2`Kf%t4Y0%.uL-Vɑ?D*$27I!ntնIj'pp_{Ct[Qǡs^WS pGr$TDf\DD#sC%T<&@ -!^@PnT: v0kjnN[́;%n s%s̯rG6ؤCha#Pdם1,ɳU,ŔmwS_u9ҁmyd\RcYf`ˊb Q%&xWW(eYţ@twcZlNk#ɸB8_Dn]}P_ޭC7e<z,=H[Yi3T&B_f(]Rꅓo+ -\By.!TD1!Ѝ>o*.|m _`nJ -VK>YŎ"Ӹ*F4}crU 20D$p#hm 6v%ܱWܚNie[GupOMB' K+ݳی`߆,W (Ks-J+^\{nQe(P1=Pה@?D3T%P3يUEob"Ę_*gF7m|H`ÏFvpxv8;Z_ EfW?a}*-&5gKzMFPMcqYdIY ×zl(:XI3z+G EuDeĘk"7l6p|Sb%{m~U3,jAm4Vʇ;҅u' 1|煫x톊a٪k"F(# "ϰtx}*Fʩrh)q9QkOCAo R/CUvY`}CՒ ޥbD TRQ [)k."F9S"U[ÀE"oOKRQ{Ofi H,ɄUnXؾrOGWnĒ{1׫J, UʜkI8mLdaO#AY",Q"\ QrtoWe\Ye9g.WIݮ$6ڥoុxmGڹae8M3_WS>5.l~Nvם Ӹj7 eV d?-W$C?:cV.NVR" |;X~(tF\/3=|ʼnr'Б ]&4 2T4;۹e' 8EL큛eߪ}_[\2-u_EeDF^1q7 nfh8Zh|oj>[*oB@br}I6՛S-l@8t dmҸu5t̂qYFwÎKnAYt=!]rmsXnX:ә%$,jpÓMk)w;]zNi DaQzzJ]H- J# %{ rŃō/*.@zmH[<-Vuۛ+lug狘T{#gI P_g_o+', v2t4ף$ϛ %kC5링'}r$ 㣈mnU~8~eEҽ8{pݽqx룓FktvW~YT͓,XR3K )O+ 4Ov 3VT}_ǓgXdCȟgڄIz֡,Nf $\(endstream endobj 151 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxgvw!Kt߸5RE_s(<+Pca0DJA%ϬLvtz}̝^վʉĚ;S+{*$vkӑ'ӦvԩwOAug{u[t)GX }槝^#%8 V@> #DPժ5<@\86> stream xWiTTWeAݫQC[8b"jCL%`pƉyb(fDfjW1P"S b&h|mMvxN;Iw%N[ouתUU{߷ c3H$2W\,ߦoJqIl)o- PqodPk3RD᪊L U;N xqւ;vqY$"(:,O S;7‚ԉSՑ gΌwqVEaPA1AqA*q_D58g맫*"2V V2 3kr5Cheb%J   ۰1sgˬsޙ .vf f"Ĭc&3S x2o1iRf+`12Ό,c>b3+w*]ƃY803Zf37Qhf 3yqdٴ )5t,2zڪ!5_ =}|ʺ|a$S EP\P'MfowHQ6HxwtiN$6~.YJ(Vh _c.v-XIM|v6NQ<8O/QX|,Fc qdL^|\V6ݳ&dn tq"FZ:}, Yy#~Y$l=Y*7cB4EŽ/d8'6Ymi(_PQn/=d=1m:]b2(9&ck뼶|+IV}8QDe[mƪJRT"|`sYkt[>C`u9@sg IXPӡt>2o' &&I !V6eƧe I{U{s=~[}TnySx[̋[4_MrlH8Xd҃BA₼QOa;ww4Q '+3Cn%p5PPM1O3Yb%:^猉u,X /OMUSES^oz 58v\{ nV~f g5=m] DMvnsQ~yC"A~c;о#͸RreR"q nȦr!I=K;qWlvA8d=CpB뫡p<g% }#'fYfM/fA5'`3;`[R;!ZCK.9/3j8âqe$^s~ӚPd<[ =]Z&a$ Oo^l6 qpTVY 54\e` ?wE_نptiA-H|Oc 0̆ku [ *%~*%nFqL۪ ء1X\cq$Y=Lޕ*{pBOOƁRAvźbKFpٟeֳo?V8=檘y^A'1&xD ]cJJwklK J  ^Ns{@(`TvUn.|D9 K gd˨ɋDrAj xl0њƳqgG8EϢ^Ajn#RL:Z۪wl_җP*7[e4ڵw^ p5T2(l/;"gq=7`7e6-SG;k;L)At`*qKT*NC%_[? 5y_R5;IʑǬ^@t8/oџC>pOLT1$y5|]T[~'%yҳv%AۚPwy4u$"S#5d ?aBujR)2DUQeYtXٝթy鞒}:6ҹĺVMXphkf4l jM0uiհv膳>x P#Nׯ-]M|wltcP.e- 1E%pl0g)2R  i m :jj9&UĕrJ(S/i!:YtvI>~Rq+Ūh8!6k>;^9[ldh:f PfڌbZ8tYT p@K)װt(#.9'$7Zl[}#;Uz~^z=Nkxj?/&R)"ᴊ'EY鞢O-E:8VƃYlNNdw4]Hq4kj.K|HFAt5,0\1XN^ڪqh!uUڼ2jyR@p|+)Ck@-N%V:6J![%kHWrY4Dqogn".E?(*J,DE<_A Zxy+ ?>psppp-5ӱ&&$>2Ii-XySlLBdN{H*c'gIS,41>kϳy{I PX.^Ylo=NҺeUJ&|S WNk陜> \ QmyR'6@L)M)YS2&X§K DYr'Q%HEO_mwrNn |zʊ'f8YIi:UZ(n+^ Kfl-}7h!aLhcZWm@]r~C,F%xvUF6Wo ܲ;|7pxݡqnSwmcэBcs{>mKz,ؘ/OkY:H4ڢ,X4U.YH)пVAݴdM[q'\vkyӡ)ISLqxia/ηቢ?[F"mnr2gj9*6h R 5YN:xH.+*J4eX:S>i|.0rcR6g^tхq,:,K^KE{S:Z;\-p *#dOLVj7W=u9}7p2:͸ "?;~(A;WG;(g5UmhuiFh%`B(4Ghhs Y()\R^v`-G8V>SK" |x ,,9'Z7ds?n;L{d7Ԭ?$lX.}Yn<"J sӊ"*=Q{Fύv$dTE17~/tt5ڟ0-q^Qڨ5Q)iP/Ȁ0PP]E!lQ T^>=Q`dxk;,Ȥt1}O~* 4u8=p>X|=zMaM9}2 C"H1Bw]]vNF܏v&zw8hGtõ+w?j(zy2‰lU^Gk:㌑EBsQ Dlܔ'_3;}S]5pb~߸V"-Fo^Ě 0f^EC"2t~79[1>endstream endobj 153 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 154 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 155 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xz XSDtWPCjj 2l}_^^a[<E/qnufp`4+~qWXEQNA3 :;lN܈y[D/ڴ(cV%^NK}|o^U5nnj7~€NG86,ObFfMQ('j L QQ˩ jJQcj-5AfRPYHj5E͡FSs15Z@REDj1@->^ %ާX*MRvT/ՏQ4P.=ՕJ5LGttQ)@Njaaaga*HCL&.]ݻQv!豾+?[=z^5ׯ6{?>{lOmq_ه#><%%[$K?8`F9h ݠAg=' 0u&~NP(,b1 yr,h6zǶU*&.Uԁ ժuar:[@O)9.^]Ki'͐0g ߴR5 &ުQjA.!KQ'zEȍjG4PNd_?_9~\Ϊ]a4<S@]lngŌY3K[֒\0&$N>񲷘Ga|'MFzN\pJ$K.kQw\k2 GZF(es|?{N{5T/GΛf 5A=㞐G~,z[fuA=~9Y7pՇgvñ}{`앖2X%uRI?3R1JU2Md/n(R< |t0)4f7Lbx;lTk!SVx N{m7\:,nZ>1׆{G߳Mc# &2d ߮@IXv':"њgh#C/L@G>y{a)BJ{?t0{=аPhQ, qfƒGF.߻vqjµ)kMf{FQd;&jD9Va0<2b k1<ĈDdù1(IFPV>XEHjz|y{3-:XbE&M%&cAQS'A# i}S"! o3s83/֍TԞdB\iDBV;пJ&!J͊W2ɇ J?6PI4 sz4`Cل auFil:v߸ٸ'laQȠU Qp/ \7` K5 Jy4:Qx.@XZP. =e \ 7[7Fs1\8-\4⽇h,$El|C!dCw>m$p)qDFVTkVϞ?)!#nvsjz-DPwDyh- TĢҶ!띁yy7'"(lf\mv=[ xxYZ.0J2sK+DI#=ORH;AQ̳KnԇJv֥URel͋/.(-torkܵR`FΙ˸E-|q y^Hn|Y?Y{dm%r,!zIj-& 4/9z`W> VZ7LҶXRe7:mb?ܺ%Bj =j@&2#_Qzˢ\J!נTǨs hNdT0Ѻ5ǃO\?{ -#;WWUU{M>IuFe-#[&HK 5c(&VS@ fy,@Nsw$/N!.r|<4h3(Q;GG;Q^翸ѿqDEmM"TGRU}u\[&9+3i3He/Ķ5U 26ږ{&%n3l-&aa៍p]h9KSރ-qZd]k`6(7/lY" J" D[EdHhT|r}K[6[]6ꢺ}j*}(K Rn+x<2Ve::NzmfD)4ii-^պe?ܮT3c˻w[Cm5-ſ OX|bonTX ;JG&|"$px&[rNTT(!?:sg%Y\d$&>:-('Zl P=!p;﵍?L*t'iLO0m䫑|}p>* K?NS8Bz %CW4XD4Wpۈ.東޴O'@!ׄ} 4#j.gZ Hpf=ݡc9f7Л7?lAOڼ5㨱+6<7Q *W<;yg리\,+loxZTf}[R|"FK+)fP)YM#<׽ŘB{n$Cwx4i~*PuqCiB:&^,Ua"L W&A*IqLE>p9AnӋNJjMԅc]G?ɓWy4]ts-w'nA2&͍ޑbfhȇ/MC $1 JnLȃ&+DHw:P{6_l0GFuSb|}8kI{tEZJ dIdy3Z%4c$ mz*SX4qcft1_:{zn$_~t)-!5EƲFXߤ. G%_$6跠omjPwo{:|otHhhQH.?;ZF)I3-Ǔ*{ߠZs%s{O\SzZeۺ1 q J;YvBv&5'3#yh2<#0f :OA3E҇3YkBA]P_#:])lYz) \`9=}A_lTr:vQa$PBr\q}c/~Cz ެŎ+Ϭˍ14VٍŷsN$q;yz6${kO@C9XsA%uk._ ̧ϏYwIك6ѦS̺a&f) 9[B'xqR$X|" e>4cCoo3rkqx,$oj:{ Tmx{G.=h9Tv=ҢQ<Ұl_-렑9q 6Ɩ$ɂF"y4&::Z2t,a\HAV1'm{\(ֈ,ܔ+zo—ہ,8 4o< 6qmg?ħ#S.}^ ^|R\f"`rC>#Cu;* JdL{5ZEȧLК"-BܦGJ{ D h`l f$ǁ,fY 9Zra8@a}C!}/m"YcD6 `K]Ri!LI"\jȊ~~CQTVey*T 5t`爌<)!N|W3nǶh.]Op9 >wGSe2!"ASXK "nMn\] Yݻ_uAQ:Vendstream endobj 157 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6020 >> stream xY tUN*-"}EYEED(KKw.i薶ifϛ=iҽ ӝe[2,,̸?MߴuFg983'mڛs>>ѣL&sMa/8;1+6(叁,8a% DMBGQc \*IO3/x/YhEꔸ4^L?xSTFB\JT%9x[j /.#'x =' F/LMʼB^FBָ7SR₇wpeMj 3#.-xSjl\`,YO]#x#u37dmFeG)7vs\H|- [y’w,^ty 23!P,ӌm90\v<3g3k o0202cXXXXXXxm&rfF #1111xp31F==&khΘO؛Ǿ:k"9nOLM7uxǚ'q&e, z97c2sʷSLqt3gx`> ^mO]_=Bah 'HMN炞d5ԛjʝ P(aﰸi(WK#eRȖDAZU_luAYD;cz"(U2"fq7qo]fh 5ZiqCi}QUGׁ8bڴ $dͳ(@)]T/..WQ:h#nw-!y I(yX ,Z~D e"mFDFҩjre WFx#;uV|zy1CϤg:S⠙hI[ Nlj@ZlPjAN Q$+z"WXiQۨZL:hfg˜.9wj1Ph-:$p~&h_BSҾWC2؛xIQz-Jv[w&h|o,5RB$Üt@ β P&zj4/jrO-jAS78Zl& aߺAO !P`YM+]!DWnca!'L݈X* 2m #StFg3ETlyɺ[HzPO3J ]Ap>e_t r5"Hk@KH`U-",\6GM!JXž\&h/7ӵ J/"HDkM5*vr$6E<~|irN0Qp=pT'ÅI"J~f01en{݁*Ϡ^#9"v"IҬ-"(feFl>z[U ~Hw=^Uyfml.v)`~ 5`׶ %T+:z#nfiCuc./X GNx-@I؏9T} Y;‡k>&m喇=f8=xv^Mzcjܖ†~8 ;o|-Sįa 1I3s3w&EDPFs۲ZwQl&ISɠ줒4Oϧg/Yq+8NF6^z"i0U7zиT@Oo'z;tzN#sDn;,/ 'F8gOlqwg̳i@NOB %:/ψIΏdzƬB@ [`wTC1Qee%9PJVl=.DjJBxlBdL97}(JO@h{HpsC'Vkɹ ^lrVzr ʣ!kh4As*#ʏ8ZUrSo=S8k- { (Sٯ_Kn0Q40` \8pHl%$&E@EʡOq{gU܁(>35+V bb0lcqB Q)rHcUvv}w&% V#bϽ蘠+cBB6Ex kot,:#pFKGUmo4{4-( ^/W,=T5Ǩ֋-؈uD _f8闍R=*ˡ<7mOariZzK-N*d|F5@۝KiR[(ƼK[7Θ bfuzmDp+ն&:_vF.lÜcw֔TE&nEiI$ VG.tvPvw}uT@-oY re""|ڶ=q;4mf`q4RU0M Ë!lBGJ,5(@+ꈟ!#{7w -jp~fG*wPo** Oc_ e>dVӭhD)pTo L.CHM6 xdX2Aم:=jitTU7WNB: ֊%Vqi(i%Ϡ+.9  %,3ng!qXF6'[3fk[KlCݶZt3qP{^y2k|kh޸,_7^|:ch9G?{?@{Q<U9FzPU@ŵ{@|A4w"j#ZZOGoz=h'nft 8fyCSYU{T+.dP,TWWtEFO),zԘ 1ˊsI7ɣUY\Os?!$+nUA) "tV W^yYAϱQ -wgIѧ~JЍ}h?c_=q-a޼}TBlxvt WAߣ/NqKUY} ?M?F՘,wF8 5ⴴmb`Xe|":6MmQ)t*Xt\#i"ōhnvj05V4v߸[I4=F'=Lob6O+87؍6@\#,PinN31B4=Fx =KCQ`>)Z#拷Q1dinY%Z%s$%m1Uj(A3 wa&[hFݞEwSOJ2kU+K`[[A"I!_\ŰpRGG{WRrQ r CIeR?g^tþMtgrz?)C }q@cW^E]AGlZ#oF[$*ZoБVYRfRw#: ^~~P2BsrZ2qߴו6H\'έdv`ۃ^wtѱC*EXG2p~pMVf~p}7{;N..TO2'*NZCx.Ma%]uBb M,\{|\'n<0{沄r~[[OKo#\kЙTAo@KJ Ue7M۱5"9J qcPh bLƯSsܢԤĔe5͞2hsPTKNJ(5{=$iS*h~/ UJtFeۊpЌ~XDEEVMcR+ϓ(zC2x,z}ז" f{ s?|Noڥ>1*_\:¾ =#tp,#bҬ:[h=B<( ̇B0?CVB8q\FՍPwDRg ١l(%֯bqtcMG9z_@b8cDzendstream endobj 158 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6243 >> stream xXXTֽbcrh,5@1FQ "2Ce:cA,ˠ&/D%ILļ}!0ɋ){GDYD"d? #D~}8\нtDVbdeQ?0[RbHT7\孰sߝd?}Թ<>N owy TۏP;Jr{@kۓ> oP+d M1Z* ;v{)rXDt+BBaք{8E^gz ~\NSM5sw猚;/ &N1y;5Mޢ>Pc 8ʙOmަ6Q(j3B-&S[ejzZAQ(jHͤVS5lʉZK͡QJJFQ,:eCRvN,7(=5HͧAj05ZD I( *](:܏x|;,O hA"/ X=jP0lZ3nX0lͺTRks^Gpuh&g]-v+b/6#Gx8ro ~coys#R(,#oz0b0ظ"Q'ԩU#JLILEQL@5*ӥyYlbTR9]R r3ĴB ^*)5lĶtעЮw[?1F^cPQ!= {@"y7XNKO<}̹BVt1l>NE?|l>'br cLkUoTmdyf -, )w02j񳨝>s8V*Tti鋽f`ya۵yegB_uc^!YFr=ϻI"uA {+/.9qX'?Lm>I]r_Y? A7@A|Y{d_ީ{` 6fY0X $`ن0`1oJyܺac8aN=7rI*FJnJ6](*/wapMt 9d wKr 1ׇO@1Zovlm'@k.ebʵ5l^ƙ~q4GdJ{}^Eư!ݫE 0Q +>|!{j_xOȂ$O.to!Zﯷ>3*ҕiSpǯ ҸԈ2H ާNHtn(=\w^D|楏[㿌4|ߩ7ݕsIc?A9)M\׹Z _oe0]E3p\/:ljRj@껂5/bM(nJԈ-ߵФ]QNl߰ q}AJSM\VdLt @0/x}isgOO{:JWi*(L6;cv׷݋Uu}O0oЗ7A FdxP)bnU]Wp_݇y~*$CO4aGܦZ 󴑰)8Wt@u1e|lepG/%$/fwZ,;z$q]@yܧEBXa\AG Id TƷ[K :d+Q, ۧd4 l5qG"MՌQZNQJaZ9Bg4(5r']O ;;,TFLm9٢c3y5~k$@YYTӔ¡mjaJA?/-x~礡M=C] 1ý"\Ql" C,e!=߷G7uz81#,8VqVDF /UmC> bqK7C+<YM=}OU8PqJ5:L/ҋ=?DI OIeq)`[jXa~%FU Rވ COOm^:kon C,[#c \bTňwjA#tGP]DLh}GV?k\ ׋AU lW\`b )ؖ[)Gjl0WN/0{ A)WszT3#!3>?!´o 3DՒ]77Qݧ bzj]RiSP s(q1*m5J5Gv>娌H}Kz.~?N^H̙Ӭ NK[|wE'a) N5u Y,lp`7:~~ }8}$녛lAU^Ĭ4t>n ,5 5Ȯ>?0/dVIzGi.@2My^Ӌr>l`ue ?㈗l,`mZdhZt:r-uuDl<0Rtk O!ӨÃp?nV^~E`LnӸ>Q~ǚ Je^k_/"L {$ `n}o 3Sة63M@ j韎شi犉$P / ;.[] 3푋޴+԰rg?xnn.4o6-1ߺQWQ+ R2V$"""Ƙ|dwL^hߢ0^ȸȻPD1̬k5xE7M7pQYGQ(>UQtaLFRQzjaz.vܢcKs|UqD]]uyNƆmY`+8X2[Ͳ51PwU$L%||m[]?/ُL28|iգYy( AFB̕O7nx 'BN*:N {O . gM}(30Zv< O4>-jCe<$^k׌B [d\v/ۚ^XS)єu[pl3 r}U:z}]jޛ~)#}6=߳؝i=uMB=$Es7O-^4_> ]DQ8S`Eo(ӽU wNQ OG NU:NEYL$Tgt|VW9cWF3mݴ}E4Ku]$}y4N&FH_d0$f&ul<^tNV3wn֟mGyT;K T;19^}Y3?..%dWCa^檫t_'&5{oɯ`x ưJ?:%^tPJhъG%a=p/!Iv==`Wn:$+E Pj֋X`xf|Ak\42bn̸ #_bߎ'9c24e m֢>٩$.\mZ'L'8<%9K^J6@1`aq]EkcOa8Hxl}Ga۷x&럓6j5TXbtt9%&,9Rd4h\缩>L;Tc^*l,/GyGs.D#FԘߍ)ٳw "ԌFM?8G_:ӝcWN^E_2`5̟;{OmL6? .+:rA7_r7P+kW7[*ILJLdAjEHER™Ȣ̌,).҆B5D[TWJe ol\ioN20d{rݾ}0!ۇ(Id{ rxnK5pzEc4$zFn BX }Ӿ q~<.#ECizFn6Wp")?X޲ޕ>/#"Svz9X_1'׳?-7e';\wl!G*H"_$*mI}'H ǃ+'}cb/ kzFIẋ{|uD[LMfr&&N[d%ej|έZ($wVnŇT= 68`yE.q:v?^m O˚s]<[;[I]zݢπa`'w/-qq;ǡ͠x/Yac=hLxG񿩻lZOv C1in6EZPFiJ1;m&9KD5V[PH(+%8=##tb 2"tqV:Hb$,;~4HꞜEgKNe[M~xZLM*(vI>x9vZ{39h Â#,h6bm{ GIɟލFT£isy](a:k c,@cr/vxQSUQDIO~7Eg`fVJjA$q_?GIf&d"Kзt~MW+2`R$9L0I,f ͔J! D"GH o^-** Ks`aó$pUjE7>=Sendstream endobj 159 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4259 >> stream xWiTSW>T 9U@[uFq@&E+B(2Bv0:Ԫu*V[mjǵ]w']y}w7B$ %lJV-' &oYF7]\Pˈnzx55eЗC *5:DptxXߘrERď>}:)KUD}G4^H&&}/J8)#CV/ GD22IƑE(iJȕ|>J-KUsU|$RHdx45J~+Je*>V$,1*>9z==F+r=GUI(LCcLLޫϼ<G%[Ѽ)KTI$=|LLJ-d,1q^)TFKUsYqPG*ir۪W˒TZ9[ɍTV&K? ʅmiQAҐظ0+ƍ0q)SM_O"!B(b1'Vyjb,' "b11XBL"&ˈD1$0!7!! >&f9,D0߉֊~sk[C24S FZxMu_#> zP ~0dƐj4{>Ac` P|l:4 9ԶluF^[ǵP!zLՕ;ҹ XA۾Pm!ߴmGqHHqQ5}[ex^gUJɵRgq8fAdAWiqFzy!soBr/f N鋐IB $t}r$d76p]v n#3rm ÝB u84Η: />pH u(޿/+.bū`h7Hrfc,*# d^c5Jp /4,:Uo HJIxJC#{ZC̶?7a%'uezzL%r'Ux4|h*-+wm-~Tv[+P)Jݝ#vFUе55uuf->]D 6\KAcpJJg^,ª4b-J0]fapq tk@m;`l(cKHqsLKWڕpӛl?ۺ3*X?6c1wZٍlƤyTV5^ RZܜVܔ#tM \j|םW{{Cvm HCg(XBgu%"mp oƈ,PRW9j ]5&/Ho,i(3qu={'pΜ=;{LyƟK @givRs$fUm$G#3zkA <́o}q˾I[\~"0[TU[r%aߞcg{J>O[Xe7&N_P2^A ݯz}/uW *q T-hĀY ɿ^VSr$Wﶡ&(EBOnt\\OP-#2B<2_Hz')l{խofϟ-@0p fFɅұl6gV5Re6E)trc\_N[z"Wd:(n_OVWD;3p OV8aqq`t6"{z zHj' K|P0ȇ\۱"ntB26FWTWV`9 !źw#DlA9Ks$I"O(G-W]2Þ>m'  pȿ\fuLuK`V5.4Eh8zLG.pͦ&\Qhؐueu4[8˙+M7@;ޙ^ޛz\F{c)>I-dԦ8ΗM43Yrd7W7pF5-7/q /T nF§̃ !8AD#zjȅp/ ž"O(B#ğAF5|ہ =z"D5:{ yfk=3 Lpeo3o ;lH_i8t=TWYsl׫EZ5vˬ@@| t̴׃OE@^afX1Yn ,ɟCicU:gxiXJBɍ3}yI#Luc GCs} ^xE&v3`;vpcLG &8CW =|GLJ0uqHR"h#y;YHCM͵ˇ뻁YiHsXm#ۋשtTQкv3Lz",c\k?$P;)jpܡ{ʢW+'eD3N±SLDX5i@۬&[o;-(8H˄PF2 oN1;sJ8%2[̟4`;W^`J&d_˾m7eg(A2=}{kRجJQPQv[kЖ,[ܼ 8$^?IuM[ozwm{tIqNMP҈y LWw!9{}{ѥKkְʭq @Vf @_>64,)F͘d`o8>%kbLy Kg{擟BRb׳)sFCiIu {T9@_=. 4*AO03|0dh9*Q0lU- ,9BzsבA<_)Rx ?'^.2PkӻhZŨނp0|aعɑ=f`!qPTn8|#(4B]]U]]V:}t?7U Fx,eQCpcGCC]{[ }ֲ6o1dp]ťEֺ(6 f|  ]yEZX]}B]5*c6.Q-(eX}+ ;2ij޵4a*,_2-;*wXZtOoMC"g-gٱ`&=rB\OW`Sa=s3rY'-Yk^}.1=]Ϙpul,G{xM'' CxD!)wn^j<[q}ɶh@/G?\l۲+OiKYDC/i\5VY }g< YRvd,?|Omxδؖ^ 'Q1S*ҔsmrzB$|>\m3 Mj2Q?]iendstream endobj 160 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 161 0 obj << /Filter /FlateDecode /Length 3907 >> stream xZko\Xz7n~H7ͣHtT*zv~}ϐpuw8-PChj8yq)F_B&._-ӅrR-ur nyQԍErA.3b Du'8: zQNM`ZkH؍X!&U70PA1 ըUdbDžL\_.rW*,rlf04^Q*<\|;A ])?tyr8\Kށj O|i+X6kՁE B8<'z=:w|if>?x!WB!:#Ϻ?@gxzaͷI2 at:2ϲJX6Ä 3^o!!+d*\pQ7u6uu_WwuP3l2!0˺z]W -e]}PWLbj^5۲1nŗd8IV57okm$zF!frbUxœ;l>4N u]5_z>cӺ1jf7v=v7s},_ψX1y9L(BÓ:u]}̤#ә1!eIfi>;ue]21tIOQzwB˷{s, 1 $**y;i%W;9|R/~ZWǏ4:b?؜0˶|K`2'E9JP9]~ZVr'J'%$n _BoG/?_EaG˶O%B]~>YԵ.&v/fTKkqNR\E*; <(#1biB&!9VvGz JXe@{܄D[De@> M."J<0BYI؏; 5F.Wy]khTr 'Ā sG8=JFZ퇳4ƅf%WTiHH;@.r:MW$xQ/n4WH'@!<Qk5Pt^ȯ$)=7F\ v.Θx("KMx1Pt2Ra_O ig<&K2]e2_29֙u+Iآ@tsGjr4FACp 'RD)-!7騥bX{ıI alGtʃ%(/ZC"@ú&TRx윆=b4ɸs*mxhNXqp%`ɣBKaCh xO0Z)74*pB(pؤC2ܜdSFNri>]b2,B P } px7)D]hsצ>cGyZz;&agg\x]BAU+KY&() yYZvhGr MH3ا r(uxRߵ 0A@O&dM`*AhWHb>[4 ~M~R*a_(hJI3vr(=\`P92#//{p_2PJ} d@1GAȪpZI~8a$=)(lB*)VJQl04F.祵uF9שz!aĹ5GƬ/075CmaCOh\N_6͝I^ἅVο  IUwՐtMR 0?ìyΥh}褲OThB,fnXǝMȓ9Pkq&RW15W/RYxpY wѭ*^7*U-'ߺ_ `JUj^V{N*]+ԢbtʉO94ZfQ)%{0oOړKTqdJ Zv=Oi=Sя;|M0JӺeǼLGeYur 文Ï+>{dFbRr;LKze8GҁV:7j6Xn%xhS#K3])p8М|NB}׍R;NQi fw92'8::Bܖ'==kf4Zlt^fxվ[BHqT'@>ms&a}SdQd'0cBHق]mQ5&S8,|O{)~<Y^մx$pl#9R  5>f>CMuDD4l { =[G~Si7l* }wOP}#,iYa&VXܛ-#n0 zu;w,<5AB}\6\8nukj -Ί+ @{f8&%&iw[ S #I{fz{z,Yl̗M5,)瘜s<o *[_4T1cqjo]tE}c_ vL}>7a,γ/^flL#s9 s,u;XOW6djr'Xm]z6i ~GaHRY\IkُwEbȱ;K:Sy$hgít˒2,}Źh(5BYN6;j f1s_+$H\mJ5Ҧ?2> stream xViTTזעn]Q)`UpD$d#BD1bC<;c&*8A+(@b1By[$ZgDS( R R3';ނ-'B~Ƞx GAtJ@K=wF[`o)07#-=_MP?2Լl y)HڔHPlؒ'HUE9eomߚ-09(%854-=#"+Zmem;RTJͥ¨y Aͧ")[*Z@ESv''C-b)oʑSNʍ R ʄS3)ER4eFSɔ!eDM 1zKK>4$# J j xPuLH&Z/NeY<{r7m)MQɍvU]s|ROҕ&]pӕUmW%zyh0F"v@1OV-"]C}qpa[W+jkXCjX;HWq#ͫ,<=lcxA|K#5nW*F nN -@+BҬ6Dبfnݰ9OBkٕ#[X< XAU˝gUFzݼ]7 >ԛ8L]TC^;bR 4bR7 L bq+l^[g)+]{`L3*zH[jC<  ll$͘?"㠏\bTpXE*zX#tASJΓ16>#?:%*[ :·ﲈB27Jx5^hj LWHm431{a]#xj{!L) OkgyHb=*RuD吻b5~UKnea|J+f3b~\W~xy<"l|!Mwǒ ;a a\ޮQBb U'c.fпWK:D_vĦ*'솒S4 k Gܮ펄4/'1zYLZ{HNS6`_ 7^Lg+rkD݅")r%vDZpL1Œ'WYȗ 2:p3_ #/N 8ʅ#;pE_cnW>f~4[%%MK:9sn>)FEt0pnlpY ȗuh vCGYlڴg{n~FֆczcҡҲ#HꡒoMp86p^a8A8[J+R=$OB| Uڙ3"%s . uˊ6#"š#jQ'Q:O8~P56W#I 7i뙴3$ӭ2;aft)St}7b";a:ng ܧuj> x@U`NǦ,4!jHRݑJ>V)MN-u=$eIo .X>izXZ/y*$nJl":c07x=S@;\0Fhf:wfw_;u| P;.e Z@,[0m懢Qb妺g[vh>/ofJoToFB./ts% Dݣ\zHþ0LŖ-cxaRBbCҵ|m}RBcmW׵9",KYg?캂A]S^n8ފ`K p^n\ͱ5nc:F"KF9%Q?O١T䢍xTޙ&1mΒO-#k_+e V}Н{Mwhx4 _ʡ}~>oIFp]\GΕ&FnR d$ E(D՜P\Ozp߱O$7 _/6\:Jhk\+3Q3/M{HK&kBhDgB8^kLZ"T"/op!OSG~h$yRAh$9bg9i t/kP3,jmBc#<z0`"ٖ63~0xu7$/p qw}Մ4PJ֕ia,,غ[k^fRˇAN7ޏMoܹ {yIj!?$~ى _)Ϫ& ,&0Mm݃],fbQwaaS# ܷL fsd]|{dej39/۪~j|2cwD9I啺;IaVviޮ9 =$Ⱇ~ngp.N([9@.fXy^zEڠ rQ 3-ꁏKHے{kiSn1J |I>6 /B!xK֫;+XJn\C VfB[0}!p `F2jl݀W"cX኉bB:h(@dHd,roo=A8kq~_~K3c^jt62-1JQ >endstream endobj 163 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4151 >> stream xX TS=1s<ZpPjm*uDP5L aN%LahD((ζj֪}v~szBm}ouXIX+aH$r_GxJ$&<-'>1 .bpqt7 |DJ">E=o43gy/PńyUGGĆ?r@EXL:{h:gIJJ0C;;)F6"!B;"{"N246۾El|:BBcwABE"UzII;RVGD ܹnWd4dtC{MJF~ZG]pvDU;]昆PFHXڦغ5)86Yoi kjkX-mo5wхY!g_ h: K7j&m AwM;"dY2َyD}y}p[ҍ <'/G%Ce3ɟ`B\W:%CzR3%xs-W!\y`1,I(Y>-Ԇm!BCWvĒq I8 ~ɒ؅ô0^d;'"J3t.鲲rzϝ 7T6$l򎜓Y'3kS˲-={'*oɐjͦB`WuZhUܺ^IjNl*YP,ZX ]_"S(5d@npPRK9RÊ/E\'[0ω0E˩>#,q>}+ v<*j |^#6vHC޶(cpX`yҏ{%ץ VI6'B (NGO9J^8=PuI~RWٿX2^cK8i yg KK|ed 753( G N.wY%}2_8h*H: r Tn4ݔZNؔï?J1WK: .C7}.C`*vN<̂NKymJvZ:~DCD9&fQ9DiP %q,;ytYXm@rժۿkƓ"Oׁ_X#oudžiu"`/ ح$js!>؜WAվjl{ܪADNkh0j*@ < H4ȭS|qlat8GDgAYQYUPX^XvzHfj 8ZaCkW[xk|QhkT7psu6EEj)T7m!67gQry]jSs{[^t#d= +yKvG'n0KRqzJ-l'=>N/Ҋ:THT) LsJ@G_g߲0W*)iY<_>Tg/0#"tJk!|h{`KUVj[cUv?њUV4Z,m7|AFү-,Z?ԔŸ s+\ (6f:S<d=U,/Vh -5%WU)i!]~l s˛j:/.^DA>h3}HEӂ_lⶻbw'8NiNjjo}{QdzdTo2?$;#KMj@+U/Tnn)3oPqF*D~K<2 zK)䅂K/Byݐ9)D=xѓ f1ȼ|7+ }Թg27˄1EY&*R>= .8⃞ʄ,NM݈J{Y,L.__u?~Mӓq2I芮}J29zYٺ= ;ն} Rq…P͹PPEEW~!}=ee2if> *NYbim8%Փ'A>ءtނba<^g|?3"9hC B_ȋ22F2_ٌ9͢sGaoI뫗o)l镲y/2we~*I88(z1.X?*Lqv,@zp;S,p_Vd}+Ksi{8}:T6eEGd -1VV5mmE.%Zf_[n#GRVsCyÉ3sKǂd=jpVr`Ao\Wf'Tz,$#AldJ S&3੷Wzw&~6|YiN ׇ{W)?cv4>tFO * =P-PL 4';" mC Raa+2x?_$$:H*܊S'B&ߐIۓM ' K p#ѷvGqPe+'4Jͅef:99.v+K&byA!^7Z ] }#D^<-S/zej3"48 u;!u n\@>ưHJCА UM94f%ges4Szq$QUCapȿ'}O A ݧ&ۣ͐nZ>,5.:> 겫_c_>zsG'. _goW_~q?w7?lUx3}̅vo> stream x[[odq~ׯh%durx'$oX/b Ci-Ǻz` =_x)><U,_663+_ݟɦ͏ggކ Ϋ)Y~)wgiq'AFJw|[AT$K's.qXJSB)7q> SV"/g*+rS?^M~s6ʚ)(B)6gmϿ9zJɆ;Dz:>}}w~a?,Ig_Oa7 0Rݺ!5}&N1FăBe;ӂ̓zs\U4ۏm}s~>WS]k_W\Q퟇u}}'_J?߿k_+K߽*aeNHTjJΩ7g4_Wk_?)Vߍo_/o5ѳX JMPTcUN~UL~g ] 4F&6;?)ylRzpgqEȾIO Aق A 9@m@338F( ~35nG3;)7gIJSxZGLĪ%%3v2, h+yRR1dJ,Tu$SޝYxD%HՅgMOZauk/țUhmID}C꘧t3lThS2tl#g<+U{v1x,,aF(;lAሁ߷WG$:UH Z%^KPx, $@o"VWSwɦ))@gíQ}DR9-1 T&)IUF*x`ɿH*je҂ 4eςHhm [\QXϰHLTEPX$*[i! 2-h0ib -*>ۯ/?opu{ҪK Єi1,o(~؜V5{VZD%Jsr 5Ef2ҥ4k>:>ZI_M)kKmDmH33:%U0&ᓖaLMk1nDDAaQ0;$h.B>1+{-E^%%e ddU1d9&eĜgHZG-8g! )?(Ff)e(C߂m=̈8eG;^C?[9ھ?W;TuBԁC4>Хw_ZNJO)׋BA-.Gl2‚%\oRJm3Ul1u­faU4!*U6 RGg=x̻q6iwEveƟ"يMTLuAePkW bhbo3WJh(5ǣO4 \R֊Ug?luMJs0ǎ9H=T!wz.|S7cCN}lb&^D]wkMnwi6[Yɤ 5&" mT$Bɝb>5+@?-~mA>9/j] 7m<8kOAy@BUcw^bF#8ox H,=G_E:pu}iV(P5[@~ SRo ^:g{ִ'HEYk~my d哘m_8nƧ)Q/:Xi4[1e q_r-r> |혨GWTߢL %1IwΥ`r&A騆XL+n әк~JGe Kf_oي[6XUju9UeYMuK UҢu4eTdI 5 * t3ԆʘR\:x=HpepbԖ 'Aãb~-Un!77U1Qz5TME!`#)DI%©}=M(y#"~mL|qT`C$shԍqP:fq-2b)NFwO)iQ$ee9+j?܀S s11Aڦ6,;#Iy<_;N` H$O@R P_b4Rp oK@Hg Esî0-ֹ NXDI֙!g)N8T+BDigo 9ʺ3)`4^Z}#lcRu`nHGw变NCЁ!^aedسƭ(?Nܚ9-[oY̍!q3`〷Uy&+O^Pbl,OKSE\ ?PֺBc zAD:nIv~ZNIps0,SiwT&lPw0U>WwA0p:#zxckȦ_ZOJz"SWeз>{Q{>&W,؄X{ yU{kղ.vGEoql?*)asnUz{޲cl;Qձ5|JXwV{h:ab>W ʬN]EqVU6#!<(@k)|. $IğMB 2;y2k⏧p=yf< *BtfU7\MUWn(,~w,Bx[ J:9ˀ4dI,0r>Tm=[/m )̮kWZH!?DŽa%"5%Jk~="{}Ph?|QrVmva]+PuJ\xCcJ8[-r\˔C8uuGPTj7N|]d9ԙqsl#HXzBPb{h6%tLqEآ |-3/#Cҗa Mvxuޮ򂉸2)5dJt ʆ",Jׄ_O|hXanfە`bdJ`p[Klms0 RŐYVn) E.HfxjzA86 ,cnH߈v8:T~="5Juc? ):o"Zl^"t9`ςO5i(/ELXxM B@m M- di|f,*9̨O+kBEU׿PÝ1u}gĎQ618xD :?ysC<%`ܲa;<]@n\ynsHCMpnd (+iYpb/-.s &x"ͪb=-!J3-3>S:sZ\%}"* ؒ܅S1jLlK+b=-%-"rX`6+fG[t O/S.-xoN9=\7O d}%z(P`XPyr"84egX1(-jlIۼ gKRqT@k¾ H/R#M9ayyf87f&W^V:UCOVJj$ gWu>)R]L-qDESh+ GgPG>1|e8TpI&n!y劬v+e8+f ):8?fbѫMZ/N]ñӺLM N dyEWȸ|ʬ qMot]>0 cto9j ~9oOWu/}Aݥ8=񨹭op= /]87T\w~V]P `rayQdYWB_ith˂#ӭYf?/cރgX{/=67tG>vqdsƨJjrM"TW 畿{5j* 7Û@o>E6IYۤ7{?~1Cgu6g6c~PX8{uOefj_M^oG #S.}bwgBbendstream endobj 165 0 obj << /Filter /FlateDecode /Length 4390 >> stream x[[od~ׯ8 XǼ_ٛ88XvGXR+ƃ+,>A 9/ŪbPPj48|y:9wx{]ໃ(L8ΈQ+=A4j 4u1Fg_C޴-T{r:E {jJG7쩮6mf 2i4vq `0Goj 8I_|FC,5'Jrj߆/VGb1*/pFI3ESenh1PFHð|hX) qG[;\ S#>I?9 ѱ:eMSwYU8yGŔǔXQҙ5*)!mha3Vt0FA4Qgy~3 W h'e(T7#G!NIJNbګ珬㐺UTfWg[uj>BP'gڞ.;%D4\<| 5:/hc8m .`֏Pj?!%KvwIDF9WUfiB̟Ii}?v &4Zc0ijCFa؜qTgphAnfq=VGr ;|d!C#p$a:#٬Yteѫ'p:ACtiο41ݯ,48$]%xu a^3@QHע82+IkzUTBO5SFM^U>-kEm}zںLMm=im]/|qYƅu-W~C-=Jf@X'?}N֗y, Va MI7ad $$xE*CZgz* ` QDm`c4QIx4{Kf1W ϩѹ0dPf]%qi= $lUU+4&q:ayI\!&JJcNdqhH0n TaxϤpݦkRFU[BE| ]X M Op%;^p^OL~k/ٿhAI4l/(4c1 `*F/1lg8iJ5~J xtR zW4f)C{G<4)_)2~,? ;۳& d vD*'B̓qÎ,!5ܫT\n<<滬* v`v c# r&ڠ.qwmIR&vaCCaOWiu> "ee: 6pq[L,N3'YFge:X.y"bXLp: Ƈ 0i+p[<|"x cNF2Te\f3lB 3T e}8AVvρ*zot^)XECfgn|y 埒;aN,ķ$KD?XVbjj}f2΀q;$<(\oXT!z/^p__,') VQMWs2tM%kuj1ۺkȺr!a?g٥_ `eW6;B HʛG#9 "e*V h)sXh .1"}6y MPF+)x$APH NWu!JNyK3gNd=N8Y NsR .9# |3+=>vB(VGɐDERfGܩO@mlL^fY/rwޱ(r{¸Zmjyo"䛅/y"ZDڭ{!HWH;sVaoGLyj 2 Rp< j~Q[^N&1ȩG玨Cr&9s t8HPC^J1N?`JjpaO [qSlkHWE4-H_C^n+OZzv~V{Cy[nExUiAw((ÚzY|mr˥eqnf&w i# j# R[Um[k95Oqb:+X-f.4[LrO&Pؕks,yz jMU@ F>NN U]: 5evPw⩢axg:ZJRhBr<ΠOd+=OLs?olf\c2 u]SS~L-K]Q>uS\A33+9OILPbDtyN':M戺OOjJ> / Jr#Pz+nw ;OLS+膋V' FA)Xe|% %1E~ro\k.cL]yuW{Wnܬ7gSTf͐B$XX+ҰDc҃]P4]G?r)-w-jA=U,+SU{Ҷ,M@\ìGK!l8QTHzbjsͻoK;8RoK(t/{=S>߶ ! YoTzP[3umO }*Ri)oAb|D\L@Q `hL\DGv'zA*J ,M2Pc?)td̓.tyy&|$ɇ\Em~[WNzz+Șr4рml:4>ɤ<uao} wsxdo < oliUX2~oW9֮pyGi5tqWF'1֘ O$n4t:}8ST@PJNŚ9dD$I]>"'^_xm~^2edN6rj{?^6YL@xͥ{^R.͏SbHTnFx"ccD$G9淋ײ)O8)~0.aW9 zW&M(cvI]w)*MwtP] &.c9^x._18(tSiXS&4? J`%ov< : [i{Uz" S +}rbuqpt-%q'jM?@M |[k3'jp\`%ӷHR+$~b_Wy3/Cx=';]g){yHq^=zE)\_j >z((wVӃ,=U_4 :AU:x׿ rSAVzs4nC"991Ȳ{ {yrZriÞ6ogyĻ:DZEL{GlLQ ,Yu_}{L?nendstream endobj 166 0 obj << /Filter /FlateDecode /Length 11699 >> stream x}۲\Gr;81/n<]*HA)d C)@Q{Z+kF3#G6KVfʬU݆߾~yd¹xJ ^^?ic; ^=Iozk5o]8§J\.YJ5s_:,%3Zz꣟[9F^US?:A} :|P{wsLK';߷'cQc{9SC6C,w^?TޏT/vzj_?l!ӳ=Z1>x~r|_=5͎\r<קy}q\C:coh[m[-t}Nۿ?ⶍl#r/M|iF X.yiR%.IJI0Ή[i L[6fMYnܢ$U*6G~csܻPdl~b0Ai*aɲ.I~-A ؠ% =PPL0i n\0ܴdJx&D%)KFR+I&)SRV$]UHZH Sl~\Վ_aS$aK3&z m`mf!b-jLҰ&%1utHI-yY:! ql p0RGL]Prڂ\,5S&h% I/9a- Pr2C.iTr 3v5'$MnCNf^RIf7Q_1b!ߍ_8bX(%0`[_8q*K+6D$櫘,K0`4$iq2 Ia!n'X!FԤIFi$R$MK4]f$u>c3L(HRcޕ1svLp\:%s S-TMYE+TIΦ,yC2ef^%h Il"5BiΦ3\[jwulxt $Gl$6h}gF  _AgÉ&%O:$ J&'NxsݨbAۧIllJ6j{,"[{63ɀ)1?Ŭqƒ< ?W39f1WXQF.ӚaĴKT K({4Hf腲2d0+}wsMbb_*WL[3X1J.J5g!,%kjۄLL7T "P]շLar3H)6A**~+3cA܃aEVI:uڴjôVYTB`& Xf}Drfc e rpQ/VSTmTIFMY%Ӗ*6ngY7lT/1!ː&ܪ$&n ˶ܱuKv @I!UJ{=`$i*Ȓh[D~3MmtLNw6zFہI>> aڔxИV+*$ PA"ETDpH)2r 5ڶa:A: s#)}`Պ!t<4j!t; 7_QH$:/KiL$uwp=gJt6aĆ%۴a6Y?}d }È#SWOtP$|&a~)iY-Au"A$G -1H0i:fL[TM )۳M:۷,F=FJ!3jHqp4vЊs/Kqd :޺t/qp,A7L2d IZvt*]6|Lyȉ1}"Gj(?SOesT$CRR =I73.Yও(30ծ-& VADxOIQ=#S草!R;Y#C(&ݣj%iyx)FöZN]?!@'fMBFI Ifˀ2#Y;:1-Ь??yNr$' 9(~fY3u!s54)9x ; >z2hmPY?xJdK@Ա9%$` |$8 >u|{J1 {QZ +J4C:DfIeIBBc?IjIB`nA gMX"u%1K@~L0J%+-"Iз̦{p(#@~.幢RP4Ǘs%`L_ZKDM_ME0>K.N󧖵~Ҳ`>$$BD9<'Gxp>ռ)1Q@.i,^d N[b-ށe$F" O(t}ȀN2p .fL_rꇦ$bBE v |PMQ5#ֵ]"@`}Tzu֧QOW+lno]uxK(`}E AcѥO =`O6d E{Ķ%(  8_BcHNQev P&Nԇ[I*uPfTöpViZntrv(cOv/Iy;SǴ}7 bY٩`i$e̖ó\(Q 嶬i(C3 z H Ck!]S.NUuI3$B5YO#N p20k.LԍJhҧIZ`J {H20UEGMM9鳲U} @# '8L^l7?!CyFr}ayR&G;4:4G@"e,7# 2p>͋F0*6Sb[)ArQTE 2pq,Y6jdfJ+ =_,GߪLRU]V \%=%T PYg}4 0> eVx܊gV[Q\vyRWݶoLehJRÖ+lLfx[#!>$+c<C Ge6B8LMhG%?ʀ8O3>lRd$Io8 'o8S2).CѠ&OGbLS\R<`?d*FGxSp% k``23 s{/8p+.aI$Mљƺ ?xntZ<ٸ'j !? "4vp4r|J67 3L/]f*S)ϮsKgHWy<5hػytiū[Htfd |euI{7`ZesW d\:C>89D %C"u!5EQ3=;ܻǮfy'(FS[v/:tƖKpAIJN*+ -d<.5}%RO-@#DxgOz"\1AISd楌֧veyL(qO}΅Y5*dtf+ 9?/]XOV'0?~|p&*nSPr _x5S>TU^rP )Y,-c)ۆ,}'-+"uY6NR)m7*(Ŧ i[UYOVJ-=;lk& fk*UsfCm .ä2Pg$ `y# 3x.!m&"l&9g09Q.RZLa[j@Y:b`k&Q!(n\Y6d53 dX:`Ryjò3LB?g]yբX9T"GTI6^.k[α?"bV\;M\l5=KjQ,W}+x" >*}$q8ኬqg'Ct*s3uITn%C::"+'>43k=:լ2n6G1VvHX['s٭-ZDL&H`6qPtfƍl19YDCEŚ4TI([6D j 꼑T:id(`ztLzAv ז_!Ѐ'&aD-awiSA^:iH |Xj$8vPl`2|o::;+)ҙIM91PaZf6ۙH81Ll ,9sMA~t15;˜PgbSPb!C5ь Z%GUcf9KYKA=WָŢi '%92);81)w5mA$#) vb6:řMqHQ jZJh:רB1 IN F̦z|F֗L~Y_33"'-@S>7̂jV)_#u߫?P @MB$r̪D3i BjR_r|/F|Y/ĤnILj Zddoef5`EK1G).#CH)2>vو0%gQE|a͟ $3I^ B3Į5"CD:'Bg㋹OwfJSpP9 ClSb&*E2z%*Ou\R`h/8A<9w&47;jz&u 'OTfP<zcNcҳɎP9l^Lpp2GlCLۼ]]-'f58֕"+`Nz6Y`]hqxw~rpO]ӀIy*9ܤv2$JfpA<] d|i@O4EҴ4!݉32/>/%{&JI~()|,a>!`.QRSY޺fStnϖ؜E']0#&$Vig}&YUg]u*+iOִ>s>d)9Jw"8@ot P2OY _{jÕԴ6ȹ^$1<'1 A$X*=586#zBƇ.$sհK4KysnҔ1ݯi$@5R0YҝŬIHlĹۛ4eZ -F厼MG|<3qHZh`YF8=.(]/X4ѣ)a>AtH|`%#%I|D}+Ǘ$LYM&Iخ nMs(Ts]'DF.p' 4%gLҝL 3D{dtܲ܄te/͐}IZb= KOPx{*Aw`vC.Rn/`H`$ N!Hz!+]+!#1I"DLӬro,Njl^X6lByfFyePu'ͧy*Tt4 {EhΆxzx&;?~/N$z9)|+6y|&;#ۨLC]h*flMph izekBSOQ n:DLnHx/:MwA,82qYzi3oty f6'\닱;ܰ~->qK('wX~z譶ӋrT5"f͈,*?= ,^\d X.;pc?=5 dsUe#mx;^Iy/lћ.}t #g/~z!ٞOAdؘ?Z:AB Mlcm&f,_}7bР%Rͽutk7jbk\}X9*]}ݠ,Ϙ؇, xKt{)Ըo~_m,D#L7dl<_-1z ڵmˎzW/a/5-0͏Kh<,CBˎ#vYZsPի~>d!sfA?aTz/@pˢ<|?jer D&%"X|;b\8-@c-Y6stӹ~?{v5`ִ($ZbpR}QZ&K7CkE$5otzȮU5{k#j\$y["u2SiW |WcyF,cN.T,6V.CZ{Y|om/kH\m˹N8J3gׯWr5^)*ѰFqD5-( >seVAlpn M_Z[&| m|xd^>\㦜/b\ Ť얪_Ø#xwEm73[lkuH,&c(&Eϡ6m+9ˊE?en5> rp rr?ۿBAbTDʋzz|a􉰏Tkϖ;~ szװ6o^Vik܆¬ܰ|tfR>x`XԿ X}WGyGZjrk)}4ZLǏ&u]11U]q^w8L|.80Lo-e X9/ԯ.]K/Z[=q?_Uī:lخ&ti2B`Ͳ(ClXo-)6PzaTyex/z]-RtAhr{ *SQCG8~^Z)Ov<`:<=sHꮋhk5Y؀!ι*~G|G@Che;3u;t ǿ~Vqi*Μ5}{SIis$ /rQs#$UUAv^St*iFPl^@7"YE\g7SA-7"Y98[j.v $PpTyj-6pCLoh`."rX>D/+P:wgendstream endobj 167 0 obj << /Filter /FlateDecode /Length 10377 >> stream x}M9rޝ 2_`va))$ 7=$C-ſ"gVZl|3+.ݳritgzGqzlqkot\Fct3NRs Bʈ2-=OfOk^Fiyicf>.3 c̚g,@N2OF{ƃOQa`\gw\j|sfW뭜OJok7"iT:_"u4G_;8QzgGOk9Xx4X|=GTW.e}n9jpz51'{z=lԬD>{=|+{*ž gtE89_Vgg{c1@?3,. z\:T.Cֈl}=a ot K08.)Ff*7;Kߚ>٭廍m'ɭxj\-mϒ?27g DŽLvL<0%'(ë??k͏z9#u~駎9\y\8R˥4oI[Fm^cfB8sANarm- `'M։ROB3NQ%wץ7QqְkPm` @kR "Q^}Emw:9_Z ځ3 ' d@覢$}@+q̓)h rIӢaulB^Q1.pp9&NA+7`rK/AbKAl[|3 QfIgcqZ]ny\ EPxjpN8H/`rZF`8#'SIYhA-5$-¼ R4\xr9$^3t 'LpP hp$.q: & @ O G04T|[%Rع+`_ ȃ&6KʝFḧ́sk 8x%6PNã4`ilN^peNGS'L9Gٟt\f)Ph&BU@i6A-,(o-E#!꠶޻@-4XZ- [37Ò>`6$^oAlZ('q ^ 6Jߢa $ 22ˆQi|,zF]xWy K}P $[ yfI5W~"Q\?mgJHzǴ 4 䤡NXW p0N4itl0- 0E ]Lr O 0yr1YX*Qa\pUAn#f04P'TB}T {/giQ|1pz8 =kBtyYhJ* &AiA-T1S =>6JagUYo*7p+wy*s7,*QpVC!99GtTB]T Z\D8cRyR\>b&U/*p)%-2gA\$3`ih;l.x2pNK31rJx#gNvN&t''m}@rsBSƶMB] W͸RƺpLchXѴJs8DM5xH']4`6 {a*:ArTF!Me\YHp.-h̲R 8תh6-kh JنXa/LB{'8q:d$q3Șc.g-411 xO5@i@ i+ L0M*e\(\M80oA{kxܱʄSi3`u`m-(&q2]ÀE< &({!VQʙT=atXB`9.HTZ\DkP4K8rcK5`c &_lJIs u#pŅx( F ͝VƁ7S-M\P uQ4\uW Z,dN9`=VGp2^0.4Nl, 4-6q!szn6 $oѰc;py^lyGtfդ@Ȑwd@i61j*UBWo-Yӵt.t(ϛMl#$3{y~\ Cy$oѰ_WKo/ ƔWDõųt?"!Ӣ9P67 sY4][$5Iuw3i;@VaEZ&D1Zk>Qt/TBT {?嫅ʡZ'Гn*p54Y*85X }l0MKxj$X°;cȍHZN%APT5ܩ$ êNr#b L؝9jzlsGRޜ0]FJ˟ rB^UR%PRʛ\ʟf H!@0ƵxJΉr|S&R*GT~')q$!20KPU )NJLK߸zþ2D뚕BS&F9d',*kD i*qpwYÕ\J,0t bϺx~ot٪4כ^*3Ai-$[ zj}#&00ikV)*f-:g IGc^K9N~sn.)){))M^\8Aj,ʴqUb]K_i g;6p`I & > gq|u^`9!AXu9JD$v6'?:4ӫy**(ӱѢr6),AI֤IuxR٤ gR٤A*/{ue8Jf~ 'hsnJg|I!ҟ/JqQbq7~x K=mN䄪ㇻ{H aOo|{~W>?^7wQNRh|kipI:mApx &!^֙dhS9 v#ǀWv8VY۬1\T(m05M\Amw[[@h pW\Ex׉0pHe:yyk816 WL\{[ +9N_ vuAZK(5ljӠ݌#e9U;3U=A? XK+w[j#B[At QcӠ³nopB%Kհ!?_M9oOixj339xT"S4-WGAwK܄N"^K-9mMBވ*PRa+`P;j{@a i5yfiPZQak  |- +;AܵaȻ"P^1$V'ҠB@ܮAnCaJߢaͶ;;QܾA2۷P& rBz A򹺨NP4"ˁ`r~YqOe"S L 8}M O5(k`P {h3mı!(w,}Fzr4aq{ F(0Rqa$+`P,;!h/)&q =KsCQQ RP5Ý]á̈́PU bF=38V@N`{hv[(m=38fqa]S'T@}T{/8IHpgpͱ!ުVlX 9Qւ .9Z{HY *.6!t!8oJ(H@I 1Uhi;qܦQnAqJԳI3 HZ1wk|Sz s & N^eC;Ubܰޟ"*SkNI噋ފǮWnY%3ߒ)À;!ܖ2À[*d*qx E*NBh(p0[ y p[sY㬵 px&`. -fS3Rb}~S3}jЃ3E!TR"ȚKAsA%Ez@]S͜BG&x 9g:2XhҖ?9n.i쫄y,pƛ 8l2|ɊjQAcF)l0zZ [u,: v׷נXCH*ieAt4]Mтr#T̂APU NEG; Xwk  Iy X) T v#UՆC P/Us@= pP _#J ƻJ Dvv 7T@]T[]@a m-P阄IAih]݆ 0E^"oX;}P s2^Q`B n o0pB$IQwb;ryMZiӎ86=/LZhsTĂ0Eևm(p[+RmRJ*@9 v v 7T@=T{8 ^('9X#1H #NMҊv#]#݆b P/U~gRF s CLux׉q)T$=U5(Pm05 g6M R\ z!qWFF&!af+#蝏j+!5aWF~..Z|@{2iśbM`t WRo$mn Ø#W$%wA%EհwcV.6*8n%üV>#e,4 m!i0`({݄ 9[(Ay=&$K5 !k`P {!7k`9 sL3̻Z)+f/@Ii;aܮanBJaOF_=v s-oK%W b`no`o7ppwA%EհwF"9 zIiqp @xfr8 J\݆ 0YU?09 pp4ܻR)2;q:1Jk%8 VW\\ {T~8ߘ`:%ppUK3h0Za0k`P8{jmhzn"`oo n;IȎes6^z~lXqߋfDM Tb+:1 A|1 MՊ;jz'Ŝ)NEj٪J- wEќĄ[k.P3`RsA%BҾV/ z9PYI5t9|îa]=B} yӚXG"S iY\P uQ5s 6[~ zKVv50m(.ܽP [4҆ w+o;.N&!'eӠbènopB%KհO }8f򉃎T9G2K) X4N"rW̌5ӟ\?oU,2"PP"Dtl[;lPlM*MѪ*&em m2IuԿ*l YN͙,m+FOO0[\# ` d[?Oϑ4a֭z; M? cWC!xɭ; _~L$'X?Y5.1 Ȝxmߓ_Q:?njO;f9PeD]ok*(rK-WGlD+Qv? ࢎHTC^}Bk>:?`;B/2Sց$oۦpGl@NBE6Q.o( !-8Y AHwSȿp{'p@5? Ctix|C=5^|oνNN8l7$XkXUYYUqr9̣gEL[VrI:rS燗'8>Ѷ]&x#=#K'B?y՛'Y^}ً-^ XF m#8e `z{I?:È!eAJ("eTy(kZHW9 ¤n3Bh9{ksm%|2# f- b4K- x(]W,g} ~pTc b>VڟLw`-Xx;1e ÓB>)|D{ûė0no.QK4ُ2_>ȅ*fa`k=iv+!bs J+vpㇰݬ=BPǸMCry#~4oCs7t}]0Ӌ nQu&AHxr񹵕J+cļ$Fq! -'Fga;{^ Go,}XOSL<\n1֞S^M)7t𪯭3!.۟ªdJLjU{hpy|n Bp>YEVr\ GnEhbK EK.\lsIlv@ 2c{ɿ$ß ,0ұm-WJe>!GèÿsL'kJ~X~s{I܏ѯ`Pp?RnP(7سWz4su //4F*ƞ-`Oʦ?cϷpq*Nrw𒰖/@W\7-A"!o?y? +9#^,z?pw2lxI8~||+ÿo<ՇJ,IX^\A -&>Ղ9=!e_]mlc;]-i̗9y}M pI[}}:un;=mPPmGXS8"a2EikH-k`Zx[ڶ^ C9$\}ÉoU*9 D,;.f\Eu!>a (U\W\ c+wTy©Kc5_ݷ=FlTֱ]ba"ȒG f~YZd{~ ux/?\r8&}?ɹ lWv[۝k~wJ't1ja|ql~:d endstream endobj 168 0 obj << /Filter /FlateDecode /Length 160 >> stream x]O10 T&BVUAD! }I :$mO u$x^Xۂ0[buõUdyEz& 0Tm^GH9K i몪HIg`2ʼn>h*Qnrin X|J \nSendstream endobj 169 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 314 >> stream x=O@b &(Bj脃L.~=lX%2: 5A]L~gn'ϳH!iq6*k C>xn(PtV"k- B?j;̮APC[Z-J=ۨ[:F5ew BR)E|񺻹 Lb#cwоct[)3j P`v\l&D ySA+e4G2͒HqY?'BM积cJ[> stream x[[o%q~8d_Zk#(#.wƒ\\HzoWU]=8N:uꞞfCߋz>;I֮ѺCɮ%Or5k ˓횋=:غT0QuLSXCJ&VeqhYR*6؍RJ1T:Mw']yh.8?ZK'f{p պx8>z)gէXo 9μwkiy/ O)<[C n̬\]$z&뗯g4|F?dcJl //]c3S15@㗪48E5euy):ǚߜ.DL. kl<9]+tYt\#П»!G~kzOG.cqgUO:XzqxeM{T9Ē1Z HRBi.1mO֟\izGˋ f?>owI;NF>}ᏼΊ8ow=X;Q]Cfwӟ^-Ov;2{ӟZoܚsA<DlcLtCc BFըdfķ'to V:C϶KkLY]8]~9kthGn\3jFQ˅S~ł#Oa\a5J,hhdǤz|pJ4\Zs/N\1DQ,Z28tXdń` 39D] P%#+.Ȳ+h]S :Ƣq<gD,&%:Qd/WX4rE4*E1|kY-8DYꕽ-$OTLh$팡.'g0 {sxp&NIGDv s=a&شV,Exg5̼LrK)j4a<E f׉i9l$)scf٤ l[F3+mQ͔j2mRl<ǡ"iH/?x{ ] vy\*)*࠰ȠA$EP8J]4BP R9l퐊OBB>*Kb4zN\m`LrNAKrr CGTL8D^UCѵP ղqxdckTĊFF*.+B``(e8tFH')TY,ȩ#*$8b2jbyFi i$g%XMyC4'gk QY\}v̉T#{!?r:|ҝ01 |K0=2Kbn4(!dvxb$9i f lzK2`w V {zdy'y972f a堰Ƞ4;}Yh0hZt R9lnzm艿oB A;>&Qak3U.W f+^F>fH֙s4B1(UB2EZ6D&R"yhDchT#S2$LKY=Q[F__b7[9\Io@a#3E@x$C`єPߘ9abq:a!O:(jL6# aGJ6Mݑ|!,58 nHtȁf "G&cB]rd4RDNѴvr;nM)?D \g S(cYԙ:0qPXdXt>UD*U6zk@@AImC- `,p5d춲t'To9UZ4'-UΚL9و6`J9tEЀ>9Oc]Ð u Mi÷&lAs#2gy;N#M8^Ì큑ꩵowum]j8˄-I5h#! BQgm|``n IQ1t jR3mԆ觥mEtjl&>}HxvP?7B“x=aP '2'5Թt χ;"F(X9 ʐ`ѴPe,%*Ѭ \D9U H)a7"ELDz܉:b"zD)35kٺsN RX?YL q=K5dE[뎉b$v v!ŭ;U;S5̆*f= bCvS9{Q*lS5̆Y=QM~9I"J9i3ґPuYb $B^/n0( b/'7m&H ÇW,ŬgFbooN6p|wi9cF ]*:HUpk|ieLʡ"bxΉ*C`>/mZ(jvȎq!JCS$ oJ"ґ [ۦlY/OOo&rW ϔ'N[$R~M$5.WHY+ʼ\E͸uKVNbE@{Jc |si-u95Mx ]ҁG 3;T;P>v嚁q5֥5aJi+2!c#Y4wa}16Y{VWD;ѓ% u{6Nyb=j4FtUQ:v+ƀ{!G;2K|4a썅 am\ vWPn1Ʋ|żfC2!,sj+#3Ŀr%j˨OqO_ztuG(wxoP~qw99YG :^;ݝRۉ__'pDՎw_vĴ{]qEgQ Ffj.9!\p6r?^\oOF{[)0Ӳm)3vFI ?saؔu$G RM̀Ҫ v5/G0y  E.-qf0i<1cPLkn2%g: I0iBwk=A@|"njK@MT!4`cQ f|큚A%xJ6U;3vQlOv j]{T$"}quZ;zKmMʡ6)HҼfRE5X")o -:c"rbOQyLk;~L,&.;7{5 bDɺO2Ʌe}:e`տѱJհИ{z/5цPM&gxx?wTuktR~idIյp f^%M6v7!QQ6g{ng 쾬u1h Kv5==,#䯣L v?-2 bR-,NdyGaNg0 fz_}HWX?~*2v;J\0p3bmbC䳮YheILJ`ˎofzVc ~ߟGH#'sH|7{g{6;w?Mݳa9tG]s= vgRVendstream endobj 171 0 obj << /Filter /FlateDecode /Length 3833 >> stream xZ[oc ~#}TX's M6m^ESږ֮eoùpq6>#wK1ȥۅL\/A{!"(7" ?81hRu$88gÄ1^ZކnUa)NNt AHSL֩VTbnn!!ϛ2)C}nUMYtV֓u>}}zOtSrOo&k*\֧mtl=N>e#L}4vE}AqJYwG狯ZHLn8JR/7V cD쀟̸t93Ɗ!~>'.ࣕVvD6F,c΃A;D RCwk4+٢\ ] RXXb𗍅^ѨJi$b!JuY`Ou_2q՞g9,v6OAn{ צ)$NxC2eS`V?{H-1#{tMd"sUB8mCln>vwmqE^0d.D(n󪟛0xYmJMyI)phcR3Mi;["mN*$xzĆ6DR_h;HIl8DA8\J<u{a_+6^}n/Rtk .0O3 *끅=,uA@e^[ 02D}MIpwQp e`mH?i7ݴoشIP;\-Sp|kxڈqجh- Ƿ7)>JilP^w%HQq k0nYU: D:tJ@l[;H# ;;ұkXmz);H . mnD` )I߯-`I/N$'")lA[i4 T,qvv4Ff40Q-JCDn 6 6QeelMg!e'H)KhˮEd  9Q 'mL +hR0ˁDG&iy d[߮|ή(.lp*mj P78FJɂ!0N^ {ʹac30LZich @vܬUW"Dܬ|[`J|^!`5݊~3~ƼpH)`{RǁjgwܵI.G1R-အ\qo߮ZRSK^S#΄LWrXB\yM3.!{. @򥳉&pk#B&%-eu`%v/݉ :`+j 03'^nmvU +Z֊MljmCN]N| CV~&:mZ}vWƣN8'l!Lbo5~m3ԋ̇[B򨣞<"=L"=kea=R1b\ۺYf_9I:>|Gz:!P-  Y&ρ K94<)2iVv?[L6ޅӮۉÔq 2frK`'iI|4r 3Ɯ",ZGQ::R!<USZGnqd9 :p2t,=W$:6`]롧 8- s @03}+FZj;ⱽiuUsDٲ:kc9Kc37yR_9;nΔ$ '["?X79I'άx"mD(dioxxaWoDZ9Ư(I\쪬6uu.a 6Udf!gQgkimOn9%ɏxU|>#T2Y,{~!~#rrQXb(#VGXkfk@岻uIpAc$_ D{H4N7@H>rlr8[GN B22VMg*|PYq0dݐXMQL8깴EoI ed(u= #|Z*q"LK3\.Icy[4*gYTPG(K=Y,PDNZv@)]6VlV2,́vOx4umڻz0$2p 2oZfdrفH=0t_dO+oj5&^ʔö́*{|v W{Hf[gvbe ) WBa$;6Lv )hAɊTo q=0NX~bBN!$E.% Usǧ'4PFRJX ?ijMqw(M-CIAgѨ4/|+ߪmYxA+X}̺,> ;cwtѧƱ>ATM6S)AP mW5RU~N$YqǙӾEi 00mĐ&጗d"ж3qkl6;Rh̥gƱB>muͥ""zE'U]yĹݥ/ѤQ%^>F薄vÁ)ɺAIKL# k-`I2`QXV^%` #=ն PJNڰ9e4<)l9#/pf[k: `a1;8A9um+}6Χ[bç]UwSt-%VWѳ[b:szAßSq_6Pr|н_2ΑRQǥ/ KYzWH6Tn|YguWJ58WY%Gg6k>uz3eOZ2u> stream xy|U$Y:B$!$d"PD!Dpa₂ Q$F4R`aw޹mݙUUݵݩNwUw\.@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ _=c xyf33IxBMq-zKcݽ+W45ϫԁ;%a]ݰqT/vKw{ , gx]AA@i^AKj)Z[ϸl)W*o™e-Ѫ&znxK+?WVr`?U4wP'VW^^IWh:'ZsLWI uSS!@}l1XNaxUMǫJzugSP)6(S *¼lnpeL5WkN9x")gu2{7}ҵa!cFEQt{n8zxE~`q۬i8^r{m Ń;?D?Z. j+Xkj ;RhjX c@kƣWvp~E1AW̛v*bHɫɘ#'O_ՂfA#/jncahLGm^mQj*mjݱ.^K,ЀTW SGIͫx5w7gէ^ xR}LGu"XjUzUG]Ws Ke"8B<̥:Bm:2e 3#!y$T)IнC`͆X2uB2'&_W.uaxX"d8ZU[pf6~{ {:`-b/m`+*LQr0 ͱ;BA E^hECg_=Vyƨ6-VN5W._44WU9&e!x^mMRA J0g+}s.m^L^+dψ,= @S\yB*̫҅,=}<&˝VU0uJF* N/{|W{ M`=ٖԍ}#P#EҭE1dx(̯,c'k#bفZ{א_̑( ^P =\ ^zTv?\s*@ 6Zmᩢ~q܌:GO_\)wvWEjh!G]WG)[!^c3%,Do_'})FM̅TU_'l.6mӻr65䁐WQZoo۠ҫSnoT |QGW{σf_Ik#H@#TdZeB^rDKk?C[+Sa^|q]IكtfB}g:=}1{C7@ i4wVeEEEԩeSN^1Aȫym$kUؾƩ)lD:?5۝˅ m*Jn̰!J_7pb@h`jʩ]S[?TfW'Ĵ⸹|\^@ץ;|r\enk A"8A`W|W%ev8~* i-5[Je`drRVyH&hX:8[zN,e!5w 6"IW;VêZW_dS-gr0o*DS_!r^|VqLybA&ʊZM /n^` gr%)bji)jdq' |w }Xt&f&SZ+~XW_Y\J2.FE֦CZXr=0C;B5.ė^=*1`C(D!&e/ CCDh4%kjl ePUOO;UߗlGBS)oniD. i0驟W}0kH)?tr?ѥrFyllgnBiѫ9r8ǔzu.tW~H=**2#= 4 B:^W f)ӔzPozXWBbu^ViM' (㐤W5y-"hFszNEV6׀BJA~r܇EkB)ƭLԫnW[VYط &JJUUO 9h`A=4Ί,,Wq#zye_*G#@aPST+X?!_ "`U:Z?ϢL2h{hEa.4o s UrzZFd,8կGlZ-*o ^MԔ]B +KhG==nbBqE[;h&X )N/'hNq.-(h XXxWW}^#ȠHyzPXcCǭ̠;JhkYhJ9M_ _^1U{ %WQy^Vϰv#nmW k6kR{+jXPFhͯ:dZR"FOs9h_?Cڪ>rK֫7}G)CM?{%ke˾i$ݤx`1?u^ 2l/_4^mT]Պ59-7+KS26N dNfxz{lXSbV6ymYάf^H̫@n><^B'+>gi jz>הhUܱ0VMA ]+:QVo"'{e6+wW__𔂹45V'CCSBzM :q++!^˅m޼#*O? xxM7{]X^W0CWhIJJddtW+:;[PPwxKq^l5W]\Wɫ+HM6#0dWgF:\?j-{ձ5E1 W +^1 s*o~^: ͪ!U?l{pqұG^*$F\5Au^]J[{0YWfe\mbYb}ТsT`= J8 p-vP?y9ce8Ѡ>thoG>j^ʒIó%&Ǽ!*Wb  TxX^ܹ_"*+ fIưes+%M@qBC&+m+f18a.>c  eMzo'L\]Am c5zż-^Q0 ._p{'N{>lz8k֋;dgõ-_ rW W&uʯuM^qjς(K;NZO<ǿ}(Ou:yXw>4J*|2(UlPzxElͭ=Y*n8xF+MTfL^#X)p |Ѩ_;P%UEGEv };wW,$=U 9m S Ǎ.d~ T 2\@ߊ_w&FjTU,p^apI\ {eFP};)pOݘBvMȅ@<>^ *s3e)OS'Oɫ<^'UxU"t ofk3X`D7^gՒ/=_Œl ߼~`;?Pg T>bO Rc'$ ?_wٵn7妤#~~ӫsX§A/^l \*W&;^Qb^dW rjNřcX RA'GYM]ޣx^1xCw^;5Lj˫V P {SJ2.~bsb_\;wczuc%ÝM -*`եBMRrp|j*5B9JB%_* ?iGhL\&gV36B1x:{GūtiRUżr +h? {n7$O# 敂x*ʉicP- "0B)_nrݏWLOu<[ZգQj4* K>R=<`ʙ,3}Pr RMkzm/)Hz%uȫZ<4_;4,fyVԼ*l.ſ:WgUQUV:\6xIWP!RJz+ĢSPdO 99x%F+^3V*z]V(㬤W 3+^Uyx֩o뿳ͷ䦴kjo^55-WIIE׫њz*-u"/_ +]( u[rx0^)o܌Ay+ +i@],/:PųijN=^-k@*h3F?"{W7*Sozu)k],{uX" !CdgO4Z1 `+&@2k$Ty?TO^C;Fu^9⁶M|eԯ/b(>V+KQ{z:;}Z=F+bܫkƑdJV^)_zeBna߆8 ϩ$P`5F~.bXZh+yu/^]W×ǿrL~9x&BVE^ 0۰rX=W$S+Wöc_\%P&ջ&ed畊tC|eϏjaz*ٴW ^:y5hjiGontiA1%EXd!xd옍 s[ixN/\TR{b`N^kIJxQexA:,rwԀhx]'ȥ(+`WcWϨ UΏ-O_dd"!ءWU{-c~Rʫx8 2hE^z%̭$QdӚzeĢaIDB^J@ tW|*|wxxyNn| xeu-ǐn zX7} t6Bs A\S:0s jFyVP*^C5d\hg]oouUa 0ܤW.(<#~`'?EJ2 7;!Fdsטv }+Ԕo5 E^'"o12M|U `,/k^ׯXJN\ 2m ~Kf@ f2W.tG& Q)^ g堒rmC P}Ͼ=zU d޶]+EQHvJEUL/'V+JoArU =4w?{=\}R% V^/XXIW8ګѫ 0(`{@ L+ᩩo%|ت @v=$RUʼ™'3AW^9('`3+s++ᩩsak)23=dT2Ш#K<d8<܎%^R!םklhn{1$v2LCPP`& W|\?mu+GUfҌŽ,qIڡѫ 5A~r :q[l}$jS4Odֲ:Q[}񊏫TX {32 9&)=Xɫ̫^}8.D h`,JěC?!ZF +w\JzrW-DIR+u0L>&NrP&WE 5Ҁ 4w sH&n`W101mW^jpῇ%1H;#wq۵۵zU+67RvѐzA !:?*Vʅ} \|KkRҶja^j7>Bu EIc@3̢@W5Uq@ аD.Pe*qA:PW+2\(Sd6w׮WǺĉ*( ĻqK nrS_ې27ZRq=' Cr z Aa[]rmGrݑI~~qlC.*#Nq,!(x㥻B@4g]ۢ_\L+U\z{d=8\l;OY^3GMQ>P'Q3IITo\zƭ >9zSx=׽l`y;J4Ä.VJJH̀üb2BLd'|BǍbGJh{~ߜۣR z5XW=`bp'(AW  3Eƥ"W:q)2ގW( &t M-^Yx=Vz)уʾ`IL:eQW7>f;ʾp͆7aYo{EpfdAhWP)7!9u0Jhɮ+}XWϜ9sMGΜi>?Uއ|UҀ`ae-+hiqqfdi074XM4W3䧢{$@ $ԜcG ˒Óc~KsT?FWks:JT^\`7#%Z{JXvNYjYdɒ0R5Tf&Otq7pn'^8b!WýJV~^eImVhV,O`ULx岁p1QeW`VZ|/C\$Gc+tcfG8̈zYoJNeVU؂M͚ FfD,xBT!W=66$$ؒyɄRq\Rg RګeJ6azrGNWaЉ7dys`y%0.cx_u3ϷM^M ,L4Be[ &\^_t9~WNF_\t(*&]BS KV,+J1tǿr>~xN Bi|L@vCW+$ 2Ы & 58v,O4.=D'3U# v{υ[SC0( `̛"*zZ"fRuZm$Tc%=A((SXAb-Nl{ zi%B=ث2c ׀yJ*^ Ke^L H?(DrB[5HE GWl9!8G]yqrTx\ز;%^eʜ혈W"E_Nz5(4y!0MUG( Zl>%y:Otl߶W+!PV H.oy8NfI>|n5 CUxDI6 !.NV7R^YRAۂo{Q1(sX5nG:U01˕m_6Zn8ZuIa<@:~Ϛsm|'K6>5'HAD.K0Tګj;j~d~ğWG-j VZ:ؗS Y0Z-N,jXl^$y&ȝ'-Lop:/NzʱM"x^MQB #jWxB)\=#M{씤WáR v9b{!YRx@I߭d&v񷤼*DW 0iAŔrA26}AV-ĮW.,-U1Wj\X;mX]b^e[onI su^VbZ%<ԴkUx%7˩H̫okl4<tɭb+4<,`VT_E+T(,ꦨ=mRD!VATk~b+V,:cLԌDث"^]/L*AʕkxBNG`+WjƝ#U^ϕjR.h"r2r7y2sg%h ( W~hrhkJM98+^ENTZ-UױyrUc!«#^] $WjU*@5%EEcGyHU{dHUYUPń2 :"xe5p+5WW}ezX5oX*KkJb0 ZvU?= +583jh t%EE~M+e|C+uIxUWL*{,1kK.=jnZxuIx۔\ʅ{4͜alсh YΫJ n#jvѾxW 5I !@屉+؇W T \uw: rmVځ^WBX/}~W%PfjF H2`rqIx'? ZxJ,)3̠tY^\J{bث^a:k041& 2cx%$[)@ iŴnC7A x\fIꓶyڂWPj9W|<-h75!jZakZ7մ"q%iL$2KG햜!+ۻ#)F^q~<j)2^Mh$g R^M/䖂X`z厫c#&rq"ih(@,U:s8X,8Y΍1J+\qt]]EVqĺK=^@~cp+%FA#UblW?\\aF|YʫCi*ۂ[E퓫_hXz"8^6>`\HfZ2-WBܡWVXEz)$WNpGAޫɸjʹ>r[NYׄȘ[Q2o&*b@aWw^0%ʣʫ?U}H _#8ó\JfFU^}WhXW 0Fp/H#? ʫ(U3:M WӿSlV)R^42 o8sjz7lt1@^q{յ%_|)Ar2e\xJxV,QpZ^cZ%_.z*JyuW1=W 4Y֜"M7;#}հ+*9̒֊K0b:UN@Y0J ;\ī@:hke2^5xu mTA6tZ}' ?kī>ī@P|sBb!| G3}!Ӌey ^ htr^}宷:_3t3 =N&曗NusI Je$V1̻+c&CeDivRx4i!f(QI !n"HR q{՟MhMW7 BF;񊃎Ux ![;`׍ S.ܪ>˴uq ^G+4L„l'_ `G+sNFXq'^ˣIxu,RYkE`Պ0iW|D J.]xu2u0dfWA"?s929bm5N ɰsgvޱMO&rq'=V{}։+sto>sAr/GqJ9W!8`i[mfh2꬚3[VSHw_A{\¿@% 6L/< 9 rDnB `.5ԩ)uq5YY]!9td]V"pٶwüg\x %hZU8 jJ֙ɣB`eϗ3XE`{WcaħKa?7$;1/0m w mH#P;*ϹNU&r:A>'&%ȼ^B %JPiճZ^HT5% UjXAH%LY1t [Վbw!\1O/lY} @E=(YWUJnYae/i *&YVWzd, \ fQ]+Zϔ={&p<"n q4Zʐ"b( |3񯢂  [aV !&@.j-{VUrfj>F;^񯼁b(U4&z 3d@iPA;'Uſ dU:oqHInk 9r0rǿW:!jy H (%ʠ^q S |tF-O`Ps p|i3ثP*qdjWJPҪ;gax sHOrQ-}]+m!A^4"-mWp6zˀ.pPPaeZ#ƕ $(9(ò/ʃۂ*#^ 0` =9*XX^$^Ąo?VX6cF{;%^E #i`^= @`3ٝ{V-APEݣ`z6Ҁj~^{!l^nL79Ы#*> stream xZ[o\~_G{E i40$VSI嵔tUloHrxMSgs~-FjFVblTko[_|c0uz ^>ȵwFZGgUA0á3 FQ 16ߜ)h\dL dTv:T%7L\_~ 8F*Y% n/(]]lCpnFQ0$&(PU {[9/6m4֨OE B8 x=:?/|,#u/DpzR3:3r;?ӸALM  #qxFu'!,Ќ>{:WP<~ ^]]:ձn. !ԴzYWocpK 7'Vu!|u0g-?\WOy]h%g䍐#+ǨZhG~_e}= 10zGE?ߥ0# &EVVjT|=i T=N#Ȅ {Hh +}>F0SѠXc?9^ 7 AffҏܭvOq~G * ^M]n3$VV'L*5=\)=BUqF%}R;mʡ **n*7FNoP~AM;Tb7ij'oIQi8.fzG,Q/`ѶہVF^D[T"3ҭbLlB7 ,S >" 2X ;(@Dl(K79[ɨ2!8X'E{aB7 ػLC`o30Ƕ`o~Ju>%XC7!H1!*_K[Q!1$W5}KǡZ)U$EDgڐ߰L[4#`/+t6CjK)uWF S*DR#F$I2F9cc-DAG."M!RT"Rάیkpm30xi-^!M4hg>*IN%pݡϠɠYj+3 & 3F/GVuZ%w-7BwK!!LmwN0.cZ3l| -y Ru,m'z[©قT8xPGWPFQe=N"W;yqd׿gOSxdt& tZzMuV+Df:` Q4P+eQ( h,*Y|&K"q82Cd~*2!Ed 1"C2r.]rQqh;-117NɚBXESvᆗLoWa5T X%ZFo 5kڷ8_XCoUS׭a!p$=7>~aTɎȥBr_E LXEQYٜ%wq.dw{R{YmaK3jz,\W./:~g9Ѽ)/V^h_ޜ}uudmΉlH_s m69 \(yzf,CyFjA䩔 LoO}<"a[lZECn/:t" on҉-D׆W\σhݒy JW(RɗLsм骰<XPP] 4QBYeQu\(.y*pF ^)ΩѰIV]e#N(4(ED?ZZ\Wn 0}T>:hMѺ]6#ב9J?_tO*fdF)NVhjyyU o~[ "3J%Gd1gs6vGFK%gd,&h^漌gDiFPzK&1ʡ9SYm["M/7%!D-XraliM㓽t9@^f>]J<}?هY?PE$V̮U@eFINA'gl Wi~4 }يrQsH9KSu|t3|~wܜ}V?E}CSAT0dH>J=>jOw2go|8 e16QB7 5GdEc^z& /M[J0-Ր?7w?K-p{GnVS 1q]XPMru%6K_0²Q{T> stream xZ[o\ ~_{:C $A. ҠERkIHZے+륿9UeEh,C~HZr-zf+r匟ko[_r=Z\Egg;#f ՞ggX&Tp#eYmVfoQ0MA9mB SljUnb}zɑz߫stʭO~Ye'˵4zQRo?f_nm4֨O-#zzjg'ץA(oO^?NpZ 99ö'BpYxXi7U')7'>DZ/mC0Ua7[p7U[ꮭ~ڲ.jVљz\=ԝ}s[]y[uWmuw]فس&}U[}VߴC>o9~|V7t{` AIK=+ v^tV9Z+3Z~T;g!0kٵI~h\kkcjew7O06nhb%$$*m~m5Yl[Lv&KI:Z6X+,ZY+3K{55qRt>wOWPaM(:K^&AL8¡JMɺ*m#8&m JȠt?:8)HXdp"md.!n"mAT tɢEک0Vzjab7a8 UH1ۤetwvBQȥ(IjlvO ЬXI6*j@IK}nivvJYuaKg7aC!fVT0[.Z VWa ET﫰0x ؅M؈2)О\x|juIJ %=ΊIܧeCHfhP z{,RHH tyNϯovseP`" -a!\֗ྍ/3`O60_$&I'nDc8uEn`7Z8H5lT=RGR UI'\ mR UؗI'\#9K3>s Ƃ?9@2?>J|0;=`I5PܐT|\S-}[`%@vi'GkW`;KMM)е=:{d[ԓ^눾=?OB y@ϵs )uC2l38_~&АzBtDT8Cs.afR"5:CbUYC Vc #{mVB}yϒh(}_9,wZmiVi<03 M.*#yҰNQ1ÙuP|i5oH8$HaDfd6F J8Q?O8QR &Y .zՅ)2n:f=;Bwl|v?l܃gjBZ{zdq!ݎ. 2H7h;2Du@w&JD9]Kd 5in6F y>E*1"?Ƚt1A$Aov]uog %fq^sROE_C_iVB[z?"@zpp%Wy4+A8qؿb*rZf`n$MU\\]qwAkv@ -9r]8gp#/s~G)]&LE> =k?uIڎR@S%Jyngn%!;Y2M@,)I''Di$J3- ND- kD g{wof-Cm.~inEO?&po=$̐%9Ve#2rGyFj8o3]h]̂l,SyB:QqY߳̽sS㓙BWH!>Yndx^Ϥ)1cޱ{ј\,Mz.O$W ѣTl?!"Dtd:G/ g e͢lDgFhn(rvdH #Zs*IFG [aj"<eݤ^)_&{HF{vspY+V)rZVn۞7@ & :-xn/촿/j oq#ڏ]0CUeNgv(3]^'\$\vqBqcN5-rƆM-+82aC|ns,J1\<ӆ'M!Xqv*0=-죣Ixf`ֲ4"wEsI` Qm( JiƢ6JPj*X,z⼸#3 \ۦt8r}M'~w:7BrE KXbGd6$#3_9^Ł5S~i|.Ycw~C 7 ]i_OS%McL#v^{(_Q@326Dlab NVQNGvdnX.3)p`]|֔]pS_`\/;3M yu&SdjF 0Z8*/r' ~xOEZ\pt}#/:㐖=H5~=wԫsTB4ktwPzx'/lMgE!Aendstream endobj 175 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1665 >> stream xTkL[>@NM$;Q4"J'%)eKҦ im l c0rp^ ؀6`.Ƅ J%K:Lu͒Uk;ߴu?'}aqy:gOzbq~su\ :cqԺS0>Wk;T FxǏ!<)e"0G" eRF'<%hT=jD43GZF"׈urB# KrZ)Wjja\V`&Pk42qT&ǰװ<,+ SX6v{{.`IX<;[{1_< I'-."*_'hi`#kۂ']&fjTlAHEYCh}W?P\U_COC1fmȜ6vO{\M}fa .谻'FM6QII7VÍēvF GUdn{d;AW k1QUG!O!=6|kK 702]N|g MRS) VwOC_?3k fzl&ʝhll&7n8QSDh˕\QFڷ2RzǨ=ce\v#r|.e"..=Flnn|z~ lAţrehv<[jjJ|ϗMώǹ~#:90GHAl"@F^${>د_F{&/Sxb꽰k;JuLj{#c7UUOx-քؖ Dtc[vUccs3d?,o5iHUc/I*9%}0͒%uixu%MSS9a์'#m>ڃv/CHg}HT*Q"34 -6 ʕ.C[n׷FZUGromA+lwPwQs@SsV5N%%Zzo0aw: ~mٔ@3H%xTskhK~03_ѻhpE־<6}Jf4u{yf^}D"_܅ԭ)RY_F dz^,IdtY8{F[zsэ/-uX`7+^ vA2 xNendstream endobj 176 0 obj << /Filter /FlateDecode /Length 5725 >> stream x\[s\7r~gGq2Ǹ_Y7]Tj7c+qdQZ . I;ICޘ^+W{]>L,hڜG>g1}rŻg)}L<&Fy;1lp{Ă;ǹĊ>NUITiBD%I遨>Fr&:=L+ޟ㫳/_t9pYk`v{W2vta^%w_]AJ[{u j s[|XwfKW9)c%1' )~J`w/Y+}q7׿1Je[ɳ8&y5L6nD8SFwVs6>۳W=AG 5L;|"2L@`T8u7ipqi'ry޸JL]ʻk:hG#YtSWNgt!DlNp%{)D5-Oilt L֨AX&zOr<ﴼfk |Yl@$2ĐETPGq0GY`5^g5-~S8%O@nDFY+AMp |0.AU`7m{zy&jp`tO=3*& ӁY6箘>rFdWfҹ:Old=] Ѐzk"zs#&# 9$XsxWQO0Q yIߡ>O`6"Zr7ox;Xв`urw1jl,4'ΰm.<$c1ix=PĠs|3 @SD0|}Cc u 1Vl(?H2-@PE GyYxe-iq[ͦAu@JHM{"QyX [(Mao4d;IYHc»DWt*Z݂nG$te-iߔe>لY,z]L"P ^TH-|  VAX ls40@I8 /N( /~f=054oe@a/$Kq.\fBm9Jx%nfd2 KEbW" %ObW0-vRU׮ V~]+} x5bu"}#<t'OC>|G.VE^pFgK@S2%.u4Z rJ=L @[;ZѪE/ځJc2n/{UW8k͢P E!RF)_:وSF/XtK9"X߃GĹв@i'&+@ğۇOjcY;<8/u{_e$ K ܀{U on̤E6;vT1kqɩ*َR.ybD cـ\~6F <Q1o#2#]YB"FJQȎ=gIxz ;2iKy{n4chlBYC\G Bs*r`s^=ÇGδYDm]GwYG2\ƦVOSvgZv~j[IBf\`K5 o!Wy}pPNp`Y%hȯ!v-(#3Y'u׾)볷G< s*>gN6V'} R*\rgt% <~EfbٔK{^[kоyBye޴r=C`wi b gc-ln)ꛫys\5nϊ,QЊsVpp2PQq*1ܧ"7<6bp 96D;(`i ,D9$R-‚$K +哀l}R%{ sµ`+d2|F| p55O$5}]|SUj@ĥ<&&/F P,Sper ]%`E'-+7nd|#\W&`VC>\!A.rON&m=v* g6k*|sJPS!cn]_ۑE0ѲM c*jao!~$H`zY)| ML9Qz&igؐ1Ǣen `(TE(׿Xfo;S!Mۖ؛>L]EHquVR/pEӊhIIN^h]QlRh>Gݤ؄j5vCc h\[( =}~C0*\jP=!ѢpwS ]ȱBv#;w;j[O|V,g* 8-Aah|?:]A`c0 m(6=rZ81Ew( }y8Q:n^xM?ϣ( VKg Dynǘ?/#dhJ#2m oѽ|-C֍T=2Kf|{Ww Wj1e`qa> M7S@ӎ;@˙ܖD/DRz7nHL;i~EmaJJ3h3SY,tuIgC=l8Ϻ#T,+BG״-[̻ޗ-i"5,˚i`mt[v:am[NBٝ&R8v*upB9ԆI UҫXDC2&*q=צgAζ]rbכ~?j )1_ۅvftÚjt[< DY/jdǶ6_ؑV2mvȴ-tn[W; 'м'-p˕@֫TCٓƞvmPfcV"4 Ru:t\J3:%1&`\+¿gK eUB7]zKED&3Sֺ7/WTZ|?=|)e9a}O|y_G$jI!̛Mw5%0C9YWӊXԦk nϖ2׽W{t},uUNt\:Pd]ܷe$պ'/eoi^t fA{EFnC$ C:\z ixOl)tY83ǢHu:7^PfF/cUc7=O-Nq$( <((ݐC)A&:JNksslVaVy \:o{Kߗ]cKhK*CV3ϩG?quA~V8䑪~> v[!.>y@ʳ D# .ma_>κ ă 1,.m_>Sew,IץN`|{uupr>S:iAU-PT $ġتB/3 ģA=r}ݪy8UPHT'}ytDyV? <6 B9!I 0 ,!~Y,.J}.eh/K~p θKz*Y ʸݷ UGӤi5Ahk@7O\cb`A͎tqqh8Cp}ؼ&vxR+ѥyҔ~[5AEU_?;t|v rIoIQf#a;iI^xAE<U@@9y{E2ls*VBWlyr OF+-Z,joN0WTDX M]OfښXF񨏔"Ej6r NJ0(>'"fƱ( zjT^)1$fBi Jb{Tu)BآCb}q=[7y6L~mj Hm!Z>esB9_an5fuDM|J*y}ҟ\7?s<6!tP&0j/7s?㭁Ӳ_\R'dWئZ[&'GZv{فYW) IcuGVL5F˳ߕ'Z`=) "]!| mSn`X${Z 4cS23A 5b({sIJa萾[j;=ϋ~ ?ĝW2y'EG *<7%f/zqfS ?' T#/N&PNnp_|+,6`b,MJ&׼R}b5% endstream endobj 177 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 851 >> stream xuoLuGa9zƐ17 Ө阛@6k ^]B+mi[BYG14hJG$K|EB~Gn/l׾z7|>AۍƎ㭵بo߃8`qp$}%;߾\RK^ 6;K b y g0}02Ÿ.:/^߼}/1M 6oS! MESsHVENuNSy ~IohrX?|L^Mq6aa\U<dW`}嫅gҐ#\nPC5T46)Wf`P :#ӋNDjeayjraz\* 0l;;eJ Ԙ3[/64xeA!d|9_^{ϕ Kx:U;+ *:l"/U,_?\0韠> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 179 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 626 >> stream xgCMMI9%aN  ^YUnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI9.CMMI9Computer ModernxyYZsڀY㚤(fk|xzY\OhVvx_[ Qqͪx\g`4~[lmMTwvxxnqriZwŭIƂ|uCQYWnp”a崤'ϐu~yxbuY\na> stream x}[eu{!?UǛw2@HN,HӱHQ3NuWeiߞu#"!09_77/nO}_cq59[Rvךoޔv\k7kx\R]DW%_5Eu@U!k)p{'bV%P9kMr u^Ց*)x\/zq7Vy/n޶k>߾ꆫ:ru>ݾx{ˋw|w\wPwyqW=<{C?O;Sףv>w~7͵\~(Qs?%\~?ǵ.?~GPxq>ᛏ,Dt.CŵOUMJ ^=!UZ/~z~ %tW(+'8i|q|e|| _p0>}3>n|G7>ɏOvw|9>=OxWw#VtdU㦂rǧ7U~Ys~|ܼ]Ub|MގO'jRYƧ Yo<> @ r@]z6~X'+vt̓6=M'NOgWjJ/jMYk'z4޿? `]kDpn]jஂ7s~x}>鍁s9#jwj<>'^>}}׷J_n{mr o?ͻ~R|Zoc$(: | BG 3zޠepʭҥ !K漸~-xW¸}^rWƍץm\]_*T?/pC}QyHj}#"˟n~9ioڦt_C+ 0F`X qLz =q{z=%Ú+dIjuWX0v\”p4Wׄ}zClL/^I* CjN. ]:8{j؇e=]5Rn ިQ68YkhW5S ˸UsZ~5ΒZai8 c(7"5bMu=n.c _`>_1;7vGvquϫKaCa+0rCb b)q!foV߯K94vk G'ƼA_- `z#@[ku6..___ =1jW-Rr|;,v1 %ɾ;cZR *jXTT,z~?Mw>Yp5dڜ9/6WHTEqw߰1eX)ܷ0yI6vw$Ke瀃(\= tvyw_~/z9TXDtۏOO8{žr֍i=J}Ur|tUxu UfULWARyVh +ܭm}k{;XU_%ERϿ{sf*}eơʷ`/YU/Ec0v xI&;@IHBW_)%H!/FFt* 7{"'gHP(yR}@_kVHz֪7Z$:7.Dn4^?uQ^Cz tBI:9aF[DgS)$T iQQ Ԅ:F Tm!L&<H6E*}D,zd,0?zπVىJ eqC%h| 2#H게@hE't MUEF"S;d+\P{& @ ;xC4U}ީп`h*J#g m*ҐݰEF[E<{Sd,(j4F% >2w%>>a !0@*`\9p Bntg l*g  AjE G`s(R~Fd ae"~G󌂯Gj}nI H)hI&l&">ERh`$K\T,AxbMFČܠa7i܁1Qil*ר1@pi!g "EV4 «&nVN:H4`po0%0[ kA2 {n 6*Kh֕ŕ{QX,raaD+⇴L77@.:6Nyv0 s+o%A~س#cwsj4] tl4n0`茺"=ۀE[#:`䙁KoHjz_2 B@~B*I &m㯁̄v$,'!A~RL8?x yRT W?\O$6 %2RT0A8p;Tl*/s MŎ?!EwT^x2<к T=*vx^c̦Z"5௉oR< }& HSb" f6Uil,x*M UڗO,DVѳK U% gǶsH !6xX ϓlc=_$,2(l_2G&T4`}ul+pxDDGF+Dr"_C-=FW<;鈍 @8*`~H92*k#@h\NЯ'dQqf$v@B[%`T2+ܣ(ӕ=eYTH| (1s\vepx/И@暀vע|vⱫ[V&p~1'AjC1 Xl* B$:eLZ"*)@'{F"  2R$t7 vPjم) 2»3u\R5oԫ[U<(*EƝ 'ňZ=Ā+o#`E2t sG"'@,Uq^Rr:?TF\ GXNpe 0%Dɣ oՄD]?.ބ+LHgM(DjkBF'k]#l4Bp;Q%p{H@pU5 `oY#Q'%|"4qBb,B_#<8LWc0&$oBX4pNVc' x*Vk4!nrkl9!nLgk[#nVw4nFؕЈ[=\ݳш[=$\҈[6S; R#e5a_U!j,X#~5xa\#i5;8Vkz@#fЈ_%kZ}cV_/iT L!~HZׁd5yUFZ}uXKpR[#yV_kĭ֒F(8Kb H\-%HDD#4H\-űHtF#yԱz=t"=X(i$^R=tr+/P={8RS_% j/FHR#i35p,~^jduzlU#Uh5q\pW#j*kȳFTHZM%p?XFj*kͦ}'[pNFlc7j|h$Ϧ;(]v/,nQ i4gS*S).Fj*-3=7,>ػHYM%{}B2q7j$5WSަBdS#ilj=ڱojX75k=fdZiVȱXok75kMzFFb-Ѐ[ 4cX树Kr%4 yQ?R74E}@#D#n5$h$ƒX=AF#ezah,Y? HFl2)D4x#mJ#+$ɦ;]c1VOHZՓ4r̋đKR4rƒL9Xqc5di$ qz"BjXLlHZlYl9[Ehس"8!"8!~/L; NȼG\=-R&$'d1X2y5 [uXGX; H)3k6lܲZmZZ`X gk;[ gk88[ gW0 3Bуym`<]̅`b-$Z̏d>b-Ak!i0A}Iem^aZvtƎWUE E8_B54%t6k>ǪqAf %/%lM)"J 뇳epY+R9F' 2DJy-B18YY S9y u|o*_;7:yiyMe:8I[vr^WURs$Okg,LZtr^U.&|C^@:v @d-HzRpWiM^2M 71 T' 7Cf܋ǾBS;q0,$Jt L&dpgSV <ʫC^^B'88{^NMB'nkxp ReYMCBwhzyU x Oȯhu0 ,"$ nzA(J;s$!!mLmHH$ V9f0kw}X-6%GYϪRYx` }fx~$TKv*#@a$rt)! '(&JR@7(V8"] D%W(0 I s=(õE1C4G'/|@rTr?0\\ $2 W^pz~H8TuDղ%毸od#>f Ճ=yC%&WtI8y~%ޘ Z޼aC;`/ TMpVRBpR"a!ߓp,Bj l)ƙ~~AO"O_L3ikpZ9+*$LJ8z.%D*K8FR~y;#HUyj '`z.[ =%%331gՑ&̻Z8h#'/i+9N\5)Ǩi l I>!N) qasV"9I\a#6o4ɕa,)rMcʴ@t=35|M9t"}& м|AbEJ@$W@:AXzB`TWZ&0Ga a>%6_"UN%$ cձVdMsMtke#\V)YV6RWPLHr1 -ɄT3.J¹  $^YҼ,WZ2;JBؓl@& 撴NMCh ԉN;KЃ&6S)ϞAb85OZ!rXz:GL5I#&Hr"?!˝݊ $ vQdϡ[18 c楰[VZB2QحtИYފӏ+[ V~g?[Bfe7 X֣JSV|/.Vߋ\CVt=*V xQ1u«HsyV PpVtb*֒][UL+ߊ@V&pW#Wr?9p`WJ"5/f *?Gm5aQRn΂\^no݆n9Gn>^[zee[ο(XuUjlt ԁQC U3XʃU0jFPJNXU \a-6 V%cҰZ=at=FHDQ+&F*Xb4XNrj/Fƪle16VfcrVM=Ǫcu6ZAVOhY]v7Z%JFIɪ-E&ڴQv2OFHHY)CeXF9khoY}.euU [ŌF*fFmfdԌҚUc3zmVͨYezU*tLձhY=) {=oĜIb-ٜlbO?1'ST6'X̉-T/ts=efs=Ɯhcٜc13z6س~ASCt"{#{zZ=Qiw=ɜdxڜeω2gI6'RSV Y-{.i0ˍ'aYab9#^~lX. c2QaXfBޱЄIz͉|>{99CО3h"n44 F!* ILlL]U!qUZL[UVO@H `ΪfVw* HrV=!* `:NTU@v faY' $U*7[T'tz/8!* `jlNLU@i Y:)Ue6PRwXE `>ba*ɨ' \T*DU1Yk}:ҦsU&" h(hxBHjjIGոFt0HiFpcj")FL M1Q%]ij>Fx& iF!<MMVBڄФ'$4('$BKv&  E#Lv&\%;5!rMH^,%FȻ$ !'qBȑ;VK:!uVK =!u{VKG?!u1UgjYaVFb*Ո_Y)VX3K5RkufFYX3K5RT#q1Wgj-R\YKYf*DanFj.*@anFj.!*Dȥ!rj-!H'j٥ZzBa0%1:ajkyZy)"nb"rȉUUdyV(0W(0E`fD\iVzt~!NS**S~)R!+Kq#tW~TL 'PN`J:pkPKiӏ ,R b^痶ARЋuP;Q/}7Cʙ_ZXKqJ/ŴɨR *;u;R'~HJRD(S0ec9"I攜'_-SE=pCbJR9eiN1J' 7>LLUVQA1ŔRSL1%vߦb)e`)kH0L1MGaKF60L)G0m.v0L'eِa0Lq[.)m _*{E0E#aJF ѫ`ߥB`H7eiN0&IemOS\zޢi`k`!"^lu"L0\ٰf)"q""67!/SD$ &)%amcJ pR5x)B1ED~e\f(U#,AǓfxUfP14S\2v)VR)L)%0͔RfJ|LL)qQ@fN)!p %Mi2mcL2XGd:n;Hd}*!Bd J)Li#$Szi)df:S8B2ۑEDߝN4"3IFpL ǴyDR0E#S8L)RR```87򴨙I^Yy Lm`J$1&tA0E$cTp`:A0U5%SDz[+ ~LIcTVk`JI:GLIS#bz6N1E$sT M"tN1=t瘎n;8HhKϊSBt64NDd"A TL2EYKd&R㪁*٘B1Hf5V )!\B1UPL1SLI1""fa98u)"l$>u)z|"t3!$v WL3A39S)% UY )eӍ;t,ot,t,єVR+!bKhG0NeU-#$&wX X.XRvXIzvL5<ӱ F<.ZV/r)id'2UVdZ-͍ަ4FsiBWQ#3Q"]Jg!StQCFU*.ʬVըZ؍JUjF֪nmQ5"]ŻZMߍU6VaxBls=-hs=uh=^9ȞdNI')mN['26c6'?ӡ RITQU9V!WX .s6g- z搽9|>s9os*=9p9[О>9ОbhN:!2tBhXsb0'/@8'aF'ı}"*JfNK5 !jx>aNHkHk0tBVGVGܰ 2<[KxBi:!}ntBb-aNHY%| 񋹄q:!e1sN'b($bPΰFz:!iO'䘭%5駼7*%dsl:͘2YU6jo.f6d6lHYk6fl&|=ӷk0d!LEh37Y&qVKi8M6d.iUj_m&ڮ6cwk3`?16i&Sf3ۄgmmn&h<9fomF:unrm&ۯ)6kMy```9` D̤ ˪0/,;c&pXǖ2E M6Z1~0d,0m g1̠ {2f (mxLdP1eIUweYxY>mxi,nÒLmgyҞeneh3ZΣEZ_i9i!Ψnj8j-ktZ %lĆmlֲe6gːޱ p ]{趬o qK07tR7Lvv0-k0- ߰F+ K` ? `fFj?}!љZ^մ^i a66*Vèy& 1"VdQbuL։ChX]bY6.VhX՝4FjltpV*cw6ROIô4"p9 t6ikgxFIuԟЌ6.f|-br.TQD+?2 lpTתܟ Tپ9\sCnuV}j"`򁜡ZFH,F>nb6i0gG6El&rEDtWFԹ(uwmR.ꊗgadė@+IGFw!F x|Tn{\XcǒC#X> ^R×mKw+0D ?-\b U=Hv;*v-_ ={oJV_*xRf /Ma*<7#'@/Q$"9?x-1O)>秪KYQ+gO(4 tãP)Rcᇽm%?W,e'K ++Q~e,߉Eu繦ԥ;-uu:_Me}qH{i-B4+x7m^L?IS#aGF핒@T㤌r_sJRv46u5Wz6 /\kGnoNOt:բq#h̹573\4yGV:ƻQ6wQ)V0zrrz'6~ l?u#euS=DN-[t 6?mjO59p5U)#DEH􊌽hS|Io6iIN1Vvq,vV_Fo~6%]{O8`-ΗzTxj]i7w8=1^d?qp f:1~$ uv`a˒+(?~}g|S4h3Ɲǧ90TkՊGBxq(h:e0H7jPe{F/UT[Pﭮ^ }+%R9r/~Υ`w41|ni ohå^ח6 Oy#*yx^&[R|^`kiPjw ֫#7~R1'{ZS5j/!YL܄z^)x7~,ypC9>⧈3-=H#Io=q7*Fg"az5>m@"mvT-mahD[~7ƴ+/zCOk_jn#&Qϯ%[tMo豒ތʫ{ 28j{ԑeg_J>qᰱ>7┊z N`YWy棇g>.QJ[SCo~c?C`]goZP5iZ?yW^Ӊ}~\` i=d@YzΓY[6fb;N6jN?0؞1)G~ȷx}ʉ3˨i0"sjsGnn:+YiغB6!9P'UKj%M?̋MrI_61U]wSqɳ?F~@eh)G[@ ejmKHO{Z<buE>ŭM-S=㹕:;j/9^blTk%Qߑ+rz&2&vKa_bA9q;\k|.7@Q]p8rσ8bVeXS;Qa#%5ZH|$C\nP!3kKKk϶IuTÒ41J]FZW6K,?™"uYCF '6 U޿:$}u׭gV78WLnz(*`& !PWEpg7q6>Z}V舒 BըE,Pn<Onφ<|ygrs^Xq7m49̂Np`cvQC*4ߟ+["rgBTD%յ#inZy9J^?d?<[|+/u~L'xYkmͱ/Q\F a81i$^ִи.ЗV"ΡlK3 ^h{x3}H/xM}~˿1V"N%nf  oP##-మ+=;aPE<z.!lLǁմf%U}bZ^{ b;8zR'1h~~ jendstream endobj 181 0 obj << /Filter /FlateDecode /Length 3662 >> stream xn#/&qNǀ $v-ڥd ߞadaö5u=bK 5n!.r魓CpEPnp1'7(LXzgĠ@'Ae5 p#GY 1 2Γa0.2CT&T,1jbyxIw_2)<\R=x ׫l񫿿\hQ?7`!׫zpR61O//Dp&4g"6(`~cpñn*^E|lfX zcH<|SNggjUSt&Ӷ;7t^N˩{^6ry3R}xWNU}9dy;QΜUGr~YNhgSEx˸z_գ(dnٱߤqT3`2)Ɵ\+/~nZO=,V(r:/ן{ߗTNgQǨaqQxݥ-'NO7]DzF=?'lV3K/ѝu%g_2_!5MT˨B|)jΉRp+&zHC51}i]êێ.ְz5tRJФ'A':X3H) ;3-י^˥dEVZz(cΣZ+J \l J6v oM eR>(N :;@- KXD7.:u8m $EO/驐fM*QRB3)\d4Ja-X!9E0^ycM *$A%gAUb4H9`kx4Ez_=pCbx]!RBX8!_}SzO2C/S<BM夅0T)H7R@:5G4%S/13_̪u*Įt`.N co>بb0f3F!zKe&d !\rR ^m B][ Xu  8Y۔2p4a3:)*S{'FOA5 D[:)*S"펀f$6]P|i]t])=1 i(d4ؘ7u%D)' Rs[}"bu'8QȬ '9 S>V4d"oF9 =Cr8=iӈFл`q3'%S;L|*$!/BS(31PՒ~Aq?@E.?jd ';P m_/詅-hk;#D‚:KCL`)KgI+n@gXwZ`Ƚ3˨a_pLD?:8賮%1cN/ܗ؉QI x`H\Mž07V)@ФV V1̩$5YH zukeVzELz@12ijh+|MΫgCu{$SpE3sRi7ӄF ֺ̈́1 r' '&T#GE޻"t. Ȳ1˱A݆qLg@ʁmpYS19Lɞ + {rp=x -4$Gfr"FYrC蕳yX~`{WSP#ɧLq̇E #8W0 Jm{`~8z:nRR?G]8pd{ZN\6E9Uh<ؙ%+F;`qkO 4='GrQ9+>1@dPr:Ί=CHM80]W.Ȋ}\ cj#Uң!:VУ~2T^Y' !Ye=5b7K׹Nio"*澴gˀj:ۈ-5wuLQ {q-t}&bKwK |KN@Ws>h܉ ?LU.ԨqFh\KCnr;< d1O-\T0Zyhgmrak4uW4nV].z'c*5?!CMcsLM 3CPhFVUc5*iJ8H',zpt«5@)$m:hK5hiwŽ5VOȤ: p3~'`\=ݓ랪-Ql_[:|B?RWM=9BeseCl{k~U-G^*Z xtlA,E [˷< 2#tG`OGmά]scWNrػ6d5(Tz mYL}F9; snnTͽ:nmS|\p`R4Yl_Na>y 1:̜72[m=C'4;G0pn";w\oktncI A1\Ҩqh?8Rj0N'WNʁcXWJaа>`"+b7o8@zjY#f*nTCM%#c!J]ђ"y}'q︥#hvN+,ةQF;yu/drg .# )'cҝ*'#2omtp))_IF} oTHu⍍{.m2ĞMQh~#R3[Oxb4;}7#܅R* 7_:T3/c;zIݯ[SH-XN[{o|7םdO9:,7@ zKKWDQf51okv^Ә;Obmp{?4r.E/ƹ$YVBluyvgޱo.|SZ{{ NyFO)4M?+ ({&7}:endstream endobj 182 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 206 >> stream xcd`ab`dd v 5400q~H3a3ew_o_ 0012:)槤)& 200030dtgu`(k߅]='x|҉I{fű~iVaiuncocO$I ,[[]Wy=3fϵ[%1M:endstream endobj 183 0 obj << /BitsPerComponent 8 /ColorSpace 110 0 R /Filter /FlateDecode /Height 600 /Subtype /Image /Width 800 /Length 30604 >> stream x|e+@(,PA  2- XWtMt/:4M4^#w4I/mҦ|H=w{lӒV|aurzG\{Y‚$#Tg.qDmExnt}.`ih1aK&ۧx 8hz9O{WUx~4aB^,JKqcUrg ,˭/'~cd8|}Ad>AnV xBv~0?.Cj_@g9^KuDZ}y2y} ҉ q_߰dWCq>hj|y9//@حr<+\ j7.?Ho\g"/}: ,,--eZ'6C C C C C C C C C C C C C C C C CKo1qjCF 7|qc^u7dAF_4g$8a]3N88eqq3wevݽ3Py[`} ɚ GQa?s42CӖQ8˛j,Yc`fs,ǯgY#GG ~rĘ>\ld ͹*06؃8$YtS?~y?sd\?pc~ nnj?^,5hTG?L =ÉU^ǂk\yyo r*Z_d4yuڀ'0r颓2uǍgNib,һ8?OtYM1,ji?Tfl;MK:Mh׏䚭V&Z}!J>2޶F?@Sŋѷ}Vy|q 8Iy{mqf=Tsr17Hge{RW'w}wQ_j؀XVی4n,C'3nyyvDkRlRi3 a^+ݨ\ojhX<8J];F?.ۮaxR2ts֖0^@AO5+Ԯh'Tffivv7v kئH:!vDvW1t?VG44Y1н#@^rHC!*򟽨(k_f5ۀXی4nNaM?t /ҦChqx~knSO6 = n5;oN.hqEsC#K1~zѬP# L+?I:iݠݍ~WX8"7 M*ѪEA~[i:~H h=좭T~AasX O5+Ԯl$r*Nթh?NnT=/ЦChiXsnSOC:vE\߯n:E k's)$k#hȫӦS|Yv]o4* ;S|燡Sz ),G,t^=[$ۤj,꣧dM~~~!tq}}6?ol0e}^85TB͛#=@{ISOSj %~ŅK?57$PK0bu*Zm3Ꝧ %~o4phE~J ƲMV&Z}А /f ^w?:K5 .IK~Kk0gS ?H~Ѕh-ly~U^i<^>EI?,lJÏGt9Ævˡk' buწ&w{->gwo+W]'BW躉Qz:?u~a?>~X}=Y@NTl5 :?l9^Yh\H*$~X-PfSӊWSYl0Yj?dS9L$7qP䳐drRk*D@C(j01:?l˫7U\j)Eh4.P~Xd u?C?՜|Xg:؇C?T&ƕi?'"'5T:?z"2Z]Si"AiuICA9HSc0RIZԠ[ B11 Q CG-fϖ=A9*4axUHInt;#GkM@t>~>r"R RI}GN%dgg5J)|OOcaAR2dMGGQ47ߵۧUYA7C a%Ce??7 I? V͊F쭬ٴRؙ!|hn!~(F)U(=ԣo60GZRP)TP,*.&7ql1$ԓ(:!MBQO׌Z"H{pv >WIq5!*j.VPG9T o[g[U؜rn,.Oi,"hAbCέd˙$&]Lqu&Q4fg'~`!7iGgwȸt6{P:ˉʔ8ؚb [_\C\.*2Yg CL4"P!g Ru4 G=ǥOyztIS.-%+Yğ@u6u%rlOmDc~T {hDKBWe @' 5?1ԩдWXM)])Q09;Aub9^Ku6R*}H2.bQ轗εf3r&7Vr't"17Кz 縭b2 C7UUs_|y9К[l{~>jrR(>l\VZP_G*Јt_;%Rˋx곆F3X# )֤\I/Fha1^;g"/}bŰ=?`X9>Nn~-uҦfy+l[y+oi y5.0#zAMB~6S:zS?h.XcC5ؠ(h^M@dZdYڜGsڭb0M-uENVT[d~hP*k5gCSZY~R҂,344h,1 -j+*SSKZȳ5m&?7BP¨JLRJ ]8sJ]kr>_ӮȕcᔒĢR[\^dJH:򃻑,/, 2Z }m#'Q<$p SaEޡK $GF&ڗAkӲ?_W*H/[ [B hmN}1JaК脪k֮]^\g rJݣ!D46=1֙& ~y !fѪU p9 ~Tdlz˪bWu=דhLUIa?ܗJb{\ hT{$>\+֙N'!ɂ{ϝ}BW6Jha$ )A3B@2awEHP^I>''6p󹺃5?4ޙt|Gp\PUWTRͽ'p yJ£7\*FOv ML:5Z,'kZşK4X Kіr zyj'f^5V*/*[/:?Z=Bn4& M΁֢g9za:?u~ߖ釺3=Y%fVNʥsLLF$=c͕%嵰Qnj{~kDB\($S~aMAQ{+8r=/6G+3NSXZUQ7pWVyd@NW.8pCGc9nWܙKωJ@[%]]1< [K#~l\R-P*x}QbmcTEGi MO dT\%<}w55/֭\ F7+v8M4ؒm.^F(,cٜrytbB͸'[?wpңcQ +7 |rիa᷏^۪g3A,9RE48IǏBtC3ԯ ?ްƜа,5' pHت96 PCΦ;1mgariɩ{7/ߛ8aQʨZS7W=<ғy\cҢؠr^eU7Y﫾䃥+Ǫ:fݹ Q.65<=e:>ܤuh*X2UF54tvȌ˹rJ3r[=o_M4fx>|gv=)HJ˫7^q|=iW,:+LG8BtX\ &i?lяzrYt<- 179nWGcHr)1yYj*VD˚)#988 urSF?_+*y#Lmrģ3gwO P"1%L x:~ tzɞx]AM'&U05'|s!R"/5֡=PVhUB2$"ǧF;i×L{oF 2d` eT_} U!QKɦŷ)?B>6&?3}{/ЉK*DRb<%O>U)j9!%blJ61=+.H;J-,0BH))n3Xw7QVDwHaAr#{s:c.UƐ߶eٟ`,mk%?$XXY~_jՉ4՝ʤWѹ{| tJ:Ud"Qp#:&,d\=ZwUof?deљOMOg%T' 5gwt=~H1Y5SPU?lOeY.G=:e9?. xOێ_^}6?$CuȸtݼzQSNƾ;TR+Zb a$twA0>_Vd%$yI^;>:i֛S;Ltvv8l̨k;W3+MNXFgQ)Yя7N>zFՌ_.TT9u |zBUɕ"!)`T~pB4lVr~͝ɸw\g>n*d}ڟ?;U\2-ڔؒ8t.%qى'^ \M鵅TRj$fcs !ZF58|k;ߠжklf{ =ߘaG2axL%,]|am.Ƒ %?j1-<7ǥnmB3bRS4H8l,)⹱v5Rnyu#Q un𬿿D/)SLZ4#]'8etnG[~vmXЈUԕ2JO]{p̳2zYQSnZ_fؽPXׄ麗HO?仜D׏fqHd!\q\ߚ1äYO{qsGLhҎKsFO.,йk߶P"mg;ut*GH+HOU6(炥8r"jlTN'c,rή$:~$ҒM!Bp^gnݻac89uF uptoC+k*n @RwRC9!jETfش ^jGy0|ګk5X"^d՟3l/ܼ6iγ'O7t=egꌆ4wpCjJbBLևf\j!%1Uwݼ[X}Ef͘e~('tI\ V͢TďϹR3NFNlE冇_hʄ?]ڲ%s?΂,Oo]nPYuj(؞eaAY)*6YGю:/ui?w|{%[sg* ssƼXV 'CJO B2ɵ߼m_wv&ѭd>xP 抬GUÒ +7n.1mG/ݶfş5;B^t\R 6-3'@)Jyfۉ-PFT]$o^)tʫX弮y(~}?< ]u'VzJ@V]A#,:&(M666m.-b̮H"+r3{mwl$:x[7uw-S`6dWȑ#>oƛoHGɺ[v,Uϫ n}`h~(-cSy{3J?x_ tlB f#MFz_?~xcg֭HK,~võ,KθDvf=F;ٮ%4b {]X-@ ${mqo;kܼ{_r^Y|~_GOf6'*f u]?$$:=>-?n L<pխ+V_v;~`on\OidŞ]pqh#Cslg~ t%uh>d^]B m8U·uz(!be B"EF4ъF֩6b ?Cwm'B.Z & ', qJi՚S_^'jh[Ieq;U~Xn򣦐FH3<} 9J$H̄͛NZ~7[^MsQںMdzQt$լ4GH |R$ hZfWJ$zdfq#Y=Z 4#1WfLRdu?ZTc6? Ec-k8{9SJ^JY6ⶁ?nq{غ$bvafa1Y#~x'ʱ3AG\]{v>ˉgcsJJif~Dbz1҉&=~(%,V)K`,3(<A Ji?Y).L͊*W_¨*6灁\PA'T3{i֡2lsrv\$6D)B_J}~#5)K˫5Tu?!,7_ؙj^uZS~X}W>)kmfg"}ЋhQ*Z̧|vZzc$%j|@ 9QSYe=,eWQJ42U4~Emlbrш"6`S#2d|6JݡVmg QS` DgIYxUl[z-T2!nѡY$ > ٕ _D$+ehߑj|AIHL)$ѡ؋)lzAeXZ&!L3KQѹMEr2:>~SGS3kB;$㥥T4 kdu:j2&ACAdgepB5Sa ?58(u\`a?)tYS#AΥY%xi~K[b- ?_ >0G;"^oE.6~.?~BC"uF5}KǞJϵ;[Π֣# n`x9;O=+cdV8Z u9Щh3z>p^y&l-?fJ93،PJ1 >__߰dWgM?gU\E1$|r!OE1>c2Ȫi~ȸJr@,I(xl6Oaz;W/DGmC qt$~s+ǀǑ~}lfhVC^uj*Dii"QK p a؟ n\*jeӰAP:>??lXeD5{4la؟X"Ej*ƾW]3 [~Vہr5J}S a؟ !N/2>N1賿r4la؟/-RX&ka082e:جa?>~X}a:?u~a?>~X}`?e)Y +<_>}+SwgJn6.W-мEۉ+25>~F?Yx/"E>A? aJ?*>}9L0 w7!*~U3րV,;7Ao#>5c =w}aF?- Xtߍu[ 7o{"iݮ3l+ɜa ?J6GlPW4s5Ȝ5$i܃ӡEJ>hSU:q^a#yxcAoC2vkG1 }XXZZк* ڏA~7l~Z|_>~t+?u~a?>~X}a F~3p6. ~#ٳv_8>~$O? / @a:?QЂ;a?>~X}a:?nOx'- >I=p}ɞ(]'Nn0 ?Nxc~x4?6~ f3sVc~/aJ?.-8ƼY*8_7A{ o]2s-!z h}l]ojĤ'u%\W2P'=}KyWu V (y_k?~~YhJƄzůNO1s%zAfSm7g N\ >@2=a!~}Iyd39Wo֮,e+@h!1ks~ȲĔYYAl6w=ؕf>:~=D>?8*f2i~%;7/<;cRQ>fFF5?Amc^H&S{efGRzV!~ux?pSuʣo"H!0WAψy$)Mg {8U,[Zb߈"5ɓSBqQ?4znV΃J62QtC?p"_=N/\E[8+VI`IVL(%H:yF|_K?U4cćpF؞ zrdnzLRPVFaD>q~xS)|wk錎!K G+l ꖆZF&W6+`1? rKDlV5:V4 EMrq (6`VţLځ=_8x>h?p aXď? ~\=_@ p}ˡ!~~̽h^aJ/p{8'OL ~{rT|g=}uX~vXQI{؟8=}vX^FSLދ? _xo_B->->_9.,I|/@ok? =`*ܾ!eh!S ŷDk17H <+ JUk:YPoG7њm`" ?5Z6_0?&cGr0ǵ{(fDI5mhֶ i~< `"|?~~1р:Halcڞc0cCB(~Ho{F)Ə6{D[Cj0J +륟`s^r/u[1L^\zd/>2V ෑX2r=DbvUj#%C^z秼< oL?"|uڀ':of-Fw*QʤS#_Fm+5cYԢ=6#tCj 8;a _H+2~H |O>!җwk.f=d+vU&6c/(s/s/~ 6h>,A~ujxww]G :A뽶]~@IT\/[9 گX(,+ a^+VHUk,ؠf;tfkN?1b\~H&L~@MBdA /毴QH;N."KB4KU0rîC/>@>>շDƊWK3l D)ӫIr# _|^hT~9EDðlu|#!N 'ʁ4oMȒhB.4(uCz9`4/: yA _}u0{Divy\v%(U}Sx =Ga͏[kXʃ֫& M6=R AO˦5[ȍ?CF<{XHk~8.j}p|oFXA@g?Oyq1c /f(_Qc 5?+.A;H]~ozo`7֫ҕ+o?& K&=$hTy!󗠡c~(Nr:x?b m5 Ntt.ssS4_C{]V?C7!o߯+~۷Ewvz?잗uOCЏ]Cvhx<o|֥9՗_Ei|%Io_}P2~J`M8'IBN}p6s~̙ p}ɀkp _8>~dyKRہ'_{ Lp}IhU~7_a?pxzLn?L >~e]>8 _8>~ A04pG#8sZG"iM_/'sVc~/ѵQl6o+i?~bT"~Y*8_EDC`=UdjWb#K)wRA۬ew=CуѱGfW ~f/~HIUl67Ȯt.#J?Ť'uxZ$$NYGu{ш?d  }W:ǿȔtZ(XM @:?"/nIGQ(]:ǃ S=cwJ;d2p1J_6ֶG:RizK-U<<4kQ (j$QXmpFi?< \p"ـP% 鮷aؒO"C]kh dATS^I֕^xOO.;a֟aؔ0,Sb?g2>Bi{ё\ՒK 6K MoI%P,6 𣻨/Q647Mi^~ srz(Q| ץ:pNINV]((094G^jv\>Q1b9Ō:֔^v <6rrRlq-i "%SLEzhۿ>[ lDک%E*:G_h_c\9[ VLbF e$:Wa% 1kDηo6O7 }46GHXgN~HE\^Y'!b4u9;5m$ ?|RDX!xx>_axn!np]UH sSh TX9A/2s64>  NJjŤrz 燂_RUt-<'UI" jX{vcI$1OAA-?J  B[Gպ~4XjhSCUD"pg{~ĭ6SDzI#AY?z7tG ʵK,(+zPĺ~4J:rRe?r`> `q5zC(19Д鬻?jjI,.@ľӷn֣PX4.B StJ@!ͺ Sc%p#Ϊ,qo=?=vAx?BUMtcޝbku_뤶E7"|u H^~(긭WZή4Ghjk%L4<O_1yezk]9ru 7:2f~uQ֡g<)۠i偼Tlw7H?+:᫞nƂL}wg}a)q`b¾s?~(>~XGW#n4 1TAZ!t}Z6#iTŚB:4Mⱡެ* !Sw6?u<Ȍg'F!$yB |֫8w&wT,gVCXR'S k^G\y-y뼹+4'yN */lgD ԏ>#gg'Hġ)-H$per?͍󘟿Q%6C𢑄xQx2 aN@ۗcŧQ!e+em q~4`~ıN=m(zu(;p,'IX7r`y'!~qNs\xƲ?|N<>Jrc[ďpԦMd[zƍEwbuJN$ o9O|Ͽщmu~y rӂ11?-=Gm:9rܨ?xWQ?.<9&c82|{!G'}sCcJzv~e'|GC6뇐dABT% ~dJYyYE4t ?^r!#1$4}yr+tD-)dun*Cov{>~֬sHUS X4:OM!^q֭î+(vP)E>?/|shHcUFVbC,)$MYeE8뇧]~lNZt܃J2: 6&CFb s2.V#p͏pv ϟ0jԴ/?_lBs ܢbvM!WG\ϝ;yP45xka`__2y&))LUM=S7`6M=~`sU'㯻wd䔙Yc[j^Wb3 ь;y)-xw_0g/]$IDbFyH2}#F@FB24ORJFeA \skO3y8Gю=FU+?^-IJ'CZď+} H;\i|s |^]XVZ`6_9#B#1Ʌf=0-CD3Lao9iY,^}};EMrXXۇ->iybeuCHC'+AQGɳ\986dΏy\hBRrjBKewAп`,rU\[gp{_<Fg5IN[dUUߟ1w6uZ\A?,bn**ܯ{h3Aߓf͝8iy&6yW͡鿯m/aVM1B?1 ԑ5çANFH;K.I:gH7!q5[.,LL`6jܨi7f㰃Ϝ8oX}P4TBܮW<LWEqbᯍvȡCG:)hꚍ o[\EK[zQ+u:Zj{~/? ݳo\&'fgu/C2T4ϐ=#;;;~[w/ ݷ9n.$srH n$vs1488:Ť n 8}ǡN;8 2i`'DΣ֩ռ--S}XP^I+H3ԝc.zi]8jAN!yWo_tIOONGgNTC77ԄfdOw4iH/|36!r;I5FZ=μ}>}\jCs33s#ˋdgR_)`ȃ@ #F"Yr`mX@!#?H TNz6Uڲ{ F1졘 crZĜ k6iIaƍqp|Nq>mʏ8)M:x U-ezՄ[$s凬@!nSGɌRʣ'UNwS\XDS4S %:¹o97j?:PLW/Okrcb,6c]?~A>'rMI&5Ol2)[6-հ xgcg{Vn/KMUɕb)/2r+5g'[oa7QG7[V@"S"BȌ*FEJoM~(% eWꌡÇ9m1хQW&\صl]i[yspyՃǏ -Q>*YU&{s:>>>( ✱]xs'O|}3\'4s{g}U*Yk/ո1ns~rYaBf٥u;Inݾ}],C?oF"+Jԡ0uDyzGL~#:(M#)ѭ @'g h]|^;hGG"2&l7z}K]lӾڵyz >03EBbkѼy~)]vkVu`-Q)D[˓ FL8qCn<)-գ;wG}(ZhcY`E4s 87w'{3Gbŗg>՗z}骅?Nߎ~R=zS奘Q=~T!~\)UM =BԴ8Ve}7 c^{?;ĭCo!DQhp3 ~m1}Ԝ+ǑKz[K~)vlq[5f<=~4QBWfg:a5/jXz7gly/xkƽ?|- ,RGח$'24w@ܠP!V`OyheD,jŖ&YM!RZ}y&X&KЪ! 35zt_ty'T^+&Ud-*¨ ($ =V2[𐺖DNMN*񤰼/@N0?_Czd1M|7fE ")aaf\dxٿN]-UpxGi͈[CכǭCg}N_?q㎭'ZޣGڰZrӜqw!BJcLk{aӷ.4ž$\GeB5 A)MSwv$6'Ì+-qo)N{Sr_w_r:-/s>ɯnEF?;OƘ_$ 1OE߸{Ż|g۲VosҾ=UegFTM[cAdk~7T%iDbRPZی6cATwJw%3n 63gΜ0UTV}@r7N܋vw|S::[ckH'^'O_kfM[ͪ{ۓBV^-ej?>XyU$g!OXlWMN= FCԏkfl !~{rZ\'#Fp_ݾ{/rȦF0 4IQ$rbDd8?gޕf~ݪwthYď+'wC>tGg|7lTUg 6ZT?$" 1Bhg <ꭙo! ?{|@ZۍQG<~OS;<-y̙cߩc_G?wŇ3lxVWA]>Ağ., ˭`A,h8ZZZ(-PN4+M4MmI6I:i%e3_̛yfy)lsjF.7v+=GPaQKA~a/jd=sYj\V#2aK:| ~$?S?#*>}pHR-˟hStAܰu3C߿Rr2%)ۀNTW "]&D%"cu̪b1WzZ.N,io[j̏Uh!m˗/2ҳK璳.*r1Aq\Zf'y"?j?BR{D9;' _AS=29K-ݏQ\ mrc1pkՕD+V U@C)Ӓ:*a\|Pw?jJiP~'s2]'N-!u9yWRqrsOW=)H#27ĕ,N?C#W?Ye:}+SLO 7Ů;7LX[Q7?,|ec2f?8]HDeKbgG{Q@3?ZgQN-]$$ȨDjYǍ;zG|yfrEbr.AdmR2qs~+^'*scŮ.c+R_!Tn܈Sgv9lpv'HI.M8c3ݓ-8璫G5z~%Q!lV16잌XA5WS~ٓ#;:!:P@ٻIdznjhq72cєO^gU*Ev9=FT)3e`^~uп/g**XRɓ; ¹uu NÜo|tpUGDT>Q~,.)552Vq07/L&Ep "+r6#BU;ןyeKɾyb{vQPm|s/2saCQŅKQ\Y[_XīAkQW((t^-o?6JpG{~MknQ@i+KL=sIuWx%!1-)K{lFrqQ6bҤSSSc֮۞`U(Xnݠƽ&٧3fy{-7R^L&m&VZ`MMl+C;:|ܟ'k)E63nV6ԊJ"fR)4&IQMF!#(\L@~81êf?G2'?sV -ѣ%jP"T3i7f' RSFqA|·_\&J31KP1|=h+:>{LP'\mH+)Y 2iq; <,0jUMT*Ykg{wA"HZtɚdoNl΄́ݏ'tL?t4$6 6/\v6}{QW3&1TT7_V-b13-6" Vp5"EU_:R?RRS'+] #u_o(x}bq]s-bV^nҵ:Rfۏؗ&[*̓=Dnؽ{W, R#kaXƘhlde]ҙ _)%U5ܯL|C-~kDrЛ(rowtͤ2gǞ823q,h~xBǗsc۲'\\BRXX^rX63>z''=,]j<HN,? ey?no3+XD*`aV)?C-ͦ;23RQ*X~8z._+YQHd`+>_MqwؠaɵSfji]ND^SUC)MS凣Fee^~r Nyͷa!)wޑqlTtDcH0 R`xS5!-jn #S)`. Ν_&֚BMxϙԔ}"1M|R&~D]e*'AÖGQ{v Tos}1Bܴܬ 㦢Sy;}dk8Uu5M'=UB)`?r]k !{GݘJY}v&fRT;st{awpҙݟ3{(?~.u+o,Z9v,hP}gSF J=1d ~PM1eÿl)vnm'eQUߥ\bI+m3A4<-Oa׈2$n){PZ"+ݛFD*hif ;cQ#miky j7㨜M|cBJN +k'Hsh5t ن2k3x(DyO^?.8.?=\>#+iZ72xhLOJm.AQhGJ G|<~TPն3CުxV0)ФxPﭮm)<`C{y(@~dq̺x|E$2Á#tW+e]Oqx]+ 5եWkj;_&33ßʬX?atM?0;;?~;?6& Qw:iv)]w[M!_ZØ6ɳI8arX=8-k?_2^[Ҷc~ OLas@7gw(R((H늏Latu+׳>_KQ147FaQ| R%+c~󈂔2(La2y]U f?5"'-2$0X I-Pއ%N+~6H}G<<!P'~xl{Z܏zu ISsF+i7^j454vᇩV ŮUS;;q>9ehkr.J;cVV4hjCi<%iRmr2'd_#6N9H}]uhIڵZmaw?T^(_V .F{'"a(왤b~4J*P b 3~=G7~޲)o=ib7?lm?d]Ԉ**YQAVniԤ5oN›Nմ/zg IUe'փS#<JRY]?zZJLXT D)K5!^>~eԲt@苫kEN;5lFLbI%&>מn~FrT0XUJ(1פ aQۚKDZt1ҭ]5^* ?d'ēJecG)vzG=Ѡ-z,kicW SJSUpG~CWwr5HE 츩6lҥc-:^KpFx *uH b |][J] [/_&h1AVv~`v~`v~`v?ɜ~D/nݔf_cݸais[Ӌ[;^ܺiYD+ׇ͟GoQ+?pzqs /~D,W1э7FzqK^ܠ1=m(z0zҋ[zTzqC^W|ޢ>|^Bz~L/i- ~k2w-#ouCqV O/nw;Y^\hzqi.xP/6МoV,wz$&ͪ/ϟp. hhp~~~8?Z?Z?N殣2?"h7KŇ̏4g~a܏(ҋnc;Ashvxjhjq >q QJs).WJst1f%  P4al~O/__I1 ےL#  /M,C3C3*ݵ,FႣ7vrQ=i~f KgDc6V@;+T?Yn yawoӘeKi׳ИꄛswcH8~k(YQJd2z9}\BK=8 3H8}YMfnއ:Iٯ9qo/>ȥ~=~Ϡ)* [&,i3`/Růtg8K>p$Ghd7Vs);;+ݓt|YEwkH81v>6-J Zs_&Gι~OLa}jCkh߽}qZ_}b;zJk#\<⣻sHrs=c)m{Òd l!x6sܻ6=hח$î-~|7 ܏\NT`+wmܸiӦ8t0uA䇜2-펥0<ȏoSӦrGcP_s?=B\kԱ${7G>\Ï樥}Ǒ֥iJL%|$ c7yQybhŽJ[=%5}G'?MpC$>9/K~gr4eAt~$(9L@sjw.+J~mIݏIIT郜5m_n\፯I %ȏN!ʉ>á1j5竺RJRG6fD'Й? p?;hwQe9h`Ƒ<Ρra ->kIs&A~TSCԡ ?FNiQ8V?XԤoaHǙȑ˟p~p;gs\_GM'~Ĺn]8hkHR¹zg8<4D%ph['S 8[]Q9OGjAGs+*S[G6GඖF>?r!ޓ:*t43Ifq8 ?^6 i=*> stream xXY#E~7?. `XV@xn1<#Ti&'őn)F'{_B,pƏ˥N-n KSu'HƵa?ch>k=:}Ūa7MN8`6 $ݙlSVLbfn!c ۋWrˋE \JG1hTvy_>s( ָ߯x=͏j?%?΃ q';6Y}jD ꏋNĄ)GV. ]9깮m]MVӅ*0$Y>zL:!4\1(|Ct2(HG(ڃU%bdlSJqx303:Z1 =( ~LH:epsR~4«ve/ %kGVH^O V),RPh>,~h_n, )!%7=C:F 5N5Z+Tۦ"46Kf$ 80C$vGƞ0ܿÛvbsjTc#xXIS'rݼ]˷ 5LEVܺb>d(V\a y"js>(iB\'J>c~bu*8/}#|{nza}\\%4šGf +DڇIeJ3Zz?Q/GEIobAɊe 9'ꑿ|ؗМ t ZbB:๫òO~`_rFy@v wܤa֞+1>l&aW>kuZ[tŊYήT DxSKcNwev)_7VEC Nd BN&*+s HK2.zJ8NVp+ (1Pm#ajJi)1(Ά_^$gJ&HuaXx`C-I6p%է'd}#a< T&X1yH\}i(]xpmH@'Hz {ޚsL4W/ S_f-$ 3ǣk]5a' nrh-u U9.ѬB'l  yҾu\E4vm:@ O[Nulލ._%<8O6krfĜ[vuz{0Jz'ЂQq@b]]9H_X-32+77K[JK4*R;\ҭh^T 3lkknk'n ([˙T>}%\>\ū|dR >c$z>}xUf\ևSrF0}@#|,x-cuV欶jFR+˺eM ڲ3F0g@km<LэISU_fGᚦ(4W2,s(c fT3 .YV 7,c jA^L%kysVfknٖN̗NxeXZж#xAfga`JD=S#i!ūubq\>f"h*> stream xZIo\wD_F/,LNN2x f `&6 K^}mp.d嫯Z̰/r+~vz傘W+`vj1+j0[Gl4U{(e=[fV,δ]򳶁mʃnSmTFMʞzb}mQ/ǫ?,:J>>_%5P zvs併6+7=(7^RbߑRrNO~xTmFH"x!e^x5[P?ijNo3AG0}+!wlO9hҤ@ D7D:tT)  9uZYST^(3--L/IBY$xQlbT}WS/vSJzں͸ *PV}n$~u )9tFZ4/꒚hrI-TmLx _74 E8;ͽ=^s0RH i4AA"M<) &8"ں 0 l+)#wyS[[m}h`LLC+(ht͇T1?^B59KLB6ʭgWYﻃPu9E;= iNkhKA9R\V}9:4OM<Q3J,Aizz;uaCBfnq53p.#="\٬ƂU~?!l/piwULmO90e9n:>0٠i-_<^\^Słn;tӦ-*'`yXХte:5?1aYDe6=bKcZ>1hb" /:p:Vl "R(tiDO\/iOL&AYmg\ęxhg`>,++zrP;hy"@rWlc(p]D>-@*a.֤ui]EmYY G%ì YަƝpZiBK—D}=eY\~P|\ 3k%ljnRļvX2B>_qjON-}:=miACmӻ<ϹÒd _Ҏb1换6,Oˈ~MXZ$ޏunӲU9$#-!$gEPArtwІh_wW4c%]7$CwW4q: ALfϭaJ7Q{C5Kiˇ-|؞j(ŷSEid~fck$5w+&a yu P$ B[^ZնvX25?fkX,p\Auhfi_'Rendstream endobj 186 0 obj << /Filter /FlateDecode /Length 1223 >> stream xVKo7 ϯ"EQTon:- 7aخγR&.|X Ǐ,./ƿ7 ` l#Ui$ˡho5ZL y}5$aAnAKPъE YiAxn P?wۗ(cPi E 6" u9f; jTDmGg'gYϿOJm@h~6κ$1-7<;NY9 {29ޜ<ƒ<]Y?йDk8  &$A+2B2g5Ut!g!_C&Jb`*'m4%m*}ɠ-RDtU8$Qo4w$jQe. 9|8vecсEACC73 ;[q?mriIENhHoܻ_\%6ߕ'Q{A5h?j/**Ŀ,$fW\M6磶uqǹjaCuUIQ4U3l QX5&) l * -)&}RA|z;>ͧEՙ.Ex8]tLqvN7%KëC;̧:]v@I/7=2OjrgzReױԁ[s:>w`/\O`ki a.IRZk()[h M:1Uw@ @x1v3Kj{9E{u^L`#XUcj4oip!ujz}CMŮ44tQK.tאa5l0#l_-hr₫_Dhz 8 t-Y-\oS;Ŧ}r= | \'>in\{A{U> stream xZr }2/Cʛ8M'k>eS,*]F^I8_Gc8$q;1NпzO+}r['UPnp1N3WU~p&t1hULqp6c|2yzy#-U&8&`\dCcD`4ѝ>dRdW^wlW}BWYɲF^C%׫^ IzWj1>:a\w 1z _bHg1zv7JKү+pJp,tQvw]58)Uc&E_ hu!*jHbk1Vy%RWAxn-\șa]LәwlS:Kj4F!$hqLI BEE`V5X .PNDaCi5mC+3^bp œ qiݘgd2rÅ~<4Ff>#۬n67fw|;ٳ͓'8Mv)3z^l;kd1>kfChN\FQ&'U6X(jR|qQ̈:ut!jkA#i.mwCltQ7Et`eXyW? 68F¹P@믓jph <:᧽ L:Cb$F=ـ_|Ā0O a$$Ɛ *D'8w9DyPNǁJQUk(hdȘsf]”L0ш9(k8o(ek-+β82 J,qdt[f]z*"5xY(،2 'DOJ7Z:E>)tCc&ʆ~욞Jily+ ?c!(Jˬi*ImE{߈.U0YN9N Z~TL Lc8ß㫞"E^d/b~&^&{ I AIyAY2#>0fv^ EӐ=QG%Lf4eoX"6)7Dl9qO[|^iȿ/ ,䀮9 _Qy$9DM@E?SRBěKLy}c.IO)^d;]%esCU{ykJ]; _y".u(/H <6K!d,R( Oc[=LF٠%]bEOKRSLs҂=rOZ[Hs&z _E#}T@C1P= Ҏ1зF>Ä ur a3A~tZ w[n@U+ZW4(PgC\RV|4 P'^&/h)M*D~TM֥!mN]JnS5 ո~>Z3 '^z6g]> x[fA0NUawX2$"{@!A ,֤=ʺ,쮊 O4 ]!DвT@4O{ އGu5wRߓg8L>(}uqr(5].U2!rziL70+kI5t,&;()hIV=C FV%|XD5*g؇Wo8>esۥ{϶L 73-sv̖o̯ vzffgTR]k? Lcӣ+Y5w٦Jrjҽc7~UIT5Eb!v>M^^rt\r `//aYX~S_r,`/ ,ߪe:F 2T +i3 ӑs(uT"5c8Arzcz{vd'0:>L\cQ3\X@cgعE`rGd2v\'Q ͩ<*tеׇazO^E"笅cŇMaBNihLHE8|ksU,8e>ޕ?O+h h;ys"jpYPC훬Шᶪ!u' ɾU0kO2MʿoTϳ0S[sJ=7%5ȝ\]Ah3Zx)׶ B^}e.OHc[rTڲr2r'<sHs"}Fx>ADBmOy-FU,/PK\| B-x{Zo$kܕo5۠,W&5,izCu,K{عc;3;s#܅_S8_&䝋ם6 qFÁNʒ?T7^W'uendstream endobj 188 0 obj << /Filter /FlateDecode /Length 2913 >> stream xZKж6vȁAr]Xw B˪ꪬEǗy W٩u{or\3aV+ADe5 #8xi~z ~T![&TY29F")H?!L,t4E,Mvov2r_?<}T}Snr,kBIe7! B'δVcaPBD}t¸x" /Dpzxe#sÙpmgH3h5d>D,_ j7̵ ȋA/O\&=f/BTԞQM)/L,Dūj;ͦ5mҵ, ˸X]ۘ{:\2adF^Mm1l"Xstfe5#9dC`H֚s}pNBƛAђE Gmj?CVnDA92g|/u}Rݴa ^Iq\ ERQfcúzTiMT$ʐFDpRB9"Uz;cc0e.iun}YGX?Ǚ}ČCrn a{ jo Ƹʛ Ab87ޫ1 żmlf0ޕY I7Ye%k ˥ l֣3U&MmLjC!G Hb 1fLWFkIj+eyp'!1}</{vi:MoLZn86RWiD'0ǗlU8,evPjFikweG9R7}Cct/i,fbOx: ֧D{"+6QKuo$Mn{" 4ʈUBlo Hbg}gt"6gzԞf] yVsXIR-,DxIA ճa "_nP5Sfm&v09|JفkWda-s*+ϔl.ViWOFJ|S bd99ǡΐk>On;#X7޸l{GzVTdB%2:RXc+dGFV JDdF]2󳈶n;vb[%Wo;~|p&e1п^nIHT:#M׼JQ3A+ Yq~] ֥/H2h4`Zulҷ+AGM}RʉD)cI.HO^0(m4L8F]woU.G$o;w)J}H5E׬ӮURKwbvD1( &Ek6wB<=8uT\Pu ]4 A^:7оh9:XuPs]u,g05K1,{b[pJFX۲R SP&7N0V5쐁DGr+t>E^B@U) N2uv ¶"9ض6~a>ͬ@yr[JJܴ%P~6_Z5XMR jt%L|J0Z:|c6a'oHA|ec9b}ǒ )nٍq RFZP^*Nz$G3RFBAm柒b^MȽD].endstream endobj 189 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 191 /ID [] >> stream xcb&F~0 $8J?@6,(YP#3ˀbPwH (H R>"U. D L}@QԼ6%V D:͙ 6GD fY ؝g@4`4@d+ "YA&p̳5x% endstream endobj startxref 200971 %%EOF HSAUR3/inst/doc/Ch_logistic_regression_glm.R0000644000176200001440000003274614416277510020435 0ustar liggesusers### R code from vignette source 'Ch_logistic_regression_glm.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: GLM-plasma-plot ################################################### data("plasma", package = "HSAUR3") layout(matrix(1:2, ncol = 2)) cdplot(ESR ~ fibrinogen, data = plasma) cdplot(ESR ~ globulin, data = plasma) ################################################### ### code chunk number 4: GLM-plasma-fit1 ################################################### plasma_glm_1 <- glm(ESR ~ fibrinogen, data = plasma, family = binomial()) ################################################### ### code chunk number 5: GLM-plasma-summary-1 ################################################### summary(plasma_glm_1) ################################################### ### code chunk number 6: GLM-plasma-confint ################################################### ci <- confint(plasma_glm_1)["fibrinogen",] ################################################### ### code chunk number 7: GLM-plasma-confint ################################################### confint(plasma_glm_1, parm = "fibrinogen") ################################################### ### code chunk number 8: GLM-plasma-confint ################################################### print(ci) ################################################### ### code chunk number 9: GLM-plasma-exp ################################################### exp(coef(plasma_glm_1)["fibrinogen"]) ################################################### ### code chunk number 10: GLM-plasma-exp-ci ################################################### ci <- exp(confint(plasma_glm_1, parm = "fibrinogen")) ################################################### ### code chunk number 11: GLM-plasma-exp-ci ################################################### exp(confint(plasma_glm_1, parm = "fibrinogen")) ################################################### ### code chunk number 12: GLM-plasma-exp-ci ################################################### print(ci) ################################################### ### code chunk number 13: GLM-plasma-fit2 ################################################### plasma_glm_2 <- glm(ESR ~ fibrinogen + globulin, data = plasma, family = binomial()) ################################################### ### code chunk number 14: GLM-plasma-summary-2 ################################################### summary(plasma_glm_2) ################################################### ### code chunk number 15: GLM-plasma-anova-hide ################################################### plasma_anova <- anova(plasma_glm_1, plasma_glm_2, test = "Chisq") ################################################### ### code chunk number 16: GLM-plasma-anova ################################################### anova(plasma_glm_1, plasma_glm_2, test = "Chisq") ################################################### ### code chunk number 17: GLM-plasma-predict ################################################### prob <- predict(plasma_glm_2, type = "response") ################################################### ### code chunk number 18: GLM-plasma-bubble ################################################### plot(globulin ~ fibrinogen, data = plasma, xlim = c(2, 6), ylim = c(25, 55), pch = ".") symbols(plasma$fibrinogen, plasma$globulin, circles = prob, add = TRUE) ################################################### ### code chunk number 19: GLM-womensrole-fit1 ################################################### data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ gender + education womensrole_glm_1 <- glm(fm1, data = womensrole, family = binomial()) ################################################### ### code chunk number 20: GLM-womensrole-summary-1 ################################################### summary(womensrole_glm_1) ################################################### ### code chunk number 21: GLM-womensrole-probfit ################################################### role.fitted1 <- predict(womensrole_glm_1, type = "response") ################################################### ### code chunk number 22: GLM-plot-setup ################################################### myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } ################################################### ### code chunk number 23: GLM-role-fitted1 ################################################### myplot(role.fitted1) ################################################### ### code chunk number 24: GLM-womensrole-fit2 ################################################### fm2 <- cbind(agree,disagree) ~ gender * education womensrole_glm_2 <- glm(fm2, data = womensrole, family = binomial()) ################################################### ### code chunk number 25: GLM-womensrole-summary-2 ################################################### summary(womensrole_glm_2) ################################################### ### code chunk number 26: GLM-role-fitted2 ################################################### role.fitted2 <- predict(womensrole_glm_2, type = "response") myplot(role.fitted2) ################################################### ### code chunk number 27: GLM-role-plot2 ################################################### res <- residuals(womensrole_glm_2, type = "deviance") plot(predict(womensrole_glm_2), res, xlab="Fitted values", ylab = "Residuals", ylim = max(abs(res)) * c(-1,1)) abline(h = 0, lty = 2) ################################################### ### code chunk number 28: GLM-polyps-fit1 ################################################### data("polyps", package = "HSAUR3") polyps_glm_1 <- glm(number ~ treat + age, data = polyps, family = poisson()) ################################################### ### code chunk number 29: GLM-polyps-summary-1 ################################################### summary(polyps_glm_1) ################################################### ### code chunk number 30: GLM-polyp-quasi ################################################### polyps_glm_2 <- glm(number ~ treat + age, data = polyps, family = quasipoisson()) summary(polyps_glm_2) ################################################### ### code chunk number 31: GLM-backpain-clogit ################################################### library("survival") backpain_glm <- clogit(I(status == "case") ~ driver + suburban + strata(ID), data = backpain) ################################################### ### code chunk number 32: GLM-backpain-print ################################################### print(backpain_glm) ################################################### ### code chunk number 33: GLM-CHFLS-polr ################################################### library("MASS") opts <- options(contrasts = c("contr.treatment", "contr.helmert")) CHFLS_polr <- polr(R_happy ~ ., data = CHFLS, Hess = TRUE) options(opts) ################################################### ### code chunk number 34: GLM-CHFLS-polr ################################################### summary(CHFLS_polr) ################################################### ### code chunk number 35: GLM-CHFLS-polr-helmert ################################################### H <- with(CHFLS, contr.helmert(table(R_health))) rownames(H) <- levels(CHFLS$R_health) colnames(H) <- paste(levels(CHFLS$R_health)[-1], "- avg") H ################################################### ### code chunk number 36: GLM-CHFLS-polr-cftest ################################################### library("multcomp") op <- options(digits = 2) cf <- cftest(CHFLS_polr) cftest <- function(x, digits = max(3, getOption("digits") - 3)) { x <- cf cat("\n\t", "Simultaneous Tests for General Linear Hypotheses\n\n") if (!is.null(x$type)) cat("Multiple Comparisons of Means:", x$type, "Contrasts\n\n\n") call <- if (isS4(x$model)) x$model@call else x$model$call if (!is.null(call)) { cat("Fit: ") print(call) cat("\n") } pq <- x$test mtests <- cbind(pq$coefficients, pq$sigma, pq$tstat, pq$pvalues) error <- attr(pq$pvalues, "error") pname <- switch(x$alternativ, less = paste("Pr(<", ifelse(x$df == 0, "z", "t"), ")", sep = ""), greater = paste("Pr(>", ifelse(x$df == 0, "z", "t"), ")", sep = ""), two.sided = paste("Pr(>|", ifelse(x$df == 0, "z", "t"), "|)", sep = "")) colnames(mtests) <- c("Estimate", "Std. Error", ifelse(x$df == 0, "z value", "t value"), pname) type <- pq$type if (!is.null(error) && error > .Machine$double.eps) { sig <- which.min(abs(1/error - (10^(1:10)))) sig <- 1/(10^sig) } else { sig <- .Machine$double.eps } cat("Linear Hypotheses:\n") alt <- switch(x$alternative, two.sided = "==", less = ">=", greater = "<=") rownames(mtests) <- rownames(mtests) printCoefmat(mtests, digits = digits, has.Pvalue = TRUE, P.values = TRUE, eps.Pvalue = sig) switch(type, univariate = cat("(Univariate p values reported)"), `single-step` = cat("(Adjusted p values reported -- single-step method)"), Shaffer = cat("(Adjusted p values reported -- Shaffer method)"), Westfall = cat("(Adjusted p values reported -- Westfall method)"), cat("(Adjusted p values reported --", type, "method)")) cat("\n\n") invisible(x) } ################################################### ### code chunk number 37: GLM-CHFLS-polr-cftest ################################################### library("multcomp") cftest(CHFLS_polr) ################################################### ### code chunk number 38: GLM-CHFLS-polr-cftest ################################################### options(op) ################################################### ### code chunk number 39: GLM-CHFLS-pred-1 ################################################### CHFLS[1,] ################################################### ### code chunk number 40: GLM-CHFLS-pred-2 ################################################### nd <- CHFLS[rep(1, nlevels(CHFLS$R_health)),] nd$R_health <- ordered(levels(nd$R_health), labels = levels(nd$R_health)) ################################################### ### code chunk number 41: GLM-CHFLS-pred-3 ################################################### (dens <- predict(CHFLS_polr, newdata = nd, type = "probs")) ################################################### ### code chunk number 42: GLM-CHFLS-pred-plot ################################################### library("lattice") D <- expand.grid(R_health = nd$R_health, R_happy = ordered(LETTERS[1:4])) D$dens <- as.vector(dens) barchart(dens ~ R_happy | R_health, data = D, ylab = "Density", xlab = "Happiness",) ################################################### ### code chunk number 43: GLM-findings ################################################### ci <- round(exp(confint(plasma_glm_1, parm = "fibrinogen")), 2) ci <- paste("(", paste(ci, collapse = ","), ")", sep = "") HSAUR3/inst/doc/Ch_conditional_inference.R0000644000176200001440000001631314416277461020037 0ustar liggesusers### R code from vignette source 'Ch_conditional_inference.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: CI-roomwidth-ties ################################################### data("roomwidth", package = "HSAUR3") nobs <- table(roomwidth$unit) ties <- tapply(roomwidth$width, roomwidth$unit, function(x) length(x) - length(unique(x))) library("coin") ################################################### ### code chunk number 4: CI-roomwidth-data ################################################### data("roomwidth", package = "HSAUR3") convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) feet <- roomwidth$unit == "feet" meter <- !feet y <- roomwidth$width * convert ################################################### ### code chunk number 5: CI-roomwidth-teststat ################################################### T <- mean(y[feet]) - mean(y[meter]) T ################################################### ### code chunk number 6: CI-roomwidth-permutation ################################################### meandiffs <- double(9999) for (i in 1:length(meandiffs)) { sy <- sample(y) meandiffs[i] <- mean(sy[feet]) - mean(sy[meter]) } ################################################### ### code chunk number 7: CI-roomwidth-plot ################################################### hist(meandiffs) abline(v = T, lty = 2) abline(v = -T, lty = 2) ################################################### ### code chunk number 8: CI-roomwidth-pvalue ################################################### greater <- abs(meandiffs) > abs(T) mean(greater) ################################################### ### code chunk number 9: CI-roomwidth-pvalue ################################################### binom.test(sum(greater), length(greater))$conf.int ################################################### ### code chunk number 10: CI-roomwidth-coin ################################################### library("coin") independence_test(y ~ unit, data = roomwidth, distribution = exact()) ################################################### ### code chunk number 11: CI-roomwidth-coin ################################################### wilcox_test(y ~ unit, data = roomwidth, distribution = exact()) ################################################### ### code chunk number 12: CI-suicides-ft ################################################### data("suicides", package = "HSAUR3") fisher.test(suicides) ################################################### ### code chunk number 13: CI-suicides-chisq ################################################### ftp <- round(fisher.test(suicides)$p.value, 3) ctp <- round(chisq.test(suicides)$p.value, 3) ################################################### ### code chunk number 14: CI-Lanza-data ################################################### data("Lanza", package = "HSAUR3") xtabs(~ treatment + classification + study, data = Lanza) ################################################### ### code chunk number 15: CI-width ################################################### options(width = 65) ################################################### ### code chunk number 16: CI-Lanza-singleI ################################################### library("coin") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "I") ################################################### ### code chunk number 17: CI-Lanza-singleII ################################################### cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II") ################################################### ### code chunk number 18: CI-Lanza-singleIIa ################################################### p <- cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "II", distribution = approximate(B = 19999)) pvalue(p) ################################################### ### code chunk number 19: CI-Lanza-singleIII-IV ################################################### cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "III") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "IV") ################################################### ### code chunk number 20: CI-Lanza-all ################################################### cmh_test(classification ~ treatment | study, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30))) ################################################### ### code chunk number 21: CI-anomalies ################################################### anomalies <- c(235, 23, 3, 0, 41, 35, 8, 0, 20, 11, 11, 1, 2, 1, 3, 1) anomalies <- as.table(matrix(anomalies, ncol = 4, dimnames = list(MD = 0:3, RA = 0:3))) anomalies ################################################### ### code chunk number 22: CI-anomalies-mh ################################################### mh_test(anomalies) ################################################### ### code chunk number 23: CI-anomalies-ordered ################################################### mh_test(anomalies, scores = list(response = c(0, 1, 2, 3))) HSAUR3/inst/doc/Ch_cluster_analysis.R0000644000176200001440000001636414416277457017115 0ustar liggesusers### R code from vignette source 'Ch_cluster_analysis.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: thissetup ################################################### library("mclust") library("mvtnorm") mai <- par("mai") options(SweaveHooks = list(rmai = function() { par(mai = mai * c(1,1,1,2))})) data("pottery", package = "HSAUR3") ################################################### ### code chunk number 4: CA-pottery-dist ################################################### pottery_dist <- dist(pottery[, colnames(pottery) != "kiln"]) library("lattice") levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number") ################################################### ### code chunk number 5: CA-pottery-distplot ################################################### trellis.par.set(standard.theme(color = FALSE)) plot(levelplot(as.matrix(pottery_dist), xlab = "Pot Number", ylab = "Pot Number")) ################################################### ### code chunk number 6: CA-pottery-hclust ################################################### pottery_single <- hclust(pottery_dist, method = "single") pottery_complete <- hclust(pottery_dist, method = "complete") pottery_average <- hclust(pottery_dist, method = "average") layout(matrix(1:3, ncol = 3)) plot(pottery_single, main = "Single Linkage", sub = "", xlab = "") plot(pottery_complete, main = "Complete Linkage", sub = "", xlab = "") plot(pottery_average, main = "Average Linkage", sub = "", xlab = "") ################################################### ### code chunk number 7: pottery-cluster ################################################### pottery_cluster <- cutree(pottery_average, h = 4) xtabs(~ pottery_cluster + kiln, data = pottery) ################################################### ### code chunk number 8: CA-planets-scatter ################################################### getOption("SweaveHooks")[["rmai"]]() data("planets", package = "HSAUR3") library("scatterplot3d") scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, pch = 16, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, scale.y = 0.7, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") ################################################### ### code chunk number 9: CA-planet-ss ################################################### rge <- apply(planets, 2, max) - apply(planets, 2, min) planet.dat <- sweep(planets, 2, rge, FUN = "/") n <- nrow(planet.dat) wss <- rep(0, 10) wss[1] <- (n - 1) * sum(apply(planet.dat, 2, var)) for (i in 2:10) wss[i] <- sum(kmeans(planet.dat, centers = i)$withinss) plot(1:10, wss, type = "b", xlab = "Number of groups", ylab = "Within groups sum of squares") ################################################### ### code chunk number 10: CA-planets-kmeans3 ################################################### planet_kmeans3 <- kmeans(planet.dat, centers = 3) table(planet_kmeans3$cluster) ################################################### ### code chunk number 11: CA-planets-ccent ################################################### ccent <- function(cl) { f <- function(i) colMeans(planets[cl == i,]) x <- sapply(sort(unique(cl)), f) colnames(x) <- sort(unique(cl)) return(x) } ################################################### ### code chunk number 12: CA-planets--kmeans3-ccent ################################################### ccent(planet_kmeans3$cluster) ################################################### ### code chunk number 13: CA-planets-kmeans5 ################################################### planet_kmeans5 <- kmeans(planet.dat, centers = 5) table(planet_kmeans5$cluster) ccent(planet_kmeans5$cluster) ################################################### ### code chunk number 14: CA-planets-mclust ################################################### library("mclust") planet_mclust <- Mclust(planet.dat) ################################################### ### code chunk number 15: CA-planets-mclust-plot ################################################### plot(planet_mclust, planet.dat, what = "BIC", col = "black", ylab = "-BIC", ylim = c(0, 350)) ################################################### ### code chunk number 16: CA-planets-mclust-print ################################################### print(planet_mclust) ################################################### ### code chunk number 17: CA-planets-mclust-scatter ################################################### clPairs(planet.dat, classification = planet_mclust$classification, symbols = 1:3, col = "black") ################################################### ### code chunk number 18: CA-planets-mclust-scatterclust ################################################### getOption("SweaveHooks")[["rmai"]]() scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen + ifelse(planets$eccen == 0, 0.001, 0)), type = "h", angle = 55, scale.y = 0.7, pch = planet_mclust$classification, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, xlab = "log(mass)", ylab = "log(period)", zlab = "log(eccen)") ################################################### ### code chunk number 19: CA-planets-mclust-mu ################################################### table(planet_mclust$classification) ccent(planet_mclust$classification) HSAUR3/inst/doc/Ch_bayesian_inference.Rnw0000644000176200001440000007256114416236367017703 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Bayesian Inference} %%\VignetteDepends{rmeta,coin} \setcounter{chapter}{17} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Bayesian Inference]{Incorporating Prior Knowledge via Bayesian Inference: Smoking and Lung Cancer \label{BI}} \section{Introduction} \index{Smoking and lung cancer|(} At the beginning of the 20th century, the death toll due to lung cancer was on the rise and the search for possible causes began. For lung cancer in pit workers, animal experiments showed that the so-called `Schneeberg lung disease' was induced by radiation. But this could not explain the increasing incidence of lung cancer in the general population. The identification of possible risk factors was a challenge for epidemiology and statistics, both disciplines being still in their infancy in the 1920s and 1930s. The first modern controlled epidemiological study on the effect of smoking on lung cancer was performed by Franz Hermann M\"uller as part of his dissertation at the University of Cologne in 1939. The results were published a year later \citep{HSAUR:Mueller1940}. M\"uller sent out questionnaires to the relatives of people who had recently died of lung cancer, asking about the smoking behavior and its intensity of the deceased relative. He also sent the questionnaire to healthy controls to obtain information about the smoking behavior in a control group, although it is not clear how this control group was defined. The number of lung cancer patients and healthy controls in five different groups (nonsmokers to extreme smokers) are given in Table~\ref{BI-Smoking_Mueller1940-tab}. <>= data("Smoking_Mueller1940", package = "HSAUR3") toLatex(HSAURtable(Smoking_Mueller1940), caption = paste("Smoking and lung cancer case-control study by M\\\"uller (1940).", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-15 (moderate), 16-25 (heavy), 26-35 (very heavy),", "and more than 35 (extreme)."), label = "BI-Smoking_Mueller1940-tab") @ Four years later Erich Sch\"oninger also wrote his dissertation on the association between smoking and lung cancer and, together with his supervisor Eberhard Schairer at the University of Jena, published his results on a case-control study \citep{HSAUR:SchairerSchoeninger1944} where he assessed the smoking behavior of lung cancer patients, patients diagnosed with other forms of cancer, and also a healthy control group. The data are given in Table~\ref{BI-Smoking_SchairerSchoeniger1944-tab}. <>= x <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) toLatex(HSAURtable(x, xname = "Smoking_SchairerSchoeniger1944"), caption = paste("Smoking and lung cancer case-control study by Schairer and Sch\\\"oniger (1944). Cancer other than lung cancer omitted.", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-5 (moderate), 6-10 (medium), 11-20 (heavy),", "and more than 20 (very heavy)."), label = "BI-Smoking_SchairerSchoeniger1944-tab") @ Shortly after the war, a Dutch epidemiologist reported on a case-control study performed in Amsterdam \citep{HSAUR:Wassink1945} and found similar results as the two German studies; see Table~\ref{BI-Smoking_Wassink1945-tab}. <>= data("Smoking_Wassink1945", package = "HSAUR3") toLatex(HSAURtable(Smoking_Wassink1945), caption = paste("Smoking and lung cancer case-control study by Wassink (1945).", "Smoking categories correspond to the categories used by M\\\"uller (1940)."), label = "BI-Smoking_Wassink1945-tab") @ In 1950 perhaps the most important, but not the first, case-control study showing an increasing risk of developing lung cancer with the amount of tobacco smoked, was published in Great Britain by Richard Doll and Austin Bradford Hill \citep{HSAUR:DollHill1950}. We restrict discussion here to data obtained for males and the data shown in Table~\ref{BI-Smoking_DollHill1950-tab} corresponds to the most recent amount of tobacco consumed regularly by smokers before disease onset \citep[Table~V in][]{HSAUR:DollHill1950}. <>= data("Smoking_DollHill1950", package = "HSAUR3") x <- as.table(Smoking_DollHill1950[,,"Male", drop = FALSE]) toLatex(HSAURtable(x, xname = "Smoking_DollHill1950"), caption = paste("Smoking and lung cancer case-control study (only males) by Doll and Hill (1950).", "The labels for the smoking categories give the number of cigarettes smoked every day."), label = "BI-Smoking_DollHill1950-tab") @ Although the design of the studies by \cite{HSAUR:Mueller1940} and \cite{HSAUR:SchairerSchoeninger1944}, especially the selection of their control groups, can be criticized \citep[see][for a detailed discussion]{HSAUR:Morabia2013} and the study by \cite{HSAUR:DollHill1950} was larger than the older studies and more detailed information on the smoking behavior was obtained by direct patient interviews, the information provided by the earlier studies was not taken into account by \cite{HSAUR:DollHill1950}. They cite \cite{HSAUR:Mueller1940} in their introduction, but did not compare their findings with his results. It is remarkable to see that both \cite{HSAUR:SchairerSchoeninger1944} and \cite{HSAUR:Wassink1945} extensively made use of the report by \cite{HSAUR:Mueller1940} and go as far as analyzing the merged data \citep[Grafiek I, E, and F, in][]{HSAUR:Wassink1945}. In an informal way, these authors wanted to use the already available information, in today's terms called `prior knowledge', to make a stronger case with the new data. Formal statistical methods to incorporate prior knowledge into data analysis as part of the `Bayesian' way of doing statistical analyses were developed in the second half of the last century, and we will focus on them in the present chapter. \index{Smoking and lung cancer|)} \section{Bayesian Inference} \section{Analysis Using \R{}} \subsection{One-by-one Analysis} For the analysis of the four different case-control studies on smoking and lung cancer, we will (retrospectively, of course) update our knowledge with every new study. We begin with a re-analysis of the data described by \cite{HSAUR:Mueller1940}. Using an approximate permutation test introduced in Chapter~\ref{CI} for the hypothesis of independence of the amount of tobacco smoked and group membership (lung cancer or healthy control), we get <>= library("coin") set.seed(29) independence_test(Smoking_Mueller1940, teststat = "quad", distribution = approximate(100000)) @ and there is clearly a strong association between the number of cigarettes smoked and incidence of lung cancer. Because the amount of tobacco smoked is an ordered categorical variable, it is more appropriate to take this information into account, for example by means of a linear association test (see Chapter~\ref{CI}). Nonsmokers receive a score of zero, and for the remaining groups we choose the mid-point of the intervals of daily cigarettes smoked that were used by \cite{HSAUR:Mueller1940} to define his groups: <>= ssc <- c(0, 1 + 14 / 2, 16 + 9 / 2, 26 + 9 / 2, 40) independence_test(Smoking_Mueller1940, teststat = "quad", scores = list(Smoking = ssc), distribution = approximate(100000)) @ The result shows that the data are in favor of an ordered alternative. The $p$-values obtained from approximate permutation tests are attractive because no distributional assumptions are required, but it is hard to derive estimates and confidence intervals for interpretable parameters from such tests. We will therefore now switch to logistic regression models as described in Chapter~\ref{GLM} to model the odds of lung cancer in the different smoking groups. Before we start, let us define a small function for computing odds (for intercept parameters) and odds ratios (for difference parameters) and corresponding confidence intervals from a logistic regression model: <>= eci <- function(model) cbind("Odds (Ratio)" = exp(coef(model)), exp(confint(model))) @ We model the probability of developing lung cancer given the smoking behavior. Because our data was obtained from case-control studies where the groups (lung cancer patients and healthy controls) were defined first and only after that we observed data on the smoking behavior (in a so-called \stress{choice-based sampling}), this may seem the wrong model to start with. However, the marginal distribution of the two groups only changes the intercept in such a logistic model and the effects of smoking can still be interpreted in the way we require \citep[see][for example]{HSAUR:Tutz2012}. The formula for specifying a logistic regression model can be set up such that the response is a matrix with two columns for each smoking group consisting of the number of lung cancer deaths and the number of healthy controls. Although smoking is an ordered factor, we first fit the model with treatment contrasts, i.e., we can interpret the $\exp$ of the regression coefficients as odds ratios between each smoking group and nonsmokers: <>= smoking <- ordered(rownames(Smoking_Mueller1940), levels = rownames(Smoking_Mueller1940)) contrasts(smoking) <- "contr.treatment" eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) @ We see that all but one of the odds ratios increase with the amount of tobacco smoked with a maximum of almost $30$ for extreme smokers (more than $35$ cigarettes per day). The likelihood confidence intervals are rather wide due to the limited sample size, but also the lower limit increases with smoking. An alternative model formulation can help to compare each smoking group with the preceding group, the so-called split-coding \citep[for this and other codings see][]{HSAUR:Tutz2012}: <>= K <- diag(nlevels(smoking) - 1) K[lower.tri(K)] <- 1 contrasts(smoking) <- rbind(0, K) eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) @ The two largest differences are between moderate smokers and nonsmokers (\Robject{smoking1}) and between very heavy and heavy smokers (\Robject{smoking3}). The latter group difference seems, at least judged by the confidence interval, to be larger than expected under a model with no effect of smoking. For the analysis of the three remaining studies, we first perform permutation tests for the independence of smoking and the two groups (lung cancer and healthy controls) in males: <>= xSS44 <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) ap <- approximate(100000) pvalue(independence_test(xSS44, teststat = "quad", distribution = ap)) pvalue(independence_test(Smoking_Wassink1945, teststat = "quad", distribution = ap)) xDH50 <- as.table(Smoking_DollHill1950[,, "Male"]) pvalue(independence_test(xDH50, teststat = "quad", distribution = ap)) @ All $p$-values indicate that the data are not well-described by the independence model. \subsection{Joint Bayesian Analysis} For a Bayesian analysis, we first merge the data from all four studies into one data frame. In doing so, we also merge the smoking groups in a way that we only have three groups left: nonsmokers, moderate smokers, and heavy smokers. These groups are chosen in a way that the number of daily cigarettes is comparable. We first merge the heavy, very heavy, and extreme smokers from \cite{HSAUR:Mueller1940} <>= (M <- rbind(Smoking_Mueller1940[1:2,], colSums(Smoking_Mueller1940[3:5,]))) @ and proceed with the lung cancer patients and healthy controls from \cite{HSAUR:SchairerSchoeninger1944} in the same way <>= SS <- Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")] (SS <- rbind(SS[1,], colSums(SS[2:3,]), colSums(SS[4:5,]))) @ and finally perform the same exercise for the \cite{HSAUR:Wassink1945} and \cite{HSAUR:DollHill1950} data <>= (W <- rbind(Smoking_Wassink1945[1:2,], colSums(Smoking_Wassink1945[3:4,]))) DH <- Smoking_DollHill1950[,, "Male"] (DH <- rbind(DH[1,], colSums(DH[2:3,]), colSums(DH[4:6,]))) @ The three new groups are now called nonsmokers, moderate smokers, and heavy smokers, and we set up a data frame that contains the number of people in each of the possible groups for all studies: <>= smk <- c("Nonsmoker", "Moderate smoker", "Heavy smoker") x <- expand.grid(Smoking = ordered(smk, levels = smk), Diagnosis = factor(c("Lung cancer", "Control")), Study = c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945", "DollHill1950")) x$weights <- c(as.vector(M), as.vector(SS), as.vector(W), as.vector(DH)) @ Before we fit logistic regression models using the data organized in such a way, we define the contrasts for the smoking ordered factor and expand the data in a way that each row corresponds to one person. This is necessary because the \Rcmd{weights} argument to the \Rcmd{glm} function must not be used to define case weights: <>= contrasts(x$Smoking) <- "contr.treatment" x <- x[rep(1:nrow(x), x$weights),] @ We now compute one logistic regression model for each study for later comparisons: <>= models <- lapply(levels(x$Study), function(s) glm(Diagnosis ~ Smoking, data = x, family = binomial(), subset = Study == s)) names(models) <- levels(x$Study) @ In 1939, M\"uller was hardly in the position to come up with a reasonable prior for the odds ratios between moderate or heavy smokers and nonsmokers. So we also use a noninformative prior and just perform the maximum likelihood analysis: <>= eci(models[["Mueller1940"]]) @ Four years later, the maximum likelihood results obtained for the \cite{HSAUR:SchairerSchoeninger1944} data <>= eci(models[["SchairerSchoeniger1944"]]) @ could have been improved by using a normal prior for the difference in log odds whose distribution is the distribution of the maximum likelihood estimator obtained for M\"uller's data. At least approximately, we can compute posterior $90\%$ credibility intervals and the posterior mode from the Schairer and Sch\"oniger data by analyzing both data sets simultaneously. We should, however, keep in mind that the odds of developing lung cancer for nonsmokers is not really interesting for our analysis and that the four studies may very well differ with respect to this intercept parameter. Consequently, we don't want to specify a prior for the intercept. One way to implement such a strategy is to exclude the intercept term from the joint model while allowing a separate intercept for each of the studies: <>= mM40_SS44 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944")) eci(mM40_SS44) @ We observe two important differences between the maximum likelihood and Bayesian results for the Schairer and Sch\"oniger data: In the Bayesian analysis, the estimated odds ratio for moderate smokers is closer to the smaller value obtained from M\"uller's data and, more important, the credibility intervals are much narrower and, one has to say, more realistic now. An odds ratio as large as $40$ is hardly something one would expect to see in practice. If Wassink had been aware of Bayesian statistics, he could have used the posterior distribution of the parameters from our model \Robject{mM40\_SS44} as a prior distribution for analyzing his data. The maximum likelihood results for his data <>= eci(models[["Wassink1945"]]) @ would have changed to <>= mM40_SS44_W45 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945")) eci(mM40_SS44_W45) @ The rather small odds ratios obtained from the model fitted to the Wassink data only are now closer to the estimates obtained from the two previous studies and the variability, as given by the credibility intervals, is much smaller. Now, finally, the model for the Doll and Hill data reports rather large odds ratios with wide confidence intervals: <>= eci(models[["DollHill1950"]]) @ With a (now rather strong) prior defined by the three earlier studies, we get from the joint model for all four studies <>= m_all <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial()) eci(m_all) @ <>= r <- eci(m_all) xM <- round(r["SmokingModerate smoker", 2:3], 1) xH <- round(r["SmokingHeavy smoker", 2:3], 1) @ In 1950, the joint evidence based on such an analysis with an odds ratio between $\Sexpr{xM[1]}$ and $\Sexpr{xM[2]}$ for moderate smokers and between $\Sexpr{xH[1]}$ and $\Sexpr{xH[2]}$ for heavy smokers compared to nonsmokers, would have made a much stronger case than any of the single studies alone. It is interesting to see that with this strong prior for the Doll and Hill study, we also get relatively large odds ratios when comparing heavy to moderate smokers (see row labeled \Rcmd{Smoking2}): <>= K <- diag(nlevels(x$Smoking) - 1) K[lower.tri(K)] <- 1 contrasts(x$Smoking) <- rbind(0, K) eci(glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial())) @ \subsection{A Comparison with Meta Analysis} One may ask how the Bayesian approach of progressively updating the estimates considered here differs from a classical meta analysis described in Chapter~\ref{MA}. We first reshape the data into a form suitable for such an analysis <>= y <- xtabs(~ Study + Smoking + Diagnosis, data = x) ntrtM <- margin.table(y, 1:2)[,"Moderate smoker"] nctrl <- margin.table(y, 1:2)[,"Nonsmoker"] ptrtM <- y[,"Moderate smoker","Lung cancer"] pctrl <- y[,"Nonsmoker","Lung cancer"] ntrtH <- margin.table(y, 1:2)[,"Heavy smoker"] ptrtH <- y[,"Heavy smoker","Lung cancer"] @ and then compute joint odds ratios and confidence intervals for moderate and heavy smokers compared to nonsmokers: <>= library("rmeta") meta.MH(ntrt = ntrtM, nctrl = nctrl, ptrt = ptrtM, pctrl = pctrl) meta.MH(ntrt = ntrtH, nctrl = nctrl, ptrt = ptrtH, pctrl = pctrl) @ For moderate smokers, the effect is a little weaker compared with the results reported on earlier and for heavy smokers, the meta analysis identifies a stronger effect for heavy smokers. Nevertheless, the differences between the two rather different approaches are negligible and the conclusions would have been the same. \section{Summary of Findings} We have seen that, using a Bayesian approach to incorporate prior knowledge into a model, the odds of developing lung cancer increase with increased amounts of smoking. Of course, our analysis here is very simplistic, because we ignored that also pipe and cigar smokers were present in the data, we merged the data based on a very rough assessment of the number of cigarettes smoked per day, ignored whether or not the smokers inhaled the smoke into their lungs, or if nonsmokers were subject to passive-smoking, as we call it today. Most importantly, we must not misinterpret findings from case-control studies as casual and, in fact, none of the authors cited here did so. The debate on whether smoking, and which kind of smoking, actually \stress{causes} lung cancer was initiated by the publications cited in this chapter and many famous statisticians took part in the debate, for example, Sir Ronald Fisher \citep{HSAUR:Fisher1959}, took the view that the inference of causation was premature. In retrospect this was one issue (perhaps the only one) where Fisher was mistaken. \section{Final Comments} There remain a few hard-line opponents of Bayesian inference (just a few) who reject the method because of the use of subjective prior distributions which, these opponents feel, have no place in scientific investigations. And there are Bayesians who think that the only defense of using non-Bayesian methods is incompetence. But for an increasing number of statisticians Bayesian inference is very attractive, because we can use the posterior distribution of the parameters to draw conclusions from the data. Although this requires the specification of a prior distribution, we have seen in this chapter that, using data from previous experiments, priors can be defined in a reasonable way. It is not absolutely necessary to rely on rather complex numerical procedures to`estimate' a posterior distribution. When we are willing to cut some corners, we can implement simple Bayesian approaches using standard software. We should also keep in mind that the prior can be interpreted as a penalty on the parameters, and many penalization approaches therefore have an (often implicit) connection to the Bayesian way of doing statistics. Of course, just picking the prior that `works best' is dangerous and almost surely inappropriate. \section*{Exercises} \begin{description} \exercise Produce a forest plot as introduced in Chapter~\ref{MA} for the four smoking studies analyzed here. \exercise Produce a modified forest plot where one can see how the evidence for smoking being related to lung cancer evolved between 1940 and 1950. \exercise Use the \Rpackage{INLA} add-on package to perform a similar analysis by using the coefficients and their standard errors estimated from our initial logistic regression model \texttt{m[["Mueller1940"]]} as parameters of a normal prior for a logistic regression applied to the Schairer and Sch\"oniger data. Compare the resulting credibility intervals for the two odds-ratios with the approximate results obtained in this chapter. \end{description} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_missing_values.Rnw0000644000176200001440000006351314416236367017117 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Missing Values} %%\VignetteDepends{mice} \setcounter{chapter}{15} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Missing Values]{Missing Values: Lowering Blood Pressure During Surgery \label{MV}} \section{Introduction} \index{Blood pressure} It is sometimes necessary to lower a patient's blood pressure during surgery, using a hypotensive drug. Such drugs are administered continuously during the relevant phase of the operation; because the duration of this phase varies so does the total amount of drug administered. Patients also vary in the extent to which the drugs succeed in lowering blood pressure. The sooner the blood pressure rises again to normal after the drug is discontinued, the better. The data in Table~\ref{MV-bp-tab} \citep[a missing-value version of the data presented by][]{HSAUR:RobertsonArmitage1959} relate to a particular hypotensive drug and give the time in minutes before the patient's systolic blood pressure returned to 100mm of mercury (the recovery time), the logarithm (base 10) of the dose of drug in milligrams, and the average systolic blood pressure achieved while the drug was being administered. The question of interest is how is the recovery time related to the other two variables? For some patients the recovery time was not recorded and the missing values are indicated as NA in Table~\ref{MV-bp-tab}. <>= data("bp", package = "HSAUR3") toLatex(HSAURtable(bp), pcol = 2, caption = paste("Blood pressure data."), label = "MV-bp-tab") @ \section{Analyzing Multiply Imputed Data} \label{MI:ana} From the analysis of each data set we need to look at the estimates of the quantity of interest, say $Q$, and the variance of the estimates. We let $\hat{Q}_i$ be the estimate from the $i$th data set and $S_i$ its corresponding variance. The combined estimate of the quantity of interest is \begin{eqnarray*} \bar{Q} = \frac{1}{m}\sum_{i = 1}^m \hat{Q}_i. \end{eqnarray*} To find the combined variance involves first calculating the within-imputation variance, \begin{eqnarray*} \bar{S} = \frac{1}{m}\sum_{i = 1}^m S_i \end{eqnarray*} followed by the between-imputation variance, \begin{eqnarray*} B = \frac{1}{m - 1} \sum_{i = 1}^m (\hat{Q}_i - \bar{Q})^2 \end{eqnarray*} then the required total variance can now be found from \begin{eqnarray*} T = \bar{S} + (1 + m^{-1}) B \end{eqnarray*} This total variance is made up of two components; the first which preserves the natural variability, $\bar{S}$, is simply the average of the variance estimates for each imputed data set and is analogous to the variance that would be suitable if we did not need to account for missing data; the second component, $B$, estimates uncertainty caused by missing data by measuring how the point estimates vary from data set to data set. More explanation of how the formula for $T$ arises is given in \cite{HSAUR:vanBuuren2012}. The overall standard error is simply the square root of $T$. A significance test for $Q$ and a confidence interval is found from the usual test statistic, ($Q-$ hypothesized value of $Q$)/$\sqrt{T}$, the value of which is referred to a Student's $t$-distribution. The question arises however as to what is the appropriate value for the degrees of freedom of the test, say $v_0$? \cite{HSAUR:Rubin1987} suggests that the answer to this question is given by; \begin{eqnarray*} v_0 = (m - 1) (1 + 1/r^2) \end{eqnarray*} where \begin{eqnarray*} r = \frac{B + B / m}{\bar{S}} \end{eqnarray*} But \cite{HSAUR:BarnardRubin1999} noted that using this value of $v_0$ can produce values that are larger than the degrees of freedom in the complete data, a result which they considered `clearly inappropriate'. Consequently they developed an adapted version that does not lead to the same problem. Barnard and Rubin's revised value for the degrees of freedom of the $t$-test in which we are interested is $v_1$ given by; \begin{eqnarray*} v_1 = \frac{v_0 v_2}{v_0 + v_2} \end{eqnarray*} where \begin{eqnarray*} v_2 = \frac{n(n-1)(1 - \lambda)}{n + 2} \end{eqnarray*} and \begin{eqnarray*} \lambda = \frac{r}{\sqrt{r^2 + 1}}. \end{eqnarray*} The quantity $v_1$ is always less than or equal to the degrees of freedom of the test applied to the hypothetically complete data. \citep[For more details see][]{HSAUR:vanBuuren2012}. \index{Imputation|)} \section{Analysis Using \R{}} To begin we shall analyze the blood pressure data in Table~\ref{MV-bp-tab} using the complete-case approach, i.e., by simply removing the data for patients where the recovery time is missing. To begin we might simply count the number of missing values using the sapply function as follows: <>= sapply(bp, function(x) sum(is.na(x))) @ So there are ten missing values of recovery time but no missing values amongst the other two variables. Now we use the \Rcmd{summary} function to look at some basic statistics of the complete data for recovery time: <>= summary(bp$recovtime, na.rm = TRUE) @ And next we can calculate the complete data estimate of the standard deviation of recover time <>= sd(bp$recovtime, na.rm = TRUE) @ The final numerical results we might be interested in are the correlations of recovery time with blood pressure and of recovery time with logdose. These can be found as follows: <>= with(bp, cor(bloodp, recovtime, use = "complete.obs")) with(bp, cor(logdose, recovtime, use = "complete.obs")) @ And a useful graphic of the data is a scatterplot matrix which we can construct using \Rcmd{pairs}. The scatterplot matrix is given in Figure~\ref{MV-bp-pairs-cc}. \begin{figure} \begin{center} <>= layout(matrix(1:3, nrow = 1)) plot(bloodp ~ logdose, data = bp) plot(recovtime ~ bloodp, data = bp) plot(recovtime ~ logdose, data = bp) @ \caption{Scatterplots of the complete cases of the \Robject{bp} data. \label{MV-bp-pairs-cc}} \end{center} \end{figure} To investigate how recovery time is related to blood pressure and logdose we might begin by fitting a multiple linear regression model (see Chapter~\ref{MLR}). The relevant command and the summary of the results is shown in Figure~\ref{MV-bp-lm-cc}. Note that this summary output reports that ten observations with missing values were removed prior to the analysis; this is default for many models in \R. \renewcommand{\nextcaption}{\R{} output of the complete-case linear model for the \Robject{bp} data. \label{MV-bp-lm-cc}} \SchunkLabel <>= summary(lm(recovtime ~ bloodp + logdose, data = bp)) @ \SchunkRaw Now let us see what happens when we impute the missing values of the recovery time variable simply by the mean of the complete case; for this we will use the \Rpackage{mice} \citep{PKG:mice} package; <>= library("mice") @ We begin by creating a new data set, \Robject{imp}, which will contain the three variables log-dose, blood pressure, and recovery time with the missing values in the latter replaced by the mean recovery time of the complete cases; <>= imp <- mice(bp, method = "mean", m = 1, maxit = 1) @ So now we can find the summary statistics of recovery time to compare with those given previously <>= with(imp, summary(recovtime)) @ Making the comparison we see that only the values of the first and third quantile and the median have changed. The minimum and maximum values are the same and so, of course, is the mean. But of more interest is what happens to the sample standard deviation; its value for the imputed data can be found using: <>= with(imp, sd(recovtime)) @ The value for the imputed data, $\Sexpr{round(with(imp, sd(recovtime))[["analyses"]][[1]], 2)}$ is, as we would expect, lower than that for the complete data, $\Sexpr{round(with(bp, sd(recovtime, na.rm = TRUE)), 2)}$. What about the correlations? <>= with(imp, cor(bloodp, recovtime)) with(imp, cor(logdose, recovtime)) @ The correlations of blood pression and recovery time are very similar before ($\Sexpr{round(with(bp, cor(bloodp, recovtime, use = "complete.obs")), 2)}$) after ($\Sexpr{round(with(imp, cor(bloodp, recovtime))[["analyses"]][[1]], 2)}$) imputation. For log-dose, imputation changes the correlation from $\Sexpr{round(with(bp, cor(logdose, recovtime, use = "complete.obs")), 2)}$ to $\Sexpr{round(with(imp, cor(logdose, recovtime))[["analyses"]][[1]], 2)}$. The scatterplot of the imputed data is found as given by the code displayed with Figure~\ref{MV-bp-pairs-imp}. For mean imputation, the imputed value of the recovery time is constant for all observations and so they appear as a series of points along the value of the mean value of the observed recovery times namely, $\Sexpr{round(with(bp, mean(recovtime, na.rm = TRUE)), 2)}$. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) @ \caption{Scatterplots of the imputed \Robject{bp} data. Imputed observations are depicted as triangles. \label{MV-bp-pairs-imp}} \end{center} \end{figure} \renewcommand{\nextcaption}{\R{} output of the mean imputation linear model for the \Robject{bp} data. \label{MV-bp-lm-imp}} \SchunkLabel <>= with(imp, summary(lm(recovtime ~ bloodp + logdose))) @ \SchunkRaw Comparison of the multiple linear regression results in Figure~\ref{MV-bp-lm-imp} with those in Figure~\ref{MV-bp-lm-cc} show some interesting differences, for example, the standard errors of the regression coefficients are somewhat lower for the mean imputed data but the conclusions drawn from the results in each table would be broadly similar. \index{Predictive mean matching} The single imputation of a sample mean is not to be recommended and so we will move on to using a more sophisticated multiple imputation procedure know as \stress{predictive mean matching}. The method is described in detail in \cite{HSAUR:vanBuuren2012} who considers it both easy-to-use and versatile. And imputations outside the observed data range will not occur so that problems with meaningless imputations, for example, a negative recovery time, will not occur. The method is labeled \Robject{pmm} in the \Rpackage{mice} package and here we will apply it to the blood pressure data with $m = 10$ (we need to fix the seed in order to make the result reproducible): <>= imp_ppm <- mice(bp, m = 10, method = "pmm", print = FALSE, seed = 1) @ The scatterplot of the imputed data is found as given by the code displayed with Figure~\ref{MV-bp-pairs-imp-mice}. We only show the imputed recovery times from the first iteration ($m = 1$).The imputed recovery times now take different values. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(recovtime ~ bloodp, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) plot(recovtime ~ logdose, data = complete(imp_ppm), pch = is.na(bp$recovtime) + 1) legend("topleft", pch = 1:2, bty = "n", legend = c("original", "imputed")) @ \caption{Scatterplots of the multiple imputed \Robject{bp} data (first iteration). Imputed observations are depicted as triangles. \label{MV-bp-pairs-imp-mice}} \end{center} \end{figure} From the resulting object we can compute the mean and standard deviations of recovery time for each of the $m = 10$ iterations. We first extract these numbers from the \Robject{analyses} element of the returned object, convert this list to a vector, and use the \Rcmd{summary} function to compute the usual summary statistics: <>= summary(unlist(with(imp_ppm, mean(recovtime))$analyses)) summary(unlist(with(imp_ppm, sd(recovtime))$analyses)) @ We do the same with the correlations as follows <>= summary(unlist(with(imp_ppm, cor(bloodp, recovtime))$analyses)) summary(unlist(with(imp_ppm, cor(logdose, recovtime))$analyses)) @ The estimate of the mean of the blood pressure data from the multiply imputed results is $\Sexpr{round(mean(unlist(with(imp_ppm, mean(recovtime))$analyses)) , 2)}$, very similar to the values found previously. Similarly the estimate of the standard deviation of the data is $\Sexpr{round(mean(unlist(with(imp_ppm, sd(recovtime))$analyses)) , 2)}$ which lies between the complete data estimate and the \emph{mean-imputed} value. The two correlation estimates are also very close to the previous values. The variation in the estimates of mean, standard deviation, and correlations across the ten imputation is relatively small apart from that for the correlation between log-dose and recovery time -- here there is considerable variation in the values for the ten imputations. Finally, we will fit a linear model to each of the imputed samples and then find the summary statistics for the ten sets of regression coefficients: the results are given in Figure~\ref{MV-bp-lm-cc-mice}: <>= fit <- with(imp_ppm, lm(recovtime ~ bloodp + logdose)) @ \renewcommand{\nextcaption}{\R{} output of the multiple imputed linear model for the \Robject{bp} data. \label{MV-bp-lm-cc-mice}} \SchunkLabel <>= summary(pool(fit)) @ \SchunkRaw The result for blood pressure is similar to the previous complete data and mean-imputed results with the regression coefficient for this variable being highly significant $(p = \Sexpr{round(summary(pool(fit))["bloodp", 5], 3)})$. But the result for log dose differs from those found previously; for the multiply imputed data the regression coefficient for log dose is not significant at the $5\%$ level $(p = \Sexpr{round(summary(pool(fit))["logdose", 5], 3)})$ whereas in both of the previous two analyses it was significant. This finding reflects the greater variation of the value of the correlation between log dose and recovery time in the ten imputations noted above. (Remember that the standard errors in Figure~\ref{MV-bp-lm-cc-mice} computed by \Rcmd{pool} arise from the formulae given in Section~\ref{MI:ana}.) Now suppose we wish to test the hypothesis that in the population from which the sample data in Table~\ref{MV-bp-tab} arises a mean recovery time of $27$ minutes. We will test this hypothesis in the usual way using Student's t-test applied to the complete-data, the singly imputed data, and the multiply imputed data: <>= with(bp, t.test(recovtime, mu = 27)) with(imp, t.test(recovtime, mu = 27))$analyses[[1]] @ For the multiply imputed data we need to use the \Rcmd{lm} function to get the equivalent of the $t$-test by modeling recovery time minus $27$ with an intercept only and testing for zero intercept. So the code needed is: <>= fit <- with(imp_ppm, lm(I(recovtime - 27) ~ 1)) summary(pool(fit)) @ Looking at the results of the three analyses we see that the complete-case analysis fails to reject the hypothesis at the $5\%$ level whereas the other two analyses lead to results that are statistically significant at the level. This simple (and perhaps rather artificial) example demonstrates that different conclusions can be reached by the different approaches. \section{Summary of Findings} The estimated standard deviation of the blood pressure is lower when computed from the mean-imputed data than from the complete data. The corresponding value from the multiply imputed data lies between these two values. The estimate of the mean from the multiply imputed data is very similar to the value obtained in the complete data analysis. (The value from the singly imputed data is, of course, the same as from the complete data.) The estimates of the correlations between blood pressure and recovery time and log dose and recovery time are very similar in all three analyses but the variation in the latter across the ten multiple imputations is considerable and this results in the regression coefficient for log dose being less significant than in the other two analyses. Testing the hypothesis that the population mean of recovery time is $27$ minutes using complete-case analysis leads to a different conclusion than is arrived at by the two multiple imputations approaches. \section{Final Comments} Missing values are an ever-present possibility in all types of studies although everything possible should be done to avoid them. But when data contain missing values multiple imputation can be used to provide valid inferences for parameter estimates from the incomplete data. If carefully handled, multiple imputation can cope with missing data in all types of variables. In this chapter we have given only a brief account of dealing with missing values; a detailed account is available in the issue of \stress{Statistical Methods in Medical Research entitled Multiple Imputation: Current Perspectives} (Volume 16, Number 3, 2007) and in \cite{HSAUR:vanBuuren2012}. \section*{Exercises} \begin{description} \exercise The data in Table~\ref{MI-UStemp-tab} give the lowest temperatures (in Fahrenheit) recorded in various months for cities in the US; missing values are indicated by NA. Calculate the correlation matrix of the data using \begin{enumerate} \item the complete-case approach, \item the available-data approach, and \item a multiple-imputation approach. \end{enumerate} Find the principal components of the data using each of three correlation matrices and plot the cities in the space of the first two components of each solution. <>= data("UStemp", package = "HSAUR3") toLatex(HSAURtable(UStemp), caption = "Lowest temperatures in Fahrenheit recorded in various months for cities in the US.", label = "MI-UStemp-tab", rownames = TRUE) @ \exercise Find $95\%$ confidence intervals for the population means of the lowest temperature in each month using \begin{enumerate} \item the complete-case approach, \item the mean value imputation, and \item a multiple-imputation approach. \end{enumerate} \exercise Find the correlation matrix for the four months in Table~\ref{MI-UStemp-tab} using complete-case analysis, listwise deletion, and multiple imputation. \end{description} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_survival_analysis.pdf0000644000176200001440000034606014416277550017650 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4371 /Filter /FlateDecode /N 85 /First 709 >> stream x\Ys8~o;@L*]ǎv'S ˴,%9̯Hlz[ M02JKtbMLHlM\"8I'B y"t*R&9D PHniDf.Q¡q(pstN4.2ƊDD{Xb4q@JJg'3e\y qTI $tiJ$3wdf=K<*H/R7:Hc"M{k7" O =5ph"Ŵ'jh&$U02B*5did@V8@ViZ<@Va8zY@VHڀv֡`i]zMh:0 E(̗X hH`2<:@63cq"h ր [ʁ8a" 3#&n(v BfFg >L؇t2˗|0?mt~x@Y]o9rnqP)\lp ιΊzzۖVIJE{Yu7-KllK~lh5vF%f %x[3i&tƛ!"7ps=cv(%GG|js<4]&-"r%- :%=>:]&֥'-Лm}_XlOVbsqUsIL=c/fke;fو1ϧ;c9˯FKv'sv`M76eWll>5؂-rrlݰ/A`^3b |²m^Ζ5GGpiq4AA{kk|X:Hn &ىUݤhӼCdSC胃70* ע2bzClzFH>Qj_ :&h2lGWl+؂ؿ ? BNL\ސJ` ֒Zgd@@*\)`š r6^=Tvqh@]TmH.zkRt&SUɔk{-s]nn{Bڡ6*yQzkyf(s>lw$^2ZCr6 -Ǔj2=Q$e9:-b4Y(|:E{?nFV|yA|ѵR|l -VzzlSESMɽx!^!ʴP5RO--jя5e2Mއ_'W7˽t2T]W;A`/Fv!Wf~qjm +Ѷ͌ xoP+< b|sU(a2ܐA&MqtFwt"y+I5MF)B'r6ص6AjZfU2 C͵L>sdufefAvPҷW MD{??iOQ!O52a 1&emVk%۔,g+2"_xWQ} )UJ"Iն!mgאtet^¤?=uhٷ<զ.mZ҆hִJDXZ:6%.t4HS "Mg"iۣ" W?K jS-)GceH B6Vʧ*sZ\D62j^fh(E4CX`a}{ TM]l'4h1P9y~ۘ,yY縊3\ H[٭XւaR|x`׷{GuC\^tk<4#]2fUUZא:m ZumȢjF)&tmՊJVlBF2X tY:4>*(шYhu#k ;omLVI^Mf1E-z4λГv\ hYgץˣ tM)4,ϷӳeXȶX;mxxA졞2螅=R`Tac >x5IݱRv_ %ʣzw`\mV5glI 25ϓD'|knb` &EtYWKm:cPeiFL PGUƽ TS{vocJu*B՝ Rw(dž+p?6./Y 鐎lGAl&6!B!#㎁}pt1gtX!5$g릀[Tz|wMN|CT[46SC]FwAcNé [T$TW4>M %l`]gY馟~2T@HRѾmdJOa(cE 2i& rDԆ5QY6R~*s@&pR\mW7\rLB6GoB03FCUVB>V>$R!ki)S7uXĠtQ^ٔ1}VY]%|r;cۇ/׋9}Lz4x>~umdjA0iCD`[Xpgr~C3-ʄ$ןW}2}69 S=n|A\h#w=S@#졆֧*|*fendstream endobj 87 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:28+02:00 2023-04-14T18:29:28+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 88 0 obj << /Filter /FlateDecode /Length 3915 >> stream x:]o#qq/:\,p·UlbDNhEJߞpo opfMUu}̇hRjM\~\ g|\zdrʵ.|rx·΄wFZT> 2&(0?ZFZU15pqo4T0Of@dh %LhXCl',ŇLR_/FfAK_:o^^ZV o~+%5hQZkJ)WuG&.5Hnm4&=8`at%1Gi"\^y144Ȇ8$9)om)O73,jr#s/$/N,jc&?E'PՍr,r/ u6hu z9xqV%-ymbRhZ/M2FԠO5G7R5@)T֧t䃢ZzU. jC`IL6,@ϋMTwԐ5%))#8`^*R'5{3=Gk,0υhy&C !cۋ|ٍR ^Х}a~#Bo(v-Bo7R#HOBoQ^QY&OF(\E IPڏE%(Jp,8IbZ%Sp7^ ]g0w-iTX\g ;s"ƀb@]5!DHL#$Vx( (2p잘%ׁ' 95/C`r 26%?!@%( 'duz/Sf\)P`gU,)MJNZs Fay(~@O$`* 7%L@A4s2I+9 Jfd5 aM0J3xK/GF3JYGizdl4@D`?"LuXF09ق4h(3Ƀ/{:y(Qo;- 2 U3.]M@UW9ZL $((: )ACef]^/=X#o4P4y;7ĈC `ZG†2$'Be(n7TD@@{Q=(dk JzE%tfP_Vw3L3Wxb]n漑>: Jϋ]н7w77qt$KGQ@oNw-dpJBV^=O vӝF N;)ΪdzV޿?]͈ya{}b?__aN8ʒ@B~"A!Hri.VD{)(h"FXhqC% >L3 FH\nw &(vpsSnM2~]mpfuYq;$1:>D ~DjkS CɛTJՋ q%~ u,As6+K( l孒5QUE֠Pd4t&̥ʵMGe6I)ӂU(XďǙ&A҈P]\SQ]ekV[_# i2^+x|Q xHdn(6$N拱-%f3ή{vFQ8,DƄgų;hV/7ȖEQ&5,U{nMV̛4 y7UO:-Njvq*N ng%#[`RYvRxE+!P?L(}ܔoY;Y9p?bX=Ҭf(Ҹ`&E%wU_[G]D NwNUeʍ.C*(cA!nK\F<ICNj ]kA5D4޿)8WERYhx 䔬RV5ѯdoP(2R[&\_OFhFOt%S71X`xb2_1k@´ PEŭ4\Al7me4 MnD'1](p6Z133?f=3~G_7&i1UL߷t;F͎;Jni?=AI/GmfRS}]OlDTC>Pby~ QUdy/(A )S΃p#<:>zUF9k~nTYj6sK`Lۃ`C)'}Ҏt|' ,)>y## '& o;BHyih7uq,N_婧\ydZ?JJ0nRV3+ҫj7sy@orGu=,ҲfHbW/:™eE?PYEmf2'Ig"c~ V;Ycdj|p܃]k.?w~[?KY^n3]qln]~Rv/ME9{r&nM].[HzX?wOr!{lixNw C}9/o:zvms:g2]NlkSiylwYqendstream endobj 89 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xWiT׺PDM8$1Shkq@q@ 3 ͌Lw 225Q1&+18,M&y+_ûMrq[oZn:>{#cl02Lf"9ҳ21_@v6i rzI9wLd2Yt|:&%.<4L87+WdѢ.Qqю( MIqjFj¤$gxgu\__ s讎8n vٜ_WuTL&8C0 .kԮ1nqk5o&KH  ߶=+2jq/-[ʙaf2Y'3a1Nvf.ż`1ƕż1ZMfyYld3&)F~ V2S0gۇ÷,:]뭟߾ qݾ" dy*td\2E~ؑ/yl B! dEO T$mnELیRyNKdU4N : $x!\q" D(i=y8A[tID^ݠ̠M(]d($C~eЂ|5dt9–w֮id'YH&D/)W)RgA^C۸ ]x?8}>09ƴb`lTRgXݲo(t޴>4';tc/_}!>Y(Uk!'1u~to ]~G%+fQ ;D=!'Cb]{0`W,RCي 2nAr-ҳO9ޒ^>;)#gzH}08ץq3v5ŖPFtf<oka_7%%ɐueG‚BS*):?v1e_ro[hqA!CpP}pCQ0k: PS^4vx!gLᯊ+R?-U氯r5!=pݗ޼Y?=k F oJqO!ַJѸb*Rvzn7NWn(ǝ Njd=j#jϥDQ&EMEl.ZggNgO3TD_D"ZAm tYvbKuaZ kA\`Q;\bexL-Hnji5&T p}*CY2[KL{:B"+*jʠ&ӘaPLPf('Dhz:q N-k4 l-8tw; wG_i8 ^#2peN ,p,,l/l!5]zHDY5rM㋫Gi8yW.'qꫛqavݴw3H NL EεׇT??}Uq?ti|L]8^ÞkAҊ}?/$%lpPMJwp#:juo+OZm]=YߎS%=TTsT CBfξTt$7k5.@œ- ?IKv[pXP#kT@ck8,5s,)J;\31ʲz.2ƪPmxVV4=ՁG5@muƷ"rk`+_ 4xL P OW㭝]O/R}|P| ? ܩxKǃto"w1\oDh={:z-'R]ͨ[ p ,#/򐜬K?d<@8N !&&mw5ܖO_^e%VB]^WfTB[JZ bs(LxG`/}EE㙏DZOƵ+ *YnV(/;P5t!3 Sz!&x].Ղ&?(VTq2p*ŀg8Ka`4bLt@%D>'Gim;S`0Md5(`X4hssuz%QɶV_Ob|F{?ݏ9?!obW[D҂r52*ѐo̓pa݆f5*nبN]w:GñcEMБ$|gYDiMmZK^G6>gׁ+5էNE87ÌUkWx׷vמm+uM需m. d ٕyt<-E.Jӥm秨tzga,~(py 濾7&NyD??,fho|ŨɄfL͵sp kTmEBK[W=u 9==@ rʥoޢLhsۭbEjiA_N˃L\^oN6ϚnR{2tw5u3z+&}dhm4mjdwx6K24s7ЦXWz@l rZt؟$=l+-0 [zY(дH u|h==Y^\D8'I%O`m_PJ9K<`t^ZfϩLF&SE SwYzE|%w؜ٜmWv"/c" S, ]ڨ8MCp*UA\$(i ֱut N|4s2J%5*UŬ8qX5vȴۏ7;0ΐ73endstream endobj 91 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 92 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 93 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xY XS׶>1sPzOphYiNuSgdF)2CIV&dJa @UZ[j^ZmvN^} }^k#vhҕǙ?PI艵m6S=n?/FkPB 8"ynHhL_H#;9M8a8'A[<݃GyGC[U5AkǍ0q!SNs.#F=&nl[B-RQRèGJ=ʙNFPjZG͡FS멹j 5Hͣ>S Bj5D-&SK)Rj*F(1Տbw(?eO9P PݨTՋBނBR+  E-&,G7 $z0d#ݦv{v=WJmwzF}<|nI'>/v%wN`` nP*&p~iI?I 08df¶-Lh_ԶCږi8<-{o3~ {5 `VePϡ&z}BUk$P#x:]#t gE{ဪYi^C/lY |.lu,`m;_uAOY]e^}XS dֽ`-tټ+9] ᠪa3 ؐP[sesRF|%li9$mHVPIOS,0 %٧;\{r5W^N_*es rx/bad)"evUgc~iĖWȌ8#? {ᾣ/nO?"1ð h&8Z@~7샽Ҋax/I]݂c|$@w _lS@*a&LMH)x<547fLbx;lRk J!GV|x-A{ .A\HcEnm|1&/pc{{)x|00L6׼=u{B% zPf\0KB~_ 6;))C׾J$R(BfE8U*Hq=ǻ&\%cR`4BXGtv;"µ[|3,^cOHiq6Ug?!;C2s5T3Z4ĄH#B]Qwlk:ai)@ FQkAN\57euSFѹs$`[)vuQ1 a `.sTEsU6`!5FXHTKK94%S􁯾9T/q!J霷=PNHS,DKSBR"HߖxR=[~E!RAmXԔC&] AOBe{ϫIT"!6ibQ ѐLOsqWT+/ 8T4A WY 0,d 04iP3r n}ۖl!SAy[)V ઉn۠2ĐLKۏ@*sl5XNAܹk#)s3yAѓqhK'\a=g:QZW|E~ÿg&hSde 53d_9rvb, &`x8]󵍏 I :}fxV?x3"\.Oߟ!ɷѫi}F`, VT*6%8xkć=N1O$h֖|4,G69v0h;=wCǚ ,B@㧲h!s-SJbA [ m[J*>[ѥa҈!sg%oO$ /r8zdհ5#hIjZv$f׮=-fX)Tak4VX9_mKL/a?dr: "eluAjY cp+>Sn@BcRW@54+˭}ZM-B0Tם98P{QH[oRtf,'j@>͝'؟^,,ob-`da+;MgXDslv!&E4:r aڕ>[W+G4ߣ-:jw憉pb{?! ;L"_8J/*͗Xl./%rqWO$8{X]o"\4Rk}LX20lS)Ӓ*{,D\eaaE#ržXwQytUŐDvJL9(b*"A;9q?#q>N0njn(ESo7~V[y(AȄDUUk1pN{6u@-ꙛ DJ.xI>5#:xXŗ"yH6٠ c7^DA0tPSup J ߠ]23 ^@TmDj~m_A۬;gT18=~A}A=ݞg< b8|8f\ڈS"^2PBCB6)Crqn!Auuv4 ;|n<Fi_ކ86W6cHb#`Nc-];Mmtn6"bW b5Mh7ŒsƼ5m ❪(mRG>NU*SUʹA%4*CΏnj=IfdJt% SmP?lYA\B%3i+h̗-2,4q'0/r@/ NʢZA g1 }%s^"v?hҒ%7lukMY3Hd3Ů t{Z^Q"Q8Oꭹ:?0x M4أ [lQ__O8[Sq ꀌ& /?|}Z)=&dH^! Qo+<֛A/&m[@{ĀZMvTf*_HE4AA0QtDi3pw@?&:@i_߲a!| {svU% 9U% p“ě16ԭ*%,+/~Xhr:4ժjʉvwiQzfDS ׇJCB a*Vm\sskHB.y{3--: '.=s}d\8ydRUToePǞ dN8xڑ9C%y釓.2'5U>\"''N yp ✪AI2If5yں#-|vGE" ݞ3 iE#,Y|b2ڜk͆ÑvM8- ¸ d*bt!!1QakŹG ZQ\Q]]^^Mɺn4Qcmsbۑ(ryM.CC eR2d&@3PG3 ^ &AbNA:on>-5o5 DIh^ۧ޲~##Ik|KU'׷ &mMfw4VV47*}6) RoμF2Ur> m#l5eK.)aXFfu3_c E/ە'/ ݞxf.o6 Շ\ 3<_̞cIan[U2RT*ƈel(n7.v<>d]LC.8" mܓEHl=#[%ׇ FL;p5aN2V G:tno$ϊKV-hbB|7KˏhcwF~@lmbQڸ9ϗCki.4d)2SUJPI7D-OؔO*Im'HّfepyEGoA+7h`=#~Mpy{O&ʕGbOi 'H+6R7M0 uE?  D~eWzJ WCc{bBŠCt;rHKרj`4:wRIR9IL̻-Ρ5;,㇔y!zvdn4E}7˷xOp ,7lo:4$SD$/dxXȉϺ ꁯK 贼0nzE`+uGmA7oB>n7_.¶,H/eE؃tvmYסS$Rx?\0 Ǵrf +SW'P1P>T/&vSMN(f||sWzm\oy8{lƵمKj 7bEd%ί \>.wnf;zϨn egu<;'k}bMe0s?}a+D'ݴ"vfg(/Q( JZx;?#jCf5f1G3$|&<-C R61Ӷș+Jpmqb֣Yv^E4Oۅ,143NM DLN gj@yl~Ø{V$~ܫ5JgFFޙJ&s*JF ;2j9$ F-&6w_^̿g-o:Btibq_dVh.4F} :^o?.IXH|<9{4 mW8fe Zlޓ<=]ei'DހgOplhM<#=+H|;#!e:7EWmhc?ى\ύ/]rʜ(R qwd#zvo5 "uRqEbiYYQͩUͳ밀â4-5 J3j5ݬqS"xv(?+'hljUen.*7M}-?)C%BT'q  tӥw׭f F/_"b,!o:U^Ry)# q%i-FyYȧM/wͰg (>nBendstream endobj 95 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5192 >> stream xX TSgھ1֡ ^֪UժU*""$CF¾U"("jQ\Zh[3i[ ԙq8B}>"Ə#X,[wm^<,qb0C` oxjtcR?¦lKZ/eG/\jE/,]*p]rl ?:R52->692 S͏MJ|Zhgff.LN]"L{uL~Z|ؘؔ7mɱ[2^,JOM *Mp zц7S7oȌ̊ʎ{0$.~Ĥe/,_x A&9D1Nf2kZ7 }kf|7{I3ͼ%yu~Cb} ֹ_.4Z6^/7r@y.k89e]JPi1΄?wZ !(bVOLEe%+3 68-fb[*As!m0'J-'69ynD[(ZݶJ?c$Ѵ˃ @}܉okTRj)H`;⢚ZG5]߁.UgI)U/! 3M- =kRe{=@ւ@.eiL^mЀ'wVN ntۤs-vhMߘg<.+(âKrO@̬ jY#vB h"xM=42S9I`F} 5O@sth98Ct5Tp!/2S.37/T~blL7磓xnc{܃z0Uk\QVUX,F+Xy>] N_˹ 6'wқ,]mOx(V<V.0in8Ai pZd)H~&Zr۪gC¸ M&MnS}VY.-Ho-lC~=w֖E98GדՕWnֵ*b\TV))TtDLz. ^ԫ{}fLN6Xʔ B9<: 8nBŴSBCa hA' #bvb\}F?G*H;*a$a/}ô3;lfncy &٨;{SC| ͷ 2ǪHQd,s79vV+ /)}cLl%N;AMJ8uMc Z6{gqM6L23Rg&J=ӭ}%$2=.yjC<Ȗw@t}>WBV`awDK΢el;{DI*>dNp?ca&lhSe-?":I+2a?z_-Ec/DKQ"y*z2@Bʓ^e/>NaSpDwkSݺR6laÕh  gD&F div;+6w~;93gttUw# zmpFgs\׾֌#+'ݕX8a3E̼=A^4s3ە[W~幆49فHAWFE7ѡEnV-t+.F+ d+}Y *>G ff +]թ@.ON;Hˣ Z-kASp@1Yad$thjk(*vk=Y1XC^ 2STph]ME3@Mt&D١eѾJ:fNa0JAn,<NT N j0m) su4MB ѳ)&ȧt~ܔO9F^ mmTLdqwn?ggj̪u€|Gf5k=ւ:(!+ŮlYzghݯ^h3a =(A'@2UbzS]X8j=:Ff{7z ScѓbQwͿAӿbҥ %n  wtT{n|H7[_Eݛ>*[{}o׋eḈe9hrhf:'SD|3|aNޭDŽ1 Ӈ $;cezRnγt4=TU*Pe1Wl4r4倪x`\IC,1ſp6еπ s;8F7{ vFEHcC5Jw@L/@ Zz,"7Zι4mlDbn|`>Q~.9x̜yLв+{xƷ?<ږmmnnzGs>U"*H9&]~ӛA]fBـ}l.+huV I*de#]QUQ R'**=G?Ō/p@I zj [K8k35_:IK TYt~$Z\odLuԩoB [7[d2)ʢx9ZZB\A&奆` |gXgXgb{πbmd\4%qCt/z*kEh”sZEbþRmFSr6{ H\l$?8HxdEY$/i~{Tt %xV֐9T@ޭlA"Aۥ\fF;h \|N&npfLt0[,`6S&ј_{=]_@6s@Rl is^|b9ب)+>8u}c¥\:#$fpÄ{Aݵ G sn;MT:ЪyN {SZ]h_toFlD*{J[+p%mgUQeeԹ='qUFCJʑ]_V'"2O, 4d}{ g0Li9x*=Rti5ht*%'(+R_/ў[SA]ؒ\Jϣ0sَ^]E^?(dJy5<a_ׁ@A 7|{gڢV 2չA*N: ڎeRxQBwA A؟{%G 9F1ݬ6bLNב~FntþMq9Ѣ')CK|}Dמ^_ńoɴEtDSHכQOd)H˟q\2̋+PР l{| LS9ZpYYSI&MAo;--ٴ [1$C^o9M4szܘ98 nJ8AX.ma+L%򒴽'ocE M)^u)y{KZyWė Z[{,{duFYM v)D S]^voz"{X0(Jg$M@,0}F("-&&$'*˩m45P_sB~RbRZIf}у1ϲB6_`r,~?L(@=hz&w耲ѭY}/]B7tML5yʊ))SZpendstream endobj 96 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5443 >> stream xX XSW~1TH:1ZUZ})**.uFB @@6C6uEHո nSj[-Nkvγ [Y>y7w'lQ"Hm4ㄑ"aT?O}8R?_eΦnԨaP:JE"yXRHL<5s9yƴisy+<]=2 O%:o{y+#'̗){J:U]dgR;[yٟ֘b^Κ0+;Hֲ RCKTU)b>eu7^p?Z KUYFPHa A{v7`QK> !%gfASoTlJⴙeu#'prXe*]2}T7eaPH:UC,}ڄdC"[R}YwZ^5M#||mߐw[% A9"D)rSV߳B _O/d2]IoQbjj@u]` !mn߄y 0募o7]VbOʊ92]gOp:"OrfWH`U0Fό?D P4 s,9w>͝٭_Uo~zg7n9Q2(.u^%bx+ 7ЅWVwX/>UlVթUXF02KAKV~73{E<~k`S17.;ܥ>/&`>jlB$S Nq9l`"͂MY@%bjb52|Gp(%$.uV\@cEpŒ>h~:GNe52L7>6ڟ3WNЯ-<҂C9F4{3y\~uX$H,26r('5UVZr׏ғx~`[HLIrIHaQ8h?8E$F&:IeqXr0?؋QJV̍V&kRPjf*`"K{"C<z>>y\a"{U \btňSH(Oi+S/1EQo`{XC1&3۠M G[67.81I|V*1G |VsdTIގ+-#:GY PaNNazאI _eA |ƅ0}Dn5.Qu騄9"8wHjZ5IUJُQ' ˳1-Kz.%oY_=Y AAK[kwE&c)`⯄mC-6$,Xگ_if6'1=Yi%fj‚<5 d)ȩ.?$}3l-򔞺="b3A%r>l`e?x5 ~2XpIqrw7* Bmo)OqV]iq=.gEDBIbσdqƃ?+WkY,6?]iP?>wv\=a.kﺃﱠeFϓg?>v죿|}ztܢlEw7wFx}~eFAj֞)ȯ5oΓ@̔ef,/क़UDž@BEnbw2Wgn<,tFan.Km+:bs̭g}݃4=a|@"7y> Bgs*p'μ ky-;gffsTF0MGsK9B حj~v~Mz׿ŚbulbRb$Qk^]=HVF4a(Q2:Cuq!:@ Z~ CqEp2 uvP[`?MM SVUK,]m Ƅ?NNhdXPS[TrWaM&H! 'V<v1, q<.D"eCiFHyB_e)_sNN&*5Aq|l`O@IdR8)'}RI W~9(Ǧ{`TMzUvfa0lab-ذAފ@z_g]px+p_w=Zh }u,,HܳvkdeA!Doǜ |ŰUs-\vjGF[Ҹﴶx͐ To:pk*H%_h1 dmtANt|6 :Ae2""_?%N+.1:E8 p{;ƥ).˯(#f0ؚónEp oDMM>?Z$5|la3ybxO4u|<롚2Q?51e4؄C*bsSs ͡JDjF%dD_'6q 0 $$BNsӛ.ՙ޲!`ӛn,j E"QK,*³5y\X^!??8dF?]g: FWPZT+JV6u1? D)zqxҴOPS.jGq.i!.ksQrREGj" VuZTNPa^OIqANqȿ5֦|\k1+x>Zrڥ;_- {">suaAoJF(4! c辊ђLx m]A0> stream xYyXSWڿV IqZ7\PT\ZD}%$!䄬[\;Ku [GڎcoznC;7g?%:)M+MSHI1鱼z*L"WIưy \6%DzST%c17ߥE˓Ri4^&4VLzQӄTyR[Y|tJl,y.Rl kTYb܇JqjҥR>)R>7^As(*&OI IK_iivLNlly\X|xB|-36o'L4yԡgO> ˉD1'0bADjb 1"A q?~8:\ cprY-jX8WUViL9l5k$ѧo})ܕN& FQLIX`Pg£d-Rġtq#[vLCO =Y64–_ l {fm^y&E@W^Hamj5 P!}zhL֒9(hSbE'Nmba+|vn(AnӔɘv(#dsTlϮϭL+?BѨ 0d5+@2=oҩN@6ί͋ 2h;`(C@Yp9l< gҋCz {l~v-gb:VZɑ"o\3Y+4#}HvﲖJڦKBD$/߼)3ֲw`p"{gxWЕDYgՠذ z f1jKQJ]B#ǰ6 i;M^] dG"#1p"ّ)h:@ P߆bV(iuDZ\P"\0_\9m DM\~//CufKPL#02Mm-V۷ $M`fqΓ%G=ЉUVuyMyyI{puژF[`s{f} yuHd"<@B#5^\y (LʩDԄgz#? 8*D_@m0J쬥UW*Th(DQ*# }%==GQpf8'm3SPx]?)gTv~6>ش,;_SUlcQ%L&ҟ`@Ύ1բ.[]S]]eSUհ9dR"4֗Ӗb|ZPw4@uz5(mj[$1VƒqDz~/<޵mOf=ru ;oonQ4J*TPK%.|jnmx 3J$ƒk`|XpzujC>+gnMz綆 CX?jZ#F`x :+.Ŵl}uL`<]2cT9,ZQ,\WQ~j,k0ٺ&\sĭpWNjBŋ,s3?l;n)T[JTIEI!kS ϐo0 Axy\id.@i,ꤲvs mwnp@#NNna.WEυ"ͣK(K0'n>c P xcлtkݸ*-d<ڣ}p܈G*Gg#g bk3?_9mq9ĉ LL˜ e3sԓ3. ;Rjy@ nx)˳eTW ."ݟ UqKiK)(sM nB7FBsRkࠌCjpܧ;$AenO,iK4'7FTD~~)F$rۉr4c_=h<r0*}0yEvm<:|Cv+\ icG*sئ悛 {n}~u H7$vCuC$BqXLGEZ֤.**NC"}^|႞$%G?|; z8JOiPϮH)y* ݇מjϩvlƭ"{?ʬ<¾o 8N],pu0/tNKA!Ћ jv]uRmlm' 94#ЦYp!s 8( 񀞬bTp#\/UsZd;( װ6I#a$. 4I4|%_F9=yY vfgW};R&t y\&]l+'|6:.#jrF Yn_zn!U 0QO3ץL(k@$cr:o0 ƴÇ^y7{i8k8&q%[u[Ay\zpl];S}֣{nhCk)u m*5nے b?'%fo?16rAQ8Egk _\l-W)6$Fgӽp={t.Ϫ DW)ڨvֆ ݘE`O0N?.>{8I%ʵk%) VajJ^~WO HKB!\IdO\8u9G'.;B37H2rU@EY56cYU𡓍},r6Qmi>ewnZބQSDD5lh%e@V|Uh<{ s G&8N2*M㕹 wPbl@gLϲe@1V,*Jd+=We A}=ĪƂ8pѴ Ӷb;X8QorW񲱧cNBNЕ.Qzp0(_ɝ.G8lĹ]dY.8_`aT XrtU}Ɔ-"@vL ||{t%H8>$܄XU eq `؄,e*i8qąPp hr̀\#l> stream x%RKSq?<՚ jPTVhayI!Rk;\4esKv#4"-rA`#EOsS04g!\<"ݑƶ62Pȧ-Q~LLS_8.RYlLaaAu6?*.^*uؤQfT%3:<Oe\caT-]ʹ8XNS cw6d qfuɝVɱ%\~vi/$dRa t$CS0ONqXZo@kT7AFS% 2 tWzɍJ5nFh1UԓxbjIKyDEۏ CMKt G T뮗8 Fա q@p\\e>$+t|7[t- սW1v8bx<⪤G# 'NJ&֭0uS-%ҹ?陁nQ?C2=3G _޾]/0.&V>BHE._Zhg=vh?QA9ns=A;8+`CO9 sӃ/Lk ָKze# (z t)ʼT6 &"KEf$ 'zɫP1endstream endobj 99 0 obj << /Filter /FlateDecode /Length 2970 >> stream xZmoG~8&f_@ HlEec$%[_;w;&' P̳3ݛF H\y;ͣWJ87QHRD[ѳQ JFRDwYhDHVH&tcb"jUM'bTTADZ@7L7DHe(UtS$׾u0F ʂ2EkD /Iߟi?FLQj "xb)Bo+B;yBqr_%uҶ%E5l>M?yBhUiŴE8+=#-uVZZ&f֨Q|YZg560Tf nb"x`>,E/1F.V5oJ"jώeeόb!:gF5gOm1Fn.8+Θgl >էOz饒ai<#f⒁ #V綃{:a 8a@〤X ;f:Uñ{[ޓE&E5",&E#ԜĕgޑGk#=+vr;ep5gp8؎h0vG6cyEXT0hV+`r xUwvͲkv]>X".9:~m$=ćlS{o$ Iqqq:_MGmNh卐G+oFl? uۑj`j~W -tcxh4^VU$)a Z-IXjih e:PAB`^@u\sTiP-6j uѺ&h@Go[h940*xen"QFU"Er\:Q^B JxMɁ$K\3#E|<{} B40vTJ ?d)Kx#V5UnmI ̡xl.Ky;#,Ds@ h'Pޢt<~y\lV[(MDubtz <:Wv6-b5oz1P(dTo[bdvX.h@+Cq/f\Axt=Ltz(%@Ep|@ ќ:+A1DHY$ 8[jgac?`/'qsFZk"ctV(*Vn) B&D@1QAB; :7, 6}yA|nwVDב#Mƚ h;dȻh.Z-JEw"] y-B7="Z?$:%xļ??y H)wx uDW 'ɼPXgp.7#JƤTO~l0YV8魍pw,Vé?1G<88w5^Pj8zK0r5laG ''iBθeU"Eۋljio< uԇάRa ?I`"HEB:(R"z^:PPZJ8QsCwi@. o=RHPb<×?_M`ϔLqIcC{>Ʊ t&$\2HoU o<, >&N: Iu2&%kM;ۡp5stkP{~-$Jr ޅ@GV)|h*NЂeƜTvPﺴ2ƄXV:X;O v/ vW罫]&݁Q߁ۋ:;* tȂ,nu7{FYe/ }2w .zc:Hy_{S7@&CatZc5bLA\,/ 4N҆sXI5Q>93iyƗ~y%>)Љ6ȾAg >8-Z}9TqߢKui7;o>-C= l  @2pԝ0p/po6,^y~j`*5_>i@%hT}n LVK|ߐ 'nlζ^,1㎡!U7l?i*wǣw-zc\m`pni#lPa95DDuhN07t1-/U@|"my2[lWϯ/6n [0 <Ϫ]mno.g˪TT=Tcu%ł躡#}#P$*$E:ԂV#0#u"2@wvm~ASݓ{𒌐7ijp _eX7v ]'2~Pm3ZbU"Z0JtoG9o)\endstream endobj 100 0 obj << /Filter /FlateDecode /Length 1780 >> stream xXr5}߯ISUt el/b@fV9m^+WF~ROVEi^GLa}J&Ȑs۹Z=]eepiSX XycFq zO,ޔUIFϒ7xN&Bf9%eRԍƍ͘S6Ģ9JEf(rI&[Sѵ2V귕.U_vVO]#ޭ^ FH2Ÿ>^$>6JMTQ\ Jv,mYgqE&1dhmLؒV*,^a)/)kğg>:[}2v`o:wڡƯɏ p)#\z!ԫ~zCfZ:~)z%5R\ZŃaG1yqFF좐#k

"ޒ1[ 9SA\KӔ]PIX Kbtd s% `͹T'F9g ܳd )=aFDP=vtZ*`KfNLdN ɣ2XcnA콮VScQ9[ sP%3!;fsQ&6Q? |Rix=x ?K{P葯)'/{hE6t%I1LY [INNSm.ń- <Ҏ)D$y]"(:AR^Xrx{7ᥘԨF0C$~6xqqBKզ#E2Y)i/_e}N} \hҤME04\5?MuK5+!·1ߢHiKR3fSG=N"kjGύVGRsz*t+MƲ`{9cMi'.m/`q?a5H>#*엖 UTz_X`yޑicqZ?bs > stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 102 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3204 >> stream xViTW (f@DE\YnX Fd1buƉq ڈ hTmq 40Ѩ[}^{f^C2sw{{4e4i8 5 5?#9p$ТVpnX*N2UؚQ!q%y>[WN>}ƒ9Źiv.Voj^FZT(HZHP^gPEY㛛 iuqrpJHд,lW79sr9͙VPT(FM"H*FES+)j KRΔ5ZJSjFR* SO}H ʒ)+ʚDɨS1eN9H)#fd3fǜHHy0RIK5sQl3gMq3Im&&u7FApLl@J1=]i{z-mb/+,Wd߽;4UƻxEataڢ[ %{Vth͕ʛ6$78Ws̹R~8b!(:YxHQrb]anQ/^(dwjUWl9I>SIW@ÀNvtǾOq,9o yO¼g9wNH.ѩ h@ƀ%܈>8FZ|,.(<3%f w$dkxAn RVJ'9@ 2(l2,{AX d)TZ,{v[ 7=cy%JDՙq^5w"smH@Lox,3iw'1٦_c[`ުuת'G>.XnyT[fgEYx?vLTuv#T)kc?߹yĥmA5`f5\WҽZD+3?θEo-ZxZc@¢.Ă b|\uv~˒.=|#DSV4\ bt&^N"KҗKGv]:+pW"~~}=V_)i-Vr}̾_Bܓkc]iśb;27J@܌+~yPxG稓fw>Oݶ!7?#kg L=pr|@ʃ-#bpxfMFBxxK 6 "l|9)rba*. =!ŝ8[PIVWx~(ΐ2৯Ȝ_$Ywe[vCPǾ=yo@:Cȕ 76-JSUٻ`#샽wwy$"nVdƮjW'3)u~JC#H $T ,NotRL*׈@$¥|LzCDAZl]1=_?Sur~, & C=?džy y f`vbzen" 2V:Ր5ẅA@ w~$/o9l?u&x=8io 0i(%_[[xz]7-¾;βdƒ67Uj#5]GelͥdV-{=V5|ఄ}ۨ|#&-ēe #6yxDǹ$gxC,󝖼H$%T.6ƞn5 }.eʻds8u:OrIu9G| 45?^>'I7c"z/IFK\I'mTʎEkQoݚ81y N. Dk"lgz/$ϖ DYuPa &_ ӢjsgU VB#YO?EpRh˫wj4__u y} iJZ|EiEȜV< >;7;.V"~̕ò8m5($g.H> stream xRmLSW>W-r2^(0`C,FdP‚l|uٖ #}0cD,"aC3рvd# ~m.8yO=qyyalⴖħWh I~kXxK(|` A*IsGˏ{Uc8^MLJJ])RkpHQrPgUV->xd.qJ_?h&kOIj;l:(Q:2L1(H t3*R|Q|4*aHG jX53 AR tGef>Ra rN㙑Q]sOLudAtxBA +,{eQ `ʕ_7fMK{+%tO|;! ! Fl5TҦo0Gu۞a7mp\{]gNtY8d]Kuh&zZ [6xsafx~RU`{&3-.Ps;Y%s!ɠJ^|?l 篑sBm_K7i4FʥfDɾ9\憆f&3M/I]7tSı| v!(㈣^g?߰"˚xI5 i @bփSvG}EYB )v|a̻3aZ$t=k_)2 ߘ8w 6?%Bމ?nk?yb! qTEݏ"!- (.)eعOz>wm|_.vέLZ=w@lU&JG~J>@/G% $!7 Njזv2]{$xɦ2Mi/ǀ47S ty232"'?rnSy\b84ec"379;e!d-@}FS_^endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3354 >> stream xW TSW>1sT E<{ۓQZ{[E2T+ @ C '䍼H "2vzǶ.Ӈ}uw@;Zs;3w$++Y[DM@D"7m>¿'/G`7pDϜNx" zD)z?ur&.&V+5OﲅK&*5qQ$yBLThetLl\*}RBmfSoS>T vP;Mj!GRS?HPARoQTJJyPr5*~ENpQ >2k"KI#Mw3 c`L? S,ASwNEҗA*\ȶLCo3[}_篼SYt6r*t@?d<>Ax t{ve.X {g^uѻ CehdRZo[DwБ;b!űhƬ{ty.@^<8!.PXSz!0b9ul -q S( Dt `iEBM, Mpl ށWq8D+R&UCUv kxFQ'i ~Cf12CB!#"<ȴO{xݙmD`nK/c K_YrZ ͌Dk3=`4h6;<9xWZR}s]^(+{tɁ"$E* UY-{LG9JL҇j ~)AK+2|V̎ԒWsUŨ@4WsX%R ^QQ{$O\He[3['voQ(2iC!st3aIyo b#pFc~~QMUGfHB}J{̩:Vx.\!C[fu%+>=' & 2dx: &SsWVQSW^9`xݸ֯c*֧Y#ޯU\cLPDHQdhyM]>f<mV sI㉷Cz^FZULC]4ޒMT9Z.ݵoyq}J.na ϧ!'< w^bM%hnϯ!xRḾUx!jb!PaJz9ר#  0!`]uPUp\y=n{11:FPʤ64:)Kp7eGzٶwOFJȆdAP.A6R(iudaHcdWb=8{!+j R+i;>v0r(Vč#:2!?.-k()u{ 0J˪yYt=(ueZ߇7ogx֣{7rEgL0+ .zg9Grݰ eTV[s/٬g:97|EO{Y` ~i;!&G ۙk#D8Ͼ7;ǨRX{˦C.h 否HCAq!FG5v$ac9$ E7$WD4"77W̤}A$},􃕈fȮJ93q r %.,6m` L5΁c'R ^VH=E;R"U; G[D4;8W+=v*#^| ];q4~*h !?-r03V'uiJ?4kGfkڎ$:~5QJ>۾ wphtyN0 i !J@_WR {vtNyE D ILJjm=丼+x9yh2FSj`Ѓ1ӮJ fy4- F 1?}L9mh(ǚxG~kp<][ ?*~( }tkK-9fU?7b:v!6כIj/9p&&*)˯5P^UV;pNW YO>^8ߦҙwI7,M&„M4Z/ T#vcXMZZ[9tdE3xO/KWW KxYܜ"mZg  zS[ha00d0_ UWK95LJsl=9LR}%I]#mhm&꼈r^#OZwΜzى#@LoonmvD%cb}$S-_x@f4cC52Ba?mCӑOCNzކĽTn#j,oc~(a·m6P`Kex5{y+_4oƣ-D Q6O 9wƪHΕc"wDMQk A[,ժ"eZLon5Fq ()?.T8vv$v Ib]b\ENx]ْrN1.\sڱAg0s y>ɨߙٲ"I˖ybYDS1^e3hY-x"`Z&Sm%Wה}Jopd.f QQb1?79"1 ><{iiߺ_ӓS?UtGTmAB##`%x濕KZ""+@qGXfFH h=#NJR-ܾ"2f/b`9F9{*}"'R~IaMj[DPF7JIʚ۷RMONNnN448)/jM@22 lg%11Uؑ5UE:BD˿Ȗѡ+c+0>xBw߲\x1ɧ%U\HKC(M#kiSOTltJQN"sendstream endobj 105 0 obj << /Filter /FlateDecode /Length 5430 >> stream x\mo$qN D# w2-;$V+c$a Ւ]w; F~{zGf{z?zv>x/3-M/ ;7Jwg^;ޜZs \%9rYO)jĕu70PԎd(OeR|P͉<Kd|{yA];Ns}~Y2;gRF`)3.ߝ_|wNެ`Y'ݯWk8aFtoVk!Dc:epvuej&&LXحeV\&wju3``k:޳Ǻ#)+8˴60AYpxiL_S1`! 9{5aKw\vw=aa)`Àb-"% 3f+FA\]v{|Iprfӊ *]ɔd~uXR{$ 9Q0t`` 2ӽ_E\Cr88*ȼs}O+!X' UM N'E<s9V& Xf<`7OuwBtٟUjw.h vdvpxOLjW᰻(˸}xO~<=Tkűn};**u,Uel~47EHd"۬#CyGٷxw<<=Z<朁wd _+yfkƨ<HZ@ X^V;``9S,b9x]R~:zxO$߬*03`y !&'yOC2;-OFQ˗DŶNG}[ېݩ'83zic /齏a:rbO$BUIkad=2*A/.D1hهU Big!2\GWQ.*gT^dhzMLۿ?H>d}HL/vmw`ƀ[q&Xy6 i<+NS}I{j#ħR:15 9;H},,F9>FNJ߲O/"kL.e׀q B\Ϛkܔ]|Gp"JSݰ}];O-Rv ^ntW(nNQV$gʑ\LiIi-$'H |+'SRw3Uely1'&>7:J[S=&Օ|2;{i{-0)_wmIܚCN*LPܗw)*_mni%v5v*G׹b4X ZEК 1c4L.zSi>U1CD?rZ]Fc8£rbD i KV 7jN&7!.P i*LAf6Cj /PoaIr>jމuj uITEE ͮw)eVu,Y"-YU=ЛCՑdp̓U!LM낔&(Am6npS-X]`u䟨AE@<U!Bk6@u,F'!e oe]c2Zd3Zryk(jzbj2ބ 1@w1D}8wAepW s@K酈B# (0aܧ# d8 W_N ,5sSM\ZY5ؠqƯ/M_yx(T Mܖ/uyxb*?e)-(KpR SuʣCӐK\ B>*YR`=!1Vݖ=2'>3Zeߐe?-!NJo\5FcCg%W_2sKn49j8 >Rn;MmX =A9r.s~6]&+PQѢæĞ1ZY_ I I$JѫZIr&n6ja&l К^W߄唭>)R޹ zYa&shbyF2 2a(j>*oͬ(hhWl\VH.㐙8#N0U>4c=Jl}h p"p%il ܥRfS~zXK@جxBe=mlĨ$u3^",IPMK>x^nNF}iAIh$7i}KshIlmR]ѣclk: +[3 .lu Z< 8zRL6<;+"Z88imMCMܵfo H^6=7slPȣ߿=VRaeDlk`>iBShJd?Zz |)&F.4$QNIO8dL9rrigj r2HC3t$z| ķ~>krFi2̘xTH=fjH5[ѱZ3oN 9j h1۰q EN:@s$`CSo*gNB8EPaC&Ÿ~rk`ED,)&̕lV(Îgiޅ/7D>k%=֤S.N] xǬjk 5BQ8Fnb+[a? 9$D|(i4 tb>!L!-OR^K1.>U7-gJo'z̧N_|`d4Z{>MϗM7ܕo>^UKNޖhFau3ڷ2q.j1]}0v!|Ww}u!?+ܢ(&1ȡfIƿaIE, +M_eA^Pf_t~:(瓧a2aʜsp5s+IH/QU3w U{|]8>gyt"\1{a[NՒϝ)B[[X<>6XMu+[U|bXU@ WnPn`!tE gLgv[bMPG+kqWШ᥺֠- +}:ƥܧgV@V9zmZjb+2w5Eio~8=~{#KI'Pb5\*mi?4^&KTI=J٩?ͫZ9h22JC-~J*^%+hendstream endobj 106 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 107 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 327 >> stream xcd`ab`dddu 21H3a!#kc7s7G ~"Ș[_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*"s JKR|SR Yt8۽ǒ3~t:{} 9w>$:ut=6t.Աk/Tvkp=ol-b>sd[yxTqQendstream endobj 108 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 416 >> stream xcd`ab`ddds44~H3a!;=<<<,+p }=B19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU;OL:)槤1000201012c5_x? D{{&vO>113\q~Nn"~+V:Ȯwuj ⨯.m~X`endstream endobj 109 0 obj << /Filter /FlateDecode /Length 4949 >> stream x[sqߑ|Sz9%UIT$JbS) qϞ{rxA{~ݙ;7_ޞ)ݟ}\v7g6%)4ZH}*YZӦBbISjsNq6=jM5*M͠SshPkZǴޜxE񟗷/!K(g*fOG۳pBep\cB߁ya _ ׽S{x]!7!zK.=kp{W \ rrrr⣿abr߿[rr7_/n.oize<`~8PXǞh-f7rr\_^/6=Or޺xF4|\=n?ۥ1uZ}n -X5kCRbkTXKۮVUfbVV1앳D_-WBv%3kcZ'N` n=j}Za#\/ } v sU?߭W<?xU>W-Wvza˕Lbқsg:Wm 0yI~i) VMYyύKյ] s{W53&Xw}r~VĪ~yq 1Z̭M%opم?vwgyʡ`?J,!+|j_ؓF3p`-MBo.ld۪[d*SOV ٶ52ߴɦpSz*<"Fv4Rwp FÅ2BMH(+_}qeq}yG"?\SbvTr*0VjMAnA¦LZq&Gƌ66syÅ9 z ,z3QOa#ϕm{`ڨbFWT~g 5C*Rƨ_@EB0Cȸh.ov׷W/.32UMYiP:$=ɺᮼY 禊I{{/KMҔT`ݺM$$bAN$^dEM(xx* 0FvM:=MNBzO @*RtM@[YO~:EY=alQy XQm&&$GjIwLR2aBT T$XEMf X}E zmh U,BGBl $Џ  #IXo+JԣMvB;1aġ@@UŠa<9W7 "gMUQ}Al$ɉǴHg,2QLWb0||g$17.lkxbæMKs+)&"i8{jIT j'mXGYXK@;I&Ѷ5 &q' KZEj.[vHXЎIORvwuiBbm 6AؕjĶB-h$ԴJ,0s$ 34&I$X$ B-7`RW{ M 셑I\2 > wFrf%ktJ`CN$zġkQh}tfMALG ѡk-F3z"QKp"=4m0CEF3 I[bpϣcM$^Ieaq > Z '$jfyIcTl%Х9F7H]+zF$$+=S mdDD#)dϢZbH mGڣARBa YL$U'rw&Nc\bC+?&TdQ2ICTx1·B-(QHc4cDf#TmLh2<7f4j1t,wE[zh^b!Ef?-K+7-S8idz>Cӷ-Ne#DZ?cΡE ` '}rA䱱 =$hܐgikq%x?qCĹXY szTqǶk1~КAr )Hul1AHFs;2H5qFhn7#SRH>O$$52-GkMF 8:%^ ؊Ij!".IE,Fz8LT-)ES/8&N 0pse8k:~JrsZ_t@knYI<NIcV:t E gfiWNI)i eB1S{Hh0 )%@0 Q.~E-m00ED/ɳAFv-j&WqT$ZAx*ʣ-A&b[eċōB)/P!$iZR!Pn9+$yt:|TRA0g&pO֔W=[$`2 /iT1 m6ɫ$u)4j'}\1Y", h!Az8%E TJx@Z`J2 \Hhךc>R&3]˚Q4kL²AS9b֛I%! Ԑdvfp#<Q+4=|R!GM&IXiLO_x-$v z2(^fdG?%_X1Aji, B| ף_$AB?yVkOR8$B8r)-z18{O/f}TJyHlVB:4 N06fF#Mv m6P)U_ppRx ;_ޒwrkn#bҡ{/\+<Áǚ> H ߝy/6{F)|{+vyWZ.a0q'|w?VK e*l[|dpЛk0~xn=_m]L񳍵ɹ~8k?qp@9(&v#̷OKeBfLO258G9ɖZE":!Xp}?y` Y1mSkAmN&ͩcYۓ=iAEĂ|`!ڦ{BB>HU]3s)H/eaǝJ5ʧSXGݬpjG-^%BfD_<)RhanEw ߬32$_[ h;a9_X7}ݿ}ͯ)?uhpLbӧVlmBMc-x'5 /D D4L/$ b^z 8/Y9uK'|Gb)ͤ6,WzٱoJrQ^Eթ˛1!;w6>bZjd1DF| [FG/[8<7G7ݚ n޶tX(.I-ۧ'r#J]sJG򸖠 q/Ź́P" iV޿T_Źo x67g ̨endstream endobj 110 0 obj << /Filter /FlateDecode /Length 4357 >> stream x:iǕ+-@[DƮ@b, Z-f:_5e YjUᆱf=_3/}\^[^e{ij{g֏+'Lo/;˕g7ʭQN}ot8%97GMimWT9z Qid&m4Ci9h*2I[߮Aqj?7¬nVQ|͕QN\=/|q^o@VØ\H){E?#;&9#@6j'k@C8s&n( TSYݕ& .xb}f}7<cM'H HE{ Hҷ6l!gqW$ '+#=xL3 h˙xݱ?*&t30V;"@. Lbw! Z n9ьlCiO{ϴW `QސsY0<4 PvJ n`N*k_t !3joÎeFr( {Wz׿ Ak&C X5kZ^,L&Xot/rY︣BBRjx8sy& eROUƛrl@Jaơ~owTyKU7kfTSu`ktϭUo0qrf|wk>cT3}בּ[,v4e*s- VA4!ԖzY2술Tb @_A/m?9t!-( Bw &v4e zt|]uyϛAH`-}$),AwL@>R#82B?CM<63,Aa#z]I{UuI),S]>)K+01ӷ^/zTn3h l@Ph !v8 ^F5I,~t$(}wwLLz b 7e8%{PS$6BIz z;,!QWT8Ǎ}wr1 $HFaaI\(.㮻lH `#č&P !Q!Ins@՝L? u sc# lݻ`R)AZ[© P;;E]Wv8@{,@ M H,Ĝ!e4JPK GB PCU5=]WTBEjpBg!q\#ēKB{"@xV>pޙsc)AEsM#TV+YdƧj:mO< "(x]z!xIH+M0j Z`op< A&63zv&6%+ȈJA;ې0I5#yt> գ7smˁ.1}•^]6fЭQd:5QjQ繎fPBWE1.֖!-(hSYH&pWL[T))tdI1yCB>̼?eU=m:h|մ\S9VUj_q6%* lXCW9OOa6^-H<'}PO(j9cjڑUBǻߗ͋%SC 3{Pߐ M}|1r|7u$S_2JБ|=D*c+c0b#2b#'4ldO,Mat[S*vǠ#\Mt)` Jpʫ9?8?ቿX1TܓV'"t7Ӥ3DM~LSy ˔ NRćA}NۧD&~4ޓ`"  5;뙸| 0*Edq/ogVF3Y^t0f*q6RFq c(uHZ]|:#Lp٠gA荆}6L/pφk[ I/=%D4UDxf%Hf>sę1ˤu ~׶Zh,RK7cYk7L) 0e:.> i|k EҽZn.oTA #sk9u`r>Ϳ7Nm";8zKHixx ruj ZшH%x1ؗO,hUB/wPf$7INsj'% G*ۉ.9yrI1 9Dp 3|};Msk\$WPЍDC T/xiqGXbLE`iζy|CDsg0r"|/U_ģ f8?KY>FcxJj](Il[#h,\rޑp?bSU:L˹󮯥X:>l[endstream endobj 111 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2068 >> stream xyPw{iVӵtϖ 5JJ/ćTT$$h4F|UW \|Pj;UJ88*^*NwM6ZqT$baJ2D%&IC#b B  oH#ˆNb7&[E|+!Y.vu0A_zWBz9"_Oq f# 8!!ڤؘvc^4'9lbU+;9 C#2x!Q@tþ/HYGg`9v4n|@!@q4\ a{>AS` AW t^vŽF!DrkխI[|oe}]ãrbZBdf/Ḓ|.bbt~טB#vc>7`d5[ӯ|xp.8kugU(:k<5 dmO WDnQ]pI>H (:ҧb'Xs~Hi˽Ǩ8Q#mɭR%@e-3Ćo{l:3+iՖ4GQPڡ8D1M.qzQ$]i{&5_N_NI-[^?L \ g/Dh3&UokX=8BYMeF3Ce!|@74[etf1Ybr8 @Ms:e]8E;X|blU6'JX1,ޘa9e"i0-+xԐbJD6`=$HC.P!'G윞4n}OK),vnߝZf5ڙRWI N}=(ٻ)7'{ghZ쭜 ]V(),/-fos2I2VjeKxBRP|2xM3X/3BiaMIY)>$%&VgVv;WA^q:C~Ii(3ye^yI@[ɑtYŗXɐn2URdvn?m?k󡘵d)Onzq@0^/؞g|)!-p Q{i`Ż<[-+[SG U0F7޻We[)'11tdL`wEߠ Rx)d8@ CuIEɖi;W2mlsTӔU{KcCKvDqF)cU *9P+jbtlfi h IU+^0Qk-B >Z C"h@dhhdQo"|(ly`@OWp2GenYؕ'c c𺃮{mPԅZ]uT^1V[>? ;vI=)p-Ӓ́iylٴ6CVGtfJ<;Rcƣy(तN͜7[vi?l,ccüR7?eO] .O( O+*"\^}żmHOEOf@Oc'P~c#𢎙f0;grmRdQr嗿 cT_yA8?: OvWg;DpN&5 'A빞7ܽ_y7t6[;rJ˗xf_;N_sKOU YwMRy̳{x8< Ӟendstream endobj 113 0 obj << /Filter /FlateDecode /Length 21026 >> stream x[.r%&~Z̮KUփ ¢1Hnc$aё3uk ȬCA1##ƨ/++q|GO׏ٞ'?gu~?Ǹ{ՎZQj|^Vfݪ^-`~-ag|}l׳9jYY gL[Cys׿|~1m?sZ/_~SJ;o8_wO>qwS|>yJc~opӟ~P׏>:ߧOGW㳶Sk*eͬ,:ݚլޭyY=}>n%nk}3esQY[ϲޚv}ܟ}u2^Ļsށv>Ƭ|m]oyA;R|?s=S#Ŀܳ]PϦ?Uf6Cǝ^'G ?_ќG?fj$G׿W|/u?ow o9g+׏Vz,M<ǝd6>s65}^VlVϊݦ_FVcfF|YY}2۳ڬ߇:G߭ܳ/jٯ.aӯYٚOE-?!M8`9+Q/?KRh_+5zg[MM&i}SQ<ogepˁdh~pC OFB?K)6h鱴ٿ(e|ZwAЧ庢9r 9el,3JX3ۗ`~  ,ȬφΦO"7 g@2BD+&O|2m Ai/"%/RX#LFϙ20/]̓e@ io_&qm1( -<->4j3_K񍺧8?dݺK:>ϺYˁDExr0BH3H 7 1%d|mV3N<7V(c|:ue%ol|VcNU]mp O_#Ƞd3;9`1;}hq'مS'zL#Kf p&: 0@Q!"- R,,'̆ԐGa/$V("QW?}2 - -d٬Iq!} >0Vdoo,N%2 H3QeFw:!$D:F揎Ook>9'fv/3ϣ , ARfGEu[ʠ%,ěI74{;"& 6b{=N<|'_h;f CS#\GOQfm 6 5byQšYNpҊAO(la!n-TY%7iO~3MUdq iWt-[ &0D{x s@,5OfvEV1+dH1 ,㤇%i10Z)Msh}m Sch]#e,%Eh}`1PB%ٻ[ IX<ؙJ]q#w爡 戲e0JzQšacfw1(PB EB41&WQ b"`Χy౥?f~[.0"e`c7 2ϵ!#KsjKeKfԞ5EF{HӚ9B[-2CHF H;x2GcVOst32'1)eG( eDVtv*e"9V f%kįQ#QR3ZeǾ( E5o9=8ETAAB~;zQO5 Ԕ1KQօ; 7iQRf(aMAS<́VAM(d("|mٱgrߨZŵ- "O)3ݓ[g%= ۮ3;Q)ho$1BҴoS,:sv2^M}zQšpGnĄƠ nBa 7qu֤'~_f"ؾ3Ä:5 `8Җ? m:u-ev"AB7Һ8hD3̊}F/0]<'f%؈.2x&Xf0|+|V2`c7Y}VK3ñRa-.fˀrٚٴod<1 ,,:Zx>̬)-F3W fcx3na0-I!e@ i ldО@a(Q7īl1ע5r`)-bA,)3D!-e YIlf7yg؜c˨ViyZD,+5=Z'1$/^iar&մb5rrxq$C^^aIP0hyHi%s@2D"K1HE9lm3wx3ϒz|_Z`}9x9PQc$,Tqo[).|ỲNOccצQa%f* Δ4 f2Cg/ 2~^a1LK_EBU- kZطE̠̓0kaFioosSŐ1^go=٠_׊!((̓*>ԛѣLNchfWV`ORZy<`!Lk=cz! H+ፕњ)㎥/(=V/RZܕ+`153VLPAL(laAn6>1iZrD?su)7wl@0fbⳑ: ̀Wjd㉙$xX El:>7"JsprWƐ~nZ,^65mZm*gLJވ`L;`x!i]FοO- 6'6}RN~b+WzHp-l>Z+d<;@ ^0kb+tE~E{:ɢ!|R/IT%{K53|e7r;t=vDcȒ )-S8C@YJzݣB2~c`A"o -)ƝEubW=9s&(&XT ˌ%7=t~o3e"/ `U95% EJ ^YHnmJMAB4Z8zu+dH  :OikW&11#P+A!hP~eRa_%ZL0+M҂,"#Di=A wsɨ˜, +`ki]ŏ^lQh)3m@$+I3kRÏJWI צyp onZ XJSi t֩9Ftu JZE╃7~rFz4n&zxGk<J/ kúd@k#HFu HrfAf;FM: =Oz;o, R;0!)dp#0J{x7z`͚zk֭ tV/nszc}Y[xAbD kr"tB2;AaѲۧS6EtPKW%NŊ~Z/`t#Yс2b^|F 3;] =8SQc]?sg*2Pb~Y̓eƈvM fiode9*XQOYXs`MG2p;,}dy(ASbbV ɨD@A?UౣĐePáers{Oa c7 18^_`i ^֘Z~ϑ"v&c!,g(@zPphod6QdR+NNHNN_آ[q >m!Ʊ@t-B(KvXsS2`rZpAl[-mL72|"%_s2=Hc`SD ':9i"]69,X|3,<|OJSh0Ҵ{lsEiˀiQ@-=Qš~y8M(d(HL]|) WdAYa)nwv`#IQb b uo(ol!צ̕$o-ekyQ[DRfm84R71D`1?7t&JH_u4ԴȤ+dC: ouvbFۯM3?.Oݮ~0dT峥 8џӁe@in$8@)tA2~cbH c7 2+3fv8c'=e༹ "JXs|!aA B̰]PLvfܦ{_"Pba=Ue\.2:M*C`g Sh%#vrn832=lb Z,3IpjyP\-<&كOf`{l/ʀ{[q or7ALla&Ab14V̏Vfyblz+ ,-ĐBHF 0j{x 1nÚ =Qa{""#Dk*^!(@Bn迱k)wrDJ8+q2CD k؞\!.-HFQ + $?Zff@JM=e%i^5ܚpɪ!-^ D@Mt,7Shu p@$,JY<"xrK(dU, $HFV~l$4<*r@,%HO 2c4'6֤2mL IX@_&/qgQMN%9HKЯ9H[\y^Rf(a"GrqUo b~LXNM$1ggP[|G%%OE {H>5`Cc֌ќ5Q"Q7[X)|ߒЮ:Y[҃e@ kp"tyŠ^ƲXqCof[QO͍YtTzc}A2r.35gzrCzzbAbo,BvYͺRJ&<5ˀY+-ܖ˷S"&? W)-Q_J _&fe`y <5Ca6cO' [HSWR3~UFԘ$"MM8a \,3FxzLv1(P(̓lnee\?Fw7)K$)O}h$#JXÔCeA5X(la˷b_µq%2V\`16nalZ\}um1(o(m,m|Nj"*+LoXbcodW8=- C qSs8gz8y3cPF  [<|sk{iRk_bkZ^BCʗVjeNQ7G]b\,lCrte 1ˎ2cD k=hV}BR Qtצ9,nU_Qb{ ]wAUT;_BoE&>]IN2B_:ao/ sJlav@Z;s3f>W[m2p2IZ4"O%OtcXF(wg 7r+;W]fh^)sSLLL36iCo@|V\ءw@ho"vsz=oib`-j.E@;f^7#JO3PN;(lܸ̓flT?"js;A K/ r\ j\\M[<0B̞ϋs$F'QW*rt0x])&?byQ]l[1(-^$ȫugBV}ʼn%ܷ[0s^:ysR-ˁd̛ lafAfjM՜ Z74/ =u`rp0D-BSJ)|ƄOtjyĆ071~o7,Ί9Al`*KLVϓp²QہdxJۈzʽQ1cԍlr _c}Bq<Djto\N !],\j:.'Ǎ;m1pq:|ʋx*S 4Pki4X*q=`T[ĝ'ۃe5i8J^e ɨD-x֋6M{,vIQ53=vnB)3D&.ÐAQ|cAfL%K DQYpq2n\, N0)K؁>T"?e Ÿ2c47 0\ǒ_d~d EeݻyQšF*[CunFio/nwwYk>NJ+yB$+-.^Xc+7jiarfAf'sŖ%3ظ _cQ·bm#l˃͵5ŭ!O((Cp&nR"r<fDh;ѺEPe9(<ҿdU ^n,,/ dUx=6 Z/(U2`r'lZ`!P@ 'qɨi/$~mfE5V\oPZi]bʘ`15Z/@+dUwtma!n[΢FsQWb~< :-bD6s55M#9(laAnz6miLMilRguA#eH_9q$0": GVxdbm*M0D{x 1|m#InΉʂIgݬ3C2ޜ@zr޽^tNȻw- R,LӬkD;Pe-eԮ t[d&X,Iby$Fhos,f~Q@7R/\ f)2C4gGƦN!( ,Q2DZح/V $|褮eخl '˃eŘ%R3#B;ƪ0l9x eԳƿTtNFMvHN0L'ij,tۖ= ^l!K0Hyx 1+j>XcDM.sJN^YbGI pj*3%ޮB QOwĊK92+buIN&H H)wuAR؁H Q bHfAb1AUް5wU*${N 8Ub,_ ]:h:BsW8! !7qqIz͓74UH·-xn,PTB:]pNia&Ab'wl2lF4N'&?P[E^˱!^-DUl.@ZY(5PtAc+w/2A좹6"JXA\b{BPTe犤 ,R#]󰍫BU2].*{HP>ĥ.y Q !-  ȪbLX+o5;1i)ܷ,.nLǥFs3e_Ɛ(B EB_n$&ͬVbrY9'y@qK[&Nۨu)- HqXS6(WIi!Wݥ~5rO72c47/NHˣ!((̓:AoHM|[YOFYOYP?OˁSy64&)>-,l`7ӆ3is񪰨4ā+f,i^ b9Q"PF[Y٥$X1TATVg'.8ON!僛ZRѸi5(?^ ł|8hɺܪ>0DJ-KQ\cOT8q=}%(OEayX2cD k .c4;PPPwLCqߚJ@bJyEV 8pz2beQq~~y|k4q.c90X!. CjH8"Dmd4ʄwDwwC"`8u09jb`y()E`c7 2;OAVMӐ%*_Hb8,0oHl-W%ZAAv([ӂ` C7 c.H5]DXzmM7oWο..Y5AUAQz/qmo$V‰T4L(D3p".:Uc5f1U8pՊq@Ba  gN!gYnl}Y[32xOF:ݖKӰB<0)jl`vffv޼ji[5{m 7\20n;|no9,OXd' \l`*@^ZVњ5ٵ#9jv=-T$Ҝ9>x X$itc C7 lOea"#4,V--[18<\Hb\JP(C ..89(2eţ,3F-G! s]M"_1}ibQ0kX-&2/ % K%9+9=Ϊ-ET b $H,2\2Z 6މ>=^1F&sW8RFY w[cWgrK[=Xn[55튽rl\B.Y{q!eƈ].q^˼cATo$Hl4%*DK8A4:=Fִ,aX.˃e@)7v]uQ)Z,HlƜPk! K<>RΛ+X}ovO.l̢b1]!|tEbo,l(Ҿ& ۀ:pO0;5}3t2 ZAJ\$ĦtY$j9aٍ32ᙚ+y1KNĪ^rx׽"Hޘ 0*~![KüSlv}L~BӃ%[1( --<U/Zhl<6ϣMϧl`3RDϫ,UoCT[ zg$!/"a0%0tpppͦR= 1+Xf(a͉ny8 0 AĄhod$.|ɬa``uϒV4Yĝ:C#Bj8ah2kZ1<|f6B.2d˵7Q"Q74ADצ8ÜюHߣirY2H-N>lUBPFY$Hyx"}M &FX8]1[t$E2޼3:Ӓ,3FNX1|Ba 7qc2Ώצ/\D/p` HHG}h*iӞ$]]! larfAfƣ{1LKAǍeV;H=Ks&ca"Ct]E0 2vk5728uݜZMF5. +) (#BCʌ%阈Y₂kAB(d(r{0DjG_N'fb _*ˀ뎖쾷s+nPBѝp\1$^ħU=N 4B<NiOY0͠v @BDkf:N"Hn. ZLA[6 1NEJsjYPbW-'-=Xuaixs WΓ n.&Ab'n?I1 Nߢ 08pc(q_DzOe],2Brg2j@͂fgNmXvϿt%8 kH9# %I%)H<\hQ-FioVq!2fP=-nˌ%A\{m!( - R,^bUSKgYb8z+yc$+63ZZ=y[,'oN=Xʼn7!V.syJs)5k*>uv Wxt` !xFkD7{z4t7~.H8#ˌ%9n6pEʋ"xn.&!b+k<5W m4s`ǶeTE\كUyH1fD 7+D\`ȿI,R1kM +&˲`eWs9H!5w09(Fn*i ol֜`TC wą|lfq>ٌRf QC_+EԈ>n.=RFҟ#{ߊ[f(aM|Ϗ.hkןcVQdҡK5v b6bqD<;c)"Ha7ALla&!b#fxR5Τ ѡmW#`vkx*e`#7:/eCM35uW4v%- zƟ{{m-%hZA+EixyWk(egilJBqܙ/#5L2 pxGiU1hτK멹_qTuZA_ %3 Āhod֐ȑCָ.sj\"yRPz|95Cc8pMcHF|cAfNu0M͍YzRյxh)heo ͪˌ%8ն<ĵ;eAC(d(pt<|}=(iDljߛN8u*K-3 HSxx9c@Bla&Ab2ni$dŠ̃?AI1¶s,6hCY9(!Md1:/"0,7&ߋY +qc,3ƬV <+ōXʿ9W JKj栶 r^DP)F~ A!2CD itSz%a)D^bHaLobߙ|ki._aC䄯C.[%cS*XY (m\|Y} 5gsfx{.k /xjSo-f S*o5Vf^!+;1́*3S3x8%œꢣ ZPd]Dwy|xKj.NIW2FDa 7rצ_WC6cq`3~^]xʗWȣަCPflx*OJ"wrf~XcZyC0\q79ζ⼹ZRnoi$=D܊QtB!D)xSO&vs\LE| O 'NœnY\ԛ/#HV!YբlFmod`]ϳ=/|h!Ckф/ Ν!(Z',b@R~#Sצ`.Q`j4SDl(Y}m,#B鴗ǽ Łx Eפצ0Eq3ŋ),gE7H)3,8Tէ/- R,f1 }ԜU-EZ=|AnGʭK38'̼83e *ܘR~iLrCte_ d  2{.^tꭤ0p㸬5$i=ˌ%goy\BRBG}K45GB q~{_XcWG[Ov|$YU+x*W_׸ MKS/h4Z&xug-hNss`Ъrf: M&l"5"Hi88]fOaM[;mq'H,>mlbWqZKNŖws7b.F47 ee`quOI_yi n~ҁLȔ,fм'=!Ú,Z%M-x@q|eLZh&HV(a͸qNQ!" ,Ȭ3PnF%<w)򊌮qW&-$=HV(a&h{nGC2ѰqÛ]FX Y7\ے fDBŌd!5 ͂]R)ByݯN|{m'<QO: 1(^-R$a*U& gy>k̶Vb/ fZlQUI"JXNpzh\L-/ZƳzA35`#on@h\+1ӼW[h,WhYK62e<=v?i΂+o3kn."AF76\CQ"ˌ%\DN1uѷ3 -<ȭ PJl*ǥU q|aDog+/\^K+vwho Nk̆8:=JKj\d\uM<~91'-nه3RqRr,HY,f<#ہEFLWIJ''3ea c7YdO4Mym1V,|y[5x3WeaAn1\G9L}mM_^]Ocv: x$xӁeo< 9Pn@BlavfAf>_}-:Џ:ؑ_-Gh"*}Y4~{^MłF锷߇W4ܩź?ġEnKq3|STlw$S2t !-09WJ2̎dldx80#?{y=Kz(!M|pG=+F -<>iܝ\$d +訷C%G)gVC{Dj:89CPԳ@>ݠ]MNK wNVqGaK E/6 ́e14ȬŒK $D"y&gu(ȩ.Bav#l!eq7˷,ͅ|&˃dc* -<ȭ3}m%.K+XZlN.^Ґ1;/wG.WY< +\Yw]v>|6 fZ09z+>Ey-͂;ÒUiW 'j_(d(p'#-͉E)yVt+:°n-:,L/w[QBBÛԏ#OI$k3nUm[ܖ:_{(\PP7঳HcL47tȳ*vyvJ佋`A(C n 7t>1]LSU隕SsZw(NnE{Xn"푶f^FS &u"?'zS:b85W5 ʵa/,*w&ԩ7ʃ=58{RMWcL~w ZA2}=JP K=f\+(uIרI Hy=1f\t6J \5BG@%-.LX4z"}h B˩HC+F$.aG|uCKT0j*.? s~Ӎ9brTT ,1|hT?#Rff7YcqQxj]9P[Ŏ1zڕlFR[qEdtԑe֍iHj\|ȫZrVc]p7.ݫ7[U7&5'Sd{dWqϪWO;kuF+zQsZ^ۨZڹÎw;ku+kuZ}Z^*ul\()jo$gvͭFW W?{ .`\~j#tkppdą|n8WKǂQZ\xVk1@ֽZjq p-HZc#cűڵ?us>@=i+,Jg s̑9k%a/h_v㚣?}rs^ECxh)?8&i1^CgLo}=9~Ͽh}=;c_bf(@WAIMJms?> stream x͜ێeqy};|Qq&)li$HXɋH.^#Ha7\bX\8oO-p[+[K |CVԒ-Z~+YJ-"{X-œS][Y[GQ%[*}kT֜kQjRQ٦>ww^2/!_P./?{aa wQ뇏=rb/=:Z_]o.~ޯ1[ow/^;#zzH׍˟}ocBmg/+9גE%^Yo__ן?Y} dǏ?|'&|CR%>K݊yuW SR(Sz+R2z[Q<-+w<$^n%I7% $ݱ(’{зb[ R٨jX! FHBRn+)B ZQ[$etxcMxv% Nfo"D%IN+$<+O^D腊L [=}M7ǎʔ! ǎ1ѹ,.=jhU!=/sGcv[B$XLC^x3_X&VtgLY1F` mmN(^SuʧT4`Qdʧt% ]| i qd3<=dS3\/u\R!.ɜv ؍]Tr:k{S4U[ɷ}Jogj됧xLKugL] m"\qT u␣4]R 7_wiLō} k)Q R}t,a {0A>]MZw}Nv g؎i_V{ ZM^vju$j,p5˴Xw2kB_s ,ٙ,\ӵ4-Q^-86:9UXKN}&o&<3a*;QaP)ܺ7_}? ƿ]^T:[OgqX&DFm 'Oy~-{i}Ł_$mc+RzBbJWcOɮ ۶H)/mGSs ( yԍĹT(TJcН#`Jay.kC<בxA=P:T! )y O\\Ha<,҇X\,?.@A"݋rRolKֆPx@6sY%8OKݍ W/8h! ᬱuonq utm1@@|8ǔVNwc/cNVUߛ]w2V%01s5V)tl&E!waZ%}^ÕIf{ W&gTTnj,2$3;aBUːReHfv['w.@g7wcB11o탣ƭ }cu1+whD+ۀC,Yɭ8:1 iC'D!y:!a BXI*x.4gjEfHxhNnezC@n*b#PwD[a q4֘ayu jpa,AuatRMmedbXMl 1j5fαm<֪Mz)X6ePcܔnK1Wɤwo^~!.!Rۋ'.?%3 m,R" 5sW`g@IL̷A]ѯ7a=ў{onVkW]|blGTTcEQ=#*}[iљb 9 x$c<*SlkǨ$=JdPq{ER܁aJ-rM)T]lӎm/VI>uh3^Yl"$A^~U&_(<;95Xij^6[AJ&|+5^*,&(5];׀ wFR[qH ۗc°^@]࿹'0YXZoϪRjֵBYs<7چb>r#]A SURpXU"?&tEKצ)fM#b<Im)@hE|dF&:/g" HD/˓&Q0t&odRĭ<U"8 u{9&ۚMA™Vm_$#RM$ >$nޫ3~zuS '&I|?z jRHB"Q!pMnCҢD3- OD&ٱtt fnD-$ai 06>n-"qa_J&`N ´gIfIIn<7g!HAFIHAzW^vy$àâ4$AOH3IHzَf7B6H;q.]a}yIx1A&2)91HGA$ZM$<ܚ$3M3cϖIb@9 ~x!$ JḦDd$`dHOacHzq8\WނXqӝ:T,f=]}&@K% D%)Me`^A`-^@N"ϴ}YMGLMuB^u2HNjK-I14]aƝ0ϐZUϒMx>fK%?IB"##FaF; AEǾG(Rl\%zZd+UjTmJq"ld{EROz}#-E([#{J1iZUjPR+BJmՊ*"xڣ{G(^a Wx:GF( da%`=[26gg CL]]$=9zx[q$P$$q擱~jk)<O?hNL s$Y=u-Aa,N!`РA8,9oR=j-IJv<pMح #6R{uI"S.kc)`45+кki3ND(Ma5C:8jN2,R됔*$C=\oMZ6 3z eGgr&6N^$Cd֜K%rnƬ1Kq,g[JxGH슙Z3EiFLciJuȅ.y&3W" -?r.buN3DH3rx$mDOiK;M  kJh#0^,fIdt\HfER/d{^LI̝ !I!3fOL{YYu:aj2u"g,p#/ӽ1s;&)y,tZ!e%5˄/8/,a cRv띈w M "SU@ Mu;U.97L,,$<=fGlߑX0p$~ s,$9^G#bȖrS̙;R.is̍)"Grǐ#cّ#2e#zL>Q,q 9R_옩GT#f3~+3a8mZ3aNYDl68n8L6ìn1L6Wvԓ}|# 6{Ǟ=vd[K,,EVj B{llZYh =Q#cEƞγ.d+>c}bfjmƥTK nn7Py"q^I%'4%@q1iAȰL£1fyS) T֋Zcb! TҊyW$᾿>C t%$)Exg?Hhy-g S'4+p%=Ġ~#be= B EX|\+H$s+f43Lg.Cb0<$Bc0ST6#w*&ndH&AaӸ70H7AjrB5q<")#*; ,;YDO$փ6"\C5R-V_^ı R[ a;96<؊b|y\YF.^;; ]VrаGiOBIO -pb,{ [)^w-'쁤lhuԓ=|@x;OI ]\'+AQf"2G icH#eBHAe}72@hrO*Q6 OHƍxuIRٝ'A.s' 5dhVn'A hJAF HG il9mT♶(@K]2 XMk7@IuϤ;s\MͦW-h6M>xEzIT/1A)g€>Eϛmw?dR^˅31_V2E! Yvg~NH6ILրՉ@5{ǔOīyɲ=7݋*{q7"{[e7!E| N#t|&Ep-ߔ`eEf~TMʙ0SM 0jodj̟N+)y=,GvE\=c0CE\E u I2!Y r,” ]ˌdlM7KVM)T7#ޕ~_!OKw 9S^_KWQ<aj3u|r|t'2:j~ȄkׯkXOOl=~ʦ {sO^krn/d ɯjhg7OcK?z,w״7{H^?6 )O'+ޢ r"a#\?8s+im|^q ПX:tHrr * ʞŞwPX_/21'َx}G5,񑉀7&ݧ-OfiҀs|^x~JLd`QB>^R!=Lx0W}c]_KB_|{>ZoCc[vGff6 r̯̋G6:`]q]K1S6}$¥5[4}AH{+ ꎾY#QWJ=l]s?;ͳDꪟ)hyq)P^yٴCtJo/TIR};cWIm 3a5d̷{q I}_z箒!I+TbXendstream endobj 115 0 obj << /Filter /FlateDecode /Length 14058 >> stream x}[$q9dVU  a vGBB#2.]'ۥ$ iteeF=to7o{*y3~fK}۞~lovJo~2-}K}]h~s:*9A&잗N{<MǶIM⠷By=:DZf$Z)_#A˶~I~u_޾ ձ|_~O?o_7)[jG~ ӟU?R=|_~O_l~%{y7X/Ï~_g}VW.峭~u2^429Jϓ?&_'[Y' _ H@~:a[ hv9wGϞÁN鄽G_۶ߧwn<]ےo`CmM3|96OsH7z? Wqjohwjmw}矔ī;Z:O?<لtrgcOo~OidaXg <_N{V}?_߿16$փb)߶e/xr?8?oxtYg -{SH!TϏPp7 ]:$4,i(LTL X2OL6d.+`ߠ{ IA:L~$E[Ψ϶P}XVJ:Me(V6y[2̜oiRi;ӔD² ҂i{]l =@rGA?s,6}cD"MYvmw'WJiSSNC$}^li<)#1;kC_3-NSR4)[į>=ID°x2snu6NxLvw9 nRSA]dАcrKY˥Vn]ZVc"CcCe"79sB^-bBSAi@1,tyH@ӉMk.$SD6/[%_H-W^HMS/#ʶ܇da54㸗y6i]WugHk>S& ;XSȓm'6if3?:qΪ6AԌvkXaDBwFXy>qEhugh~"YY1ܤaIik8ܤuj'x"rDͤroj5lGN,>s'hFl&Nl) N;5v}8[In Hofh> n$H5%S4N]K/:)4p++s-ߐ%dNS z<B|!tL'iwo'<%RZ5QҳT[I=J=τiM=͍] zԆ%aSeۂ|4SB}N.?&J ;IeQG_Wd* Z\)'I3 X5|͙J ~DւlECSPڤٔk''zQL0ʝV;GQq:ÉHކ=3(n`]4h#|q:ځ8ij7n$9K\]MEJZgpM[):$qX lIV~ٲIj:_4>?ڶ| D`]El s ].i>3%A6fB{ރzI=5A@MOBC9lmsBJ~Ĺ h 8(r]c_I Y7-B݋ ltvtTm_ZMF>ujVp(Ӡqu_D(ؠ^lAKUM:[ rথ~MԾY;O]C \m9m& (T"ƭ#lMBVwxTde}p 2 ͚է](&91^欝eP| lV|Udv'EU[طy܈}z430`/N*`Q\4hs::MZx&CӞͨ3-$) U,$.ȈIo4u$_흦2?뵶#钁6 ^[_f\B 4*m(у-O@=:.P,9A^ۮ鑠FHota4ll\i.7C~e™} WN.Һ4v-&/0p%]-}0cۜ=NMN (6: 3#&X:ڙrV$ nKj Z y ebMdZK%|i # 5_ ]8/It$jI@YG 'k\ jmMF98W&;Jv)D7' f?jq\-ÛȹIDOa*\J^FƖ]fWܠH6\FIƱ:JkPxgؑr;l9n$QA2#; GE`ܚƞz9=t\z|UV+T j{xѷtN2JA vCe}X,ILU7\n6^ӍoqیXiOꭴ6E^BGA |3l\=5KjwY)4N\ۃuv 7ZKÒ}Rsfj8]]E//;ꁲ;+hVfDiUeޛ/ z n5%J&$ok8[@c,np˱F N "|Z-t<,IwKzCH-]auCykE2^a4|c 5#Dw|Z?plMvb6!YyG/䀽?-= a .J|! 1jV{MT%|;DЯNIYWq G.|kvZ754Ű+>ڪӕ7"Oo(jmBS /TWrk tDQcW4mы&JQ-Zrj@܈vqR)OòtېKv_f.=G0^$&o[DzzTz7n9+n6_?EC"QWfV_4#W_cԂ\eM%DqDKhA}{j HKIx0.l1@NߝA&. xܰsR!PA>(<s .Lv ' b#1HM=M'r1q-s˭qTՐ[pEHSwN:,iH^HQi0cU2j;eOd9L8F4jouw17nwilpK*o:;L91D49H٢ul/ j);ঠ:t&qfdmfa,W>&e/G0ZO:HuS dV |O0 y4 ne h6]OeӁZ{b-ڡ~3HcSR/ȏvH~7\D.*6Q*ir>=:w/NSH &}ձgL*R l/bC,wM׼U=L&j7ǵpv?ƻ@].jxo.ܽO hTkOSPiunxP2@TCWoetD\{<YƵ}xZGCa@_D+ y&{o|XkGiE-dlłB>ķ@­]arJŠU SA)H3Lby&< ﲠ uh y[_O-e'WGpo z 6^#% L' JRdKń!w#)HY3A߹䥂 2iqAI0ړ|OgrL f9&+g=\~0*͏j<ڹQ?MYnx񒱪HkϦ^z}WknԼLL@3~<|x|cOSkdcWdN |&۰8"͌Z;;泏b/B?|헟}ɇϾ^'D-=jji˿_@ p%o6?x9NHS08ϱyv*.>(G"yne';[NΌ)LsE(P ZっqmaAE7YB9`QS<ݎ+KEˈB~űT <0 NLS!rTOd bzETLQS+c@gƘ*9 3!]nyW8XU#0eK<c~OOWNU@XQ8t7OXJ'XOyqiJZV]+t0qʍW_qh" 뀻B sWb:[㮀?+})؁1t#@+uy8+S}`2.OrNkE*F`X+G{~V3X j3ZajsX 8,tȽ?PXAr5\ pC 5F`G+}!u/ "d"pV0sUX5 ,^c1>!t׊*baabQ,I<rf"uԿTC0l$c9,4| (,dE7f X(,;L&;La fPY,t0y)cɆc,EfM-4` bű[=i0[\,`^ KaQEwJX-fFm:$b)@o)acո-KAӀظ- -M p[5-d fcwY1q21ڳ2ˀl4IFR*rt@o!M@o|eG;5.\}\X?`0MJDYjFs*b{-Tb _6{ܪg\^,0˅kWf υO| ]܈BKPM7".@q)`Ø.@;MDtjcQ]e]QP zKp > .,Y9w.A9'!م79]H..Dt] ݅Z4s5I/t# ^h\/T`6 a N{W,!i{!?<;7@0c(ϊx/ԟ3ht!y$z1N-9 /_1Ƌh*s!zO煖.# Kc( a ؟f#syp# " BSz%^h3⽰5 އ2B[zuBHzᚉV4MF` MFDz zI/ԡVp*5Kz*^wa]3]hŸK..ܧB.Pr]ȃ N0qAمZlLv.`eDkUGHtY #ZAب.ldݑ>RDuaBqMv!"~ Ftp# O]Sq^%dh@Bz0LzaaAF.EZ=Q΋iF*yocBWgCzs^HD+%f6tq0酊i@z!w b եzp^Xx*,s׷6&pWBҾz+{{y/u^@0k7q_ٺ^UP_CAD4'96넧8!P?gO^B & E'7gz_Xx/tްn15 AD'[i0on/OՓ\f$=7Qò^526LnqzY*UFuƒ=ë_;#&P;/|L~a: x2 !|}N_`rHga 'y }q~c@Zm}0⋟Oy/H{=|OB{aG^F@ q|au^XsဵuLo݂f!J"z6h9 GGQJ;ow Ĭmp(MO *1;K,/ԏ /s_:k/)W}Z|w/BԈۇ>潰{tDH{a5(4aߥ$(Ž"Q# A'ݼ R_XQ_hwlV*;># 5LWR/4bY/t+! TcdCYfSPX0~̸ &]; ѵ=ʈ{ʤAR &](u1VE['H<5D 80T8*A s,W! OX~e)=ْAƂTc€\v PZ_۰4" Ph0V+)PGa FDK0[wASV]w\l2Mφ1g0`0PSa\9hreD5 >=x &ؖQ& c >` `hkă ` n;K# ;ƃ1  /c 0k5M c ?i0"`ՀC `n(@@i cwvjw*t8 `ǂC]G5OSH߉e0K>T9w5( w[&kO"0G& put=0|ٵa1TJ,JbXv03  5 /=x1[ ~_aFN˂| c|p'Ű#1y1qш1`h1c؍÷!] \ѠgI8dgGV@CG5#zCQy 1hgN%Ě:1Qc*بu2U7nԲN@QEeeF7n;1˱bzކL(XJqcY*1|υ|h'F.L:D0!C3q< ×3 0F C`?[y$}{PWRIâߩ5f8,B[pX(tLZmsi,6=Ń:_ٙqX\TfK:u3d,E BV>CE''Y[H.֥oKoDZ@!oDZkYӓF ;qسFif8#!G]#A#h *hj,7Oq]:6S ʗ-H/(ȝIR[oU"u@?Sq=ã|lya H {i ڪJ 0Bb ھ sINsD@Oi;Ai2~zWT2KTu0s(FmH.@!1~zMJ͕k̠@g8sncPY 9R(r3x NK BpLg(\8pbv<=CYo9#t`|=AC,rRB^RSu"^2Ix R<`xw Y i@% $kAZƤƥr\;҂) rRծ( ?5 _E^kK-3Pj2RĀ`t%"'<#' \垜`tmwiY[DNPAv;>Z1<@d yH.>WaeYКcC/&dYiCtWw; =qu F&' 75<&I,5(sP hHA\k{nV4DlD0bc`i7f0ݦ!@/:'W}qI%>^ad!A? 9'FU.Ƃ'[U< _c%y~@tp.j_3fu@ڼ%C4TNHƗ{Gۆ] ݄¿kp߻+`<уGW 1'z!75%kIm\]tN58:ik?;E σDԛA"'OI z-6xEx릠' 0q8;S I]!H؊"n?V$fH^y]IA`T'w˄FfKw^:3M 'G>RU\?.͡.݊ QmM5~ 3n nŀ]L\^cԜ/tC|nBm+4k5tbps} #o[ԐGWN= AZm=v?Bj2[S t0Dܚqݔτܒp}*<)v.z VwvoYcij {ngj}V7M`>=N[5Ngo| =:[*QV# ncp_.`I~[UF% -|[ ۺU{]зo|Am:s5f]ܟzB}Z#oHRB8l;\D֖ 4dv'hаaa׃;qE9^|N";/[!b#ab_:j=6'6Įă=xK M8 c[7/au= r0n*"bS'55UzRiARSZ z04ԉG-)z q\k60Q;Ewt?sܴ?f% V9ǀӉ$VpzV 0ЁY[Gべ:p"D.%= =Cq#5G:q1G@tz7N.ai 4i< >YK|޺vWbxhdd @Bh@^[QCk;5dM t;x:C~B"xxq5Ck"g02v1,>4h СtНF:a=<ѮDDᡵmCƃCC@C[KAC| `Cph;5lBju<ڊpAnFM5ПGj98o!tkE" OC@sf*:!HmR65s@V(a]/A@aڴ{VZ [`W Fz;/" U@'<&eQA=a,{flg襒bځys!JWbk`++)Ev!®+Sw?Yx=%d ]V# ũV`BH[R-px0lͳhZqh#Gl{l m '@#^bH&MЁnݜm"ڭ0hr99-ʘl&nuGM"hy<گ/ݗ?|۷}-.mow" @-=`+sK+ť[2t٧+xdRE/_yӼ(韦;_e6<}O䞚A " i%|gJSӴ|K_OK|l_<5\}_k.|6s6Q??-/όTDo_~ Vȿ~.S.NjʹDncNҖKYu{}>hɫo}^mw{Y=endstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 727 >> stream x[HSq:),4I*R)B-'7m:ssYN>%6g%L4 z%P/]'(-|^~|0aXD~Ŋ̌%`0ZBBEP$"/ET5mZQ6(X*.>JȦ4kb9rv(NIF*9Wt^&W7i)^*2fZz@ar5MKZK3Tf4f @ (RPẁߘ!g&@/в9ė m(棍5dck&\ڸc%VҤK-xWu(noKr[ aA!, CFi72hor.?mRaWsgܹԳ&ܻw&&>w+>J1E( U~E9(W>vЋSٗU?k7B*$k 'ˑXrh6R-./.ee3(ɻ3Npw=6+$NBU73H> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 118 /ID [<7d8ef15ddae46ff76abd1deb026076ba>] >> stream xcb&F~0 $8J8?` MH`J0"Hi Rt "%ւHeu5M^ &_@Qx>- 63DH>in ːM endstream endobj startxref 117396 %%EOF HSAUR3/inst/doc/Ch_logistic_regression_glm.pdf0000644000176200001440000050156514416277546021016 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4196 /Filter /FlateDecode /N 67 /First 555 >> stream x[]s8}o57U3N8#{vAi[YHr_If<{˦@ti4@Lee:f&+l&8 yE&5τYwI%T&d&5#)3Й&SLL)|)-e&Ly>ZLLEf$P8N3+ZSdlylij˜EVpo2 PYQp0#3/`R{f腢*4L(>4:ͽq1\艰FWsA[tD"pei , n@Yz0o@Yq "ee(T8aV`ZR-Pc@YNvlAY{TlH@c0M{$4F  i?wrx1\1A>-'īt|8OfWًz6~,//97s 8 sdq]_VרּiSy;7-+ll*K~np9M_e%kEi?s7S*~<;ٷ:Fߖ~/3<]0{u=[,vܘѲ9)Fx9)bm6j1]Sk~m^hLU7J+)ϥalUҡ>u)_ƻJЫ9z57eOtIc cE'4+ nPpr㭈E$ bK 16+]Qit:[Ufe9EP3hx;b԰&'E^xq4Bqr15jI3qvr ߗ :oqŰecU:֩տQrAm`g>fzdӻɄzmʚ%QYH+ %JX c%P [P$! hMMR$"U7R&'ta1EjO>y.:.+@5pNlk#Ld(#dAjVT1X^G=pCZï99K8G0 x>ր˼5-&@0uMU_ibeXsT[E}Ins ѝh^یňfIz_]CA|G 63v{~e{!{ǎ؀?ؐ&)~on삕,bpq.k.!X]1&Mfl[.wv&%М-آZNb-z^lmW'7w9,EsLWMحt #-v<)9BI*~xSx3baB&/˛OD4ѕ_NOߡӆ@;xRBvGײ-!p%d6tć:ڭAACqnH{E:Pfmì KIl0ZN ttrZ:Ixʩ.x?k9rk؅x +q¢M şBۓN/׆:+|#Q\|iIlKPs~-3- Є@E-hUHw0Y-~^$ EM x`SM W+ХESE.Q*y葾[qiNjM( )wXxJs1bv`"ER ^5kMyRtlBz@xҿaoڿg?ghN/(NX}4ސC@c5,|c-nƤ\Tt-#zhǗGvW^bB|}ofP4S5ok0-Sۦ= N~8]']}Eqc\Mvkboo:զzǛR^ Z+4Z[R.V݃a]-8˺vUUix9\H,@·/$·sv>"T%J~)u6E/f \\+ .$NŢ[ 瓨[nz<}'}eiA_|k۴ʳmR6 fPN2|98;8>9CZX$egG+^F*JZ-L0~gkAh6/7yӕGct<E5k#zPM0 0NnxrFAe7CDp(K@QQ,oE`%Ů--Iޡ7?ߜ-ͦ݇ɸ/GØI 1]wz&B\/ FzZbm]z{Vd5 m!QJoj0 NxM0ٖm O~Z0K }g+XR+X al^oMǸUN'sЦn=qT.(VedSZQ|w闊հ!jT;IE NRv1;a)XvupdkEq7^v,У蘪#nЩC9[.~/-d]Bp3m7Z L%x]vQWi4r"m :Կ+jX_ТaǭՂ .Wr,x ;3=[:贴\mN t4xҕʬʼݓjuePmeAuoɸ: (BWp\4:G"@Y :`3Zq$TG-mz2:CTt/RJ!1gLCqjżyQ=t.C E~"]EЫ5MvUW!޼zImp2-ՠևzޮmEk pD5=9nRhhEYzKj^Mq`hF߽th?iҢ*osK/U[ <5(t~NtP8U8҆!;6дAQ=yi1 TAVџ(8|p*D\?lkJ'FoFasdOtx[doou Qu#$ڰt؟PgoU[35t\ʶ vv;H'ya)m BMZe]z6}M;$ W=WG,CXf%(MZ/ԫ0n>O2Ŗuk^ ~%E.Wr['0E.rGN;GNyN +u^N,8{p9E1 L+lOq>8kfKUeq.TU c @o]_7};=hy0k& La(;]x:m% 't\Q܋= SmN.TuiXpTG= 3ۈYϮۿ37yg`>_ (d9>Caye 0a}sa7A dXs6-~H|j`Jp%I(1i+Ut!c(' DJ%uck#nWGC e]N(=n79[gy'bhޟȵ%2@3;!?)_pendstream endobj 69 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:26+02:00 2023-04-14T18:29:26+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 70 0 obj << /Type /ObjStm /Length 2429 /Filter /FlateDecode /N 67 /First 567 >> stream xZms6~K'ۉƹT;ȴ-ܤI"7A> K&WLjϼfF[ sB2 ;gRL*W""XLڠXL2hTBG S`eJIςcJ;˂gbrJN(γ(2Wʹ0 dLGgF)\#3ƐЂQK2A@lYz a%2k$56xf} ̆^!J3JJ͜R`4p1/E+Ȇph+4U$ȁ$r<@u@3_}]!$-X'6/T9fX~oP>ƗxKgKҳ!)xWR됪VVJ_!ekb )|9+`2CXˎ`~6ZNn$/.G~:gpْÔ 9{u5! 4UހЛ:Kb{x*~3z V~Q%,v]mWѬbZz ;3sml4܁l+eי\4֨e `e7'o뻃^`pr1_xo<-;Gz0E(|2D|3'(YR|L0ԕ ~GW-f%<6FHՌ9P|b2=64ypt#jRvp78nFý@0l ` j+aRxWӣhU2m[0#UA RjSP|-utg~?v'RA5Ic:鳀O$/u}ۅ>{5]/iin7 BGE"VWRdg)ڑƢψ"7~d>^"M(+:+Er7-<銕z 8%҂7-iȑ(07 Z1.5!.숦cXI ^u:Yxa0_}S),yᠢM3h+t[.v4sQrOOEoll;' _g?cUd}YeQ6b#g>BMg}ܒGfpbd8Cۦv/ZۮԮ0D)U.ҖRK$emm5 EA!؍(rPփBڎ%j쵤b|:UWWj X-|F_ ZaP~VDTMUD.Tv*xz %f7:A𗥹(nZqՔW[^]yp|*^ǨVɖ;5JVd; 1b)V;w!U h׵[dZYd+F("H$I*znBZ2XƋR'9Hc&}*3I%us2D`W -PWR)x`kbˮ`ʸTQ?TsTNyde$v lV>fvYDT [G2e:iTGcqk@VOE9qGhnJvPz:ꢪEx`c*x Hiߢ$t&C Vl#KOZxǵ-ʒz%Jze~*+Q\l6Sj!!4ЭKpy H<⫧u#fXZ.S PP [=TQ RiiaMvRTXO4"[KS18PBcY#3w^{v ڊ~WM۶ B # <1m1\[kzW[[ Z񛳣dV2/щg3D\^#m?Iv[Z}b1,d+u)Jo젷N G)%Ï&6 jv*\ *UfݒÎbO>?d$ɶx+Ii %wRY6Tz=]Zh$џ "O{jO5]^g"dZDqG,F>f:*W 5֨v:+ΖO?cendstream endobj 138 0 obj << /Filter /FlateDecode /Length 3924 >> stream xZێ$}o!C.lK^H;Pϭ3=˃y¶aRY'"NDwk1ʵfF?Õ3~^ur n} ʍ.:sz΄wFZ:dMa_chzӍ u4֨ft|u7&Ω5(m+AڂAsqjǭuQ]4! }A (XP"L x&a6 ƅ<{Rk?xmvD B[;)ÇlQQIM \&wIv[_'].+aSN$->&!^W !I1*/ȆH/A R<^2.b7\oN: v?!)A `  l=.=H] xЇ'-*z4 LYZaޝJ DZjn &E'TlX9"x=N4Bܫ%ޏ/B ->ӴJwwV7f;bg1aN %rhc\`$U(o"jOɦ.(Ӱwwr(L ݭMam:c]oW)㬍7i`jWFAd K>7| &q-G[GJ<~D@ r5_1R1`ԀQ j*~KH"^&k-=z$ 4+ =e4M 'N~k%I -+Jrif>QYt$ -O{:!$:H\Ke"x=3U RT {WY0E pnA{OLjJc.K ʂo3w t@!2'%ZzUyehZ0+]N/P |)pSF/]CNw&ZڄTPzޠJmY%3 rʬ΃Y)^ HC[]l ^!Ħm$ :y#d]-w7Q\-lppGIuIҐ?0"و?>sʷ9[I<hgwz$jH-V qC"ihi)w7-6h]-d aa!4Ҋ].: a  = -r(pu>$5,*Qr^6 (LG;Zꃲ`/낟do[̐L3l4p2` ?$MSB/J%Mn!!{x1Z+iK:A*;F89f^@ ctOCMD- N."V "rw_'e>Pm3]2/=(2ƌmo{3=[j;0$wM颌rY?m-&ӂS- rwʶn|E')r (qmޯe izc肭5n>u9H9oa$ Q #q+'a k>dZ4os תk-5!9)=*,Xϐ\V&hWGut33Cb}]GM·2rgu}ن::_ut̺'My Ԇ3nOXbD=R~hU]kYh7m:k7G ƈ.br hUoIFGj\H,"qAȅtV=t)ǎ;c;YDY֟Xf2yw@)dwM"4 "F-SFET1ӠcPmᑼ'Jz`0F:_|*K$z]bIa%~ nL kg\5rv ͗"⋶TeciezP+u؍pT.n8=^kLyoݶt)qp#mUkҼ%lڕXtak\jZLx _;VŘn Cxb~allX95Avb SXP ݴ=u1TBTI>e.6JgZ˓LfdD=Tr=qx't?FCb!% ('E ӈfy`FV0@.Ղ{eD5 uwylYw,>@<]߅dRTq&^`eM9H둜2:JyqOdnP=2K홓0Abxjb'>P0ptn:BOh6-Mzh^mw1v{[.oB7exYU$wKLaP J拉t Z{O2J]֪/Smˮ-;\U54=ӂ L3 5Vm ZJ~3--ݗ-YF7Pk2uJr/SNCgU&9.EUf9bmxw)-SS cÈBJ\bLUZM+r= 2@ sK4??pOoml|%{Id@@4 S|Dؾ%Y >Pw;,^,^U}w7Q>y^3̽h>QViն6ܼ]>am3׿mh7iHsP sі~lyvy`>u!XA7[oem ~\C֠Od,TH=k#DMw~<`f+NFa KzkP_6ӱ$m.D`;uj7sxNHDJsԀͶ5Ce͹4USD%tQ˯SM'[CVYĘ`mQ".%dq?Nm.RioD?j ]i̕SWxD]M4W?UųMuVpR^.@iWs**Z9cQYE3Esɭ=|9}+}|_̤_7)}TǫeapQsvFf|h)(ܜZA\f/=M^6/ &(gi׶y/Gq|ȵ26OSx5gW7nSendstream endobj 139 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 140 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5105 >> stream xW TS>1sPG'8TuZ`pFD@fD09N¤Q"xPPV뻵vZm߻݇wߟmmZoVbeF&)\=Ϛi6IzI& ,0DCZƎIx#\&pN U;Oxy… :Ϟ9s󲈠ذ;ԡA;]Λ‚ΓыfHLL#"nzTlțNuN S:o M tvT;l nkTDt:(#*0(6a"GFBNʄk;HjÒ֡7D|I<+dҜ޹|FM!A1$阜46RSCp*x=]̐ "%ѴOقr{R%U h, m%edAzDIn} \ W;q7uHAWy+^^-@%b/ڎv 埊gUH*k1t[*oazi,e8Gc7.Uz,yƏɠ߻ s=n_W2|c:oq\j $؉S *96Ce)9HViEvGʥpqܜoɋ1B&>Z#p̃Y 1ăJ&k_U'" ްTkDgQv{a_rN)lزukJp"[ 2$8|"ː'R,2fʚy6w^ξN~֧9|a&PF8" o}E8״8gLwbcwd%nV.ˡuZȄDK|M]cM'pg[Wak6]ǎ')z bzl,,r,.ƗXL#8$>zކk k6Mq<"] Nhq9[@Qb-R$QS"&bSar*\ߙB<P D.̶﫣|AC9I__!:;ѾGS!OdtuY.ʤ`8Ec!| “zʹ$54ٿ/*"u^0MWY7pL8@^q!ڔS-[Ӭ}y ζyxmJ7Ǘ 9x+GW(CX2QKF{xGwۚ:Bly(+*J"ݨ1(U&(3Gy#m8ǔ1 vMU|[+Z#/}9w;0-:LYoh98WT6--(-lg\0CxEL M U@$\:okhY)tLnԃDv27L$HDY9rM =l^}$6:Yt7.3>n(H!p 4r qaQIf %CtX&14Ԥ{ԍeG1fg2bz:+>r{s vU&$; 8:!U9!EllU9h(*W8m6KT)NDN@bl$ &0@%'5XT}'o* 4S1ݵ{t޵Qy$@jb)U*(/I0Ag K\EE.d; L )Dq}U2VamVV~V<%:=z֧처L&S_ңJWZE^CYYiis%M[jڠ,iA4`%4gV\|MhO3?k̣̇ 'E;GvCBpք}V:%*EȾC& G?~'w Ŧ< YS kJ:r:c?Q6.ŐKV(p_?([5yUIH(~aڹ UΡ$hv Nm#M (/cL%TUQPeILå۟nJ/Vku9Ŗ%9RV^] E cjm05-ٛհvMtYvd<N(wgB[VX$)>;Np :uI(S>wVެ5J}o[ٙ[%V: ։/؜^N="MJ?Oj.\܏S o _Ɔ7L:vp*!<` [t EhHJ+s}cz?*KoFi-[8"T_oy8_/Lcd&?Ҹ/4ϯ)xR k+˿ع:ic; 쳶!X1u!OҮ>^W с 6F6ح7Tz[2W崤NǗ ܶ&Cs? ]* g0TV G^(Q~$mTx?p|sTaX&/4K/}fŤ0izZZRT8ZA5g,mvN$J2^BPlt5]7V[I]el65:SF)u)yV~ զJcVQ҅vm V+hA\p6o!NAZ&k:K0{?hB|i[ӫ)]/bud^㯵-$_l WڂWLsB@@(YsNldrW@rxz/bp+&v*>5> ~Nx#, NSKK 6.kԜTZmuE{'+O1pqV,XߕV]Zy-&@=ޜOw'oJr_6CIfm{HrJj:d'TZZd:b n޲λ%I`tx{;?p褡FxcIrjt{ySt+ +5h Rhbg c3ƙrM~ϝAGSS@~}q7%]s ۫ (>|+Bj6UT ]Џx,xXl.zlf{;kZy2‰b5'Rk*хBñv#:DlޒIKPxȩj> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 142 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 143 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xZtg!+@F!Nw{ý w[.%]IrA616kXJ BBq~g%$^v}s|P}TN@ [v8|NBEo݅н#[Kzʞhc/J(2`ˈO:zqu 7`SSy3`gyбNc<>1z@k݂݂vX2`ƚ  XGQj[[l ha%;:- s^"u*kwZg&q'L4yԁӦϘÆ}t1c?fIQU`j55BfRPk:jNmFP&jKP1Vj>5F->RExj1H-&Q˨rj JQToʊSQ,eMulT??%h ՕNR=(?ʒzR]ݨ5fTgJ-+ZEX |y{-6XM&ex]z_뱭G2+zԫѽ_X(l6>=\js/7~k뿼k>~JI$oxiA[>9!G\=l#bU-B~Pr6)W 'Eco7DmP1>.~M-YY:}d(Ӫ!8N!wp>tpHը4]NtY5|, ,Y`-z+*rG|uBX\B`1Qȳ={ Jr.]ް T`.ҭ`迂e>ൌĭ˖$+h$љWs("]IoP/ѫ)m⫗&/\k'RmCZJP>}"dߞL9.{TVӯ.i%qzACF^,h{7foGbb;JP p@}pKa l:Hc|(@ Gl)Ui*|`&PMC71r Kt81 4jSbH9i\p'خvҘ.(@ o&=~Q:9[=\Z,!gz @[K-cV5A>◧з,vASxMI12ǩh&Eh,1Ȭ/⃿ZIS 9UfJX"OJ׀J)TD 9UU>\XHH ŒfB')!6S$'+*!Tm:rD*Be4ɏAjס #Y_<#]ds\Ʉ| Kק~A]^ .0<&9iee wxxk :FgKxWm81lJ<ON MZ8+spZf@t߈?^E} Jm!,lă jɌk\I/ckW\ĝZOrm1qTȷ?\Q䩰%- >OsT1ߤ&i{ԘLfl>j-"2CehH^~!@mܩM; #0a@Eڮo 6.WflfGVFնGMgKN\wHR\*+| _VNS@0lDu:UvA29Y ΰƝQ<WcSVE\uW!E냆`dIʅ\HL"ȒϠNuF# I4t˺Epƃk]Vv7ʖ30j!.':(Tv;O7sIѽ-"/-:j̭1%%aI5amaժI1ppT29zБg6+:eVL<7=l2NtI9`)W!6=ڮ8 9odN&IK{ju)2[6mˍB0"o}ٳ/oo{^Aq+6ťܩ y%k2䃩=\lfB%"]YNRvH6AGNN7+(~#h803^]C.á}ML"GaչƇhzbo SYfd?v_mcv BS@tƨ.JhT61A_Y}˯Ygr# LSn)؆z5!Y\{c"684juF^y#>߸f65e vĬșbPgԟ:Q 6ԭY]~:ߴPDzbϵiצ hbܵ ~7媍"8rKWI"V9R"GDB۲AN#mQUA82)v(VYc!'g)S ꠘk+P05lX'D{c.$ VdLCSV*o8zRΒ_M:X:mzm0K]>hA1hA?BZ&9*uyg>|ЩUj1RB:5IJ[_YgƪUAz?BC;POVxVg߁]u݆94WoEAfuFlȰwYdQH^1%s}I˃HXIW[ewHa $"iY2q-n(2.ŋ< ;[7C R4 MDÎ}Ay( <g"O%YlѤGz|!cCsm>$s1ĄWJܫ7.q Y>w?!n!n)jz'D*fPwDow+?i- TȢ]mCS!D;Bk<څ`UEs-4VMÙ>e(}N7UIFή}Q% p,e=K[<-n_p%ZdS_dʉ;T>)%rTӑ%ɩ~/[T#  + %U#5K-*N^BW.m$ ~YqE 8cs;hOOrghy~KTb9ϵ &:qsH^`/w'Vfbo7oNꑍܚKZUV(:_;dsjw\xJ@{ߣN xTI Yqy˦b2ڔۙ&3,)r]3e:MOߺp9-c;WWVV{N> j ()0[ƶLg[(̼WC(("R$ B=s5hC;h0c…y{Lݑ`,(% dҠ\FRMv>>oDyG_:y{`: H#߫PՔXl;H8E*MR])ee\<֨)1yO?E B8UY2XbKk>OӧͰM-ŃFmZ"[ K$*:Ȅ} AWAS?PmSOئ]?3E@DxY,eoW :1Ѻߩ%-#l&lؼ+UɲX6J]JPȕru5^ky 4܅$mq/L EbȅBФ摶xyroR'?,e I`Y&OQu$*xJQax(3'pkNC xXcI-TZt %)ٵXkq@ꓞhFkZۛ6mDD͡:/Rdزr8S)U*0JKJIi2I)IispUkˈn*k!x( %N :^4f)q#J|[u5ejCws%qui .rxu0--޴3V<(5|Ė&[l"xtVeLk>YxP;oz"C6駷F?!mP|}CܹÖ 뎂&,3A *ugy[f_!뱗dփm?%N=7!.*1a #3dubλ>bL'Ak$C&5tΪ9^JN_y8˹4U tnۡR%JTA#nҡ; zPh³$2:`hq/ |<,3-w"nM2Lޖifx'om$i JkAȃ F+DHw0:}QVG_o3vuS#==8ɫHyyn"5QE$4~kbpv% Z%4 |t6-.;q=#] [/DMW;n'_{<⬖tBCii+3q#QggKz|3b>Vd46j6w()ά?px#TD !fK$o:ﰐ.͡ b9y~x܃"N՛g`+r m-nN m)÷/|4q"l b&H䅝Iwd^IO$."Y,,z>!y?tfqh8=q"eWv>Jg&JAnl=ogQPշnSGr& Bc0Q!ѐ@Q̦@!s7.mu*ON~Yw.3/&7lp}[d ^⟐ŷtkJ"c9슰&_Xic]xxMm'}h?Tȥ/3:MDl dT󥑾O8Xb#oRG 뷆;r!N9{3u?]g36:8 &k*+?7ؠ9)a;3mȉ9{!b@||ڍ7MWaB؛lULbjrjS3< 006Uj5d:=z#^pZk@3L?--vlZF iLv|,.)1QmY8`.,a;ϙ?w=q駨s4l|~4cƴʺuïc 6,MJvgDzKr 4ܒlajӼM~U?gOg֫R#ψ Ƈ{/~tBز`yt{[ +7NXF2@U 7OȇWخ6f7n`3__]]]u60ic 5dg9KfL gz|+k7չ/["i!NS{"d'82F2cA hIw0 -| -}%i(<}%%;Q@]7Q̞ۙ >]^Vt4j D'{'[B~~FYcm/tgNdD4ܽh.zdtH'- 1(´H$Bբ<( hWj:#}ECNy\ߢ}#ih v=䇰c%x׿伐V*?T)wE׏]]㜕rdbw*}v}Xm3pX?~M %]f/7tT '-#h,jU2v*\w!b Ѿ$?;wCn! *u;ϙK(^$5/:t3+8B9ZѪ3lT$Dh{ d!2X}k6nÞS|!(^j fŋNSpoCv"]y)YYZrὶ/|"כ~=KIMMpaWgj$ίn]j01 Snj߳Ȃ~#aTt24AdXtf2#mWؖl#~DО%* qmf Bpo@ђvyR&ɿsUC(Hs"KW"C^u{=(\endstream endobj 145 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6106 >> stream xY XSg>1aT9ZkvsimVVqǭȾa B%!;;$AZ2]Eۙ鴽{gj;ýuf:ع 1z!Ƭܰmgq#_3`t-GMB_OD֟]@_.LIJ7'|%?`i )q1 1 i1q) _HΖ/կ I/ΙHNߒJ,;|cLZB揼LOd'doHOȔrيU3_Z6g]"&  lH\~?S.u8ZC.9mhݣ ̅&J' d.[Qitӵgh'?߽dODҟHi$Pd+TLj=`/Xvz͉ (<~?c6F`$WamiInLn>wS>ܐ} DD)'Rt<}E;xQt(QQu!@񗛮=O ~̷6|& 1 w' cxa O43SA˶ dྜༀ=p2ʺf#hזG_\ $|,/sx53"?тѠC_] 䢧ϡ(>3F)0t0-^7w[qW'u:&%1vnmVhc-BNpxƒJ,h= |l4'"vG'huTiJ}:}>[jx,-9UZz']6CMk?Rpj!Dh3ڊRPzl_x1_`ܜnwZ0}x3IG<{˪灜yB℈B{V< XIhӕ@F y!?zo{]Mt`U,oW)3qm.]BlW<&f!?=+/#m;}p "]U JZ+ZT` Ϳz?m94ͽL ja;)??3g:enUYnvzAߠ';Qhߧ˪cTط$W4uh㽔Ԥ8 K{b2 /^.j<'o-J;꬞@yeө QUt*PhPADePŖ>BKyʬIKߦNr_#I=zC$W7L#,+W,Gь?qvg%Cm,ZY q3ŷEU{^ԁfW`fjsO<'*VGXI E]N=UĽH94T:L\ 'v\osCWo C⃁36ItFJ|iPGse; G9\ =(6\9}5&:',s!ᦋ\U6ҫPe:35惹X%K2hJ|r!ODOgFZ^BM_2YZyQ<:c9D8ROUo1@*՝ sò9hkk)@f@SpEz$r'ᾆu1L,B-6x[n;k@ uւ$5Ns z#! j鵀c8DB`ZxBivu@rz>&Ů.}/_ٮ9yӦ){" .Σ7bF{ $O^\("5wwh|7嬱?v@!ŕҘ՚Ta^r"<\ߴ\=Ǯ q9ׁܥv[Gn9=^3bךr^ݑt>Ra=yJ!8;r|9{:醥@Nm1Fn&_s 7Ѳ,C֩Y yʏ[ZQKYF EkAX$z"hRr)3*{層zV8c,tp/r|g4Qy<`$2,/XU7tXJز`Y&OOII~Aio3-875[4(N,߷ =Ev 6:`/mJҧ [#RlQ3~F92}\ĦW22r8fHs[ȭ~&e2Jy"ﺉM*:IJZ|S gi8}^B" ;y$AĿ4dQ0?8m+o! +CE[QfNh%y]-Vs#T R%p,I؝/7vPz怒 Ϥ`׏JK~hu`qpq -*AkTWI\=OQ4J-R;hZ ‚bR/Mۺmr]nz-Vg Uk?4ՙ<zM`SewI( wZDFЁu| w pS{'f^U7$N*K cUGc!cRWlknep}_?6_s_8Pk~sl~qZ:yʣO|./dBov#QjߵUW\wux˔iƢ,P9ʆغ9=ˏ Y(Z14VAkȕRTI<^^?ߣT$GvBc`'و tM~%B\4L~C݄S* $죓wEFm(}KυZ%:5q".Cnz$no RAu,+O-ȿ͍_ߨ[_RŪdX: @9z:?},VߜR2*Guҍ˰Xm7oAc}7{>W=d=)k͢Yqʪ6Mq6 ܇,֞ &'ơ[1}Q+45,/<pj$gs?`Bgytb~5%p8,~o WQ\Y+m9-fs*.#F,jkUf=&ҿ_N;thBS-@`O;u&Ŋ!-ƒ`0O9ypZ-mlulTxH\B0t@ߕJgԶyTњRQ ]GkgzS?> e#?v[n+u 0^ʅЃ)TʴXfQ/,]ڙ>rs]mb>@\]k >$Scacd J՝mQ;cR- \Ѓn~u&a 1*PPڦ2ҽ `d(}f꼘t P >'9U+컬f9 i&vjӸҕlFaCi;9_H|Ę2T"1 ɶƠ1'?i-δyc%HJnavq ^,ebz=_##虑5XSح͵{Wڷ/]ؽ?݂{9;[xW]]<^ⱔCZ!);qNm3`Q 18-Ӱa*Ge *Zj!I"5E07zK Vbm(A )b}ld8˲Cmɵ~@L-y` x \z j\Ԡ; %gcJ*N8ڏQ!N.ndzm=pwZP: ,*K`rpXݖs;n[҂cO~NW$e%|z#f7Y]ܮ23-fʡ.Q%>Q7_~mB]ǟY4{%Ɋ\Ha@ZX^]ՇZoV44r`&ӇVxqDƯ] R$ݩb>hz"=;-d&Z\uA,7//A`WSYT5#nc _czvN{gp2Y3Kut3@YX iLa_u_%#m-F(B-Dac#,L!D1IְK%$z `ꐭh, r='_'?i(ISrTvjckʌZ.3Tw4UFOMAuY4_.Jq`doe8͈m#usg6/k!X]F_g++ØXRDa{dj› %i,쀭js:SκU}lFno馜D%kٯl@UgG6IWMƪ9ͽ3.05]\=msgVT!*RViJ()w◲qr5Uݭm.*w~44w]֑n`4c bA{ ij9mVw ~Da"=m|ҿB<~gدKϨ.hl l>D)kSRٕ@k GrG6e($>k"Vۮo4=;:.3Y&cE|xp )>RFe6lzم?z?ҋ~w!jE15;_endstream endobj 146 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5995 >> stream xY \SW~!T܈VZꨵ .kDv}Kn5aUĺʨA4eh.3Kg7lI/{wFekCD"ɲ53g, mi8Zًmx 5jFQX$ H^7Z'wy5aˬ3, {{{ eC<~rӧ+iBe _ EvY"wYݴ_BF}d.kBwB(Z$$twÖVWFF*7V%3 Mv؉:F&p79JzsKi,TJcseo%d&R;a9-=gKBbw>7[._DQQ ;_E4AI,B =Ķvګx4~?lÞx6d͍rfL[x O7 yF!|vQ,D _e68:5!9Ӥ!M,~~ 97K* `tk Gr_)ݟ/1όP6"ͰӍY?^90 ^~~[/w[7'9h52GvnE5^ !Xo`ܰ͌AiEzd@ΕL32!^,0` hhDtt8YUV|NK;})%*G'{c.MhpڮQ 䙪C̯0~+ɬbtt6<$+(6YU kiW7!)l٪ڃ"!ʐ3!;3 owMBK ʚ6t:}F#g'tqE~s-G vhŻ^/^jz=XXYhbh?ܿ{USr5y0Uۏ}2O*0sg-<7@KO}I]#jDz~\`3rO4{bBP^b5 7 {7r̈}> yn, \x] '/"aiThZ>;%rMȗ$'WĸqX-М_c`ݡjhEb7Q:<r >" ,۾]'lcq*L6=~5 ~ },spN9jѡ̼d"&GSCbߌ)h+ efJ/R*}U[&H uZgld| FgB%D 45t<&fKPma#-rGN%q\**%..9>JFj޲9?zϐX$7Bf5<]TƱEq.!VZOMB37$y61)%ZT}F߆Er8pG]8~7@E0:|~75y| .q?a _ኀZ|Ls5S*|`LYB(,;qݰza|vv.1LM^&Pz7ǯIϷ_pm4$ā7GׂgLUOIMICÔjrNʏ--V^(T!(Q* ssrT@fq\q>r?ڇ˪ U)0D/jY R`8B5@}iO<.GXaX;D rm0M&FC;"X@WJ"+ |<)_n[!tU޹Ph^.AA^ N=rxĕe-?Pwo& 0 ʖKGe٩'@^՗7~2X<{pҧ8l>я7 '61^ ìݮ0jr9!m"?|NOjIx7Ϯ\2uR{t DjYDMxzB3tauveeDwEL9t)znwpBO*"'%\f3OŢ(tҩ2#뉲eW3hp"`˶Ȃ45mj߽׫<oN˫6>겣Wأh }U<,VIljZs0 .CswzQ0C,lanqdD5oaĔ$b q*I}(,$ڙӳV.#!WT{_ *)ʖ'(ǿqIig=Ա9xPqRaB.>Nt]"bQq(n2+&{WƕgK̩gxN5F&gEQw3[ 0eY Îlʝ]zcֺl}oY@wjӵሑ(T<ŢR,*qt84jj?hooNQ1Lendstream endobj 147 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2910 >> stream xuVypWW#0/1$ړLC I0ěfB9}(K,[l?Ժ%[$[>o`b1k3 Lvg'U1mHfwح>Q3E.^~ݲ>}>>#3a1]6 r;=?AR4X.H+Z|L]|Q_|aq{J^.-\/Vˤ5b5P]IQ. Wjgh4K5K-.ղzQ*)|MQ.|S\#-ȥ?\5TU^!jerqR&~KWkޒ29,/:uV*YJ\ԃA````5o0s)7b)/8#feE>j,/ $U2,$ ]ZQ,$9űɍ&иcawΡcNgC a'3}Jc><(+Vfp:Ŧ_ofLg pq|O\t+'Y3qI!s*23-!+f-ј$UN19Ёm9$׋`i5bClgc:voTMM!~G?up )®QA=j4;ZuuKDKLˆXf0sinm)d{jhet zQOCFUWk~/L"efp],|gB<8#'D>ձ{addBeBuZLͶ3[ZkUiS!k-^]hS_1G}HU/ ?hm[G RMLڍ -Do/jQ^V'VnģP8h@3+wl?Qqz鼬Ԙ4~)M‰!!.͢>=]8:!=g& .Wф0\y3c?xuG]X7YNY{?З>ܯڣmyK%3LMϝh~uIlqs[# 6zڟIu>m`?:TYFAȡ1^pf0Hs?:썍\L:(&92\0UuLcXѕckl[VAcaE*Uũ`Nm(7_1f6:Lt$NR_dp$pApF8 h6͜-neißV Ɛ9p?ْknSx]ZzDWU%B|0e= 1ye8sp?]nS_c>:ozٿ#SH /;nDKaKF=V`j8PiV7!ϱLA(wp A|snpY,DG?Vc.XÃM{8KS576x>Ay u(˖}䉥E}oݏXPI@cl^:Q5|ڝ92FA;hUgʢ]5WԜ<{ fN_9߀/+LR4>Oc.M}?cX {U+Ku2zs槛Ȋw;8[彆;KNT\gN N‡0Uq~f|eBd-Y)ۍz>>5ndžG]HAbvĥ"xUZZְ5d܊8m\g7[ZF!lY#"ah:IO9W\(.{\^Ʋf!'EG!K a/x]gڬI/{5q|Kl  iy['}`@_CpD¯$ϦpK:{%K_fM/ϊB۩sХH `U8jVY Lһ. 9K?9?YM„yΫop/~츸V< ~s=N; jZл]|h5t\- y!wJ/?L! JHZAro` zCXXM<+Vdi exۘȧ ۞-;,""yd):ޟ-ƓwLhL?~,vAPf2lQ :uqPwsV-v` =,'oR O|S3Uodϔm凷IRQv4VI;ұ˧'/jJYɿ!RO3W Yꊈnq{CkHg#Iqd93_Hޗ œ'(endstream endobj 148 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6075 >> stream xYyTSֿVċI8UڪuN8"8TD"$CHB CT3KuyU[k{Zvwn&{k}?,s½!ʷmNJXdt,*i9܏p{qQw'9'<݀{@[ݯ FEVwԨw)QщұSLnNvΕ%ȣbo_e1qmw+d2ibL)I, ] " bAIزpy,6A+8Fq Ja,\?w Y6yB]*OFŇ&"qRylxLR<~(UUP\BbBx\('͝11:,?7A_K"ʈ$ޛ DYj"f4B Kr I (HeQa1<*N.^)1io^/OLD눬6ND7&,^x{앗hG<ظ9OH\09%,uȠ+Ĭڶzqg0q!S6}HQ~w#A !A0b91&&V#H"%V~jb 1%\]b1xOc8b!>OL $"LIx!џH071bx!(b!!X57IN%ք;$p *M>O^ZW'9Sɽ}ϯoļ͉^vxA\GΤ31?y~< t@hU8Yޒ|||o`+9ߠwa6 z4Id+3rL*e%ejC:IjI'Qf(iwp l ʦ NVR6/ h&0{6PsCrCσjp!՗}@ښRiI h T]8OM:JWN O]Y,4=O^3Y@)mVs $۳|ZQTd+o> 漺H͗b}MtuŠYJeZ>' l+;G?wpuPWW `RLcppmwJŬPdUD\@"\b;C}5q{==\Q$mkd|CN EJCz]$ +3\ R1躭A)Q#c(q0 ;{2[ h4GH<w.z Aׅs!0qB(HՐNC נ +⇨ N}1 oU é v!0.BSAY_doȼ@̹𤶨`e:qҿ@ nm9uʺB6Jdw;S t3NjwΏ#,A#2 i @2VogAo4\6 zYpJ܋y%̱ yrm**-'oW<*W^jetʔjr%grGIgb@+ʰaEep4\VxUw7teF$#n;1;zMEK$ fv<4qSpp&q$򠒝@D_i30heڜ#^"zڞSvwW8IcQ'n$uy鲔})7oX-b aI՞5xQ56a'B[ 'k]vts>FASj I9v'zi-ep.kDe/k"׏-NLnOC(L{;`[a*%֨1hIeubI.WZ͜j[R+->+ę^LY0ЁhkS+ٗ0r}`±ŗ^N_Rh  vDAo4ţ҅b'(}a?K.vY!rȥz zjk`*dfvֵD>$m"(ι5ֹX|ypad)x>xkY?n578D+FO$U~3 !G:ˣ0K+笨-tƕ׳WZ$Ot|O1mS1IP#zhN<"4dm_p+LMGbn:`WRh8||{.h2+܇RDO :-xR.XZ~ȷ+t`'J JVџ ktl 8ٍ;1:PAsM$@#1]" r7җ;kwHW`X&&@:#i .>2ؘ{@p9xj`M |S$\rB Wx7iwk(+0i"vq)3We t7u[4<۠ق`!;N"՟sV I$ԓ7oZ>}\_/{y3~wЛ {csg#`LE <πᦃ,6Z8;ns!1r$S~?_meڸ{-UTrM87FCCZ!t,Cw.:=Iu?i45|I8|bS<%җ)37W-v .]п]c9GHrNڠm;U0[mk0)=W͚'5d_ϾmU[3A=eak%Y%q.Ҙ55unn~Z"r"31$}:5n? 鍉5 ˬx SYnAJԵG&$!.@5J S!sY>'Uh2]2ջ( G8.j؁-n ܎꿯SQ؉ǿ(ѕ[ָĈ C%?C!Y]pj1Cpq/yk 2W}^蹔Ikw)t ^@Myqc"+pg&n 74=hݭ?g kkٻ{V\ t:͜cg?xˍ9Xd֙I|,aɡk%G70 Oݴv:st #/SPWe wh\b;7\J]8׹~e(>`L+Ɲ~CF`EC5Gl-eBLnoycp@_Tp9hmOF˩DK]$ ]]%yX\e+dkTL,Ow$$Fu#imZC[`RK KU(*d$]skGdtDHNOo+NVjZ[R /Zg;l jb:nZ8uŒ1B.?v&e \ KnEMiiE=4'Oz:L vlc &PVN VETW:lvkwC/Y.Exjٝ[>+1v0iiS""襟?|EUlqNSiZsH3#bv'bK#wnaO\|~}: On8;rgh ;}v67/g2ƶ7.bЕq>9yI6=3v_xv-Uɘq!x,־2TLfSL*P#C}whK<ʬ/EvY`ùbmq`0EzCQ10c^UP7&`=EFAVIWGx:yyr1 7MrH ר "@ Hk(T5*ğPehʔkG97iVv>UeM*[r/4Q.t@opOݢ.jAh`B ]AWJZV m Bf:s wA%Π~HUc4⬒ R7>`)>$,u ۯ /c,2wb&Xjlyz\[Iendstream endobj 149 0 obj << /Filter /FlateDecode /Length 1806 >> stream xX[oF~#t/B@T$*"Uzn mo=38Z!$x̹|xHqNRluMBsnҿ>N$W9S$UB\˴I44ƯYb%ש猂_R8-@Rp "']=GΕ$9&IkL☂R0b"o8L^$v?M4FRNI 2I gb,EHM>hln ' 1W M2X. E`1MЃ&$ 2ƭM}.-VfW0D'TS kjry/YMUtϚ6fTE}aF'Ŷb]JDceU,/ :-7|WԛV4= l )smD5.~t\e Ýxw<| @5s(j'ffZ돪UأbtB*_΍5^͘~M3TCNwA͘G0N&XT9QG S֍VRb D@ uDn90L\m`@Vʀ1Ū]YӘq  [X0ZRf 4F n+&g$QB?l1L3 ν،EATjyilHF|ECt m +m7Uќc ;n ١`SZEYie";@؃ug(IF ]r#Ƶ]A-$LYHBt~$斬ܠhHEKdh{a;AܣP^ax[$,[NBgV<rsCvu;t?c--7{XB!t$J;.$ 7]H{^.Kz&a}/lWW{x4,N #EgDeD3b\v f_HtrYr3CDvE-D16x#fwAq[1! ;}tGbQ{>(,$>#T>PV^z9Bov+{o?ݗC/#A~tj /K4TEчˢT50 ݧ;-fuRKռ#t_;О{:`/MG^wL(iKI s1<= K pUupY/!1nendstream endobj 150 0 obj << /Filter /FlateDecode /Length 12617 >> stream x}k]qwF_;xa `$Q"gԫꡤHITMz\ˍ|xgk⯭|xV4|֪ojI dCלԨѣbIԄ9xoDzZoךת֋*]SjQks5j`dQs&5/<%>5v€Zsw-*/޹T%H.{H_yT//`xwz\qx'W: X UfcO91Ks! 5xWS' WXg?;,6Qk?.z]j2Ar| g/?{4\ b]5К}+!E ۡ%v{WN2F} 6n^}՟ﯰ;xs5xz"wWg~'z%]>̧g'c5ǁoӯ7Oogz=i|z9~6|z1f_"A{8^Ó'8ͧ]G?r>o&r1Ꭳ?O/b-7Z,%6g)B~anGo۟kϲso97v_zOhOSWж)v5oo7՛AwAY.G&%t=*[o޽8_woh5s|2 B'^|_i=8 Rwt x X`0Blooor? &9FL'<ۈ)W_{0Bɘ1Xѭ(Q-Lp.5L@ l2yka,&Kto!2^0x|-Njɘ`"cqɰcj@zΘ >`LژJ晦@[CZB&]y¹@ LN)!Gc73086 3EBbLbz>a*r=` 1D*`\ʘzM21I]\|5FqvH +% H\ i<s2#I||DL W8TRb2xjp턉ěHrT@0ccDF&nxƟKKBߪ1e`] / #M\4[Y00~(/wT!º:tVzw\3 /=z; 0) "X!,`t'Ϙ$b=h4o&h,:c|cLƳ aj"8N( )+cBaLE!㹒cjeRDS)(Sa\ AkM1UxDvZ"SRᔘ$LS!:{Y0y,^Le!3Pg8)pkנk a:SAy9f@魀+ LU.c q1%攷@!LU1~fF*#RsdPpӅ}(5R6/ix`o six@d1 0 0{?eSN\F69sGlYLJ`hB@IZq | T^Ɉd,C6eQ#.-PjD>ѱe\T=` Gu:Yj1&A,\(V=+:2O4:rm#P(Y0S1roU?fqv(v|Rw#)ӌ"1BGڍ0 5bYÝ>LF-'1Րz71 y}1"f䗐* FXg.A4|MzaT'ZȒatY󗁖Hӈ 8] 181 R;w`$j"*| j7!E(I^Irb(`sDT\;+"ו3cd@DX^O=7v>6J v[L&EQr2eL!<4bB&q6)~r Pk(9{a  :KN9ZCf6IrnNAqm\JLvD #E}P /}V?ѓdtűJꨀhU-:* dB TU.X&T0UEC^@ŷXnZ?D[1-!HP0< 0$:5cHS`0GD:]*D:OT9iچnx-ɻX.ЊD+(DzMY1`W]7H 5cňJmp쵂.jpA0?70JHw܀́UԂn`| OQ0{A;H0#؝#]ClER9ᝊ̬R@Ez:-][6A×)a(:Q\Y0ځo c:[+vøvPd9J&V+`A]-{~ G8;wwe)iʓS 46zASw.&3EӰG/ o>1lG ;pj9^pLRtP孎K/c#0FIDf3E)1$TDB ̌юU&3E#cI64{U1QNhGb chşZ? # I'%*Ҡ1yZc0!o1' Sн=`:K=F;P1 MLGLdQ2i:0|h (t|ei-oaV/,5 'U&#&&R'LZD 0qX)L>Ѵv)r\1F;sa[ho!ghO4mp/}XzeR V@ǡCy_ L(xLf( @: -(qPct$XPU\`Ѥ^ Y5iD&r@FM /0sfd:Y`Ѵ@Ǒ:Y-0Jq5Xa@Rd@R iX َFͯb}&ic_.-dU=Zd3Mq#X,#@i#eq&ˁ6o-imI˲|dpE3x t[Y Y|:Ͱ}/0i>Av5q䆰@Y L8rK _c5Eh|SZ`,wzͱr[[`>{ ˁ8|\,wfͱr zX4˵y@w/0iqf#:ͱ]X`đ99VB t8DY`+Q rfYz&ȑq8@9VQ pp80_,fͱ X4JZ`@N,,0kq%w#ُ:ͱ?Y`đ 9b9V< t8&Z`+ r&jE4q$Yi|8[,)q8i8A*.0kiIGrE|kf-3*Hhq JX"`ęIfGzEciLؙKp$X:ͱ3?t (p 0k]7(e J8tbY,`pg hzͱ>dYgV8JPX4":-γ fYs쬣p hq:t8gIp 3 8KIӁ8\5AZ U-0j]'Yʭ&ͱR%([`V<&g 8~m^([`V%tűJo^[ WuN0( ,p-Q͸t CN &X:%ο|7Ϟa;Vq؇DtY7X1MƆMƘ7qhMۄρs7~09W ؤ9L&fK6u1dxL&llj2/lln3y?Md!Mr4NMmn9]zm>x36ieyMdm&|-7uudmdmRT؊MU)\0 H* [i0[ 9W] S1,eScflmͦ:[cˁLŐ*T$[rPZVTmLeTx*0S)f6g*VmlܹJVLET?S!h7V,nm壩aZM=uQ[_z.AUJVSj+b7UT MV*mU<ɛ fSl+7ҶT]MUJqSLnmMnԶM)7Somm0`Ӈ`{ aaz'lŦi^ 1}#db{TLuØW齱9lzL)$ӿd{6}PWSmz}YukeL#~4۳ko?mέx[ogL_Dۧe'Mnz+Mq^Oj{F7}S۟a5}v-kjMϭit^Ħv$oMgi~Gjgm{7ڦ}ozm\B95{f1 "}6}i>@ $ (,@=$0ýnC. } W6?;BE@UxvXy ^8:#ZJA&z/n~zF_!8FPM4C:(ԩi&a (d(Fec%=J0QX F1*.~$a&e>@ 0H/Em%^@ͬkF1틈$_zT߹^g"bj$}x[p(zĈT 5^})bdkͱ! +e#cr%61G( 7T g;c c} ]0R_;S@'b@3fȸGL$r7b+o /ԞvbB&&1l q5" l{3#5.J5gWFwf}ZfT'wm)ls`_0 !`4EAD gA?WbA@5Leo 8wZ#aώZ6N`;tFZ Cj*/c,0aP8>xvD`cyK\q=d4f$z07V-"2{O`+,}Яqh/*j<1#ɍLxctl *G&cǂЅ-UOm|xl ;ubf7Gdm;tam(bxHcF bb1ΧZ,|K5ӽ0LIfA.i$RʟydTȴc 8 yⲜJ!H:&BJ qI0DFq/ d'p/%E{:ҌWuP^0Sy6GT J 3,R>FX$aD* Lp,R 6.a>;֖WyIƆ'@B"m]r#Kma}S"u<R؞`;Y)LL5/re3Gab+N—m̅(R&/z !0#=Y34ԺHD!kxnlDS"ZU/֪JF0U8'B k% zeuCC!Ņ;#U8dJ!UQ0 Sh .r`?oCw98A (cbb˜*#* T+!H@eq}w8'tH# x[ҠHpQJ*$x 95^ Sl@p|Fb` IV &5$h P\_: S*,`Ġh#F}NˑDFҒZuAPP/#B"3&KMh=)VN,Q.g *TM#q/#9^LbG1|)h7+`0C+C I%G)#x)LrPUF>L;zD* 6NDb&j8l,OER sAl2W4%b0)43 :TyϤ&H\#n#c;ɓ!nU ʎ_hc@?zKI&:KiF ѩ<1xL7"9UhLgBb x7$sssXN!O+c.a"+ >`*fpYV0Zmy4-eջ_r!IEu)p#$ĄiUB 8R*@s\Jm 13k0u6,={'{X&C[V2SS%L@&4@J4**c.ӎь$c:դ0p0]y@ ~?FKH^~$ Xe Wze80 FJyɩSbzI*,LSts`8́s%!6VM>V0 zjq݌`3;;jIEvNs- UeưaPL h.&.*0jT1n*R]06sLc. Jx{M&u/ -0jFj-fd5#w8@;9AvPH]SPC^cO&Of3n fdL/+ ԭ㺳@oK JW{mlY}n|[`|,7ʍrjI@. JT./0]F@ݢ=%AFVXX|,&`п3+ #>X"<tksĈx0^ep8 [_|,嫚j5t =#7A.(>\`R|<qvDD3R'`]6\#?J Gfn86cA6bdJ&dcSn&Jf#i&f#r9g"@ E` vxn6j6Xob&lcӛq8&Vn&nؽ&Op%|.'a6IDŘ|l>Ԑm2L& e3Ulx٬M1fss<9Qh26۸H&}͡n6{Ll&k6s. Ro2&m⛜ɫ&?os4)VlL傭n SFbuزcYԖ[bXLT̘[yα>b 07IȠdoPjHހA(=>\> :?J}BBtr./5Y_ eV*|LP m4=-"(2iݟ>Iy#Av=,[-(z-R)12+@X`sKrG& <\Hߨ}I*UZvӋjw]+չ8 5- TlD)*:AO"I*o_"Vs;xD kŌϊGf{\"Ozwc ԝs_.h0Aٙb-toca|T±H{N×IK `G>]r>?"A/rAƆ6R\B_$+iaZNFK/=<BB!"ka)6>\9#+Og=^|;'yK܋y4{?܃9թIH1|OtY!k {'aZ@o'|OӇ_||qW|!'|Z߁xb>O/wm=~3n>O7}Oi-7'pbf7vk _Q| P|pz-wӆwj=m^yZv߾̢[d|_ kUKjJ/=;Q m-!|pևϞGu,PY [No+WaCWD t!8]Ato=VB}z~}APjdymd%zreiڀe3yNv"OD.9)"I.k/C9 H,; : ,ad#O Jsox^2yQ hDq^1. ~NaMfvHnv5e$BQ7#iիz<169#{y:"u#Gf[lJeܩĽ·O]>)( !IT7H5>FFݻűZMky;H>VbN}awGŨ_󗋏ZPQeŰw.sUuY(Я-? xpBpuz[Zr*jK~53PQb{vǷ[q?st:H?U՟6VA~0<%ZoQ]%F{=Xh9tDXNvA>5 Y'X_ˣi:l,*#hhhy^/V}[z-p )W2rϯ9;&&.b[ p0vDŽoA!Ƚz_71y7Aǟ/3FLCDE|h1N x$B?;ynG: q=wƞZ^ N*+)X y.YjFjB>63ϞG?r=)]BGc'^c$%AD% _aDX{X Y$ ZկܙVÖptUyXUWsGGEʛE햙<ԩO*1x>C5H 9=jYwB>+rH}࿻ZXf #Oz gFth@ O?Y>}թp%;q=IDE5Э1*=CyT%a.V-@EG|G+<4,sX#{Ikl:Ei@yCznH<֎_wϩBOmEl dEE'39EH"v&YroTdW1>vdE>fC|el6endstream endobj 151 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3441 >> stream xVyTgJv0e"a ATDÇ:1n1FTP+6 ,6K0jyzޜSꪻߥ)aM!iYi)ɦ;'і' 'HVvD YHYQVV(X6,͎1KLSo6nEe+&CAZVv"MX&nQ2?LQ6O;?/8?dMAE)i+c2e)ܦ{xΘi8m ESEM"cj1HRS%Rʟx*r(Wj>LMB(*©j eE@)&Rrj8UAS[ʌC6L5Q"/ilY+$z ƒ `T=C6-&q5ꜪD*:6]/kڙԳ?!=~ aщ/^RPJbuaZ֥'.(dwuo|l9 >]tnР1J8` 8>{s!toY^'hch?Wvٮ[Vk }U/18HPkDSOVl䂀tx3aK_@,7)sRK8H-`:IyEAžŜ)ѩ|݄55t+8Īt@7΀aX.Q̪p օ oc9n1]0 FzfJiĻ^< g)Ƞ pam.ea'?q“C%ܩb ݯB5XtwW*џ>*kU_ZH ?[ VnzYmGMhŪ_zZ@ZO!4 =c)n-lJPR(-ox$'iTw[qyZiG d_՜ lq=Mo:_v8&>Q_>Jxp8_5PkHDA7gCn!NmT\LPԢ~spIW4%Y/F( ?&qfP""l| UGuCYAT#ѩn 'hV)/VK!.}j9>TAn8B/pޠpB@^WLej]s۬bX ױ|ݢ Dz6-U#u'o) BX&`G/}ŒeA[;}I %Oja7׈S?x\wX}p"֤r6)Y0~D\̎aKҋތ7m[E$9ߏ~C[oc_G?};*wsx2 ({˺̬vFUevUt- 5mcH{q8VI_2`I` #$zB^lAO~3ay9Qr8d\&臸g۱Rc q#3/:K2*^YTlї;vqsCm;*Љ=G~8~.Ar)Ӆ'a' ݰǾv`c:YLϒ纸 F[kV%~T ݦw$bXHAjAg d#H q-%P[>^(Ѱ4'c{>LúZ9ac>JΟ#=\#%XylM=щ200Q/l BLj#:*CH3x^B@]_]p>ϻ~ q?yyx^=8Ew30e!h Zv4֓%܎fa{=뽵`0 1k2#0gx~NTrX®ݵp/i\{Pp1[LԲCzI{4zx6 !EMT{ٚ Lӎ'u,m`,a5$x{/Ip7 VSvk~H%'U.ż6>e k'^GPme}.vKWV"| jG?v&8b.p^m0<qm uOC3Ii^4#DݭLwutyI(Z 3Gf,V\aSrmnN߿ޛvhUuPK/t0yF̓r~Ga6l>ӶtLiͮc.+emZ-L\;i"wAt^ eq1AB}sȅCથEoG!N0cJ2g5"P§%* Aޛ]Bì.v. q)_(V+!^ W@d/sO:0S%. \AV-]^x.nJxZzI_Aw8"=BoCTsf<}WklC.?uVPB.h+זWfNc<|t~yƣ$ۜ)QWa\WʭevuY@pysj[[ֶM3YQ1n3"oݺiҿUt- b1NvFx2a: VJ0Cԇe(3LGXTH81áOG}Mv8ăOjՁ=)Skŋ&˥Ab)!x* 5X߃PA`-ftA}G<2bAٿ{橹~DN #)ACendstream endobj 152 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4228 >> stream xX XS׶>!sT7T*ZJ*N8L B0˘@ 8+֪zV[Yj:}ہ޾|a{"ގD>|m?x /v_@W{3Q -ÇG.ꌫ^`"QD'*:)6,$T)%=u|ĉ9AaeР%E!_L~#T "&Dņ'OS}bwmϏT6 /0לȹQ>o͋ߙ-)0y{PP߰Ugr7~Ì`3 f$x2Wf-c2fg0"5f1Wf yy `2`Ɖqf1Lh\.x{|'8,W=&`|[/J==MǏU8^V[6oNΩ79;*y$#pOZ2L!dN'q5N`؝ YZY&Gu$f\|?&eT]NpPP+Tv/Ҳl)85* W|5]?70DA qC5!e C;2pmA2}X2쭲glX{EV-x<_IpѸ} 'dN fS#S8gygem0bu |v.Uw9%9+kn7gW~EBҁ%QXjy .mb̂UQ)i /̔3% N˚J",'v^~M91?\De5ڔ4kk+#,SJmx’#2q8F텾 &s%h 'ӫu[jۮv߯&;Ox>凳sKPs}Pz^WN‚.*`ZUI}Ruz\鼍S9HKj49:Ea~1E[{uřD^ݣb8&Uk Ӏ I22MBJ_XRVPоKm\sr3_/ R4<`np_#S4-V/եA6z9USzPźYqZǫEׅ¥Qvj1j.6idMK/K{ְs!! *)6T!*n c/(q?yi99Kڠ22ژp88D4 .q 2ZpPU+d1.DՅB(Cn([ "!$FuDͽ"= Q{E{q8t=Zڪl4 ]oUf.t&WA ܩޕ^׽w8ֶ6P!hHtM:Uf(y7ogܬF{1E3hKvTeM $}eWPf>wnYֿ4 y{AZ^zT@~I~#OWU +/llJhS7&׎⌫W,C6 18ӅOegV*XG*Rn?ocz XMn0W4tl) G  zMuk`hf, _KRϠt3;b˦--R_='}QP"Ƴg@G?cmi1g+s:^<BSI˜^̇YAiIimE&Fk vQ|徚@CA#  ~SbYyEdj^O7Uzj-I덺 O6" V0hGRQWRu :P\C@V Mkc÷)ւ?쮥2V-ǢN:\FOl s'gw-TIsAI|v9khZJ mUjMi4N~ƺǮ_`1 2~βZJelRJ{u=m"aFICaV6\_kK! LO$lRYp׍Q-rW,0_ !Ihhk=?52dSfl(UZlr?xmNib "8DV|*F &"`>:ˠ|b\w%{їt"N#.ԉH{ً}(s.SaS wToN hiмK]xP]aIhC;A)D.=>L܋;OqgGmq c6;ɯu6ʅqV_R FҮXWWݣ1qy tBOr 3YZYبɚ]-;jA;3p\ ᜰ?$Bw>G;;5\|c$-h+^ ɟ[` .w#x?}D&#wgg} tILvLcx?ޗ7;BH\1fƥ>5cYxw]k9#F\RwGZRewC)3s S%֗WVFBBui ]2&*6CXe9/%06qo=!k 6JWqԘ!SYhĨ,0qrmY߲(1WXcJ3IEf謝;לӕߒ}T1.]Zq1?†P*:8Mj+7q:R%-{u[2&SYh fe).C.p{H$8W~c`;} y[ :J@sP~nS0삷蹶 >%}^qX4gdje9Kq Z{UMތ;3g\"VJ6̡Ky2V͋lkWS_{*܂26)PFFZ&l@QEyQL51ҩ#bg4/QSڗh=iYZmZ45lǺugQ37:Tࠨ;0%Vp 6̞8PwΔj+0/ &62Kt"iYUzH?J-wO{v$zڿdqmv DXrٽ?YIfY58F(Tҩ)TaktB?hm_u#Nu:CM~ U@,'޶l~3b\Gnث='P}52׏;]}Woneǁ֦*̀ vnnj_rZd0їȈOGHclS(%7ƙb##qM6gg8Jn^ÁmTQeE%hc.20?}w^ >{1NBցWIOq`*ttZ8a-endstream endobj 153 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 440 >> stream xRCMR7$,  ZUQmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern12Q͋oKL0bg͋§j~'eg #e'͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ !endstream endobj 154 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 392 >> stream xcd`ab`dddw 641U~H3a!O/nn߿ }O=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUMB9)槤1000102P ~~0}wϾ|x[Nw_'߷}Q;y?3og) Կ`00~Ksp跲ֿ^_n=E'l~];\| pBIOpb1y4^Eendstream endobj 155 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2580 >> stream xVkTSWel/NZ>u: Z G0@" '! ! @Qj h;ZkzÏ9!H1kݕ{}! A$;H~`J [6c = j[}I*49!JUZIf.+HrIBMj"YE)Kb Zjقz~~lfRr\^M-HջqJV16E*=eJa8ZA eJV] MHe-I)  "DLl&lb+I!AKn_jmhhZC"=Q؛R \4l@/ | _zxz+s%#]ޙp|LL@jfBQT{JwI@C{pZ3Ff(㙥Ln2Μ?^ذ>xuܗXv0y6$b-Ѝ uSo:s+,RFWZ 4ܽV|T%>*Pq·}'p`@_J Һ5DQ&iR8A WʠINr;FtI\N O=|q,dIElN 0ĹVaqXߡ|D[pT`Tʐ: E8[ ׌ki+8սKU04HO8(qO5Z2K*jPc=m}lI6r|h'klA5ΎQPYD>m3~XP+h؜-ˌ*PE6:UvqR+>P|B&6Qʺ2]]xqf/>]e/g'?t@.|%< ;gU kzSm{07rhy!fo?ttM b ݠ< f3޴GiLQv1+@]daggx3qXQQfX3nŻW7YYqt&]2ENW#vc Wl@Łr`; EOY\b3ќ|=,U.r䦛Pv i X[f?PN~m+M7d"P]aT$luaycV$1.\ʍgAi0V2]g̈]%ko )%Td)tr6?g UrcX7 1hWy> stream x(5i%D4 rǓ~kXR_6.‚io1e1FMTV%7qT#@;IBGmac~A/<^pÿޫ N เH;6_3PRt&QҏQp7 OV&@ ZXX1oZ*zo`Kq} 'R\~t ߼E΅']mJ᎑>jo W ]y>1>4p:B5m\4p,Pi^L›-swȚA EZ29[0~`tBRu<: Gλt"״˱|(1 ۛ*Xf7\%q3la+'\6"V RB*!5Q?t8HtMB HrXo֗GJ557HC q !|ْ%"$б?+ArQT`Gpyvb~˴\MD3m@Q6DH\M#&Z#!($`H9B8^cg 9JD/LxLhIڌB3Q4ZslϾM@X֪UܖWڡquQN0&W D~bHկ25͸z2*5a3I=rKғNV;?7.\ThTJ8p܄b]NFetVF2*]֙dժbL.vF1Stu]6"T9u̐ƎIX+=72;:=AxQpY-u8|*nmlpW^$Ɓˠg S P=&Nc'LFāq÷0F1m0w bڤшLm8les]]3`bpd@t(Ri1볔ÔRץ1y}lAkF3kg\2iBV#) ,eu>2E>:~z.>Ƹ_Y wo*7>=3Nse׎n(* yPƾ X-_~h@^X?'KYa% 3ϰ]5Srb/8T*nLT9]P9RhA9O\@hOv[/@& #w0l:|r<%mkz?|)rM6PJ+O +{f^ݠ1oe RHj*o9Z̲I=j̝eA+St',bgzD<VDfVDD(Lh$ 73tJ0NXa{F/VCxbGT:)IK¶ sP6?ו>hoSjtՋ iW}2k" Ak04U!3sh'%FcKW"/7-87^4Cۅ,&sR;OFB9m-8=A3GKrI4E׻^nLcX6D쟉bC'Y35xMRLg}J?Ꞗl]^Є }&ʕjV.3UEzN"k KĆ<އ8s^!-Ky_BglqΥX+URO*~Fqe'1iۮw_ڤ7m;T " gk6, ~_x2E-ܢ/㤆z 5:l%KO{GZm]fIl$nRIٚB`2A0 )u"sXKa*řnMD=ߎe*iՓʔU-v]i &b*.g+lMDУqf|n=DSv,@鉥BvفN0s^4pQ U6|mI`$cj(WІX\ sINІ5!_q&ɔ +G!/ʹ,l4G7nb]6XOGJ9dvDjŸZM߃+ާu*zv:VqZ2zRye0/-, ';Q_.(<î2FΤ.R`̼mi>;,p[/二;s8ßNzNʇ:zgVxίܗ?\:}}[Fu2yїH;D9던F|Pu7kxC}b#дKb/𧉚iMv\uLdǯ䪇>su~uWw]4[`z79|ssvzq.PvhK"E[+1Ԟ pǺt-kT>~ܯ(uǰKEx+v͇ƷB<V ; 2҇i0ibMotn֏ 2.!rlʽ̛cʽi[!)}}!=/n]F^?-FQgRri:dR*nen΅2֌V̊>b&gbϊ6f$D~lj >hE,}C͚5$^D߿A5ZU9Qc8Y-Ȃի vsyntHE,6pΞ t:,?gh1>#9vF]ꋺtH6l)clxLoN,fv \pɦm79ym~Xmi XOq<2m&:E)]dc5-Ү-sV@ vy :0bZƲCdP0 W\܎'nc͋ nlW,wšS-&o(^R5]4on\Ty ˳W#l̡fm Be0a:=~&*1-6.5=X7Z\DuLJv\XJ˅MOvtYP }hw#AKW\ ,Ğmd9ݵ3쨮2yw03BoJK}^~|J7!-k.LOrSLA\ש*W+X֛vҶC23BnoY,&zhHqdBdF1?)o~M(pۯ;cDS--MgOR}փ'd1E6i ^ʺRCd۽,3P~MO1OJ5nX}#rgލy^J|[Z =5dS#y-i5[¯;ۖ r؀sו6B,FE#ݫ}+zZI%fc1 ی}aL V2kQֲw}4=4%L{-G4,l *H]-lk;\Xz*Ç6uKSy8hV'_K`F=vpvQ#]x-6ƕWC X6΢1nF6y2[@S8ȼXi_* x&\42U2z ӷz9R/Iw2?;PJ΀zm?hvZ >LSq^OW5xdɵQ%H2NC֦S4d}k NEBpi)* ʆٗ2Oکh-ѭw+q> stream x% PSW#< XSk/Q*Ȣ.URd+$ACX9H0EDYT4ʢ:bn.ZvZ[}ȏq6g"H>oRHm4qp AhZ` ǧ&jc4C;Y寘jU"Xep:AlRDZΐp1<=SRRtIS1<&+R"K7sъ8"DCҦ -z]|KT룹8}N?E9S#QM}B>w-C]fgQjo \?hSO}_` @*ЂpxY|%i\wN mW>Ϣ?$aҗij``Vk9De^LD֨2!):̼͑lxvE>eXWHƃ|~|SǪ7"FT-2w4`R|̭O< E2}rknSCBG` [*E2$#V-άG~'[ĀiYGF3ΖT Ԙ , es!tؾMN:$[!9/߼mvT 봖͇ka#׮ IE0zSK-b*7&k3xha/qMzMAm:yc{Hc2Z6t@snmҶ42+7ה5m.'!㉚@{Wt}z{c_7K)gDXS5 `^Ƞz20sO^ek7 BmTc5c|o/b^4 B$qݝZ`(43*1GNK=e?J,jeddJH&!YV–K7ūk沈d ̿Drdynw׷dz/ HqLD:F]ֲDJ"+j{={*7LPNJ3CWkHY>xs$.E|^APlmhlX0Bh+)=G=5&k5T tCT.OX Vf,%);WZ~&ai߅25p{buMM 7 jO_:U>,,8sQ/XY[r}Y*+:Qrendstream endobj 158 0 obj << /Filter /FlateDecode /Length 4371 >> stream x[]?qPLy@ 4.L[,^8c{28m܋)cر<HHJo{ٽǝB}gݥ7>d]qiK*]5yKs fR)n)ThIHL01NbT- Tg̘/[HuTlފ3!'2ZH5mgy"W_|n5zkl6-{L,@YW燏.j _]l 1ÿ_\b} >oɺEL-ƹzoƔr`8z p-&|̻ M/ ?6lj7oaTV3m=+m}q̓]VMiV[wg4.$K=zm=Y|{Gz5T_GŰF:.~Lt+iH^L7Yw}~ޛRތ=^,쭶 R\O`.zj'i4.xxO] '~YhyxpPdO hŃ&Em;զ#f45uOGm܉sޗ6w7sl._Ijw['ZKZ,KCCC\}.#%6fjO8c\}yX@_2C'w bbIKuEhn=GXc>|nrడ2ܢ8CYI{ 83HMJ_#ӆC"C( ;%3qX:M`Mc`8(')Ә;TzDxCy^iYm%{t J74.Jeh&B$h8.RJ:qc\$bBp L4ZTL؝T|, 䨉F_](´jùt+ F, v;IҲjʡ5<@=>l4z tT+ǏΡ>jT:q4Yi; 6@nz78oREAaN` EG3Ñ(dŹ'O8Dielf^aHNNH{B4㢐QAQ }*!E<~vC6t}-M_M% B4(-N28tU]=F9zt"!(E8ra2RaԊ/Q¬O,`M Fǭ8$*a t3AK4A2MMK@ h;- 8qЉ"tY ]"*P@`1!TT. !y3U(;">dcI c$[>9:E$49O_& D4ra`sі)rVfmDBAw ghKO5<6>b lJs (Հ~@8`kP&nԐimcQ3r@]HԠi)(21DĖpc}c*=P tT +8C|ׇɞ0 !8Ќ9iG!wQLS&B7C8<Dam'oB"*%i#elNe[(+NfTou!чCI=^w( f-2Ħa@ /G("#lFRl&U4(=Ҕp$vT 4h4׎Ht] ^B0nۑifb)MqH$ J ˆγei1` Nr>W\7cdunS(*cHܤ6h`C!vhDtR/nBxzLjPZ7P)S4"PlMkPc3޶ӕ=op%-}c;^@J/ViγVkHd&ՠ+ZP/ɛz?ti"!(E8xl<ag‰ oBlW[Ƚ4gK BNPN&:MD(Ȧ|4? 7nlؿ}rXᖛZZį%|xBW&%6E{{jԯI さkJ\>ce kyj1 8QxSÿ ^gٹ1?^}=ق@/Bc=جeÃJ)٦xRHչ[Ͱx;,$ncf8HDSq/fH7:jOƗIVK}aWw8MB(Tz6$xxJJz`A!4NX&>"H>xXeR +x򌤹.pKsRc.PPkyz7WoGjwPCoH<>btM聠gH~1<,d4kr ^9 =hay=m={򡧕ǚ?]3rt<\߾]X>_<黂 o^=8wlc_7 Ajg>Fƀ$Zu x W:˷0O?yVݓ\M8?_=I0~\=~qGzDP!f37v82>[t]]kZZiǗr ;xٲ=䶊y*k=~s_45M+bɘ_,?=acw[ea'cۅw!$NSoCE?hx]β~_n^r1ds\?)~[UNT;?MY<ߜWZs/ũzbOh-F7-ayyUO+Z8}<):?;~W Qendstream endobj 159 0 obj << /Filter /FlateDecode /Length 4959 >> stream x[mq~o9;R\%K#D$+rvjwO4i'=hb#?@ O]ˮ;_x+۫wWV1~mf׻+Tzye keFˮ\oUd@hQqu5**M'mvdRvTn5px+Uy[_pwZ~u̮IX}gZՏY0ámhn]Y6bu4y -$3Vs҄&s\Z|uB'Ӽӆ晗upd4Ȳy01(T؎s\9ts0_?,L/tAx_~W 28c);Et=v̬RFJ|Wq_={uṌZ>k;4TiI5hs!v,Xċւ`6Y(K9TUJ}*S]*nRm*|i`iH}*RJUڱTz}sPwWWvͯ h,^fݽn9n`=-lrsc/&~پ wa鷯a.YԪ??ia;Ĺ3)K3zyعy16~{<4׭]/ҊV` o7  †+7~co$7u $vEE "yh8XpYؐpYn$re&?;7j>Sټ>˿_7D]/ꣽnݟrxs .67U #,xg@~ pfac, w YEt9ysӅ<6_ΣU: 'pOS1ŴV2Ƃ%:Sg1/ٖ-|b珻;ܩ Qҿٜ7޼\:OeM g7ˍM:ƚ3֤eͽIr /*D~ uY 8UissrdXVa谥(:64m-g֎rI:Hs,pּF ,xprHS9c:4xfRN㜰B\<⻛j r8 Q]X\ȫ>jX9jmw !&@NXBSe&p Hj.Q* A^p`ҏ)RD3ٰPvЈ0l4:R@"8?I\>A`~HG0Y,m6CІ\j~D–JqJd٤g3L©z\Æ!6 H= vŝgF i+vSFbϐ@ſOB"Pi.^>)%+?6OkYN+O08\0p.|ܟA/Y$#@XT70ɤShS ]:=M'n (UlQq ";c)S(, uQ{ʱcR,1Vrt`0wlD| ǩ X% SQXhg"P$59KiT>J8'Ţȑ8L|ȍ8zv1Lc\N=B#w`ݞ3TCD$,vqI(aƑRAcBj<ڭM=" l-cyZwӿ [`*wiEVL2tMZorDYWNw$0*0v|abĞ@ !xvRKEW]g rmYJfyY-qCb'Zч̨FKѬ$ Xy|;>cM[scvh~%Am8 txC􃳇lU!˨4sF-ث0Ė3k'H0gfo뷯ՑѬC{ddBSڋ#"nѫ$ aLKEܾ@YACf 9܂`HdR;˻2EPl3A&_W^3:A_%#(T97*I&p.4$T$>L;T3Vǥ*lGPZ?/$!92iRp$I$k);)f$m茿 m=<<Ń)z"'fÎ[G4' [mQ[3L5uϼh|p;񭇐4=AO.Ɣ1g߁'-`~NӸ< OsHW:՟0",P- K#Rph1E'gʹ:>8>Ș_}J7|e)vMA'IEFkE{cEavdAD_"淡m>9dmzzOMɶP/2ndH_$O?}nϰendstream endobj 160 0 obj << /Filter /FlateDecode /Length 10517 >> stream x]dQYw7ymݵ,$cRdVKo,؋a(7!y<<5ǟTE?~hGXK5xR-R]Īs &$K_JoZU[$@ڔC܄MՕk=iPaJm$R;~˃cG>|y>?vmݣZ9r>=>]wO_[_?Q-/8b OBY}or5?>HAQ)z2-%Zkbe#v==')|s\}\Sݕ ߟ^%Or.~}>}Z>8O֧Χݷ[>z~{wc)]Sy FrwSQr',D`yCmA\ݪ6jrT-USh*T5UZdk"z8/?5E\jWU>V$ R#"UJ\.eZW<Η9yOuQ(UT "U-TMT)NTUR5TmW (W( VKܵPsJ.gxpAGT!'/zԫT{ngp@sHlWoͧo>|k:LMx7_|O??~߽ۯ=64ev.)HQ<5jB#pEuM A;C8z_tY$jc*_2z4jbK⤃#CdB- !d&v1GR9Tu"p R(_ J`Mhg4)^Af0XΈ׌HKēПwPܹ>X WG 48v9]hTŸDH"%@ -:~PZQw-ߪ-t 3"ꦶ6Iٵ/799Lz4Amh[E!L92ʕ?Q?bKkĚ2}X9P;UT)T; )N&Τ"gc|gγqJ5; EAK"|0C@D&{/+;іodZWirxem3kOphd0D9 4ۢ!̗&4nhGnuTUhsRÔ*&SS6ˤ߾;;wQSLQ3V1Α*Š_0 *M#;]3VQX4S*Sd|4ˢVHx\0E=44M=CQ&wM^pŝ1d cmՍX MWVݸZZ2AϵQ86!F')RLLY&ӣQc&Τ42[A^ gZF؉tݤAx`Rm&Sܥ|"+VTPj1*;FoWf2N}x*Mp;VMˣ(JN1|uVmiUJM)eR*Ěn9cZ cz"f9kT4Q1)xöhV}Rt C4(Ěpii jX )a"EY2mek}0C`NJ:fh{8D.TӚ\)NrϮm<= 9KP3=#ܪmT-hZaͫE ]boAE=-W\ƪvWb*ń*h+9LhhPNq0a}m2ܹƋ:BXUFuO%F-24ND^Z--c.Z)50V异a`*ŔfUd١)v&O/^autf꽦V)U qfM z͠G{B3^L(KH3i,mͤ'zhOѱUauKABUx`1^/al}Ƃ6A%/ǕS㕢bʫyj5T.49j*5L8l*8XUF+Ri$5n5. p|u$;v7̖A`TAUK)jƪ8+5biJA!TH&KF3a*ë́Ft(/1UW,aD0tiР۝ 巩MrϦmyCٕ]ʚ)9]["a職YK\0 Ʈ1Z‹14 *LPȘ\ׄ<0^%2UTmTTh%iT۟E&lÈ3:(R]r[Wh*^M鉗rMrϪmzRˍ)}YS̊WkhXi9UKl= }Au^D:0jCJ2 mf2E_2i= k}gȴ˫0UF$&$4xi- t:)/&U£eh&lGr@]ez6mVe]ޥXƙ}*oSYtLO)W"eICM+x܈wzԸŖj_Xj_kdJ㘹yB>:1 D/Tx3=vb63+oQrL[qU)&=w}\mTmZcf?ZK BmUOu N cGyf$R1DzX aJy>}s-AyVi=خpHA3UHFm*fFt(1*;:yyn92}xw~$$g)ƶggײ>?)zқM CYeŜ'W3Vfz.hڒ`TǑ[b &V s{eBUhܥNԲ4%GΝc~*3=X՛gR O5tYxHU0 a"EU< UIk&<1"DyBDnCPRAh g"y2C@Y'Iٵ+ ߠzNDҧmҔlwܪ8 ĭ1à@YJcb*@Mc)MR aWLZm X)rK3o #|5iƪљ ߗ5)0L, V#*;Bt0$5A݉6|0;W+ )NrϮe} 3km0ѺV=j5Uۮ-σZh`i} aK!*Xu`;JLb)0«jTiĻ6Äx'5ΝXZd0 * J3VaPA%7U@y0^5L(K0a,mÄ'z(Gс59mD{!0o126ߦ8D~6L:܌hDۨՑE,sq}Ow4›ֱ2VޯIx`TOIU?Uiz9^-8)Nkl*CTjUAA'kFMkƪfR%}LQfvY I/^Q㨫2﵍#mg'ʼ H#qYxmMp{fm㩗kh[˔K\}mT-o8(Yq<5x!G7ljXЈ5!2 L2isqɲSsevR NQ3!zXi'4*Ud|eeMtUŌ& 2mVa U$Y<`fߤ6򈌔[206hw[ϣE]o@A}(yi9v[*^7 ̂FR\ ^cfZg"߲S0V%^*Š*NZ[H5ơ(6͔JT3,ͤ5eMuu'<5Kxkxm7MpϦmyA֣SM8hT۬Zf2H#޻^$APW6Z 7Hjր up.:v^n)r {<*J36*AXUx¬l׌UGtfJ%LQfzY̚IOОbUw! CL DT;Qe"1eMr1i@ԻƦ)Uj4D&uND|ߢ"G y[faJ%GL(.QHlu,;E5uÍbFT9Sܴ4S*Qdzt4pfWt zɡs9o,Z%\xQa$.gcW~HKhݰ_)7mI_$4kZ46hyuy(Dg%fP88cfk7hT¡eh&_%,@Z+Λyїց[gv4Ͱǰ;Ĵ{=?#}fPU>Eϕ~.uF7phTn3d7bgzloNkA[yit;rƪQn*)a2EQ>IEY&CDAD<_rB*ɇ q}Fz1q^KBT0?.Wd,^L_h_nh䜷:d\8*T+F$k$um\YĦQ蜷+DA'T!Ӥٚ*ϋf5RDdj(v"Lx ,/ywRX7vǸAjѳOwb$T_JcU{U9C$ܔ;T)_g )b(YLICwauLa@;=>5*q^3VEҞLW5)LZ/K[3鉲/v1켉:5stǫM g"j$*zVH^SCà€ W۾aWO:jQ,6aPeŶQJhä eLI3i=yrY ;YvR]~M/- *\: 4HV)yŤݻ->k}ײ&^g'pZ^"J3r]phvgᤱ'G;dq&Z1j|\[U+.|Eˤ宬s3n8߮$AReTmKTۙE&elD /2|ju RuP9S4Gymӱ\ 82\GCc B;I|ͨ:)2I3akkcٹsqYb')uRFUQ{0^5L(J0i(mä'zhOѱW9[."Uox֧꤯̵sǐ-e1 w~rn0Va{5*]2dK {>A/)_UZU)vè)igh/V0LW )2LZ/J0%+rL,Np!W*\=+ wNfZ{' /yBP3~ǫHJGA+y`O{,`SQ'4EcvIUW$ù?#a:ٹJ}ڇn8)E 6=͠½sN[k*wO If25Y. w sߣAf~LJ 8 NN. - Gov{Y;@u^L .8#yN3>d>cX5~9Lj7o[&R+^ ~s#Hi$C|NM3>+5co^LG5)LXJZ3!"jtbt)( Oi+jo嵱 zb:+g pXſDu9JLzaL1uXO!i9.pNVg:y~N3VE^nֈ5%yz0WkUg"Hzwa)܈nT;JqXf8?wpa"(rGäJx0(ݲ5>keMIQY^*pa82A _|y>?rD zwS˯hYݑ\ xza\;||owOp(t)-O|-%K,DomBx_>)yYi4-^>lW?M儞na\8#ÐkxoǏw]yWyϟck7@#Y2\AuK )]GErh"IRi|'åqTH$xBD ܱiaZ1h2Gda e4B$P#e8Ñ9PL_]Ar ?aIWdGf2$= z'l&Rj\)Ê/Ȣ 7|T= /_x+YMiGkީv|HDǚd"2Dt{М _}Gn?u "H^Q!DU\֗VV!9 ݹB 4jA=QQU NOivKz.8|K4#F42|5;Wz%n(-SьQjT?='j!+鷣ϣI[Odu9Y7Sl YThSa&.oP7CEL.%gD6u޹9}F/Qa.x󉃅^(eah"oaQE7򁃓VzE=F:~V|5?/7Xm-|OXp d~q_ q&+G1]T]}B/{lJLp;:Ļ&H4􄌾P/?>YF7 o|.Px!3GS/_6S17/axc4Uw8K{Euw٥p[Ө`~p^J"xuF|oD˿S7)|O<" )pcXBwg^7i;gԹ3%S+"T=pI|1= ݤ- u 3:.z_k=*, E (ShG}Y=du~m #sE2 V*nMMmԡ[)ۗO ꈾ?pFLy44  Gd޽"(4PM/Nٸ}~o#R f|E)W_%qM>5^dB6ڤyϧz%`(@8U7i ߢ*U|IXL*r|oKO~UѬ>S{;4Oڽwk<2 >r4}b~7*8$>gY G a=(nFr!lE䓧]ɯf=x Bu(4YgO*0{MbDhY<.DX]0UP?!-rG/}`< Q-; H1O-I3w;)=̊l>WaGՖc,2T?ʾ$9-5ognULpT 緻|+~w?s$0} /E w6SŤ>DX$޴PWy&)Li Bb9Oik%JHXu pqYy8.n̺x|ܝ&w'adՈHVLApM4XB-.M/tϮ3/rT- EK;߼!~y> stream x[ouϙWc{Nw`Pv+yWb V`!9 B߫z=졵ƹ{PիUg]+f؜V٧n3+Dk9cElsBz]6goϼbZ%Tv5HZTPV{v1Z8oT9QVVµ#*԰3D}㙈.6>?72B$f1sfv9}#BH h|9 |ѵ6|Ckuک- p^朶eH^4_J)7uB4/#ƮSq0T/#npMUF߁ކhs:4BقD&\yg4ٚ` p@ ś$v9iJ ̀[z-o#&4D Cۑjg`Y2 0 6do梅@o #W;lޗfb՗ծ]SjWꌆV˲-}Yʪ]OCY]Om&dYI|a۳~~>噃Tawoכwv__.=_zZ(g/~Z?d@8|nVhyVQ]g🶛~]/3´BWVr8ܼYWz<)f%v2ш-|:jy toQMso1p!|)줃0x;;` UoKHFʢH.VaOz j.*Ηv7T7_//5E]aXz`1C2DA: #]~\Bc[[^.w_/7"xƱC-bd;]N(ab}<H?Rn@dR`r$>gȅ(;/⃹X:bĻnG䃫~ޮzwC8Cay[Oyk18`I_߯b% @nWƶW ?]n7OWFIRo N 9X*7_>BJ)߼'M%z&e˦:NpT{9<;%SS{<.ίcTڬ 5)~,Cqmw9!JW'Fx( 9oXl Mp#DPhB ςwܥc\s3330e,":+uȢ=AyeqqYn&}]a>!eZGvj=nؓ.A=AĨ\ OpNB|DAJA)BPh"F8rOҸ%]b8.jv ='oPaE*uScf)MNQ$RmbS#@\*tS¶2g; #[2.4'd Ï:cAhǼ@Y'kTg;ih˺1 ka( 5#UmV$ģ&!\BW)P+5ws@Nf U '+3  eMmZPiim^B Tjw(F\&(@d#5L -SBi9lVE!c&pCFDhyhvckrhk/ˁw+I<] ^L¢^jF3VS DSJ6RF%% cXy]VFUes:4kttߺ" rw98 A,*l,1nBY\"cfI}:L<(U:\Q,G(GZI,0fY(G0.ML~QVjꢬ>Lzaͯ^/e^տ՛R'D9KPVgfyOz# ]uy`3Uz䋺\N{SFQlj>+Þ/h`Cw*Kj\S%рwX28[géJqxEGjf<^l5Ԡk<$$vY*Cup.w)MzQpT6bOgR`lGLf,cA`8lm= ڔ,B6#roJ-pJk.xs?V<IJ"E_VII=Nr`1ԉ)2kR"cg#UgkJV fs2c]޲ڈ\|< 2%z\fT]T*hOdq>@͙o >}o~:UvBq]4AEmPc`M퉺"(G?Cf)|NaR:񆲎q\ ufiˉ}c}<ꕹPH*\e 3a%& k4ZT61 4RڧR6*7ֽYr'hָ#?˜Lg5q"tb ZZTz| ~XєL$^($ʻ >raN,I'DP)tCB~]#o9}:;2 s OOQh\ŏѨ%2 Di:hn2YYcV~W>ʉ }*U55RLĄF*W]u=Kf.pFQjcaOՉL.Z%=2ݧaq?̍^ڿگpQxBEIZ\%sb&MH$W2)Ħ`S~dnJJa3dVe.w2Y5jsj:*VXǺpy!˅jncq?\:ۙ3 &8k;5!L8S$er]8b&.IL:Dc2F0Y+nӾ>_s2- Q,׀xX4H ~ܸ\tFr^13="Й3Š FAe(6 /-/_]8'%fFF7)HW5$'N2[P"c|=}4h5Z]tt&Xrli@D0ZWCN;|R E``1yҳԧWpV?bT4:5>r- $񳷧9hH͓)Q }i(uz<b~5:zMҥiO O GOJ? %Ԭ&h_{8x:?FA?՗J?}Z?| 6e}TR?a0=|LE^# +~u]1~ XyPξ$q]?3+Nhendstream endobj 162 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 470 >> stream x5N]kPwbEKTQX {PȺZi6IڹJp!t/ye`d9p1!gs?y@vsrxϼF#ZLt@Z;Yb h)Y^@w z"aTe"D=4eW %haQ+ HRG (EkX5TuB0K(HUSְ*jM,z7Q#WO=+gG_Nb dYdy Pss'@:r6a0i Mb:maʳSF96qXg2a0YwgT]fݽ]ym~l??[-ҼAv_oz^k%nGY70Fcu ~6Ǵk̟ wR\{_p|XȎendstream endobj 163 0 obj << /Filter /FlateDecode /Length 2335 >> stream xYrWIj_E[)R8,&,˪f"-:0Q]g,B%W=XiaJZy jW"*j/|J|uJ2o:x+j'Q%]reL?:&Ϲ_c'o*(cJ7QXNQ:ML:5iJL)ehwIE!&l;!f>]Rށ k/^Ș$b룋߇/6[)dJ:0H@J9Cӛ()}L5lZi~G߮raD^-1OއliMhMŕ"J{礂20\CI~d4!5 RᎎeU*'OND?O b:y!2 1FO^; -` B j8)bTz8Ș")ᕷW3pl?KѧGu7X|V}GR" cyO&+ᢁ#2ycLmo-;t1JJG7<겤X4cSPc]^O >$7\й&_O8J$x vUJHUzL{<Fߥ!7F .6ijx7YRvM-E,ے W7! W) Ys 43HLe 4#MNj]FXLpoݡ/K,1I1Oz. D'q_dEtEqUft3B]<As׿rV+t#}yjϚQGR4lB`ХJFX@Pj8d}iUr1=ːw]6Pht-3j}9NY0Cor^bvΥR Z` Qԣ)7$T'˙+R5JP+-Xoi*n룹[`bSMb^晻xNͯjA"~!SuIf37)*p8`nY7YW_hEMbn/}kPg9v nnF-PuШgoXR}IiU٨׍:^YlJ6Kl,u4nuڨF]7jרF]tA?5Q:_Px∷C]2`!ʤ) V Ѡ.`Nг"7Sg=J<IGcSy9mQz>/1gR/*΀2笓Om FNs9@W0b,Fn=>׬3rz2^4zg>Ъ(0:$xURH!o~㭉 G^Vj~itI3B옢:TS{ N„بPEF؛3dҥ|dM52džMSukq3BbTZ4X< K^m'qD:VeePvTJWl]|:C5IqDRtp#p g],*jܘ7 uh^7ᦹäk8dJH`?)-[0cjDŽ<-P[ELjC*')_;]CmزC-# 0N˩v&ƶJfiz4ggBA,#]BYeAW^AFy쭥JF9?(tSM( \M=7#2;7nͱ3GwgCo\gO|˝sgc4 JL2,{_g:E{R9"4ZfV<b\*^wmN&79^N~aKBYrjЋ{4Rh J'=)Vϊ^)_Ru:;<3vݣ4bndnٷeOZdzswģ ӯ oWUՂ7Fʲo (%;_a,g~T{l _ 9X?lgWendstream endobj 164 0 obj << /Filter /FlateDecode /Length 5020 >> stream x\{o$_1uI才sۻ N`%H4ᵾ}"[MabX*\ 'H&>Gj$G?\7ݑwrt^dĨ *=^q4*GkبGɌƳ5zDZl̖~trLMڏf )/lrO3*1U #5Pz'1؍ o?asEO  qT&EitLBjfe3m7j8ϛ ȿ$_{U-Hٖ.+]=bɁNVD4|]Zu^ZҺ*{6cF UyxJ0lNCL܃TNMÞIB;ipi;/QhmM<=VQDh'95ʼ#DZ2BeeRWPW0'Ѯt_-ԦwUiMii(MYZ/2joL_w7gei*+W:k(̭Vui]yimJ몴8T~Q:׵s?sg3ҙS:t⻙U%gklnGTw 4 5DQ LщPaW}r “_hD`[Nq>]Zլ=㗥u6#+gv"m2Gc'&=Z$h߰K4,l*I/!\cYte &M掵#q|!&Z-- W1 1fenԶEK&򛮅jCU qYC5I,2Jx}E졀m~n5to.1}C8SZp\,D`HU.%go0bHQyDf12g tͫ#G x2S ra כY9؂u $83vfWWCZjT|dY 13<)cM!<Ǜ}>>P?ĐeBv,aT1< ͻU&aXǐL>7I2ߍ0 hP=[J#fZvl#HUVlZqGaC0>(Y]:L#ºľЮEIP ]ƌ WHAŞB/DȲAg=}E߼ Xac.V~D%.hb/2Vax Q$ ٹnQzPtl vdg2)ztٝys$Q-v,INN }4s }J1= W Bx'e+AZ#ltRx5iΛ}nc.m"}+&X^'dsAӲ we^ư~!l"^,1S|2iM {(eVF ~Fwzj?RR_c ?Jž)ϒ72@"HD]=Y5qyD&%5 xb( VT6V'jKUuLTs=J0 W0[&K Vހki40uU51WJGmGM%jKDMCEwwhSF m/ptp/Y*MbiOVtdhø^?ql`,mےf51n'DVs#vHgKw029 >tQr"?8 H):;pmX!Zalj +~2(ÎJRZkÌX>n3 mpW(=eɥ< /j]B\go1zXCJƍH+>S)-3%` n[-.6@VF9d}F1mWk w}ר]N,XyLmy'gO)1]%5?(1d{fxHEDRys6m`WIf!/3]CQmfn<"KF;,F#L-!WuUx @ismc !;W@`E1x:dXMoW\ ppI.?aD$or:QPjneBJKgxy2;y:rZ [&2_7UY TT|kjԚݙǸ6xlZj* R~W2Bgؼ*J?O)[(V V'wBl-~Ɣr#"]IW1eO^ܷqS-b8;Z-sv$ʠ9FD%O; 0DgeH wӪ>S5R-P*h]bP)+:VⓅi3̑)H@Sv lLfҬx'`qL@$%=جH*G󾘬&zSt,zWm<Y^ l6vWNA5mg{Z{Uc[gP=ӌ.YʪK;b&ђ)b@Kfi"RDJm J %(Sxq18v>C$s56GLd~Po#5e8_zj<]%~$9)ہOBU:L?P\4Öy=+U=;1_cĐxhtgq:)dϤ :7aQrm|6SB 䪍#!5/R5oRrUS0?͆N,Mb)W.9B2B)KRg6tʐaZl9X qjt$Jp_o ٬czr`$',Rh{5 SX} FS2E$ GX*1p-0r\Fc`͇3I7fj(W!PϬ`<"ԃ6Df֭b6dLt7[F4fr|E.~P5rv}Ոb Нʳ= ]*y6SHE4qlw `a MRX`ykH,gyx572&ͽ1̬72F➱JO-0~~]u%zEMa:lfc!OvSlL!Pzh {Ho<qS8 r>̧!6lB g"ݕ bj޷.<.T*~!nK0cW)\=uP'U{OS0I3E$h`[C/Z˥E4,T T3ܤ3KHnLjF虺A|h0-;k6p1,mKLkv9rućyr:S{OmGבL-@Dw`Iz:zQbrbɻR h\VrH98qY>2LG/-C~~!]ljxOkE,͚*VjTCӈ,%(XzT)F񛌏ToǶqA 7OX+ةAp.?M%hJ;8@MX~%=Ev `%ɹn!?+_h3g"#og+Tue>1d3 [wԡ-)qWG=[6x&X.&E HWPV1ZJ& Fڢjprv5ܻZkv6 9D?-`IEt?#[+-|B;{M5!@q>甞[(ewi9*'OMpWt۰4huX@sƎgWPU*ИY8اt+fN8 7$R5]HwHendstream endobj 165 0 obj << /Filter /FlateDecode /Length 2180 >> stream xXKs#ևTaS @''9_('K>H\Z?n X*8_7Zfg}q^ u 9oV }]د_d:EgQdC E*T]R.ga0%,neC ͫoTtyS٤!k9դNjr}jʔT_7/v٬ x^ذݬ^*7[c-JgzC@7շmɩQ›U;ZZO,F}uῒzc2F=-vq#xE7$4Sɢd*kG& ^AFwAc[kiuxK_ىeg],M't<h }$l55JL9Gu,6Q$⫶XEJJ\odToDWxݣ[Qp50^ Pp!ޣ@ʠsQL6n.=n^oH!ʛ7ϘR"&om4' HR!̎0LS꒙<0=r18-8Q{L⺁Oړ/Yqԁs4v!jeFg9_6q2jvH/W5^YRduNrE)Wl9VcD F aC09b'O3- n M)UAs1wi y s2Z8_/ڙefxE˲8g {T>0}0^ +7la-kDC!Cߧ/q=>i }RzPugܵ(_fD󾍲ir㽘1xO8J|}5gc/1Uk[X̠ XOT8=vSU, VMKhv}2ف;Xq(;z~i^`Ĭ7shPٛmJx;[@7iyߌhIU1N<#;1rw,~T/lLM /1PR9a. {Q*S1)c Tخ}g w~EJRgYd𶞀=KCћ#OU.X${dE9 c ]ff}"2`q_E| D1*ZlsX;1W +#oA`2B ˟@ jēy_BbiqQI3;+'b߾;cyDsmNuHuB0KsYsϦvSY /rre?)$u,_/vZTauݷ0/p.)Z[^cwqd'm\\ez $>iVY"i2v9/5,qd9Y&)`_ ŠMpzH*m[u$n;HЭ"2[l?2`9$0Mv]3nfHg93Xo-8|3GOd8}.>D}:MAdz ֽ^ݲ%̅0{EkRžd-Z/gkYuqV)Mom|;QB)M.P O".8.yh#|A/s&6;d0 eno?PZendstream endobj 166 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 167 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 168 0 obj << /Filter /FlateDecode /Length 5334 >> stream x[[o%7r~?6Qdp6bg"%f:W}E֜5@bթ+Y,r0=W3r~w]u]s<R1kqwYNvMRf:&۲ Tm ~ꘙj~yRVʚ4Y5aUgWdTiTQ5:igg92xg+:`1 {Vź տߝ_53sli[);&S|$]~{~m~J /&&k/D1[p0ob_NL[;Ւ ]h&BWR CĉdLUxj?jf`)(6-{*^Ͽs`M\XSrb RT._硤?W,K?vw``Sޖǎ飧?v_D>z>ǥ죇>:Mݟx :Gas}?넿N0yyCE%0#衏Q[ ˩xw'3h1'񄖧+i;ljӉɾ7'hs=lauj>ғN9 1Cw%K-Pt LkxGDZC&'TDSd nƯЋ>t|ۋTa"oOΰ9lc{*Kx}V?N[y\\?8g=`.Js+=xgݚPc ֈ8#@@ 3oP6M?3nVXē\e! *;|XSLa}U Pn+C[ (C0S ow6S\:ȡ6M:*LB)JC|ί1,'8aQr سZR7zPNr(ƢH#J"L*$~W}86TK&u BƁ+[ IBК"AJ*{|7uněWMyʿw@ PeũɲQ;oKpewjcFޚ)x r(&n!!ԉ:\B)JC| >٘ 7\[Hw[s ٯ6*ՎߣIá傁Af*PICBMP 5Q%G@p\0f+^m\k`U@]9m# z5SM ĭ Q[r;&[$VtiDz0ܞ S/6l)6Ì%4XuC1)Kl|56 _$f6hrM1ͺ R,Իy& WP B 2QarJVCl䕼5f1HHHc3%θa(uȇe"[ap+\A1H W`CUC jr,9GNrGJ$5y(?-SiejHjTU Sa' &ڠjbA2H9ӹcU<[  vqdCIP7Sd4IP bRRUT]MTtV5n*\n,`C)|C0( (& $o0ʍD&\ cJmcZ)DF!^ShpC%8 JVKް:옂2 %7w+W!_[84 tC1pE^*LfDPCRR{ CA zR * \L2M:ȡ%,47THz&* q#cLBad1e4U6:Yyu*M W0lC#M*LfB#PށrE+OrS .E D>dX&  pU!dž7TXuTfDE ^Ԇ K\VAL{B`=C >NX1 :hbxKL:*LjR*aGL80R`rj!5&Yt [霕vঃ#C`@*Hf67 8-|$VZ" vsl.6, 1i & 2(nMpyh Z;jٳ(]{SU;w}&N|UU9w?F]'09 P+Uޏ֛G7ڛ2B0P Ko*3O -I7Khp!AΆJHsšhV(EIxGd3rGA9[b+I )X%t* bRQ*䡢4#ZXgk熥sbKGlĦ@c]y]8l˕9W4N1yUT 3m`T+:cؼn,{5RFg7|ҪIl ,p/<67TTPz5%{2ipAnq$RӱzK'HS%(\uG W8h+V&ZjJQ58ݍɆ;v;8A$Wzi>ܵr(&|HeơdP;蕕:ιqz0AҵA!+1΁i|Be\ETMվu+f%/ 3R(J|BŷH_g6uB-+NMGDL@r0)b&C;4x"V䁥tLi"f啐N䅳ѧ^F#o nf7/ yɘe ,V8Uvocw&q\1!ҝDT9&ՊpY͓1 HY9md\yzw|yt_޷QyJ,#)e=ݲᣓa9۩#*c\*a,<'9YaI /E~iC-9D6BZlN/l#xU iP.o*y+krz7I6@6Hb<,brB95Z -~eNwi Jtb|$6hvxHe MY`ebq+ kl$uD?d\㖿PۤJCm1ޟ;R=%M|`ڐƯ2x2@^ޏVʟdBO{;AnlL69Bk~Mch0v^dYΝYlTѵLyf$n.c+ں![n! nt_p H#͖N,0![ɼe6IY3u'R @~Fӈk}N{c vU(YlEnc&y8!1j>-O=~* rEJ22]cT籡S%_Nه{=$LsS M> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 170 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1048 >> stream xU]L[[eny]t3И0Xb 3N K)P>^(tۏSn[_Pلes2dDֻ >r~!(սU{B#E"yqL1HD gY8ĩr\EWF;SutҤLq|||WS)(5YGѝ^.=BHk4} PA+4SI$zn@F֨i]WIUMV:MRz[(ATRG#gwPRRC<@*!*]|Bh\diH_Ry6Dۀ OO GguRۃe's[_0,q!l2Vw3e}e@˯&ܚ>s3s/r?phC,>UbV==ϘR[;V֘d6cnREW#B d ^lQ rrrR^fۥ椿x{ᶈ/NYOm S.N3c#ִ+>1qX8jKk$I|HT(d7_ abOdei v MmKski5r?jG}/zHAN:1y`3E!Qo2C1$|wEGh8 0nsXݹ WOdp\[{0}6e}1$J C5n` Ϥ2ɵ~lk9Rt|b=.e܊tS(q4L(!w18']&K]ql=_Ȗ 9!n`> stream xm$ǑϧhUW\i ]0H0#oq١hZ CWDEFSef]i~wK?X.SI]|:v/I>ݽ[丟J%xRMzIT)DhMIK_w7~)I9Ձ)sU>\itᒲӝ@;No^j] ;.%P`)qsKǻ{2[cT>K8!\f%[7_UmMNnɑD\}M /sH|e㸪ѝ!y=_&Hn}I)$z7 n<釻tI?JHh9ŭۨڊaT'zZ7Udi$KdK-A@~qVuJ^UhU ;e8JѪqGK+.. ǭC Rb/ <H ectlz DNoGzzjGʞ銛x}O=>uYE%^1忾|?=_+DK.F|m{Sw}M&OTL2=xD$SZfϻ=PਞsTfI~u.Y;܌*9 75%rQ9pV>2VQCA%2Qj#Ʈ*ʶlU´EkPj|X7RDE 豢GD/uMDQ991@LYEH LŀS0rEN{H)\AjAp.3IxwZ+t WNuٌrYA[4P-(krTѠ:{k墨+'aw!s*`¢>wWLYt -vwxٱڕ5ﮘ4s{FLT%X n|G&C8 )2eḄ)Rоw+50\62D8-VZC Q,ByZ0O}P(ԍKaڸ:4Ujˀga"_U S93x2彣@}gǺk~^=2Q*`_0n D8 )2eB#QK~-0}68mq[~M&=^yF Vrvw<6`s{pSXUڄΈaZ 0P6|wŴE wbc{k!;],M.FGl4,@cDqoXd$10 T+il [bFbг2s]Wo{Aߗ eZwU;mq[~M)}/.aS$Z~ +PK57gi/GGjXiM*4,M6;ɼ>DD. =6iʵɑwWL[̫7LN 9j;Dq2@V6+=6LT25woV$ U9+ \<|L1jxU79YQ&6C Tnvi ƴ4;]SDKTcU -",AH *2mQ2.md:-K0+s0jy)E#zzT%!Sdxzmq[~-.̣iDqR-j!1?s;uy8#5w+@"n SqOo.ƪ 5;>ϪfH{M]шv^F*pUXE"2QY50y@Zb HҥL@ ̝uiJCC@J@ⷼ,ur%x-{jY ¹PijcXd3'ZԻ[sBy .}*JP՚3L[䗪XlLyCvcu?DF0V>hxenGv܅_3eQL[%LyLEg DBeR˗2ֆNO;W{p?d_gy%+ϬvˀDyX ԣ lVhT){%2{]XSf{/Xwi xJXKow0VV0LTT SU RCI#SqqPYy$M!jetp}xSDC@un85=%JW}7(x0Vh!#,H *Udڢ.!d{]t$|yaqKME]mrt~FHHwWL%/;+pjy˛\8lD40J55!tQK(M蛁Ԃֱ92VE93H-̤qƍaAvZc߲C"Dd2UXUݿLT6X4 2P"u F#2#jm}R^7//>z-ܮ8-S\ȳ CZѧ cHlP_@mSfi,B;cmx8ءQ*m醉p(WDmRAsrʟIT[)vӋxCC98tϮ -'~.ɸa\ccaG;FA Қp F.l3])XX~ it[B0ߑ*r]ALdڞ.dw(cd+ =5tT`NJځ$=ܮ bfnȋc$SjIXg ю|1Dƍ }h5=sꎷ87v3!юq&* &*9AGhf4ik\ Ӟ26LŠ@e d~O"񋇽 ȶNy5'0ی"xoOC1yZcHk#- 鈖\#>wtu<@8sh4:I h 8θLTy@4`V( u SC"[qIx6Plفlੱ?9u4mW>o2LX* xmD1TȎvB3kR; E7;]87vs Phg`,"cUr P=2QE~Ņ@*Udڢ.!d{]t$eU.FH!FTJ-/G' *+eO[#>VzUg(1qCD'CP/yӈ6=qqhGg4m?;XC&*y#cUq *Ndڢ.d{]tZv` V`xUܵ ڻQAo'iu:`<َ휛S3䪆w:PGr#UVgbՀou԰C*d: @$iV;LTm;@*Mdڢ.dw]t|5gq;oEPyЍv*ma~+,Џz[Y6*9O[-;ڶ{~r\kôJenG-_o,6uxءڅPŲcmGm\w;XLTUN`P[*E 0HiVH ֒`L{J22-;͈6PFD'UNqX0IK6ٷd2 iAVr!-XAV ̍XUډn_Қ4?PƔ[-saG]#>RBcm2G 0VԶ c*0Q%=!0 T+i\ S26LEDbNpAjos!SZ;i\Q]̋]Ns/3 Vyz)o{F])Vub ~hƯ-ޖ>ō ѱkM}+nTX'n 8 /aJٲ E5.2);oEsߎ ZE Y\xoO/9mo\؟xhF3dsXdr;cyE3LTd̎eg?Z-zc1?^i١z:u<V H *9E{@"iJ0*at Zf`V`f?x$v-sRR#mvc@}aZ7hɎ},˲U H4׆_dZſenD5y\csSOi1w-";bU'5Dˢa{U&*yHkTD V ҞR6LGeFafɡ7#k|;hUa,HqkV;Pc[FҼRK0jem=.]d:0Pc1}+ ;]b<jV!cU(EdzvaJlRё0 T+i SCi#SYPVTۜAjxnjM/Zmv]X:ɾݵ}I xo`|A(niUY-}.7L{wi";]:NٲL"@cUTbߑJ2 LtLi|iuY#SqJ;]8k;DgU­DU&vv DTTiiui#ӑ(ˎ\z38?wj݈ ZEU@tCߜ~ h=G^Jj󦴭rE}ձ"O4rFӋH4rhE{m5 TW LSH{ u!ƵGZ{=@noD)IWG0PhrA%L E'WV<]ZQתR.̾MK փ?ݹ8U9w)N.Kz=9qW4(ݖY>&Ku¼w???/s,~&*Եe dk/mWzi;3m~ |XoK3_qˮXw7Gù( ݑkJX/+|y[=njpeQBbe v.my%В/:*T /~C&[񣾌ƶSo"y4aND*c%cswki1ÝEݡ>LqoġzHt Ѿr:3{ 3u}u^ nOхT[|l1H%St^6Zw_FQ-Ev7>QpK]-=JJ=>bw)<ӗ$@ T\}쾾kϿ}@s5F}J{ξm 񙫱-ҿd֦y ]sm~z!ro~x{yǻEC0՗UKY3%W~k~ÿ|{w'ģƾ=O/=+3Y78#u&&ak-o7ח/?}߿.!UShqX>LskooԪl&u x]Wɾ&@ uw?>FǗ2pO?=~y/-t-珏rx}_O{8~xIԔ}#/endstream endobj 172 0 obj << /Filter /FlateDecode /Length 4689 >> stream x[~oY>|1>HHI|EQtg5,\Po %J( 0;$3y՛B].|f3ͅ7ŋ loYX/P}otƊF1xyZ[xFwՄ4Ay2x“wS QhO%r^Afˋ^fvysg\J,0Ņ]n.~>?͝W9Vj0^Rp%a1!|/˘3o&$L8vc9g"qűw"w\/~w`7m U,3(S‘p 7G|?=\H %'}|ȣhȣ]=.mhGyTyyt;v3A|e/Jbva~>‚s]o^v7a=X<ӛhpr9<:aSu.OWͰYdj޽0~u7bv5]-DžaXGrk"K!\0}AH'᧰ qBLc0@tXPӽqG$bƃ|]ܬV˻\lG^pa/}ᗻvWTsa,Oݽ~d>eaZ0 T테;+lI;$\pi@u{ezćrNw-q1)- ܠ(6| k//VnvfyXA$@/ĭQwea;>2ݫe<0oQ`E ]u1 ֧n>7]o7 eNp!i5Ņ}* p>Ega%o*ڿv-@'u8&1ix6Μgɨx1~3UjewbBCyבּCw/䜥=9W+NWy.+Jz;[ܛI.p8s$ HH2-<&2&afmz<دˍ ^߆y/4pvn&Cq>!{&**y!m).n\)olBE `^ F;YZƫYMW!`% .L:(A IDm~@pǀg4e= _O2 T˜x^eڇ<:Ua IEa>2mAS ѫ ;R%)ƝG $N8MI\X'>"mAID+㾘yy]W ۴30En" Gܩ:$^1qHARF`]$G`̵u"w`a˓@`7 R˧NA :n^JyJv]#|;Pș%iWvpLJ6_(" zeG͂ & C@GT][ !'Ć~"0nRK m l.36"rtsqڈKJ;$8 <[qn@HR~id5;@P@("X`fuZ v 8=FYŋ3+&i2(G!W"7v̈Rh8#R$PRP΋=̀~A 5q7Zq6n 6Rp@ hT|%WDHO6=Jac ტ) SuEӕNw@04fNpfBUŗ eH]3ľ L"!l^ K~>~/;_I2h y"и Gy: ۫&%Dx!-|e_vJ3kB]l `GpLj+y8ݬI7$CLni'aD6 Kj8GH݆KtO7}wn+@vA"H)9X {xM|+.JN9gWU<1@v&o'UDM~lV`L>hۋ_sCgT;Hĭ=qp_t? rk+Խ-XפAvJX~ mNW+m]n24\sT{UьK(LԙQUȴJMB7w!;adX&r*Քd7U ezk>$;$  X3Tã,ֆ&lOni_[HDMnWe $WbQ5!Ig<%u\fj:á|#p>^Zqu2u C.3NRn_f4|6@DH,~8)^6! Y^9NMjRT(am*W*! >YyM T*|٦ KG U%u@uWqTnbU|ܗC>4Y ?Ɓ{NB2?^Rah);#>ڔtPI9uo6 Czd'~>|l5!ٿ,뮊 o7Z<ϤaHqik3wL/$&_0rn? v}pH4}.G)_(1/ "7krYQ }Jl*p[-OusCfWG5I+C'{ R55><ElTqCafTgv_lHoL*X*}O^CgiYS+?Z<$= ޘd$"Dz_ނOg{,KDr{ 74=u?EgΥUEpD9^pÊАKI mfǨ#\c ~qStĆ[T]#\hx T|~ijB8W* yĈ~>~uVG^WT%^^#9C'J#3GPIǮ'mSۣ-I Gj;T?s6R5귑kpg³mpKRA C O{뚷g_^ vWzgyzrS'm/0֊„QK ̨yf9~ϫ1q]|`beUKX_p?=?LwՒ'Vn:@߅%pgц% 'iX:1^O`>?yqe[^?:=fB\h*{H6%^=b@#K}Mi~4ſ2)Qendstream endobj 173 0 obj << /Filter /FlateDecode /Length 5737 >> stream x, AIFAt[Q!h/*Ä !`E~F`p[ D* |Pk^il|j%lV:~WhWH2>pʛyEn<> w(^xa9ǐyE= ,D|Fش ,q !- t0%`^9M\C=ìD!}0F)nZ N?!IT@ye!ze+ X8 rFҾ9f: gJ&q(+|wC q(G+1U*%$U{\0) EH \>(Q(^0QBE9 0(\Q FrOnsY%]'CLrvL(Ѓ遭#I"?ڪ"P<(jS9#\sicesY yL?CR[s;4e❕`Z$]1V~!%h jR&7 wG8!TǫbM$ S+LQ kf%J.3 .2@sEnW$@ S*ĊFs b+2w6݇*mF`켠kDsc| j~OhrLh‰ Y>t>mE`_n ;a 0I֮얐 }' 7BG1C+I8 ۔ti _VV =x)L3u}򭃤c X8:U8ڛj'sʞ l*0<֡J*Xn>- 7w[c_-.2>1KE si/rzvoMi -dG#ɛ^nW~ᜉ׮`xAi(qIG~: @O3 (VUŜvCA@0`D cg[ݶ(iD&F'mr$#ع8=TuO*BQSogFkmE3wb *1Sz %m]~c+T)'W\Ϯ8UeǞP/G r>I+]!X |XM?,H=w- |n~N6/@'l޺'GKwH^;<&AEwU-(56L S2`e; *dH|ur{Ɏjl(/rk7ٟ786>_Ԍn\-s`|ubds^(qz8IEa|&@d\2F3e4'Q4"W)mzQV9[11lV:'Lw27R2#S]A;c WuPdFaF62-Z6DŭJ~idM33`EX *<4k1g!ՉJ58ϫ) Ry֒&7+ ڴ{OXǶ,0a2Xz1 8gv)&`5n@N~c=Rӭ,%3VURbٰyLI \ yLE[Wˇ#:%lʤ!5CO1\J=.VMa>V2(dB'3{DA0 qeGhO\dR?ހc醧5hIY#kr3;:J5=kxK c@v,icH?V4YwqA50 ְoơZ9ZYn^&L 1/gXHpIdRJX58,"H8s}XVr4IïOhk=lm?0"\-UàD箞@ѐ-jMIb\7*%JPOhnu9Z\P3ۓKZҠiVe"~['7'x5K <^Hv;0G߯$ cPKLE>3)cI^Vcʁ>0Ls5;0mYp RU{9x(|M[OiIGxQL_愨xf&DO)"\0L8%ѭc9]zJ7]h+$V 85grԻW  J{('6RPv8ٛ?{ei6`MvW&輌h31XF2:;PFweiչ=@]vK'vpQFvrd_F- o¢2FMweqLz#*x/@`Щ@U*-+WSRvOlf 5cr;"[]j(xBj{> ~̞Y=NzL~]!hS~ϫ W,0 ?"8V_(׬D˂ v8+|[F^FMVޝ[ǽ'eq}=mw_J7 sz~iѢg9.&i &n}(5!uA^vgә`)V30dϨ)ђ!M@m'&wg?-4O l^jM.oځs]&VG Za&5Oj^}5S.Kl/p܆hBXZ°`f}!xr]w? >8ׯ/6RZk0 wןwXYʿ:>?ܝcpgD݊syDq @s$xާנd5o) `;2 5 6a@hŔw=VxZKAupcE>F:YP̊d_U|#D%Vf&1]8.1 k1ԕ1H|}=\ Wh=z~*+5ΐOu1)ܪ膬4J!<Ydda%r_{}? ^ `bmS*-FHHſ#uHE0R0N.\F~h %wBwKӒjP㊰-p FLA$g?`lnYC Vk:'l/}=-qkL92͕!u%TmzRxr&Q/cN6bJ&>1aa[d}=b,XXl_7YMjOtq b41X؊P#𨔙=LV8FuE !LRa|SLTxWyp.{y5N~L ȫǯ5)ygk%|o*X;4*jZ ۡD3HY۫Ulni=~'S mWQ+Rg@o ѣ^~6/,&b![c:NFݢ/2Mkyd{LzvO6J/ikP2VeCm#39U]KDU8d,: uO >"%+bz҂H>K=V![rH}dSGvfoN.6M8O530̠6R$Add q<#5@+StFuu^U?Җ.z]Q!] wǿQ0S?O4<0SY򗊼1UaWN[՗B/K @W-`2o|%3b< fld0&X̛C|5䇦7Ծ{ 1v?.7#v-oV=CF1wOU| '{⋦_ޓ92$c?a0ZTcQ&L95NKsr'1!vœ7UQiLyㅸj]j2H'L=7 Ώ}](SglW͓>'!$#_& =C|Jrlxo Wuy4Im4U5|chN5 Q-v% 7%2p=0iKǯWe+XEYKʈNX<.[$gChqd*1}5nyci0c-Фk` +.0Q]h%b3^eLc"Fss/X td.H)?Ո&֊GbB2"ތMN ,{[S1ͣQⰫSofWPBV;"ܟJendstream endobj 174 0 obj << /Filter /FlateDecode /Length 5693 >> stream xg$e9 }r|f_rO3} ٿssb3;QlFlt%;GM¯Y/c弛&HnVcTfL©Q"x ~rwG{~FHdϕR\˽oϾNJ+1!cr6\L0~K2Z$V;_9gc!D)fR)͎$ʇ S@ꤡwHW"tAn/L=or]n:l깬0l61'|pOcpA8p7X@Fj4S>=8GRu;ov b}$(ok19/ 'ÞL5(P3C8Y1 e g 5̗QˆZcC 7d[D.ȋGQWࣼ(Yzf >gǒe/Z1g YQ5s L(Ej;8Ф4VB;^YJ*kRwA8&fʯz"\9*Tt@;z %CII}Op?\x ֖_f@2¡GVFm\>1szI(ƺ(@L m1 8roUS\X=W`Y wf-tfTpbT(GİT=S0道piLX0N#%uRWST5~5YukKYIDT!"@ϕz6qVp H Ah]05Vbtig08CC*nUkDEf:ԧɹ'-vJ"E^x#F%huVbfn)"ɍ9~`5_Ss; zŌ_P"'2pecDWE-jC^UU~✸ɘaH1]#͠k=,ue/zN>?Ӳ28ٲ PxMaQju1y) Oρx>`Kk80ݹP"!<&Zi\; 3+h֭&)` TM^M\фçJtMF._zc`A-[%q\(L$$G.d;g651QQM+҈u {n,p*+R(,np&=(,>I 1:NbeK<2FO" s&2])1QMLi~;U@A#bB Q"- |@uRffVC T. sd4#C+ G#C\TNȺfK`Ech"6E4>8% kl(`;ߕil"e) W,H^r׫8lꭆ]Hf]'X%6No 0e |dcu)<v2 > EnKz ]Zu(R)5KJ ⬚/o%7ި7F>ÝeA8RIJq]K:c13VNJ@Q'}(\X, ,H\6L^5IO"`ERh !Fca!N:&@s,a]CS3xVN:4Xq3إu5oJk(UV]w:]^//( Bs!|E'rv,k7/%PL7iQ`8id  Vs0a3:P@+C &2`4# NG;TvI=rG )^W秹;G Zc)B-$ɂ}j+irG ԛ߰:*uNfL>&vjS DA'>Ze0VXAJ+" +˸#:jAI k5Frd6Nһpq)(P2R*]:>z/ qzyjF}~]o5Z:J8ui,7ݕIYZ5bЪ3@S՘߉wץu[Z7uoJa?qf{ݩ4wN @Lsx'?ӎY`U(T-a1*X؉8Kvܹʒg֋+c_ t.$\ثuWWڬgv @ޒ^~VZOK@z75Zh@?f2ˈk K38;Ff3PQJmIaLXʤmpٙyNqՒz -QkD kKא`epawÈGdз!b=a0nWA B.r lgoBv (i 1,=wS@gcҽH~|rr;Xc*C{pSiGmM.Ose}.-!MbcA;r;WWqZ=_IR+9ѧf C>eF3Wg(^3 \2|0I#mfm<ΧBypJuA/t}]Y/a$<a\_K.5m`@خ_؎7 vxPcLk,QcG+S,߆uH]} ux2΅'UVÔ NaƢ6%jGh50 2X+Ս6~` EQWqgj9qʳdܩN\mob,$B(B9Se@a=Qx?ċtYe %iK 'beRTvu杝xgV~vO-_=7'2~0~9}:g5rU=z:]Eh>"ջ58=<%jEF!<+xii$>!SJ&YRRt^Zaz+r: z@~Wx(_aM9Psݞ@ytͽ|/~<>8ێ .ho~c!}^Eko"U[w;~>x% `#0鳘EH 2̭ey'~R _[Xm%bA@ iȆMsQݟ5f{Kz꺼͚w`i0ZkB c@ȭ}a`Bp TbޑƦ2gLEuySp^aa(4h|JbR}\ԠAA&W3#k5U~Ym .on|􂝍\aE)=8;{bqr)M+>78O<{igS0R6i\]ҦLJq¤H:^&f ܲ^+`חmw:?XyKGKͥ 220 iZq.65o"`yS6.;imIHL5I/?_P鈝ADxb"ە'ݻw׃ʀJq9z;Zvl-.Xp j D aQ rG `&[&[eVɻUlɎP\0?TtHuvem ԯ ~';ɌƯG0`3֣m_ڽ+nXz*o^0ը`XN̓xux+G:tSD'Zal~R+~Q*L.5MyR=[?HƮ}:m|q`endstream endobj 175 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 493 >> stream xMAHaw9mY;͗A s ,Fbԥm{6p绾>p Cp_6ic^P> stream xZY~y %K"&bErKITY=.nvW9uz>e_n"z姟'lpk.V;3Xzf~,Sk륀CeqNid9Uv)iTyPk%{E^l9z+W7eH+ S10UOTb f7͵QeFVڗcY}yY +oTޔjWVڗՇ ƒzo ƒDZL/L7 wj{,fs{x{}giۙn8x^у"uN߭npBn:/Xl֙#/ݾXq~ޯowd5M]_Cc9bcL?Ex OÄ˙&OnF&+́!U~@NgԮx3+H АOe yBgd*Ґ2ZjTzS]s+ ]=s&i m: $'$a@KcQ `:p-8YҌUf%0jϪe&$e! ;HT`ЪwzHk3H ]j* հ‡TP\P9VՂL=&\6ޑ}t?قyB"+aKӰ%z+CГ\o,A.SeZFhi~bKt}фx)dKב'#cjO}S7I}=}ʢªY4G']3!=lCI񟷻c-+]8ѥrCb_\I@d`Eskbn4.?AoZEOp$uP MY<>50xJ"Q)Y2 pzLnv]fj=*BAk_?tVwٻojY׫jU*@pBٗP_Iw*:ƨ_*{mXjewϠ+ه^YcuxzT]kOиjX*"I.V0.4ERVgs*>4NJ?845CE\M"7:Aȡq2{ftey7\.g#JŢ;dG?8,8GB7n-{O<.ɠ)BRI|xvpKJrHSBY?hnKI.M|UtKwK9TЗ~7 "F .h0L0=2=h+SD*N81W+f^˺|S@%Ndz3v ݾ8nIb12 \0#t {c0R>6」Z)BbIlRb9p UoഝA(8[6ȲD ]@YbµAڪpdBD*@D *I Ij[Dh|)0lY UBp~БS̻ < Bem=ڂHp}G_9.Ԉlu6r6P3REXpз\iteqU֠6vyLOeKIHNXs+f+px:E/AKE f1X`A r [+zF6Ucm0 @u S% cb}jɋ cEla~#SaU:@Êz /B;`9.(S$ WZ*x%U> Q!II_BOdJF/m="xv_K 2'*]V4!+(Z#m]ձeu 53Ր mB;I<'%RyvNB b?0)͎KBgZCGtϯ42Y( ~ysuhlw*O桵vW&b{ f& UgÁ=zbݎ7iꦴ6&Z}E&PTTjmP(5V""%X^ZK=d] 'e0bdT ciG<|RYQڙV?ܑuujdYOƓanPC!mg*kR t>CC$-iM>}Zg,i+=k64i#qmGD],?-` _08M*?5$RwQc 3ۂN9HL)6Ɗh'^j"`V]8i-b\( "#tA\iFki}ili%RڧO]μ͠XK9FÈ[P~_93P #M"c~@g~Jδc H+Un43M˄vʶDht"HM <7V iqhLu׷U FmÇ%~,ĎpӖɾM!9@ؙܸI.Les+xOHvS^S4bv1)t㇆FP^=>xyUt{~reKr=B"=fYs b66' _;TESg#ǿ JZwk0v"lꙈ0+E4Dֲ?TPu#Ɲ;F@ڙs'HrіI^Ŀř.H!35>!ww9RoIw2{%bdA?7MT,8kJe6H1ijMR'+)qt2D5wGvV_rۅ CIB@d&|HFRl¥ 2qkjHJ]hmk;G?;(*swO*_FˉU(~& _7Db0;6-Sz::o2 \5=~Y$H?&pC ` $b](IYMJ:L-jМ+ OCMvSI4RSm4fyvͷbqMPM-BI z~0(qu~3)Uendstream endobj 177 0 obj << /Filter /FlateDecode /Length 2991 >> stream xZk.G4*VSA584 .Jhwu ocˑ䠅?!}{y9sgW~ӌͿe{ij{g3'Lo/3˙g7ͭQʌ7:cEtbx<-޺Fި󮷚('NF^OtrqS]'5Y"mTHcُ39]?t5;F,9Ϲp,Bϯg^|‰{e]. +Db0.K)eo辟.a1!|2՟D kPjb3iqw"/]\sjLށ&sYYUf9G8`<9݂0HR xLޗч2ڕpbS7q蹌PFe=*"kWogW=cu)Ch-e)Z.etYF?`{U[BH h..f}/xw'.>t_7x0śf=ݛOOzGEE/GQ{>c(aw? OOw(tP+ 뷗D~rջ_Š|hT/j/z5/-WpX. ~eF'\8<<뛿?_/Yii~حo﷛a1+\5)ЌпwۻC )=aDhmJs*-^h;VI2s9˧*#ۄ|Z%_ead5-jRpU&3EŴX.aOJAhaZ0IOF4v5L)g[0$  &kBZ6KiJ`SN 4m*DnL)M7}l?ibkO[?\r/mB 61|6܁FMࢄJoqs3qsC͵nU1b;k,mܹp 8 xܮ<nW7+qriAL|Y L*㺨 ouL:?YVP0 ݷhi*^禓exuK02܀2"PLpc5, ;aaw #"zO 3gC*VGly} WvyaJ4gEt' Ck ] <ܰp #TwȖC!b-\zQ9>8؁r\M÷uxyf&kFՙ@ l_}|\΃]P:.܋U;ry'\skch' M?ܠUq!D?&z+N鉃iV\p9n~ qHٲ J#Lu+%QLKA(. Uvm, 2bO st7$\TM%T@ "cu Ylϲji>ʅW`t&vo7I=~A!s״6.1X =Nx) ݌&VʼZVw0f f9hnY=DsʊT?_1*_z qv'gQ BJ Cx>&Dض'Hvt=YSb4es^swU_y#[z- df F*6sWXŬuhukXW4 CHigu|ړSdF@ ֱZc*]@t@f,G.(@It_9-#}Ga&,eg0FJ G°Y"a&4Plo pն4+\=,+pJntE>YdaQ8yQ($i!♒4Ċa=*zjo'EU $tR Qr898e1BmYBoI_2#})HMq>WSuyЈH^V52mQ+j,YVFӎkpitc.pNndȧ-Nj-wiea<II#a#Z'dd&5Rxo&)535=C=;j?}$q|otfHgδ; h/^~ p}rT\A  DJ J8bF; O2DikmV\O%q>alK*ِ6֡Xi&Ȅm>(a @NsDžgs>b}X>ڳ; Կk-|*kIMR67-cd1qF6ǽg7e6vOe|xS-vwE⼞U}gbHW -\MQGwڦ%t*q"}m* AimBl/F;)ز9U3Z"ptqpO"'ZXalNٔ1ճŧxh.]2y5ҵ뼸-{%U}q&Cc3i?6AHk :KRrZ *P6e`8b`endstream endobj 178 0 obj << /Filter /FlateDecode /Length 2658 >> stream xZmoNG|8u_I[EQAAK@"Jqdo3{wsQT$4>3?WߣˉjL~h/+ol.'AŘ5w(|L3 VYdlMVVC6̨Wp#eYm{bheNu ӡ1.2MT:)ֻvL?GճߪX&:O6ɲF7^#pJ*[^N(x~; ߒZxk|4& aOgZC d.eIh5P*Lˇ7"8 gfJW8EkiB0SA#NgV달<,4}҇:ORt[ynF,e$KeMVAIVfj-Vr,5Y:j$Df?Y:z>DR1gν$iڱIYjD2r$#nFt'&K/t8"ܻ,ϒ7Y2Ywq{WY:R"KwBzҟGX`XXNh1o(ҔZQYoY6E{Ry㑇on+zmm蒥f7a ,G9Gx>Hףή&VFJ j#+-(W'տŝD*4x8QB+"N*b2zzӄfd-h8da %GmcU4SV(DC%TQDd4Wm<5̦S0#,,6hRl:q-J1NA6wdIM"xY>ު1)UQJ:tYtMwә{]}D)P@8 :]f "~2 tb{B[TPpDhWXdl2Q}lc{Mp Vq`z+bBmXc$uV,,TnV+ͫPH(_\X4Z{~jM2W/50!aC&5Z:*XTTB6߶'-A~ ;= *&.%BF{{fsban:Eq_ߙc1sn w˛t<Σgo+sDFSlj%B>6Uي ުLފlggb3[陭)N n0Kt_NA Zr}!P7NJW(t9 *͝YKcKs:+MxIΟSѨM?c(.E\]` ͸f63̤-F ,3܆^^ 4{xGq~L E?QE[Êk mHDE2u+@JWJ0{6 m<aUuzשwjrIh^ՠ&zRl՗E6*umrad#V*Fby f 2 RN&E6cJg5;V CΘ5Y@E0fDP֝Yc]OVקD6Fl"} [K|D7r7VX׫<p >N?PIc/>}o ֳ0,r`jzwU roL/|::ƅzAGb\F,7/&W\aŀ D.`8v6U+9ؒRk8KٶY  uk*2e*{8aLV:Ո"AL TrGƚHM5PD㦗{$AB;RD eǭfruZvW[h{5O+Qxj .}jIDAgvq€oHExխ%qi,c2I[e 1%#9,$Ɏ mH\ U1Zvwg.4z2.T6g`d素3魅21}VF\cT14Z h)Yb*T[-@VhO>rOIdczCth,0q΁M.E%e\{hh:e~{bóK cx]J\ƄvH6}o}}RP&TUwś~S%,vPY LyiDC>iA!JÊuitN8h>%vAu_Mߍ"ӓ-4o &j AuӚrT9Hoo|9a(te:*FCHȖf)lHAXb0uߑe& {ðǵA >9:5r^&vAa.OhA)oȀN0GWegU80xRgN d AYx=g3sû- 0;b\ϜK*img9@a$.q/IG`ݭ<f ~NsЭfendstream endobj 179 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1665 >> stream xT[P[BB MfԢ`߫$MLZ&1ǭ v? I<w_ Y$ !6o(2=O2δ8|I\#s{^[DHH\^KN}3g[mb[%{ɐ&4-^@-#mzX$cyZFPe+}kbwNNPJ)S( FZiZEL22jv߮];Ն:}w(5Fʠ7Gt5FqeJ?\tյF^Q+WkH95֗i e.q(&į8*JHM%x$K$]i6NO|qj/%^LGjWE_g63LKZMPÂ)JOwu|Jpj@e%#4M:aMлw/u a&6i+=,&q!F6'Yi:1gΊ"B"1ɾ~/>#JEߠ} /.gQ$sUMiBo9X uR+_uZ=<("s>Qquwc1tt> N(G%; &N~1H21/PӲR=nϏ,,]\؋O߃ߡ b$-nQ Oi'VbWQt{q+lLq˸bḨ)Ǥz@^5ԂM)=0YX]Ulhp4 _\^kkyuE7nndNx\gr,V?rYYavځ_/mio7%7vm-Pq IPx"eATOQDab<%6ph\d8W[$>xjP^oYy`5D _  S:&MT)>Ƕ!^n tQ#{'>6Ht!ڍ`OvNHL7> ,oopMY;~FˢGo%es |eX+3¦郮`),[4;w+#!G $Q\[~P5]i%>4A\;l|B_[y/+<3 t-`V.M`sQ'lo4}yn ʼn+5o9 pHJaG||eh__Q"TpD/SR)FlOZN{endstream endobj 180 0 obj << /Type /XRef /Length 199 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 181 /ID [<56fbcaf882549229d54885947a696f09><2688fc6e321636ef0ce7b65b63a04de9>] >> stream xcb&F~0 $8J ?}@6,(v^`"3(LŎ (x R DJHc g'XD 2DN|g@l`s#ɕ"ZA$7XM,ƕ R3,N!L 3, >"HQHd)٫ ³. l?.Y"0u" endstream endobj startxref 164251 %%EOF HSAUR3/inst/doc/Ch_principal_components_analysis.pdf0000644000176200001440000055355714416277547022244 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3651 /Filter /FlateDecode /N 69 /First 564 >> stream x[Ys۶~oM'؉;Kv:"6Yr%IwRܤv&@FX)f s%EN SPJ30a3&CDJf4&]bЉIOSR)qגInMʤ`ZX"´%"Dȡa;jV:f-sw0AD% %ILE,H3Xh0T;Y<&& b%WXgbrww|jqR_3M$4cML0&k0")I &&>LchsX  ^ Mea< ,0Yf4U%leNH aB4a ƀeK6$(*Db˜PebΖc Gr8.`7$I>P?cU6Of@b6geggIb@$.% %:-yZ-ۭehU=7-KlK~γ2Mwˌ=LJ"^lj)I~u<:f|y.<;CAl>^GƷ;ף l\Ւ1]^]+-KJIj5xdo<x- TFvoUA(+xR^j&{VZ z$r0P$zP4t3/F7tN35۟Fi.w:-i i^۳2⡋/|5^ ~7TAK|d|!s#Mq4^eK;1>O%êYN"y5pЧPU4Lhq6(V(4b3+Tf&-iR.bK-R+ؼ*ʁr^X[yIT6qMMI39C])Msj,ʋբ֬ïc7ǽMTBI@=05\dmvd{-SlOP9ya@p6~X*>YehxysqIJV-e/A9C[J> mP.䫾p|GG6Z;\O1ȘbFPJ OVa'Iџ$DTԋQ7SS>3l4B9_%_^̳/?5sNʞ { ۷Uih\XXh|O2\!2kׯpѳ9QX@ڂTvW m(DgRtc_5b"{OOOJiTiu[hY]6zJuhQ c/TO#c4⦹ 4+Lia ,q#g48"hu՚u*^п~ȏ`O koX2B9%M9d' G~M6sIvy@_Yz2 B)"ͱ.8Evq/p?/+g 5cVVb$gM5SBffV˷{G/@3t]7W44E*+"MԦW~|3n3mkk=g7nG_4зp!@S r_V&|;Y67jrqlY6Τ/qZl5`U`m ԸD=xo{;;_GᓓIkLplEYc^*wY: ufk`};&rV#&P~,hm;,[D7 W(4SdAk@5C ~ /u a+ȵ}e]UAw6Z*J'q>լjsK\ʒ7g9SDtE%gE \30sI3gB6mqy rOM ֦ Y\ GffGAZ=Ģjc+$mCi7k{YGoއ8S$ >KRC*jt#-)LP,$1d0/[,}:A):TQZ7pz E71^a!bhٔj҇wX)__o퓪YcCwmA Ě*1+CO~&b "_ُE˂'RX=l;FgGu2-Tar6kjLG9D|h;}{<&EXUl pK1?> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:27+02:00 2023-04-14T18:29:27+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 72 0 obj << /Filter /FlateDecode /Length 4048 >> stream x[[o\~#AS/M[ ҦE$>$dIJb;2<{,FӠ).97~ y~XQ_Ӂ3~^ur nuy]g{A~t&3b F՞ le5 T:#GY+RFoPtL 2Ae܊HcIA200a MbuvÁLV_/W8:3eWqNыZROh7'k1*!gO8Q;>n5jxvZRAܤ^JZR Zk N\QɨEjFe#Fc8@ /{mam) qآD Lh㰻.j=NUj숏 * J8aj%rZ)x,2Gn1bQԛ2k"& ݙ%1N66k\]|yd(wQ(҃(_B8`n@r@l0: avkabZJcLԀ]B 'Y#plYΑ`Щbꈶuڪ_~9SU1&*hp:nN눗lDY?C+ix% hR6NhGDIt1v" CAkiV3 @mM_xlct5f{T~)"qC>Lز, nΊ8 gMu&M:: w$djhV攁XXNn^\ (I G `鼢9 .?-Kl[v,Lbnf5){Ne8md^!0 uUw:L_poH~#ؖ=P8-TBVMv!6").Ap ZiW d>('Eda['܀(rq^$DBs-@J"p2e7`]}!!/[Xq}03F3Z,p 6-ku@QX%a`':Z@t$4_")'ZE,_ӁU֮-7:#C%Q^U#:t7eCFHos|=c $I2R.I1]1B_ܯk 18c K5pm&hXҹۙok봶^?fV9F9Ym62k׵& $t9g`يKq;ښ/f~W[׵u2*uڹn3L2шo/يVEmq\e ҅z&#ؼQS%fZ?OlInJl6|R3+ 9²"?`eOgw,_OQ-dI!ò^GaHd%;!ŔN=C1&Ej.s2ސ8 '[j9DZ;3')t 1b\1IYσyЋfJ"L! ZY`,iBRQIZwWuO!]=.n:m䈗 " {*p)l_q޶5(EvE:q!~#g bEabb3b o P}Ka>): J@rv }FUPYp 9T*0%S_ơ<*ഁӪm8q* Qu52]H2KiB0 hE)Z+tq";K#ȹ?oΛAI670N8I(h{og]d\8XS5DeZȓlspfza6353+DS 6!&7RL) ݇lgu9 6w^#C&>莲9Uӡ8(BfbyF(}4J|#rwt)?1\FCb6Ũ9uC UbAP5y"`.fb[dM5U<̝u3wvW5<)]82y΃Vxeʬ,WNsEz=)c뮶j]ɭ_~S[OXEU6ҵy ܾWA#\l|Kp~w}=ś .ϰyG亻|owWg7NWmL 82,D-P j"9|İ*aQDk;O;lJaȣ"1u#ЮEmX8đhB:42Hp &M"UuiAљ{VMƥw-ʩM&3-\Lה񢲩(ʈK@(3;-GD:uVٌ&jO㪲s.OX!EW2'HZ#ke0$n1ܩ&jggABџQu/(,~-0`xTĜ&g&Q4T9ٴi`dWKg=On 2M-Oz LkCָ|{4)]G6#`u·=)|nDP2!Ft(%!P {%9L_-2Mn`oMDQ01'#/sxũ8.bJ#6EI.> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xW TTg}eA"`%+T(i(q"K!NU}Ul";=qKL$NL2Қ;˴#?3&m9ssT۾~2j#n^+]-fIɤi?ȁ:m 6r < ;beL7uLr\DXaΎ\.]2aRר^@ azGD&ap&fقNQN기?0!1BVH|H`ua]`TpqNßnꨘMH:8$.a\n1q7V%YqS]Q.i xN 3Yx3flb63/0[Jƍμ33qadV3Kbf-2Ŭcatf"32SƎKc4SvvQG=oZ9ZUZdlݡ0r6s*n3uLXcԏs=m;~y sZ&-|Ϭ0$C2Cf, z897M&4m6tB/O,w(3%.[Z!_Q)n`Z.|%礷{šSJAf=TTȥ$_ݶ?(Y*r1+edhOk~(\NzTmHٛ )ze6qz!c]bA yP E˷\cX׆GWH9ۢc)[#;gvg]^_[AwP\'K U 6 4c^5puPXK151Fղ#q4q"U 5Q#,a}. Tͩ~pJuX&33'EEv)db}}t,w(p:!]K~ ])s Ou _f挀߳doP,|)V)нZdK)1)nV&6PTi N6\ás߃z{̡93|ƅZgo]dſ#ۚP7#]lY cL+#_7 a]WQ]utR`,3!:HӉprYQd7moGpC&;Lq8u" NPmė턍tF>=-$-bg|(Bdulg+Y:/ʪKhXp"A$,`SOz$N}u=.Ȫ򎨈֯EA,l5F _xEY vOQe@ yCE5kPG':}vXI;m-kxZgf{ āy*lZ Ziy}yBvbW]5]]~.߫,il_uG~!_vek~#D1ׄ({;5n8SqZB ksm.{lKʥnh"]pj$MUƯ۰{ peT>L AEʼnkƿAqĕIdI%HJ?3|zbﺦRtwDxΆ5jXkX+a~U[-;6RT~1,9P'QoJ @_ ddIX.#H7mcQ6ΓN{c`-q~cQ JBFEH[ ^Z ^drUl-5>6G@@@]c5pj TsmRe҂z.2䆆ڴ0mD58ov4kvhCifJ7IoqۏKWщ ŏx|\z<ğ//x継Cx *OOg7|vlS zjpsY-2r?kn?&č. nᄱ)yA^lh>;@.z[ɿqǜu+6+Hw"m'ZiFlA_ Os-K Z.|~t<]np&uqNju^dzHV;2=)ēLz^\}FM(Q_DN }A?z #aK/(~ȇAjQl l=,/_>LY6 !>lmNNt8QzC kMP \իtaT|aõU&0ZC7dϒ,% /HN,L*3N7$aUs#'벴JGcq]&~J1'7on n-(z=/8X:X9~8([s!BXf[K tp*%V*3.Xڻ#X_Ұ,_R忤b o{jsq<3͢$:Ҭ!ȥGӵ6>{ܬ8bh{ƺǪN4pQ.7exյvל쉭/tҭ76&y.Pd{>AҔdV֝%eٍůoy .S)jl ٶZ?|!kb$~r_dd3k-_zԔٻHhi*+"6)u8]R`1-Dɝn;%:+z}:52rqZECl%DޤC5 jtIHHot4Ajٝ3%Δ "=i8Z5JiuM uX]cT%aaomiA~qPz*p*OR KEX'k@w&P|u/9S<}x7ؤ@}0\[-ڝ0,OÙ8Mb3X]lشdudBAcj.n4h=ϣ2<8&2R 93 !9IaE4VD3hRspY5\'SrF}O> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 76 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 77 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xy TSW넕VP{CPkV8VqAfd"@Ivy0ڪUl8|\zx? `}kr-{9{yOEJ Z7y>Bw]ޙh 0bwY# J(%. n7}3'M4iCgNw@U>; QvcgaB?7.bg:0]vVxڙ7sAP@43nUgh EQKmY(tqؒeGt[*cO}t]?`ӎIL6}3g}ΘLV5ZC>fQ:]ʑCRqFjS%dj)J-Q+JjZM}H9P)kJLI[ʆRèᔈbT?*HRV A?Aj)) eACYpYD&Fx1w/ x>P9g+:oqd;3cB7ygkZ!K6Z۶lˇzhSz{_s9tI䮝݃Fqg#jV`D[2Aȏ\ɦ+3c XMfT?]>i#+kU2[B ZuZ#9X"S5rH p`Οn^}pZ%Q͔1XߴRF޲EF}.!KCćPe ի4UPI۽RWN]8ac峛 T{H07|pxA2KZ|rVVUfzdF{̳? ("]lg36jljK-F-骠/0~>3cad"'efUO[&.]ihIzA=瞐C,zsK<x0f}E9R|8 h퇃p@ZrO RK`̕!mհ{`+~x*Aݎ7=oj~y "~؋4mBƕLD|˧b{J6epMg1-"DlDH-.dQ]v bKaȟ#h ;3uQnp`6Y#+@;VzϠ5l/ZPe(O m{{D?!1Ptxn2Juj}0QZve?W^^|`}â>4`fФnT~hfD 4L 4B!LPn}!ֿf'1 4#a0(9:e \I { KOz R= >=n: xcHV<'3J GP!q@Y}Xlqc}HNJK&$؆th@SRz>WI|k=\9.?3>_é a|H/lC8EjBb³ vYy.u) J!bI~ RcwS?Dt͗w& %h>ݔ9/ze ֚Ġ~yIVVlʼnAzFo'1~N[S+vETN"}nWpFf@ct(Ȉ> ~:Y4ʈG"q\CAOT_]Ocsݍ3#k4㠽Cw \Qp  UmF(H?H;סތ0c3` Q;.PBW]2vLѹFzQRQBh<]bzڶ%S[9M_nb$4G51V=MaxIMksoqf<`vOd-mOd l.t[Mp!l2~QP i]^|࢚pe*`&4r!wp @|\mep sC<&#VCP#՟A.Yq$~q| T6邤;c]un/B7ySDzT4@q>D*1:ؒczSXRYVJE~2%nζjSTY:Gj2  7F(Rĥs2# HGֻ;Qݽ)5&=Vdʃ&#g` nL>mwn2}+M~rXorcd*iу4*V`ܑ u׆e9DC 4y7z4m)Ntѕ%ʼjIU\""oV,R 3t0&V&}Ȏ',խɖ{hfb G,ZQ7U1 I"nAW\@#8e,#1;m< d-~YzJ 8hj٦ej!ڏ=464` P"ouâLG\vLB\|9?'LU-f+T˔1 E jU1k>m']`OWjJeEj5uzM,?/1qwQmhR J^ØŅ`zy ddZ*jeG [\kuED(buXFC)sN̪CRY]n\w8wEX#q?Z(!=ǒh纵SCFlHN,1 } quFbyWKD&[/KS m+ϷEF]( *eJXeHL#,lR@ѯk%II-^)@dĘ"2(Wv|!wc r8yut086QG5uPG{hh j'=.6YiH9FuE˪Ff4*x(@ڐ S/h1Hٹ&c WE2< !G$µ]eLRtOT7r cښAwodh=(t`Î wY,a,2!kePv Xm&W iV&QsPq_ "-ιQ\ëBs RG>NU*WUtE%*MOzfVeS(] B}T[ [5>ݠ~Nt7|52/Ag 4a/0s0 NŢZ^ e?nxF|0 }1 V4'I')9ѓ!ƀ#pH%NJq.υ vh/i؍غxZTo{x跨wZq ~:c[4~^,.>y(D ,bo9-B.>5*B𢈪B]EWE360=W3u$2cоJtT@υ(]b;?0[|m֢@,*E0b"O5ح;sAuu{u4z}˙!d(cOUB$+z?0aLxow$)><ȝ`! ʋuMA͊R`^t11\Ұ!4V%KMA<_SY^_"ws\\R`&.^ӰK;|q'ƈ5~;Yzdv>ms5z-&z~i@h2_b]vƃZɧoXeLKA>_zeM'spWKPyzmtjܚMh?uć 䦶_fO$W{bnY`87Fn U*' ïyTkr39PkuǍ;/xw>D|~Zv^GRrto0sVܟX~TL/S^&r#ah+R!?+L@S t*.<&}sEMXE``XX``EXMMEE ^$3ːC:PA9s&ۅDXJT^XރeY* ! #9wQ8L=f3&P Jr KзO7_tK"xyQQvدگ( 'ohq(H\SM5@ DZ-QiR2Jr6'|[=qD\*Mlw(U "blfR"A̐ni4'πq4i<1я"Q1A6gUjr'6kLNQE!ZԹ}ݮӯu\ciUz6G)}Ϋ[%=OZ9 eKNi2yF ΗLrERwi|*MA=g|\5 lOe*-quHKBN]6DmB>&3-mЬm?5Ͻ#t_hɎ*S)U*0J(Hg1D}/; OSN׳ č]*sa%Aي8i&xj4 P5!j|M8jT2ȫ+Bɜ)<$d??/3&4d1@;xa8õpR{2DZyu}qDÏ緳b-W^ش`Ƕ5>~7Uvw7fnxrmJ' -Btqܨk7hsjaҘD'ܾA,Ñ>c)F9ܜ]a;YpAsK1|T#L5Vۗ_OLDbQ!! PLu&+̀Az:e)ttb35Z`re )rn˒a2o,UHsB{j;Ej|u,6cFZeӵ ĜMZng',eFbjӂM~Mט?џ<\?4剗B#Hޤnlء r2)֨j`4ꗼ`*I|ٺ5Gce;?8%>L]#k?C 48ץj `'f' 5ĖgsHfJx5!nAZnr 4`䩩r(K$?=< /o`R3r}ğrmO}zDw4C+L1tΌsx!cT~n+R*!v,E?>ٞp禔A [WZ^^-qXa?AwcT2RݵrQš{KUi4j*vEj'\NNj.Sޭ[z#F:9^o3^LSM{-wRANQ$7 M/Iӯ_ˮj.15&B *kwhA.*=KfVVd@^>MߘFRFqПޡ4u35 ltLff6aךnKݖϏVGS4"WV%$L= 'u=bI-V|`}w^/ANߨӊ*C ͋)Iaz~A1 Ћ[mw?^7>{K)endstream endobj 79 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4711 >> stream xW XSWھ!ps%ڹѺRE낻@XB$ !',/aߔvTbeC I?s$瞓|#,-'X=sa2O4cоB|dk`9vc<$Q+%bA"Lם.^y`pg/?(@'aΛ%KE2ف%s~i]2it~5pz?qɻ٦(YK?@N[ލ)_!H)xw0yMymegƮY.{ޜKS Fb:&f[׉vbXI$V9b..A'<:b!E'&H8|Š ? ck†XJc8Žp#p!&,g"^E߅a9βʪ|oz8f2kw66mm c~:y\]?0s4;B~a3}e{G !|щ*M Gq(1: d$D3ɊZ"GAl͏Vj$GaZT>'Qsqa!6%; )Wh y뭰#9)uOw~ K VTϬ 㤜zTž=#Opv[(դ.Hc|`h]qݛ'2E> 흢uz AFÄcKl9{&߸X|-3/ݽ<ƍ{rsg9X9:h(^{ʊf\L9OJ$~ݛ JԊD#ľ!C2M{t)KּOϱgGLkCa:8u衞CkkPK6:A[m `wze(gbs.;stjB5q>۾'cG6O4TQHnʚ)<~0OaYZ1 ^t|oK8QP{'*Vdzm:(Crt5e8Z>:zq'0l`~6.rxAtt6 "-5 FP~i5ZT~n(*C_s0w:t):@_WPq?hLl |.ZnHb9Z*.r`IǟQM/ғ1&2mpč2xw-jfY9u ]ݗjJC֎$V"Ԏr0=;^\( tuعD5Vs.J$7|_; kjK 5 hJ4ŨQ{1l+=|l4w>#<Tyr®}e{'c,,3ntPU>z}7wmfdPx! heDc.Fx9ٌ  ӋEeȩ(5 ^9 I2[ʫ`j9Z[ im%jrwl3kM>36&)]Fmߒ(An|Js.AzQXtbGK $P?v,5AYzIgۓknݻfw#bkMWF2u_O޺w;WDggtȺ@sbSl#-)I>򚢦E˖{ظBQDmR+DB\bxH >@-i=L?|s~{W=Q$(KJ2P*9L g\8ǁ+nNmصg+PJ:N=x>fwیZ%( !O$ -7ETo(L6)#0V\E5IUR#T{=<]z h2&=x΍i )|fȰlH$Ff(|Pv#x4Ѝ)[ԶJv43~ i'2+23+B%vHչ%LXwHԭ/P:-ϖTN7r”hi$f_ۖ"Nݖ.|ǧN|"+I^DUy.MBu2®NmQ>m/,x`mh4؁LMr;b+ɴ(5u vI٣G~r+9{VG͇ir;^rf́&=my |,ѪIlŜOxvL mCAgat|߬cb/u1^sxitF *ԴAPp}i:g4w;w®gהz2X%P- KQIEBXEw^ǸXOl-gI]t,)LnΧy5̄ogz t9ʅ.mĬ"ENenKPdeFg %H-P7'P ]6y`Fp ]/m_.tf#nk7Mz||r󪻖Y[Ezݕޯ]^~E@=8F|sou:lp~<'}F݈С M9`^]x֣Zeځu^{A@aImٽ6Zq4V |rU+/G5T#wYN J۳r@#42C*/<@}K=@ y Wm?F;j}~4=EuG"J"OR&JgaYDMNHH I xdE0Udd$Q* SX6`b:9>ɝPx'oeDdzpDr:RДaFES&ދh{ CC_ reìujd{ZX˹p4L!ڸ)S"&!S)j3c J[\4tdP'ha7L7ڲi8uT$ |eЀ&x^a\~]`sm #|鯱>Ұ֎.#F\Bx1yކ؎m˴endstream endobj 80 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5847 >> stream xYiXW֮(ф[vⒸqGqAH+,v}kq14qw &&:1G/3cN\f v'3}[看$ Oͱ+<Į6=# .6ŸlӰKvp-rwQ:헮oY6*tH`رG$F('Μ9S9QF馊Vo SC~ĩB#bUV1!*e:T\k2OwhwO_*L%*=ԁh28;42{Q$cɎd 1J]pl8<`'zH`$y؆=k f0Џ7{$Ēp:4I6P]]c&X#O"m520a"L͋+4%I0bmlx7b.sM2-Ig Y^J~ Jfã/Ө+C^Sp_YuamQ _s ANt"qw>1d%y 7L[-AtBYviFZffb UipG!nա 驧}E.j Xv|$%HMRW15ouĒ Z>pq]13mٻ>(OaX[P\H2ٷuF[,+ƓPʓg˪MЏ]LA^Ϝ4/ںQ-FNL8o>VyVVP؀ , 'gO,La8s|Ҹj3 @;SSbbX%}ïH&Ât:bc}b/8K{ݳ!G2b\_[xg8F! SHPQiTQ?P<$,jYC2 nXR $gIKOmw].!4UUʔj>.In+E\@A eY*Ia(`ߦ& y]Rd|ּXQTAK7M2>u1uo|-3bn$e;ninLoPgQn^$$גW7,iUJ]L1HP=Kx-OduFӔ;>:%s6HTSh Mg4+xcfHv*|*1[6PX_lkHZOPƤMY)qיGB=Қq4/v ^[lӡxdYNl~,#r|7뛯 lwD,o"|k]Y(CsR5;*>(Cly.+' 'C3/i5bUkuZ 4W%LT$Bz_M$ҔM"aw3#n31O&3uXiė1U23Q4tG+f 4V\MʷeaCkףR2_Sd,oGC]uڵ=g*Hh$Iqd7VuCubQȊ '*}kck̃ XvXhc"&19sVDu(`殽$V0׃mϢ.#3w;e [RgpX ?^O0lfq;<'i"Lw/ChVg'lQhYREEZm{Qߌ+5POq[]dIVr^]q<7||hHy'7'z!b=C>`٩lMHc}j̯f԰&6:Qp[d_/5Zw(B`=LKEX1=i(8] '<G%t(_֌rg \a vWVȬ+2P=3J"Z MS֙۞S?2 hi'CBZaEF,涜/1}RʁZs4 Ra4wG.umJ1Xzpа@TYYڸ0r>bsָ"ag!cíYh#]Epf3wLwAfXxk3$rLfutq~@$oG C|m>2dZ..6@fZTX-#_lύ1+z/.ԋzs\9{ OcY7άaq-^8NWBB؛dA '}P/%x̔SE=ؿDw9/&v8}"M2MͦNu:K+B5Qc«7 Cr]ZUegNt>NV~wr922rc @CF$钾yXQ -=qțC.=mN@RKL]T}D*2 +[Ғe轃DEu~LJ6 f4$/NuZ0s}s񏂷 7[[f8ZRCvހ} @rm6={P#0LfK[t0a[kkb K30һ;1$0X g9iqջG֪jho뼫UFL#ÄOB~'*VU!i^qa8h /%?߽ؽxtcoai YKO2nް_xlυbN t(4)?4-$b_[L4ySHn-+ޖ41J[omlww6Rh 4R|-΂C|߮m^IK/@K^C:C֭W:#ku~%6 #/3PG幖txRODBd_KA;w.5 pV89}L6HIU7*{{v&v'?' |Gm]oG͖DD RWl]<,$(q3bxhOIO8;QY,}+lǒ*ӄi8jMa9mыo` !?{):~Ҭ+"cCP M: ]iN:n" >1aX:5kQVS{z+1[>sO|nNL۲Ie:MJqd9^R.r[5u3Bl^YS^`cgYWߺY)- vGzzSc%~smsO 2 FA[a5^DڹQ3=zdi8`p2HǼ gEKEr em ^dd2MZtB[oO#_MvJ`igVݹu9G)Ɂ!vuK?{mk8mNa br;W0mGʟp~s%w!?$=諹K4O#lKڤDڄvBKBzWm*ҔTUUVaӯ9.S+B:,[a*bp-3m#_?^#<ڇ_xZ .lʫ϶+Fu='t7l|WSco_&$)?CiPX}J #9<i5iU҆lzں#Tƈ^dc2էlް~ *D()p4 ߑF_3endstream endobj 81 0 obj << /Filter /FlateDecode /Length 62513 >> stream xܽ[.r>bAOs Kˀd ҃1DgK)Aߕ{x<"tUWWE?~o?Wkgyϔ?}Oy|$yy[VȰψ 8us^o isThQR1?ھo^෹}u\g[?}}:~w|K?/&='C8y/8=ֵ+e1W\vݱ.s?ʟdDzOlKF>/NNgO?_il?-JOo_%?o~IAGo/~_~Gk#;އ?}'7 e7V|ϳ;_n_ȍsͿzoO?H\X?F{z(8?sc׏-r{{>>Xy߿m'LoZ|\ rfk8vYlo?$ϻ_O2tj@*+^nu_-Iպ-d-H9hj,X~YuY\x_B+ߩ?R; V ~o75W] [y g\1lzяʳ~-Iyuc.l?v ^ c_AI\op\J>CDA >Le$tUl]zJN_{E\x;+(Ya]׺hp?3>^^3f|Yz0͂>}%fuÀc<6?hanD +vif᙭ggܥ$ _}Ȟ˫OZ"Eڤ+sZ`Gr{,]nCbOp?ƏnO H4גb ka|8+5%-<r(BqBs?Q'%aoԸFUNjuRXu(Z`BQBu6 a]{u`,CzG2x1SC5܆~%쇰 a?m!jC6 zjP;~Z2h(nXyVIQ蝎()yxݗQ‡Y t-"~Ӷz:vw7Ji>M M 5m}~۷,y-x/h'4a=A Ǿ%M_V`Y^o+4,6*2 w5w]}+$i jwخ`PܰP&Qj,=(U RMZVAw-D>R! i JYyw7Pd#1>K=m]} /zMX]M݇]AIga:)Wخ`P%7dB_'~YWOk%͌nCK,4ʂp ɫ' F _(,e'׺U^ ƻ $X? ת NV gk>mw'xI~aP./5RƈcS~ 8X j>>3|NL:#]YDoSVm(ↅG!iCj!u5־N4@Hާ҂9N47,< |oYq7}1k XR nÉ=+jK3wX_i04ZwK7suE,pb}NW#8wqi#+|'Wj]ϙIUtjE3YDJ,o=# ؿOr8qP԰P(ED.ql=74@H9sVp?8Q`P(ܓ)߹zZC 8i/,0)_ BW o_w'W J1WzJӽan<;[^ 7xN44,$ Hk~\YN%:Gj?47-<2j^ɷ$YS bb79y3 rw4/%[|yFLZm#\3h^bѼWEyyFD'WQjgrL{7Pe+E'W qe}$w^%k X^HRfk]mn]%ɵ_ҫ ,q.-vA>,yARQywdW78 Hhn•bHlhp"y()yw>{h-IVsѫszQ}$w._wޫ=ljG!y3HY:MN$4@H$E+Zgq"y(iQH޹$\=5HoB@/rA56s/^CdJ@M3LR~u} H^i•bHi+X޹>'Wj4iByOVrL4@0\$:iJ\&W jkLi?[мsD'W qeAxH4141ڕ|8N44%-< ; ;mQCyze8Ѽ+ hޱh^i(^h^H4\/Lѥd=;F`kc,pyWGy}!AξYqy(aK);*{{?g=04?kan2%e!)Z;{ِTҚe~6$E &?`δu~lcO߻z?q|&t>8q #N #q}=sÇęKCqw%™fsH֋.e{m+;l8/DQfC],/2]}꘷481#.pJV FDϛ|8\ j3ohUf\nc8Nl4"- Ur>hĔh Gu0񶺙=jN4,, ?x36gUn1?4@vY[0; ljEw̏[:̴N4~Hx[c]ʰpAO@RR޸^%niW>2@%. H5B[Wf^?y[dy%8Q- ;!1r~%nݣ1ljG-.ܶFP}[KL0QR-"Qv`-+V&F\  !~>;#_AE[zY qibc=#p̙sN|4$ ,2LIl>q:^1gÁ. 'UNܻ[>Atxh(nXy:zwtFXe#U pibMEִ9#}~[&:l?:y;m^i3 oub8[ibv>P' Aކㆅ/ydv>IBbd@LxKLx&6~v~6.'"Ii'@0"nys8w4ENQ邘*q0l uI88>b:cEfpmGbޫӬ<8p6, s}y "|8274%-<2k;}]ח;:γԆasT!4p>: AEfihԩvKS2J,Mh8Qg/νl*Ǖ|8&4%-<2dfSBڴ|V~0 vCC!BI!=>b&c\NjAJڶAOJҝy{6$t]OPA醆a};mVWK>j]qSԶx^%?;w`waٗ0&sqyK1}7ntYfq;Mv&vj7z;>JqU Vc jl7j"| rvaSpV;ݐO=W@$ %Lz]ݵyDz0lӯA|J¸nǸ9f.(<2Żd="ߒDf_[A 'pwI>FNA񆆢Exl~ϻ2{IO߆" q'$t _z(Qy3q--$HSbҾ{n6)Hdx)(<2˛GJR8:Gh)aF l#GFA FהGfyWٵ[ܾ3ʰ+9Xy)!5T3 7*}874%-<2ѻt.{!~KoH̎ qwE6x8`PD|ѻG< ($.rxW~"Y];0Bێ F5{uzxm(ޅNN"i{sq0 id y=[Xz]I gosp!X# Fxpn(0D(9d~w:LHd{VWzp8p6,wN_?}874%-< EF8UTfgVUf.5$-,2;mvȭN۫AaA¨PȀCaл]_Rm/3Q=2Ot&S':CR:\E%EkLvIղ,Z.)ZsKI e2یǧC6)|׏,_,_C7gPh‰>ߕ8/vӉ?NNˆulj?/|PI^gf_OS?`upcal V.?ψO >[K-oUĉ?q v?Nե~qRP-ψ?.Ǜs+9sm{ n8;. #{fX7q?Gma1"%i=0z9xFg. @>nx֋GD81PܰP(T<~ѡ 5;T .Y v v*̞7\'*LjB0U@`5:v(tWD9(` D@ 5¡e*8$8X=N<4@0|$*?~n߯E(J㦅G҇dKK<݁KL,Gm%ݑaSti0nZy.}}7 eE`ɥg0府$.}s>*sFU"5ҀXOCwzChh=Vl?dڊCjIO%hcyp;0D9&C<DaP*:o#}hnDKD9,nXЙ$wF.D: ˚Dmqg}/w={b80Ht  )Y-s~՘g28Q`x4P(p̡ODnġK,oD[1c}/ljD$t _(,8ng@I W 7pbѥĢ۫n+'5¢93 6>TĉE8rY vE,^f$8PܰP(,m0zfFg `U_āF##B ÆBW mb:dCv:8=. #'B uq"Х(iQ>6>O.^ލnh _\/X=d}J{Cw_ˀ> y5OXO73׷ҁĞKC!BMvek?.{Oۀ?qޛ I l @cEaЭnyg% L :pbХ~\L8pC. FI 5 (B6B6H. 0@>nkݥx{8q`P($|7ݡ`-8E. Ht㹟,k&8Pܰ%ߔIzm+0K?|W+$'9j kQkw$5Whz[gi{`ivYk+~!mm^%mg&LDDS6-xD&81`%€ۮGax|q^ ;Z$\?ژ>w ,&ϧH ~f|fPp - x['6f9; piߖbwp۰aO1cGr8p)0D\_s(Q)yOllu%n8- [A X88`P(-yUX;nLȁ- ۲@>mk d-poi(nXyV Ϟ+;:j6A.'Jd}$ ௚ b {!)BJގ)W|3wHoi04ZgV(?ޑuѝ~AYK,Dz$cUaxwW mF}|`?q03l]N}\Ϳ _O8PĸfP { ^)c5CgbsA 4 |Rê5#kNm4%-< Z J̃p6)jHmY V>6>``P(a^{%:cO hoiԆ#uZN7$) |oZ̷}jvD r[nF1&zoy ;4# , mu`){3O'[ eAd64`%&k 396|-|ڴ}=mGm_.%$1ŷTy$YCEIҲ(G(I5;Ye[%\|(ZZ9DB1}ҶCܫҟՌCk)J+ Cl>j@7}JKj=5AH!BMawnmzem=HP&+*c`sڙ.4^q$AH}hAX± j L.;aO zH~lg%sutu`s{ |qa}+ ~f,NQx DA FI 5ZjSJnMws\`/%p˹y²Iع¢CNh\{RssP!xw^fދ DQ~\.ܝ̹?N2jNJ 6Kq`s$9.TZXX-͑\(iQUoG&ZYx0Өs6ɃTgj _gᤫ6OLsHé5_!ȃTn@syE%>\`,sUyH`EUMCe,sh( 5oJWP=N;TTN% D) 5//Ƴ8dٴkjA|Éj1`Aō92{Q2lY̠,s!5>J1@K<|lQ#5r6FBC5|9Lq\j_]Sѽ;~H3EyQcģga}z)5ٚIR8?a# #=aʢ;uI& 5Geą)'ɽv{=8oa{ZoҸa}>;$Fc M!wFk aKQ ɻWlVnt l)1F뎮͗#wR`0%ٽÜFZf≴SZTPwo=JA".?}I=;9Qk%oP<ގ +UǹRUT)oP!CǦȇ\aṵ?`<{`/s ÿ_kLdƭzۖ6д~g|&P gqlc\#Io'׹H@!P!BMb'aecݗ<I#4TL Tc*b#+4#-,~S V.EjsU lvU Y/ÿ˿w?UdizH4QW%z-WoF]X ֒`{jY5%-JQBͣÅ^FӁ@M)M (U6l:Xܫ֫Mw|鰛ґ,ӈ'?7{zN/3N+w'q~Ҩ(iIs6Iٱ?oZ 2b<ԎlkxN8x`P9}Ǣؾ5qމ&(s N}(dܘk0>aK5O4V3sf~Ò+LE0b(,= S.̨,jm|i|6x`QSSm,v+6ڴБj\ 5a'#B>ml☉a3a@%9}.! Lj(s5# ,J `s_qnC2`H6V⺢lS; TjPܰP\iޒ:wS`PMi Zo;<~lt[rɾ>ӴѦNp4I]"Y vӴ?NS?#SIjd|NS_}W}~5ٝqzL!^ 멿dhtu_@/ٮtG%ۗs:F $ dAHͼg8(iQ kVa>~=nT~EeKsQjveSQQ@ &A<~(if%r8u+ 7h ¼ܵȍljܕG |r;:&G;4wӓG{D U^ܞ\U\J WvT@zB=$ZN>ޛ$$6 9 @A#-sZOc p[HCqBOP<"4U;cztd\T`QтnHEee6_D1p.*j(JGn1v*HM3-Sz;ZT-fgS5BpAɣV~ard4ÿ2SC: Q07Rez`NSuN5 j_B_ڎkv=cv@C Rp־yC5gi9/ Y \^R(e{Qyiڅu/SyI!W̺|k8=$q# ,dkHo'B[z`dQ'A$8G# +@'(wÂխL'FRja{%Wpa=fu8{4 .Rv-nfa{H1,dɃ.lqڊ Pf0`.e0gFedQꣅUßH`i>0ROzelo NPX&Mn{{p6|GG)47-KhZU)Zw]MZuUj a#J"ϙR0b㳗hœ(QAwJ7Y J "R;@j~5.,nЕk\a"+#~Il_zV|@x|!""B@$EfhVgJڿm:! t-d}·Erp˟SCj<&7ԝt/KES2aaj((iy]w ɩ罌K ]aASlAμ g j.TR׍ weTW5_!Wy:qrp#" ju|iyI^(Ĩ8t]T+#WGcx?ާUp_65O^Qj_5-xQflxCe-FzG˨~15!hԆedzafQ!a6Q򠍼DX>#{#]$M.pwiIn6xY2.-0$ d}CmBݠ;=1$ FI 5OG!3x6dwQڪ-$ d@J҇fvp>G?I jda3tROzA@>R?V̧o؝h5SE)Rtܮ÷W<,S%"eIn^\5QfR`4P(<-yi۠،a߮'W`qe$p}<%Z~*[eUFUH ?XPҏcN!=lk#~g2NNRe>\C=cm *4Ta@qrN*լupPPep3l緵ZJY5ƟnN$ %q,T``4PC/և^ 'տ4O!p@b꟝eciya]152 9u!058ʁ`P# vi,b?ipuV.Eg1#w;Z+u;3A t*dA9kGn4%-<[ fk{ :$xGyϩ2bK:㜾+}8ΥF } ۭ+ey--Bه Z>I%@7v[{;> FI 5Z#rnmȱuC|q`}^[ݙmIRb9GK+y %hwƇkDLx qi@KXPs;5oƻ{1i/pn@(i摹\w]pu.((is;]3Ϥd5W*٣n[Wg?'Ƶwa]L|%' AH5 l=-m]%imlp&Ƿ_f3pe]m+wl?5,| SZ-֡Iђbn_7Lgz=>t5aw"v?nGtO G %~OvfrT IxC$66/;oTFdT I˫,-fWYplW0 j0JZyܮ{Wvmݭ̮ypyo~@]4$64:?€ ``P@qSj ؜=oޏn4.a=; fPw2Юp˅f j(jXYxfή:+g6^N#U.W@9{Wsoe\h((iq Nl ש?\汈wmLVhξǴ ̡$6 cOK5%-<<7b5#Q^H곣6#ǐix!f5FB>Ԍ( j0JXGmFlEoiElIoOB)zvj&`Ax툽(Ԏ 3< l( \^Rl 2גֶ MnM9<٦WN7J6> D! D) 5\~qXt?'7ֿ»nu봅F{‚W@b3ceۺxW D E _|oClrSw^y*~'^и\ 0t{gZlW i0JZyDg?=h]T%& #dAMհ!6q;"54 ëz9-/zM%F3>h@%~ oϩQWޘxQx]jU&9#( v J|%(-ؒ E 5 󷚞DIrwCWnW4!,%F c wb3B\]SƁ,J䃞Ykqx Ox48;aAY^Qyr 6]((iٰ%afoYenḮѪʹa'.^.H5߼rx5- Эqn<'/t.>e*]x#v ͇ }%~D,\~|8} ٯ)2]gC$e3mp^{NI4Ђ\}d򰡩3quMzMD?mߪ{Ahwǂ P2 L."@  _sv&7}VrM6=^s%O&\Cc?[Oc ln5<i0FZYy_ﲺkXcݫYXÎ1hAڇ>.+p"vVGvuzvUPܽP<$>>>Jnh8q;+ Epnh0JZydj[ƚ4Y`U ]it^" =>EEvS9U \jF9&RP&RS`%vr($c"˺c;%746;?NP`Ӈgf9hi&\6cUm #xZiǕǹ>R\=`ܴPM!D JX:UZRT'Y@uUHEA FI 5LMDDkDTl dmh8%|Th}((i\'AFDkNŦ: 6H'sܸFFnQ㦅G{$ ZrBT,qнdnX Qz!iG{.F  , IНਜ !!UK R IH;! nȇ:$-|O%!UʍV(7+ *K>57,<2ZlHZi$p ݵ}QHCq—<2$NFt:6I'lC ݰ :)j,GIFA FI 5BF-V dS[V te8IЖ:(ayҖPwm-ٴmjm6Un- }D1 %R%_o~@yʧ l jNE`aU$is Ln3QjA M }D1 i JZGO;3e.4iZwGSKdph8Ga:>GקuFA FI 5ߖ 1$_V^o!??ͺ?Vjӷ~ۿOw?7KqڪV#=_MyDy w&;4 #(soy?¹_GqPޡaQ(o`QҏcOu܏q!h y5 'f ^ߞpbiPnh>m㯮g~h`C\ (ZIlnLd>{zpl# , |jb- 4͗œ޿un8Q4^+-  _/| $&H~`W0▆S2xs; ֠fG- H 5Bq7_'*h ۧmKb{~;4^/l>sCۚܖ8N4"- ~%$+'^4Ro1Yp"qj{/XբqDBICB ͎lv[͐.%ܼ,M.ZexHdv1 [ЅDfKABɢpoIvOL,1u8S- #qޙ;eeKCq<9|$.;BHX "4mYtOu`j1O`a)}fWWO2qPA- >$|^1_88PnKMuc㼾%IU`OۉlrN8xpV:,ୗcX8lYL&:4wSG[:yIr'clMOFLuhu7>((aK01|Ƹ p2p⭥VZGmjSO1nljGϽ MOۨOntwQA[a]k}sځlyT Z+d\^R((1ևE=% kiKSt)r ~ÇXKQBͣ0ֶLi]]0sqɀ1hǩN)j{޽{L|"  ]|DW[ڟ@[c jibOwtխL'ZRj/$ߠ-<%'Z e}$vP h3pji0JZyUW&mKjW|\ɇ%, Ѳ V`mKݿljG-,;[l[PxeM 4 em ڢ+_^(j'-wIĉhY vmFՇq⫥ af>{oIbDp8iRhYvAW/0$qա—< ]m;s=Շ=>WFPhY v>V3}[}-W_]SMy3eYWи>(ܙƝI wIYX 'i0|;[4m8h`ܴP4|['Rg{Y gjqQ!qMo +F) j(nXyd.wNl+p]円3a];0{X\n(0FYd.w J<;Br%JW meA]`YXqк(aK]qw_buApxfmav8^W_;R74!-2D\"`T2Jnh8o~3Nz>‚jGfj% x@[ADo쪺;ø %𮠎Ϟ%9d| zW;yϞ}^ݏ.qd$y* r8p6, wg% 5L1gX%74 #x^=/ }hQPCqB#|EA FI 5L.ك%؅4as7Kdoh8+ #%i. o8^iD FJ]魾}ᛛ]48p&7,oA8/_NcpToh0HZ(YdwZ޷uuZKToh8zJtwqp(i|LLoh8;2PÂy' FI 5$& %FVe "WENwP rS`PD2ѻ$#eW?v8p7,wL$uEΝQxpD~gv:k~g_V5D?oQ nE‰>'VIdqwh_]ػF!y7m@fNGxc.qwVF6;J.pw(eQݹk˛ϹކCsu 1W8{+"n`n.,}JAQk;}3sGe1ߖ8q+ #q1>'|"FA 5Nіw`|ݷ ^jȅA^[d4bSiON4[şr#Bl/7$Y1iXDJD,Dg]$~Wи&Qxi#;sFм=X`pquwI#KzɁDRC— ;;[/lU߉N4@ʂH^37c?@8`P(,mV ׎o08\Y vW1]c$'WjutsfO?UO%㜁N,4H,-̴qbyOyw!9VvU)T]"K N[&iFό k[LPb3^+1|N4@sDB68^DJQBͣN൭\؂bUi08\Y vZG3{0Q]15B~ mOL;[,&&zՄn>v:Jv|J:p]i(dX)dz-m%έoD'~oi pg1zǽo8^) D\_S( 5-o>1 $81+ <^;qM+ FI 5#>dU[Y쪝L[DR .-Zݲpwp8^i0JXG!yz`=$MyZ+ P 5vް0o,IJqB7ezQ)cTڬ氒ג]V[Z¤0~m %Y;YecU㓖$YNE%|Ba){oU>Zt{l~ߚumLӿ=9x֯UV;f٨(6&N4@H4-WsփixDKQBͣ(4|'cEhxidG^I細2ؓq(iQhx-4|;; x;9p]Em;XxkO K!C!&KK7H[Mh N$<5Hӂ×$±F od Hxi0JXG!m\gN~48p]Tg8(j(hXITI/&l׃ N$4@H$-;ab;#5BzL: ijCÜN5ȎтH_LI[vREA FI 5Bڮ'辰Zp{9n u^G~t8Og*˸]oj04Zݖ^=3﶐9y?Kv[+wiWbw;z=vaDwW nJ}"TvDzK;p"ݥJ]G"'JȏljtↅG!Y#{Yyд3QuIuZقRb#&N$4%,|O m}\iև%x|qĽK̺,ĽQYk{&~8PGf-~?l|ߴ5鉳`481N ,F1Pk._[ ^Q8xknFg>8?[N/ 0 3%ÆW2>g|I>.]((iQx{c?%W?xp{W?rK\,\W!,\g>o8PܰPlqt{t%?0?fSxjkvPþ5K)tikK%{ T6LT<gPxm2\kjivZGIǤ/yd"~l[C;psiU̽"v%PЏiIRZ] O7׏ٰG D L 5wQڛE)nخwxma|L ɪ\6쑅8+plW0 j0JZyxnPO e_VU66h~I{݇]Arzخ``P0ũXf{ځcfaiNog~zZ7!i~dޱ]A`pPWJX 3iþ> kw(ovX{?tm{+ ێvN G%Ǿdڰ1axp[qxR.jX v HVn5VVCc5V>j^Xf:ۼIz+n{H ^ux%@ 1igx1BCP3_]cS}Mlq4@d€׹pخ`P԰PlP+d;бxW:DLv!]~rn@ #j0@)Ԛxe2k\ FU-caa*c`JDA U>Xyx*8 ]>3}KPX)zh> 6~4 j _{{--XR`lT`m*/6%<_{÷^R6s2onNW=5]Z vxL=GNQxg%QHQBs3wDI>g=7|c?11"ID馤t i7t>tk~E#~l@|8߷6>KGnyV24ЍxW Ajh9Nzٌ=s6InnSg[պ6~ǝ4Y?HbUk|ȀM#yuM:00t8gY^WҰwHǾr<Ⱥ'XfKya\' :3`%kw#U(cod0O&K&U.!e+] :rrf˗ %㜺w缛sViW,#Fٰ jL" {8oFXy/V='3^*zZ{%?*@VBR)ʐGUHFg/zGl/yln-QClz:@ӇDY/E1>BXqTk-PW? ě~+[bއu˓e踀ya|R R!1n,[O]9/4ںH<@|wnQ%@AΚZfXo >\^x6OWy_g3WǸpJzlċ VSm%_)ʐGU@#ɖ﮾C_4Oh&DoƿʼpKlxa/\+' k%P ;Ir[*K.^7A9Jy{3<-[px$Uu$a į'G_a. 66EB$$ 흛U|]eBXnBZ nZUD"R[sYtEU,,aGg(w6EC$$]<[@+V(k=:uV\y- v}dѯ>+,ΛT^q͎Q;]oe^u!1ZOyu 1(Gw`BG9 1 Vs#@h #Ey(oEXLo1}ks(+;0zp`{:4hɼScˀnRz,5勗J"W-4 Y'іAe3T O-[F[co|q6Kد=Hve4slR7kk={ͧQ.&zglSb׳ 6Kد=2UXul n BlL:Gy ^1K3p_{(5EX_͘XjׅeR Sq#Plq +kFt6PފcWL+w|} :;| Kx=HsA:h´ 0"f ,8#O<08ڴ@s}<% (߯:=NηcqzFT k[|u6ﴼ}6)F+ڢ=>We8E<#Wн-CY*Z{g^/v'EW q ±TE{焹u0$NΙ8Z S-kt6_.VYwʚ̛(/$O]VTK}loy(5EX_oУ+^UWڄ@p}ߏ+ʀ.[Rz,|w-Yk{n| ޺da/UuPcW| ꈹoWAzү?ܐ**]{(KEX\}|w|> Yw4`ԍڃQF㻑Y*EH="Xnemս +oq|d9s 0Ȕ R"uXn݁j,o@_)ߵ-FX.;yW Ҳb!#@\^ۉ3q4+u^;:5h7`[JnZZ,]vYUj|uWFxA~.ۖ _U;W.clg!ek=›W-7wR7k[Gfsd o j FxἏFxck qd˅IVԍڃ66e*I]ơM<"C >!L'kG ̲bw94ɵ#[nw\?m?U#*xw+oJ<\gd]YFAٍewgA]P<"P{vYf[mP{S juE>SCQezqp{UFAi[*Lyjj u.]A/#lGBRzt=g`lOt-]d<+í2{Fs[le@.ek=:ٞy] lOÇ)$egirHp]KZ/>| Ut`@tNSyՐ>K. 2pn,!1n[ECY*ZNF?j?޾,DrߟPjŲ/5ImmK *ϫk) l>rg4W9GE"X\͖y?<5ˠ.]RztݻDYԥ+WD+ʢ^M멌<"t{6 k6 rb gvZ hv e@.ek=:cu5]}rYvy]WiQt{f˭Vu*v "t;F}M %AUl%oRO^e t=ع8<11?drVYB|5sybX%@ؖRD_йcG#hYX+q6< ||lPjRTjXי/l8yJGM[.]@\bIϧ]P<"Pۧ EuFě딉HuE/ZI$$aE'#>ўĒGLE6K.`}p'[b+RW weȣ*0;+;Ut*ƈz)^ULݐyYJ#t~cy'Gn@JN+cpT/9PH._]{: [ Хn@z,@w밾9g-9QKHH7kZGF 2Z y3Z+6 loms`+u uiрnd{ _ސ\u`c1mR"3W"v{JÞCmhҵSf  gcLSVtAb۫lV+N=Xucpތc3x -Ē*e3;񋎖Dgαa拁*ଗ@N*,P7Vdǡ:M}spWvAr,X,!֍{j vaw\V V zYXo}<$ (k)ܵRV kK2%ƒ1ok'foUSոܘƦ(7aKe@(k=+:rQ[YO9hF;{ll`: ƊgMZ$ 3Z?uA&z92R<3+uc uaF T&w'J,`7&lO9ѮOLw,?XM,q`Q{\jӵrS5Ļ/<<-jNPl̕l:hT7~9;䕣յrT ֍EcX\S/7>R7kB[GF nucOG y3Z猎uqs:0j#{ՄbuAh(ad0GmQ uaǂucF'WVڱ0+j ^eE:4hX7&uEucvJH٘ yZG'~|o_>}5_y(]{(KEX|wY ˳m\)Ե-F bgQ#qR5 C8 эղ#X0֢w%&nj4: 0GwJnDQZ,H7꽯D1bÉtخ!]tA`֛֕eߊ=}ct,aǂtc|z.KI~({!nLD 2ԍ3samu u,aBuwrqYk;L:[6 ݨ=le45 7#4_ Cy+Z?/?>iw_=ZX^{:~x G~1^x,axm cٯ*ҍڃX,ljwayʀnRz,7ƻ_HWrԍڃQFcCBXNU CI2ZnȲ|Dl5+u# uW]-χČcïM٥nRz,w_'[N&`GK] >re9GocJ7B`BxWZbͫGWFxA~(=^i UBʆwweȣ*,fz&> ̍P!#Him^B6'a{(KEX񧯲ćxo+]VI>URi ly(5EX_nX7N<ܕm}<% ({{lO٘tqfyyB x(76]o_,7?y8oFXh DwM3jCW1Wʆtf%MW!d{1Oj,٘UdI[lL&FO ڃQF?I/ڵޖI.m޾ܴ|I{Yԅw%7W@v=/]<UXot22k7.hWgڬ]v u|i]nWS]]_SvOaSPթo~*]l<@n+4({Ǡ[MٝznE,ny(KEX뱰mg|Q K7k[G>,'_|+BX{2۵TM;@V~j1'.tdۊ 2_RҌ0he@-ek=hW7 R7k[G^F2*<L="Xo\Kxy|$lķ PS-7PZT]]]Z,7[_bE-IKRH6k\(xl[vNv Ҳޱ ZuxR+Ի Pr:({J؋.ߏ|q?(,]RT )ߕ!^P8;͍6s7:]FyA'ޔp(Ba]Fy,aG{8e.z7F Ey "XM2oGU%,+CVgɋ͘R?4?_qgY>TPRĎ%B~devJ{OA@_0R}E؀%e.`ə6 Z:s=ƴZ`IG˸(T׆Sgl=UW0o>j_qY=wÙ+wUi20P9rѫK<Țr@-15`ė{)2g-9l2{+M#Ww G|y(9EXg޸F _cվ<#_]2V{6ríKbyG?o'e eKXܕI.8Ɩd$+)֓z>LtM]zwgKGEc2jBRzn>!ֽoeK9>43;BS+xxi7[⹨xnZ lꙂ<"@s*&K3ֱEK%1n`{m8^T1 y8냿R l`\][N̵oDc*n|R}?O }h-;:Ž.cׄ]g!ek=xžwKG 7/bbζC"X[EUƩ<,e6 ]ȝ{W={TW=n=-AKhsrTk.ǝ?k]|G{Bw`Ed`~[ ){*Vqj[[sHǍHhgܛGpEFٮ`mD(OWAt?FmFm9 ':1mc*4ȶE˖HEr#*cV'<"`ݲA>P7Yr#9f 8zl\Oplg.GรʠΓv?+?րXqpCON'll&2~3_ƥyQ!{\W7BnYmōb "C ;3kNHm:ǘb}. urP(w[;mV-0Nswj2?iK%҈ rރEv2,:/LȗGY/Ely0=o_LfܤJj_ }kV[VGVBʼ yZTH^w'Pmr}|~ /&q>j¾`} %@o!fˠ#="@ݶ`6["͘f D2ʜls1Nm.'=p +>d`?t>;̓Ì3րֳO#HdG'M69 A[{-evkY0)#jnV~:|Bt{Bһ<>@<~vk,:FP[ǛuQEzqEdO"ؘ"sSαS}dq'CXB2>9Yja\d Zk@f ,r LJ"v}[)=ȼ_c'ؓJWV z^%6Dxc-ʠ.[ztۇhZ# >-ۊ ]c[0vP,TD=<6xLZy'- ]y1f U/ ':tbZcYЖZk$+ `(ڒ"jzt{OD,E0 }?XB[QD!iU۴,[ΚZH ^HgbxN+]tx|zЍC)ZNh+Xl^{:5h Ho^FzaBz/^1^{QF_9Gcl.^{8oFX뱐hHpu6{0!$VYfw=X9 ="/h&ymAX8'P/ 2NV Cy+Z^1ey`Wq}+uU, S+%{Y=W ۍ,4ӎS^Ǚvv˃QFcx9ӎəv,c<"l7w[']]{qm-߯ w$`B/ܝօEr{ ]ϟvџv~-MYvk5WV_\R 5`ŸWu27NYuS#t5l9nL^ѳ~xny(5EX_xnУ+xK_si#HorZO}6Kx=#Xxn\Xɖyjod`ԍڃṪKsȆsGxp.pq<,XDujlWG*]4d`25)12OMYCY*Z?|&Ru/ճg莄"tO?ՑlQ/.>D%C9YjQ47o!مzGIZ{YHCwv5]t\;d:%\tz479V޻ɃQF֨o .\{(KEXOr-~s\8fJ7kZ@!f7^L`="Xhn܁yR@`ځQD#V:C#sa Y3Z fr׆͢vԍ ڃYF#1|"4SFas[[JƇ͉[)ϵiXck[.|+RoXZȳhy.u;k9Qj9Oky usR;2\X(up#VsAZC{6AG+О JJǯUCy%>_{@wKeknLح=W]2ݶF [ѹBۣ[m,lAaZZA {8kXk',:퍓@c?=. ߟu qpiѨƾ3\5 Lݘ=WY2wiˁu8EKi+H7fkYG޵-w03}nRz,6WĚp'Pnd_>\4E^[Y$PЂk jcwhgVnVB "12@,ٰ0d#SK[wIK]7rg]ݡ)5d>Ey6wP ֢xm0kc;~؏ɷҽ9Ƀ0Y 8aᄹꢵvtt}6X- F wk ui2*Kcz+ZSK`=12Z¡Xߖ{`"m|sNJh=cAe4\Ȋ0?,Z{(KEXطc [^J#ӻX*eõv u]c Y$aF8_ %XdõvP bx[b__Cqnz 2*ݍ-R7g%k-Xk_}}{=Bo `b@E4Xj=7LX"_؈ώjN?VN~Q_G)Xtpތ֣'95%ml;ڮ+bWS$hAHj=_9[cXJۦ׳nc_"G~"&Mg?oomoX//_qώ_;kIcF7o_L"ݽĔS߈}5"qk wnѡ A1/7=gq CK.p`sn,;FDtD}Oqg"&\QD^k%@.gw2]Ey31s%0. ]@Ae^^ʠ.(]zt(=b{7(=3<0.(] Az he@.k=:}a-ũ G014taxқv%,ˆGSFK+-]h<7#I[lk`ë́>#V欕z))It%vٕNaBg#VI㗛Mv$L&Wd viQzbBb-.J]U^1u^bybS/K.@@2 SxzY X0uy(wY 0M0G]149&K.]6 "ڥ|}x­2S5fьXhK`ґ`C&4%Q@O1|\Uup O}λm9;Yuy8oFXveX:qs.6^IWhux "zxr1˶bt`Fqw,tj#jU҈_zD̽5sRYϙlywb=buO/=jzq賦K.A}#D0 2XTXhymYbm/k' IXxtEFEG,zz+!ej9 VX;`rbwpym6T>XыSؐ`gⷠY0Xglϲ,,;bqQDgyi:-;p꾯ݨ=":/1bχGYHu9CWk oˎոa{bÒA9*Z'j7W/ Ϛ<|Tf*Bl p2YTU.bp+&)q^KK. @U 9gk2yZ?X/xE{U lx /%K^4k貥%KZRm?1cOϾnĜy'omcېsߊ__!1qb%1=TԍC[$$bpgCԅZt$s=ֵ&fϻ!nHގ`l9#c ۃI*RGV߂b*kBv viѐx̤}L#F@7"n:,@|{UZڋe? q#H E- ,acїYZTYq{v8˲LFظ5ؼy޽[c.?eh* PbVS7fnGF DŽ@~`8R6+CVaY1a;̊0dK3~CJQF#Z1no=b ų2ѲT o^, }y/ym* mly(5F%<&|3wՇ@s{bFA(Q،P*!eCsk:s& W6 nNAEK1 *c CY3Ru0{r"c=] PSiX?eQmj]{(GXk5c|I+یҍۃ@QFF[ GEPЍy3Zo!Oo,Mk FA֛ce;*V^fS2T +nd_O\-Ȫ>iVBJpQ5o^4Ly 0{g0tp{t;5(~篘خVtPcG{8^Fw{5AXޅs =[ нkrTFᳪuDOFˈՠHe-`yͽG+42Aݒ_xx4S-ѣn D޶tAKrjF8S7nek==ڼ˖x]ËŤԍۃ?{r?0 @*!e!ek=(7/17$H?^ۖw=Ed#vp bav- &vX(I=HPô8vZ0 u1@aBƷ+:?sI@l]v v,@OWT ʏXOةWjg;aNt?a RSl9>lz1j[ CY*Z>xlk'>ye>5[xyyWCKُ Z )Mgc~?h5]q1|g/[PV+zҳ7Uq'ZȖ9\ƭ<"@ݰa-߼O7ŋ7==[35/e9BaVtMYCY2/@bԃʱ-1}Orr:%Oqc%:iAѠ*mi_3G(y(CEXu cqzR? R?xr[E޵--ogoF+:TrFǒ $ˮ (l!Bd~cY[hOшxeTpRC1/NG~ן`-g9yukbbbI؂MY`Ǧ,.:Pp֌-1~tq[NL~$~ɫ67?5]3V''ı "Y5}޳%%ly0U4F(o7sʢҿkGV[[PGJH_*] l4 _~q?) ;&ƗRy|`OhKعbR{BGYPvZN?hJolvHƱڡ =~7X&l,#zdԶ2ikyVkl 7Hvn2ŲT׶]E>OHQKE[!me[W2#x#evZf塼zt^ϛ-:oLyKk;oeyF~uEyc1 y(KEX6˙oM~Mɪt҇:Saǫy彳T6I6Ip6IZmRڤ-jQP-e6,Cy+Z_Z, Z [IoPI&`)IZfcsx7G' %T^-[X'Z_m"-KU3["(sQuSP֣3ICݘHOW[s$ Bн9aox7Ey(oEXnnNNzW$B[yYvmo$`Bpkb Gh8 HY0P6\#AΚZB6nA? T Xۨ ]CG[8S UF 3_920j_}e|$Wiktr\U mC+Rq[,  kkJ[ ma3r63,,aq[!.|B@Y[A kRZG^AeTߡ,,0W'IY!jm,z}}# 7g!ek=]_(S*mWx/3Z_gj*u+ kץ5ۥ;8e8_IR9[xmEEiy?o"Uu˃Y:ZuC@T= rmBt3eQpP"-DR2`$5PRJ)3U`7C[؈Tf,[͐7"Fp#c2 {0KGX>gqpMU`(`w`H]l<2Ut2[ | x Ȋ`SFpF a1 {0KGXg@2jpz.~.[Ae⽞oqT,,q޼C^wX1W\ ҄焸u4%^ nAm[K/y/7~)Eqغ*+mkRZ/srՃR7k&Taq b))[TOsQQ\{:4h7Vhw hA\{8mXkblN}):t1(nZ16 b,apca&\X=/J;Zү="VԍCY*Zpsp4[|=4xo.XDl'2pgǣOJtf*uc uin$6bCsUtcP֣3XKp\ħ<}̕n.}/94ߖ!ey%.k& , 7\nxMX(퐱R7k0ZD pG{ =4#X(nwu{(a+u uj(n 73BUuPފc/˂Qf.kPZ/ϩe-T>vP VaBqSNq|:Q\{:5hwޙv<ThA(A WY. _@5°H4ҼCn kAC m, ="X m$5V8myVG;2%m^he@-ek=:qD* VQ.T[2<\]Fn"ԖTԎxYb@MAJ.V[AYb"Ĥ]<"f8e4S@2^,M^Bi?` n-5ƿ9y(GXk6?rg:Ep|X ۬?*™8啄_ goowyvSQ  @h}$ 0 >s0ny8e T7+m1<[3;סtoO+my(IEXjv|`t^8Wj+]tPTq1 1R>o~W·8[_~k̻ߵ" ߖTNӡ luo!l/yh, $w=-Tkʸ-̓X__jH3?_1'KǓO3 stqױs \C5\z]]kVr \ۃX-Ga 7R \CY*Z\G^_߯mW%ldNf"XcS:{VtPK-l,ނ G[nҎ 2)o[lWڰ5uPc1CX|Fԍ[ۃXw1\,6orV|wpތc!1- w.[Ñ 盐*S7rmriGF\Ĥ~l [ʐGUXSL7ְ%b :#.%"&/ A<TLx5' %TaASk/v}[[o:NģY{ly(5EX_uέc{h칊)S7nmRiGF[VF^R6h;gVaAQ:*cK7dmiGF Yǎ=3B􂣕ݐ=7#Xu\:݅K Yہ@=C:zsrTN7_hČ}HyGz)-P]@۾kͲF 8wndud')y}O~C 2/UXut.BsUz/lJLȵ=e yZ )ߕ!^бl'e5Ga@,]غ<+4(l}[a72 [T FvG`Q">?,qs: [ǾʀnRz4l=[a8?Os)K~=_Gavx9>WghrOX -tcnj[Aak{J;,'[Η0TƩf<"z{ɔ sqۛseFA2ҏ9ln!2n2$uR]ǭ|kD>5"6{ ^t(-OmÎt} f ޶#?2 D~.S7~miG>+-g,}ck͡8@vy ˊc![kGZ~kr=.1 0h;PxɍSdÃOΑf _J/:8n#F㨳kFA8(贿s5uP֣ ~l\b~aL,]<@+|Ǐ 0%,~+CVy'._ݑF/ w6!T>a>>i.Gz8-݉7?!ч394S(}ۿ1|=+=f#O?2r:ES;3^{?χ筃)=ey O|y8ayses%~*Έc#.(K)8"Xs]oJ:PPrӵێH3ϖ _x^|G d`fqf>ߖxaymlY%y^Zء܇2Aݒ_;÷1h< .ksC"HgQpƧU‰/+_Gssv<*6=i J:xHewUZsxzLcyĻ"HR_u\BpW 2kph]| Ct[rѓ 2~K,A' Yy3Z^eyO`!s` vh1%?h6WrSooV ?*@VB'K]\ʀ+IСF_j)w= c@<ĩM<ƇFΆ*>(8ie 2@|-JH,Sߙ ^g~PYE{xP]'~֟ߙGK_2N9v|% %kZۼM +_1Ncb@= fuc.eIx"&aKPt}Df^Sz޲`]sRk{Z@VYYUvQY m;qν͒j_^qڹW<@b+5w- ݭؗν<"謶5滦ܜڃ$kݲ`^E*U塼aGg:q j;oD$[ul<+.YCY*ZmHY|%r:#Dq3l.}ZbJ"|^O5趷FBP%BS5b ^:to-}m-YV,Q5W)Zc5ָ^hY52Kƥ@N+s^7V{֮,L9˨) y(KEXmk"jQ"jqb&E_A:ЭMnq,IfQ[zt~[fNr=VklZY*Ů"N?X* y8mXkQ E0BT zB6[آa#x"<qr裘cvh>"_mg$ Uތ2t1 9(gT3k'=u@z X{{!yD>e^Yy3/ F[ؖ@O[ ~!(ڒ"jBRz, -lNjn" `ABneAr7,aG_Ըgeh\lbڊ`&~uEYQuޔ<"4_o䢺ZQu5&kZGnכ-Z2B]M(]o̢<"4$߯i(u/ @-ڊ` -H|Kޙi5A]@<#H@d$j/ȭG:xjؠ4`6`(WށRZj΃.է9mMYUz}*]!e -w^Y>Ϧڛlyljznz0˨$Z4{O4Yٲ}'QÝJ->=84(;-bʀ.[ʚJt{ [ IlN>Sg+"Z_`EWg7{9!`uUnyViQxzMgSUơBLRJx7l95i>s>-,KwٝhYb $w'XSl~u7TvXۜLM_̄޷۾ ?/_V>. -:56q/ E˂eW Zrsd_j{^ۉ=fGOh8u# Owiш}>x{ F,aBܯy!`RY4Y,pN-ze+gj@7n%k b垏(XTlv{;5hl\ DeP7nk=~קH(v_iE3QF _sȆs S4?;c`ױcnY3ܱ!uF7tgabVS#g598t#Pj&P Z7fE%#PF~Eɸ׺ˠn[z,y_Wv1FWς ۃ/Ӯ1|[ЍY3RG#K|ƴ0ؾS #Hׯwt߭ ,aǂG>=:wnӣ1hAx:=z6OF|y2_T9N ؗ*{yˏLvBueE[~#l\Άo>U͎NQX1a'j+qsJ>r m^K/y/H=~ёlH` M]H<?$?ِ:uCPK=W8:RR̎kR#HǽֈQnDNZt>3W?{eO}ce:n\^QFbZ-#́G2 T PﭫKDPq#H.5Y 0{kA݀="Xx-GLv~ vSP/rG~-3vEO*u{(KEXh (\K}e:$u .wiрzd68m #hʀn@Rz,@}8q5>Ml<qݹȑ#w|6Խd&35  xo;>nu -ig;gJ:- L>~$ş"49W5ACsPg#Pg-P 5mONcNdD?қiFkGvWz Jr&R neK:c909+f,F0o5qɀC& a!d=BFfF_ 0'~y"Ro4=n" P0`L$4@>wݏ˒0z(Ӏ#DWoMl~,ՆUEa<,IRojJަ]"4T2Mz㽾f|dW^&"屾,4z*&' aeM,߃vHAe ^\ [u S6D'[U76M4o+1$]ZHd.1 f9-^NRf߆ٰ>!kCnmLU4T[1ܪ;9}Y*_Y6(5z<0`{8$W~i\e᮹rk!*7lʝq۠lDwYl[ie 6n}m}2s8uNj208\V"[Ov[y 64E9Lݷy2_ ey{Uky@ H{;B5(mh .k@i%7XB* -8lg`LY#TӆAذ`&7bhx'V*E0Zۑ,T7б3źIOMB_Â˫o!Ƕ,3 d ^1=Z>҃s4J,]hCkXZ x[r1Y9w5Ѻ׹tj20\4rkiXSm20/˜ƵeE<[5v~V)F5l(EPhypAeІF@[rSV[ia Y؈b4YYܹL 649>?ZH vA 5SІW7&4|,69+,g lc!C-AX x64l\$݁9 x@gC|Cζ犷kp6{|#bY,4>i 8bT i2|6-Sv/ NM8^Â˚R7P KAD ~=ȃߖˮEns[u-A,un45ut9 JvDeHl X*.{ȠNRXx_%jd2nnʻܭj//Kj7^ʿ!nOMf rv9v*(N&[ [Ql1Щ[jP;4k3p ڭOz-0"eɭ˒]Nʭӂ˓Yɐ˒[~$Өf%pL#6bʔIJ]Nʭӂ˹C|5[F.'w/\ýt c>l7>k@okIpm Sc3݂˚FBn9&˙u4TNȝ[󁐻 0ƧCmHh> .$J3zȓmV9쫐;o{} wۑ/W&7>  SC)vZp$ $-r4TNΝ[A V<#I3T$$Yq_QUFwY'˒zZ{xɲR#\6 CwSnMlL/)(Ąq_Qvf6O":%QˉS CuAP=QOrP\4uKnMP9Qwj>򁨻5E _<ٿg`.z! #GFf-\5Lj,K;5l^\4}79[ʉC#V g@P\,c;UU`;|r$\uU7@CA*'N w- @M/Dԥ,>ߩ\;-\EHowJ<&Odߩ^1H5o;gd[Deשl;--bx4It/\ýt c>~S)zh22ٌYٴˉSCvZ!#,X4TN[<;E2Jp੡x;-i$o|x :چ6>oaܱ-U&Kd,ZvEfQ<=[>ҏY/wj:z Mt^7zLrZ>Wǐb%bvU\E=xLs*[C͜*& n ɇ2٩nqR< غBhrȖ[ 37>OLM"[نmBŷZ\~. s -m[z"uY)c+Mf dÀ˚@[Z>V[&;Z*  @jkHsdJ2SUmh &[@m9-k5mhn`7Esyb3<oYѳZ*NH>+*_4ltf\٢Tt5ߧwϞ„O O#廼Nj`>/Oyp0 Gs,Ǔ9T?2Gy.{_3" K#p/VբGo&twٝ'|/p+3-<ʢKRKOg@ԶsJ<^|Q+q8KPxwy0NyVQ7~%Ɋ3KDh"ɭ4D9KRTk#$}*Tǯ%rz,t3=cIZKqmpɨ&z\y -4r"< ;+:}Tu4G>5y>RJmOLX1NN@1vrď+1WA3J\'L~Fjl=Jo/^l- aA]d~L(Ww}/?9ͯ檌U_-8K}4U^y //ŪzŷwVJ*M^yᬩTF,^U_eٕSsVjl9Qoך |@OJ;q[1EØJ3 dGjld] U>ozy`ֳڕ%&Am}R?>T5YWUIR]yфFi V>`YNQC7q?F*dVWhBOJ66{ #c=^#m͚˶~̃UwPZ׏fUL-rfQM&a 2u[iLcK6'3^ =:KJqUʦ+I.i3iKiY 4PR-k| + 4i"[o gas.Z<ԯni51LocXNCUs핁 㗝N°ĊKz tfӐDX`I8h+PTPSI[zAuWkHiVډM >w{47l0^i=4~V((kiV*?2KhB+410=>Â{h,4^>Q+5be҇Q:,%p޷hv/o^mڽjBg٢pV/^k¡EOj{nۛGgWG :,i?kLNq3^Z0G]2&TЏ àGICͅd_[eWNnhG1NylJӍWbՄ^&L U^ ?qr޻ɰ;|O`mFf ;^iv6Z3VvՒidv7>KɅQ8~)nUi"#$u;j>z94>TaXFU^ˌy9*) ֿ+Vh4)1 K E2V?]M -qՉ?(3/@е og^F׬Giiz_,6G}l|8 xrMu:)~6x rN*Si| >mU=n}^%nli͞!Al v{<ڏ|w^T@k U#e2ߵ+CBKiCuz2rsLewr"Շ:^˸quOYn3uwq!2}\! իz?ꇸ>4xß/|{G:?\|W}s%{Q I|p~TYv؇/2$kD`$7n)d, _|⓾Gb> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 83 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3813 >> stream xWiX׶U:M "**e ҈ c ATpq (AM@$*2$r1owkZ{X-Q@#.93.#)&ZseOӅpʟ UD  VIODD N͂Cfϙc!5;-)!1h<Fĥ'%"̸ $MF+Sy( Ω.in<3Wl^矐r]rbʗ&Szz(}ʀPS(CJDR.HMQK S/ qƥ;8/aG-m-#-gZEQӉzqe >6=5^gߍM6ޣ]?A Gu$:.:Eutukbω;#pVס">qb^kc|m 9sHj1^ k*tb )rzJT* $o:AA?D7U^-Tt A1u嬄pB]TT]܅؋a߸"J\`n;On>Š<Ƭ);CȇheiW4TEV y䠔a!c1u"pAMU* ?P U99amu*L[\\D ,Z >2|VaOͱ/G*fsѧEzIj{ߕI&n5e$vo֮w`%1 )z9x 7Rʕ3&iu?l^{K{/ 䲎dxаuNQqGgJu v} ДWks&80vAyʪRX(T!"b,,ϙ {V$ ҏXp ]s`z3#F`,΀B|$-15b87ov KBB0Ŧ.?L|g&l+a7J~3ܫT-qzXҠP,zMp{Yd3ZFrhg;/Og`1 wGߜ:v7W!O%wO% ^qon=u:jckÐ6x@[Q bV$0jS]On̓H *9v"NVMa4ĨAĝ[d;V[|N[YCcî}XƏjK$nOGsCw챞Lr-}b{ttG ش ¡]7r+n&1gB/23npH@(Ć3;oisǶ\UAg% ɄA6}]/XuX5zŒT5! Qd d\쇋CF2Ctd4,Y׃eitMeQlK|EW@v W/mB0%I2NjcC,Yfahp^> a^Mu`xS;r' P<;1o\"L gj(![IwW̓BQ_9"7Q xb穽#@gsŕ5=G2"bgvd<}ڬ5!m#_k%s’RɵD_uZ c%C{BLϢ*X+ظƛ}ˆtK@>$OU I/"hB7/^6Cpm*PJ<<>,rExOѦfi|i:h=6ǫ9-#^B8W<+Xa*!I¬\<=]ٵ}|i%CB~N=>xܥ S~} Dw+/|!F%ӇOT}WZخBdVAlG;|C>ylzlm@6Bw_܌^<]2u W>L!~g%v|0iiM>sH'/Ru6b;#Vg'ҷV"ӘObp:\dNѐF+wU#|B98:X/zF_P؀^3}8FTvel(x9QrI`F/И-21‰ )[1k\Wv!,.tda+x c몍q|po|ʒhͱ\/CwcЯJF /͂q;LWB $Yt|9zC^C1ܓ%娅ڦ ȭ$qTzxʈI_%WB!v#=,j뭭7$m55]uπm !|:1\J7m}'/2.;-5m|8t -Zp~-[yzuI#`݃l=pjzIۈ&nLHѧg*@w5&'>R]z$[þ|.> stream xXyTS?19U jz 'iAqp:f]I-j-*ُ>{w_HKďw Zh7XO^d_hM%7w"TA_lOLg}^o2UrK:v[)JΝ׮L#,+[^\s]ǗטS*dWUb=]ҁCf陂Hl!ɫ$< ݿ ?^ \ Uq){"7`guvëCAQ5rRC寳ĉLOӃǰ}ǥbʢ9UB^ Ν̎%?]|]{Ls;%#oi|UWTaa6t_[TB~ζ^: )Kzsd k TxcB{ 8=u8YiN*eg z? x\W#>gT)B|([dwB8DC lTAE(N$蚟\/"(4k飥GMԠ2CQC!Ҍl;suoHܚ@H4C>c&q6 s4.H1r8%te!C$ueVvuzl!thf(@䚗V[[@*rsA&0kÅׯ5u5>/18륊՛Yl JX*1-G+7oEZU;z[Uu}=q'J~g%j'h 'OE--Ϥ3!\} "nH02*'Ps-kMBSC!pZMRrL`Gw;:gppeԫ 巽sa IC׀_66HZn{RN8\luB}}!ms3SdM(oƧJu@UͰ/SЮZ38 g}uA3(ÒtyU 膎<KlGlmrW~_v{t6ei2!y[Lb2ɸ&OvXeq4I|[J> KPaڥ,C"]j&1?srSƳ7mr?y\G s*ڠ!װ!Ŵi#Jy7܂K}Alm+j$Ǘ zd姧3 s vٴ-{z3Y"q`ysaφfG]&~sؐ],e9bUm#{,v&xu@ Yk^@t/yY׹nˇMPH+ lp w`{juN6X),x_c0EIsMM3,kem|S%JDGiMKW$e)V^7+g/˅DSV˪/[ FcjT\gꭽiO>5oք]yY;g"Ñ%|8Kg-!T< O r&@(;r 7z8;q7AKTpCP H:;F {hoOIaoYA z/;{ ;а^KHix`ԷCZBؾuo'ercݜpC2j4kukgRChg'l>urhuZ*"/gjZvcCwY \*n磪68ƽn\]bC@V&{w/y.,D  d_ Y܋?Bo7˺50pj7!FzE 'z/|* %rZi2_Q_>=mr WTV'&E <\Q-lNA\Sq {!;5>*}6[txY+i塹![}:ɝkZ%)'> stream xRolenVF%1h96,: )n;n\+:`"b' l iS21qNBs%ې0>/oߓyއ!aᙿAj0`ɀNǩ^{e"vQb"Ѥj j;P*Uy~H $kITPӢVJ$p"m(-!-(mc%J"&mei^Y G㚬JH*ND5$4Fx&%V: cJ߶m̑st̯6vӋ=M9N@GI8&]wafL6 )qֲO8khW2]eXKUҙO BɣkuZ@ VfЁ9t 4@+yo~2咯- X~a UE^phX hw+Aו"^L3Wo~tՋ-9a36WIFW_eݻAK,B{<4>M@_OR &-*5 xRP$OXȼ. G[EƼoiҡIICLzR]pxXA@e8\CKg5,?K-|snF~x. 7ӒGh1u{kx>c۶@4ڳYn`gp>l>\^)V+! t33ċe~AaSQp\7t"{EzD^wĬ{ktB(ɈstΥ.endstream endobj 86 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 87 0 obj << /Filter /FlateDecode /Length 58230 >> stream xܽ[&ɒ^bjD/y $@0Gf6[a >f߮ݜV?t/dDFF?ޖmOۿt}ַ8|to^oo?ƟVI}_ӿ[ ſӿmFa/%%'߈[9wa]ߟX߾O_I7z/\ﭫ{iP3ĵko|?}c?ߗm_o{g_׷?v{v~Bǡw}vN~Ios'٦O};GW>1}wwx\dsGLxY\yy[Zg7J&iA2i==$(J~grukc\:޷=v= Im}@QWֽw<"gnkw ˾L}b_bTo9f8}D I`) #q`Pܰ0_my/KU{>N~Rk^0)ǶHd,DH-4%,䑹V2;Fn[g\{>.~k*|?V <|GX'r,9m}>'M$˲gJbm鋵e5V@~W+~S)(koa[5FK1Z\݄oiG_eAx- BDGq5%-yd]nCca y٧s)IIM.8+* DRycYdd4WY H G#-p425%-y`41%loEsJ{{RDʌ1ND40g9[Q]ŌϏetqpp-pBQj@Oyd{bb^ 8+O\䃠Gg7zك8qz-(Ys:zcgT`h?`G-D$U\2pk2! 2$cQr!\T T`h?jFn~ {_(B 1FA Fg#{,1u%,.=u=3s^f$}rO(aa#sM$|=ӬGܦ <>g}㌸gpa3DA Fcw7(FKӈVN8SGiyl1KI:c9h\1I G?oӘ0wL\cRN5&57,y\\%sWu_J'' kX ZK iY2ߘF1iF/u_u䒯9LHqw -."O)'6,|뽅2c_#V> Nт+f g-ȳUK䒡s1o@\㐒158-6:گQ>L1{'#K}k<4di:ql[Y|$<2& Jp{w Z<&=עAJ%Ѡ) hгDvX__FRCQK zpI_J #}74q;NęBҎOrqtPi0@ZSУ ׋* *vPiߔ`0>y_l ($Ā9#8=r=Ƙ:N* @>=z 26|$6T<=b|z^QGFj2mg@0k}we;ўR@\l?=ўwu;yyc$ў) agYgY>㦅9g󨳞zJ Fz=Ix&nwyHh6`g>y9t,l6OqyJ&,Ny+wXYqoGb8Oiє8vd- e>G<~Jo"omz 4fn0oFbpR`h??6o@Rw}R5+$iJiΔ`7(]  D! ƭg >nx0I˷d;DDPL'$b9~>j6Mpha~b9BYΣΧXcM $ÄX6[+3.u>@r6g9K~1ȣ l,4aeIHv4бpqAPCa9 8*$Ѩs2G8K#̲@>y+ |?#qq(iac8[P&nP @B)00YKZ6) Hs q>q18_ڷG`8SӃq<{qn>)S q~]qskٞR*8Ni`gD\,U#qT`h?0?lG<22 l\4daz0w(cR/c9 8Z XАFuJD,:\TgZAꔆↅ9lNu2~.xp lT4@d0|k/[|) M s[z{`۸_8#MY>܏#LZj'q`01q3yxqXleu1N8OjѤb0sea؈Oi(nXgH9>M}-4&${lp?-[V).}ZMLZ6f-ӂd׶ݓVJ&-jZ?b+m<0S,?a}s~o]_GX7&yn}D]X^`cXӇ1[J x̕$KCqœ$i.W%k/x̿#fk@7E;e5G96 ^RHmbpɓo(prO, IJ qJ6Ve?|$6&Y<&&y_Y)k-"OpXοf;4l_Σ\RFCR'8dksx/(}J{@.9, I#`0t (vŭj Dd O..h]d?qAR@|l_Or bVys)v0lqCxƎsX7<95^X5w1x Xc@cRXc׾0ЇY1R`4001ѳ &_F1K0,N} Xb~oLk Ž"oYc)HJvsx͹b6( Zkx t-qܰOq?oy{Ӏ0< <`a,@!~JabtAӢU%ɛvGuQ>6DQz$ v/ɣݸe6Xe8}[flqv6X<&x 9[}𑧍&I&bHBal\zKQ<&^i$U D&6Xe8}[. 뎝bi0JZ95{FT., %%!qBF))^:{)^*eI.=OQK!`L/ǓSn2)9gu}oF}n"* .Hwh`^y!}LKbm'"d{Oi5fhLI 6"p&H` NFdzY&vXࢉ~Na*?7ov> l<4@q08퉍`#`01˱r!ɝjh#H\`#X\$(뽈es9A(9(0SrŹE/wH\`#XӇq#ӶO,  sMmw8V`0 XCGQFK$,؋%!L4`00g$܊$^%lFS,G%ОkBEↅ9K;d^Wm̄k{lcn-^xHֲ,G/iˋxM5Kqœ^7a^렀vRYI]Qfqr,\}xY"7(i%'7lMa&yrKWҊ=#|%H\fi$uY7n zZn p(eav)ùvRt|%$qQ$fY .lvEe`[)\l+ 39L /Y8٣8pITWtbErFRe8}`Z1, FI sFd j6%Ю\i"2Ƞ4 NEdt_bo~JĎ}$)ǎ $qfY >v-JrWbMwE|9'>{O>LrI;$,,風.ٰaHXg)(jp]&0n#%,d6ip(]ˑS,#}IIE^0@{:٬ $. 4,$[@ }PH,3O)̳Ǎ=μ55{E4{԰8y؜a=V0=Xq1=~JiP=(ѽ?H[G򙥑|gY ك>j``<cuAAћюx#YI\hi$YCr&'g0ŇZR,Q0a>铈W.:VIvNGѡmyeͽQ`2-th׹Þ6ώHo#6 lcჭ$.>4, .NqhGKMNsNXnHSup5?,AyV{)Xm,g2ϹB^}ώ`ǸyDs>ŗ:qqg NEq3l7}$)Z 5‡ BíKbEK#92 'TJbΨͳc(bE~NYb)+ZO>+-|`(V(a἗8X`ܴ0h;qfLJI묝8%qgY >tR%N xi>+Z<m!ڌm'7&!Nm%qgY NŊsyh`0h/aK<;P->lbŋFeAxm)^+3BSH2IpIGCHXVTTWQ . P) j0JZ,Wx66AɬV_3?{l;?glDQDZvlpU i8e5$N:xU*NXgi08ZßXX{u]sEQ%6YeAx7Ola!FV,Xgj0JZxcb[ubb0?wSyjacita򀔅) KCQ,oX Te<8* @ Ӄq@zB0u/q@R@l?0QK[ \I7O l4˂BZn#~[~Nci0JZz8nD6]@㏥vXӅˊha"R`40g`{ hg`XҶ1Q;xa4'֋6ޟ8m ESRᦅ)|猣ͱgota l4ˀ]G>x: Xq) DREˉpƧ~l0PnEJbqkSC &f Ix'i[AҺ&_ia~Q3Ԝ31QqO.~ov/xْaxc0[ ǃCqƥiaNQo?[=%.rô`x,;~H s\qi0ʅ{m] m;@bK#@>=xv)wDH\qi0JZpxQ%z{}`K\qi$7\KKrEwÀE8cˈ=g]vxR8DƯN뉋6. GsFQ f8H=*3]uqƥp NEK}Ueز}+!* DR0xINm}|1X="VHb ~hC-W4p]$s,FSqҒ$x˱38haY .J 9I2OfE'0 j0JZe{#W6+kKl4@q0 yzE<݈QPCqœSpCHAp:ۗH~X<nT"KQœ{0&yc.qȥpY^}x;?\H\ri0JZpyaޡIAR>E , 5G"1>vG"KQœw!md.mm g cljx%I)svբ'aZV[pUZ{飔ox䆯c<>fv/8=c]$68= l2vBX:xF6&I3 }ٵ௟0 $0X^9~koy_G%6M?h,hAə8BjwH-4%,1rwv̧`mJ{+~#Q>s3kZEdtux"q4``~Ja|UHkLJҼc@qp",bHl=F E /ydniĕ{%yv-F2Ȱm|? wݸ-K@>F J4Z{ -47,yhxIpvc6 Fi`qا[, |4WQPAxG-8pFl~ bY>xo>;wg2,Lrc 0f~\pwXiDYfWsd_Fe!v78Z0 j0JZ>&J8S5p! 2h@X$dS|$ 80FN"s,_i0Id?'_]$B N 催fcܕ82}œeuٺUL=F Pާ㶏e`%Eb0((Dsfx,~6ζz@:w ZpMjmddXzAO.',VG4*5[S548ӂ%m( Y||QE E /ỵ4 gԾ={uS8n{hhlmXǏFFV|%Þ-+T$G5O;= +`Ax a3~S%F=Ks5*mP,ul ao!Z N~-ͲW.N75$ LI|MrזŪMϑL ܯ>𘔈Q1 ̯C%Ŕ) R|:TQPQœǴ*9|1]+J1\CXWqǶ^ea Gb[yHCqœǔ[tCK2hgY]c lI˂C%.Y:d#& FI s|s,IxhpIh#pSsyIր} > iaN"[E8|J۹niƏov͖F#Ԓbs h iab' tk|ܮ+اjhcg<5Me|$^9#~Qof6*Gzgfcvܱ{×?V~ z雜* \:2H/\)U qJ#WE2 .jt'wpu+NRP0/?OyveKYK Z⟺+N].뮨sp٥LE v-Çul ޮpb.jTi%g}̶!:I#K\oi$[/\e ^Y8XPܰ01 (2 5I .%$Q :6> ")i̽ BVש ``AzW6g6} ↅ<=ջ{UjS4SQpWƊCH\$ uZ'GS_#Qa/YL?[$璗sFn6i$Y6`@8]Xk( (l^>?U"((FxbivMF i4IͪW9Mpy/5m`fzFWﳸeKKӅg,>T#H5$ LI8AssVSq-MP#gr'EДF/e8}A3Fd?cEД9yZR8Ǖ\TjpY ŢJ_GHj0FZ3˟>\/_SKЪԠa\VI=ybύ<>"[aYU`'i`ɂFva5"Fa(l1$Ƀd=k4,q1DnY$1_#qQ(iacq3$=j3I|5M3 5+ o36Bqll[ICqœwz[|u/ˇHzŸ,W͖4 .liuE\fK ZZPN/YLK䜖'ZY4롟; l X3_~QmUA /)"~,_V[Uoc%8V ZlصF +vǪ]k$+y%BpoSWَ0 {G%u'B'3dkssV\} $Q) q+ ¹&IK9f8b BG}ښF40dx G0r5m ?i B_e졊@P}^ӄk&uv|6=Uq / |/<`@F[0 3YF=WHACAœ4bc/*B6fl$=j: ~˖q7~6a`JbZ#m:79F`I0~Z kҷ4,,OE DH[4q6Riavu*j*Sɢ:f|H]ZWe3`*j`od&(QPQϤ\ljOOm8~f h =Ѫ?B?$!=T8؟y~ߟaA9 J[,$ E /yLq4oYƴEx7jӴ Z Y|' 8[ Lg\XJ-yة%4@|@WNElE E /y>b+>-֦[M?&Ȃr|`y a0)LĚg1j#`#&Au =%8YN~1! D) sRcwR#?##N[mEl+i`M! Vq]ظf>$T`0ۊUGIn]`Gz QCeG,XUGbύ <1q]ӘsU8Ƥ48h8}<Ɨ2pd]R8X\APADq#.w8!GQe G`8SӇQq^ g igQ9 '0Np8ܬϖ۽xת4rPG*˛/Zp*(i%[Ut6lw68D\ˊUCYM=;u?;}׺42HD̴mNt|غLZ .P[ZP[Z.u^KCAœJ1>"<(T&Lb;K#̲@>-죂JH\lgi0JZ|5n94*DlQj@.|0Iqɍ'H FT|0ڼ$Z*6D 6Z VY+s֒juOF3i%9Z%ZO%ܨiA>U U`e#{5ʇuhlq[@c`$lAKm@.||(c\ EjT܋R>|(ѾMc_̿?V̟"58`&Gsd(䢑b PWҿxibP;@KC;@mf,;@k⣏4*wNS聏tCطWك>>7x6 LIL_7%.+^A\FiJzp>8>֐9ir>X[`"!/B%-Ç-B/;^`[Hqœǜ1ZnO>$7& FN ǩ rka#F FI sӘcW?}Iр/mLJ#NӇsy8>&(ia _w %yw &[|gT=tY<0/gШ>K /yLh ~GJ,GOF<%) xFlŋrD>/* sx\nz&-O]XIm@[I B7Om6%( F SxdUs yšJ;GZ&zIڣ&"F^RҊȞijtZN?i3#`D Ĵn3`ˍ^woZ޴r$ W԰=\PB{ӊW{xO LIL+EMԫ\+{~4إ,[칍|h늢ↅ9шrw[K^|DXa`:%Hw[9ZPbN/9z{"-?;ĵ:KNaҏeT y~U}{ʼn״ӾbSiEij-'cMO T%qtH} ?.EQl^FaަI#NoOQY}֠  OmڀBE^k[;-cixt&^@>]/6i {r \k5kq5VxPCw,joun;D)u&tT#0tT+ Y NF^lL ZqF^HQœǴcW[\ U4anf= hK]1g9y1Y$q.J 2 q~CIVTwQPȫ_>l$F.y001^5Hƙ,o1=6eO D``0111W%H;>6S5eAxy~l%)Oi0JZE ,ب+Oߨ~H)Os6 37@Y4%-y|Ws/my_C]~vz;O&%ϖVZ / Il_UcSi;?k5A/YL5Vv'Bm|c?jBX+ȂO(YAmam5A E /yjb⽾#.(_{YVZAӅ&˗NbD)JŃ4@>Ǣ`^.[QCA,&4>[|2nNHz(Pita $H˝"]* E S@Q'o8cv@'Ӆ~e.}$RAP\^y管qV޻"44`Axy!Y[P[>T[Q@bZxcέY)>M{AmK9ṭ}ڙACQK6 (՗x%ȿcya(;iai Xا܍W%'y` sV^ %>j}חĵb/ FI s{×Gz>sPZ$e4aݐd,G>۲ ^ʷ[[^[v+]?qE $YCQ#VIAKӔE}hz͵t?j׼QhAx/Ĕ,4wEC$| e$Ƀ=suo5K#YY N58k1H\Q^x pɃ?6biXRI(nϻ{"Ks|k{?_'z# :R%0pl'b,Ub|Tbp:#bbY NvݬH /C'3 j ȩ8cy(߼o[m@\Ei$9Qwe@sEb/JA”ż1#I*kľ@,b#, J(#<58Sr{ѨrVG{nPn~' NzOBc{3ʇ f6unir>| ƒ =i445-Y8 !{|=$ im$.4, |h5~,YvN>NS`01O#1oQv[w[b6jN':7Hv'j0JZ>4hZ^`AIzkQԯB|mnGvW%~Wk@/ ׳=p@`ȴ00ߒjG P>U'&Mpz.4b֥/ **Gq)2* DRY]רX)@+SY~-|=s{ųdAXK2˅ +j0l?},$8 *k-˴֬G>&N+|/KY@Y{P{EA FI s[Y{IP>>Xfq<øco ߗ$v*|(aa#GcˊVKJ5IUL#KєbUEeECU5%-ydn[5?JյℸM8FjmfU%azZ`]{2DRfP/I{]_(}aegT8,$(Z/ (j/*{((iaEi+{/A6mY>8ެsإp/ }@aVEeMt 2e}Id%}|k{ZM/nY^TT W T`40gam<41'%:ڨP An|X@5u * DR V~+kP{M4A¨u_JVT պg TĆH<ηr ̊ Y(,uL:bָ%e%B55Fl^c]QMۗd1Gޣ`;{wD,oOӫ1j˺=5-gfKgVqlj{S|?," ˇʁ( h(JXxxX}dyy{hczXXѶ,f{IF d{y`{3BS>,oG蹝G\qleh@%AazZ`z\KPa<9󱦢&}22Y+ժʽʹTǫ=(H(W/*hi`Ni &Jڗ$ ǧg|9}ަ=&eA_IY$;dÒ,/qu%0FA FI sp>p g![}$.4, <L9yi3, FI sp#2>L~4, p@}Ԉd`0aL I 0&p`LCi$Q5 %p 7ЀdT@l? E JnNK~4, ĕ% 7}Tb4_%ɥ,`i!Z|0*0fR 'JL@ :$4@b:$ye (EA-|9}E25[$ElGz蠹JpPCC9 ';mIW>,2k#8C#PQ@CQKi3%4jFisJ qH{8%Gj.Ky-IJo-˒nO@]ּuhn.@ Hs x)yă~5iFYgQq][5ơ?`;m$Xb$/@SFҘeX닒@|-057,y8QȒd܂R[ IcJM J-]Tf ,H Q6̂qLe)$YkR2c!0эsNqWuqnu,K"qJ "9"98uw9Gba% '9$HҺ e)$YUV gW=F9m`~q+/DH[}x7_>M^ x#*q~/>~OKwR(Og5k%AuyP>rӃ~-gӗ$ˇ+ j(nXpCNQ}Ԫӓ{AͲ1`Uٞ頪#) \wJK}a`MYxj'J 2PGKqg\^>V,cԸsw[%$MGyr(MO5>U^Wkqoj04Z*M/ 7˂*eyUt4@JKͲTx^>T^QPQœDآ6 J˓'ey2U\41~'Dmy5Gy9Pqz@ H -Upԍ1JJAi$7p(lXKŢٚŤiMõ(OqO KdEYvi'* 0@ S"PazA I SVaz PV(΃6U@ޕU$YVXu.,=ccF) H`IrPŸLUC6=I0vкְmCPa`XIxfyPVdjik*IO\%KiJ#)0fRMAbZ!S5Zz0 kY V5Xd> =FFVzIP@( ̓"$Q =(./?iaNb`$OɏVz2J ª@/ ˇ*+ h(JXx9ت@O ȃTyУV4@JЗ jӃJ3]!BU>!jNdiy2U|ܩ4K #@'UeK>YUh՝dO$W՞G?d<'i*9O`|40%0QUt^'ɒFTj^QPCqœV%xN@A&Xh tD VhIPYPZ>T#AP!Vf^"`G1n,Ī1_/ O*1a`M+L|;ABZAy,2JceP)@e5Gx9P5y@ H srZ=yIP Ńz(K#9LYV=d5xZ`xz{YN'/ cTxVP,4bʂ ʗdU/^.TP^APCaeTQ>B3\>&Oi ( 0X5"*dhm;iE%A xP2Ҫsҥž/Il<[<̫9';|I "<㦅9';$(QⓉ *K!2@ ,><]bc9 ';$Mڳp=j'iUBReX%A)qYXJP-r@HsNwZdU\U[) 2P%4f|%W<#{DduJ)ɔbu$ڲޠ ubc9uŅ?k*/ JeIBv<9L5$VxIP]Q^U;^Ωha)Ϊ/A~Ⱥr< JiaVuiu*#)dj?gEI.(<*O$0iAXeKUeECe5j4$l$(NzEI@VxR) *O Gg@01U6^}'Ȣd l<9JiÔb/I}WPܰ01U7^}'Ȳd p<9JiÔb/ ^ae 3 i(nSVTg v3xv&$wlL%ɲjr 'S’Yc'=) З\E%AwZ`IxB<ଢ;EX5IOR% WxIPX.d6g`011U^s'rd y~W׵^u>?1܃eFm$z%' l\4@&˂ŠGn, FI sN7 XB, :J}l>YH\t"O)8݌E7i AǝF 6$iA8]l_6'c]$6Y&ulYyǧ!``#*YӇQEҸ("9>+5KAD5g]{c8Ti; ؘfiGtaD8Uv-], E Sό3[;s[58``㙥YӇzǁ|$6Y<62\`mu6iaٖ%e%CE"O)Ld3jټ.?lLwٟd@, Pɲ@>l^V( +F6KQœͣ}1K"F%W d<3LF٫lqV N1Be|"Q%O w~4Y e@x@JbG#Gwḁi` fE0/g~  >D48_`cY>4g.C ~sjQCWxmMh$3V`dIVG]Nj%.4Ftln;.>[k%.4\C)do@pQͥiaN©f0I_v\'.4HQT-cHjozc-y;c;CAl~TGz-]9(Qc@w ޯfE S_G'[=6:+5$:G VcgXi-(9DZe!H|$>Qﴏۢw8d?L# NBe. c1P!zS;򤦒{PWG= s>p\s^WȖ1:$yiY8hH-5%-y(Q6~?ې+m £L}- [~Sk ]ח_kV`0c21ǶwΎ܂1^Ϋ4qk] N Y>TQPQK%5~-c18& -"Q;~- O6&;;b'+XAC} SՖQo9.Ɲw=v\3Ϙg88sTka}&Gu4ðxcC9x3|(? 7#) f^j]pM$HQەXtx XD  /))}(SK>[Su ^GOŦv\N 1>D+CPG斿 /vn}슉G?qgq(x\q\ieAxs](V9|YQPQœG斧\䃙A2[ck>g8Əe8}KIxLn>G FA smx^95J2*^.'cI* 8D|$9!< ;FcVp8W?ǧ~=h_!' M sq 3`cZ']=?,z2>M/cCԒ:d I9 Zd`0g1QXۓHr涬Qjp k|kТϘߤp!e9'I?( ʪJ 4, ,YYh`ЊqcfsG6{dϟɤ=7JYyR[$gY (adrc`04IIH\Y#$1mF5$%crc*[р/ҫ% 8Y f ]AExVPܰ01ѠR\deXL)bBJCQ P00gIH&ZQ‹::% g:ٚP=&A^lΠ.:W2\B 9E#}|fi$Y&J4jQ(5Ly8#jCQ"k%[C1L{4O\C$Z@^QhI:&+mY5ΚAm#4æDA sNzQVRuxRgTQ+W)*0@SpZt(zpt ^sZaNjzR@A F) EyI9 I)'eYIjJ,xIƏl>J}2w7;jkIrJ[{,:%aXB>PPܰ0l$,yȊ<)=4~per#ʍQ(7ܦ< H bR5tfi$Y5%É1h_C^wbGm:f,%q) syG0[E~{+V؛Ӟ70l'7% ByvFyRCKQCۉ#>"*H`#*BÈv'b_;㦅9gx) @<\y"x nHl46ta|gD>wqZ|J6d3iA8}y`aR>) F /y^b.pɍ_0r 3p,/i^>C^> y2Hj0JZp5*ߩ[\G`"#vIeVk`/K :}";KC!s?C%itc3s0ن(mwvۂY6Y_bθt3ί=b8G`c8Ӈ11Z>yX+l '5%-11q+v|v[h>) @|$KJ8AШ3]o$iz~ /⣀ 26Z3ƄF#٥Š'uP\Po Ļ [}E {6ߴGKG67g텠6JoڃY2ڏo8O盜9?B6):09e#>dr` vac~HfLc9ǜ뱀ߤ%PV s"<@7K'6o9|sĖMz^2tfdVaޤ>( <%#X@gl{,376ͷnS @9Pܖ37q37qsd μa7G4ZNH)@LEv[ZUm|SGYCy#ڏsx:ǘ!/n N)@LEF sd.E`ye)uc`ތcgTy;<,\"h"H\Nlkk9wB7)fk?ޙ5l;u؝qiw4SD(B\4lS^sA >>Ϭ6`6:s^6Iu\mtgz|ynyo:eKmk"zGl_< jZș/]wo_:=&eIf(ՆY zH>Yo h^{ KEX!; 3Y֙0ڸs@ݠeS_ lZnwU{Glйyfj`8"Pgƽ,UM6dfhoV8ϛYf56G\G6L{GnQli=%#7?s4;3 6۾7G^u0͂Imx'Q ̒~t7qr!q H5+6Ga^G6 ǽ;#};Z ,aG#VyMYZSv"ږ)!-A= :տlWRbJG] ا̖_yBh}HpPiR#PuTjc_/n$TR~,(4 VRwPʈva)Y[)apPB7 *0NEFh9!NDt`ތcqygqGC/ z) d@6=kW{oQPy0oDҏu87Q帰GiaQcj}πգ,衼aBAczCXd:m!JhCP9qxj179npj1Py(gXGBH^A^gTGJ M?ph o+Jk jeEN'\//3V2m?sٖ|hB6ɿlh 2|('= "|B>c=:Oݮ9梷$t#Th76?|Ymnc!g}r|n\16?GQ |L="=p̺^Jݰ'=5Ah3n:̺ {B7)fk?{_GǞǨ BqC {PS=びQx-l̓WuڅxfӉg,~xaȒ w`<7;׊^KjtPʈvagTU[N[#PH;ǺdԏTF;,a;c=mj KB7)MXH9+_gmWUjO9 EtaA\e:' RKB7)MEވhq }ʃY2}~Fv}29$tCT>D>&Y(DiO9d~8Rra< ǜZ$tTjϜl=hMnSL^,3Gvi#׸'n䚟sF=Dq_^UJD zCYսX~ _BypN|Px$tcTj1}`z6J7Ie_ nn]g}` *- 0 Eވi܎PK{; z0KFX8f:γ2rΪL( <5hssWTS>,aGQѺSm~%d l'ݼ|ʣ>jz<@wڃ>,GqfY<{}F OQt1A6Z|a6C6=,a;q}4عkK>?i3Z,s>ی;ےO;`~ 7Mh)FgmgIO<GJmF:W;RxڃymDKxﴽo#glxx,$= j*%l~9D2qdm)e_ѱ\Nr&Z^_1?ZH50<ͻ >jh<%"|GǞs^߻孳]|b{'= j:Tjy>ᾷSg8zB'gQ`S т<(?u hO{0kFX{N}iԵVq~3UQIjO{tm}^:nTc7+) z0KFX@vjK]S X50QԳW*x$衴+ڋY,9j},Rs?[%T٣vTqjսUUՆ+ z0KFXQ}Q[ueABW},3O]'txej6n`Gz䠬`zkw[jYPh:ao Q'~}vvfOGVjYPiZPZmVdշ K{YP~Ĝ*gs=2b^<AZUiazF`M{BR~TʷUj\oFWݪ_{}"X,Yi6T^YCY"—~TQ5Qڧc:ܭ-Y>Y"xDp[n5uWAʂjC* z0KFXQ}-U~䴌Vҷ;ˇ[,U^Z`jdnuPmR8 ='*T&}#4K˂ Q^k2d>EEeAw+z]ޏx#P,Zj6T^YЃY2-hZ{[j}LQ, ߽#5ouuVnz\s#H >YP^P^mdշZ˂V>(-RUUՆ+ z(oDX};?C|{oKaTvG{O^ǘY^TWl6T^YЃY2ڏۙ+[{ZX~~5V]3V??yuˎW=Yph׽UUق3y0iFX;;U㵕}:s4,{/ 3ڣWg r` a=azoKUEy?qz05kRUڻ ֽw`wK=yW~ uHP8 +]/@S @zTGElBo&*:0^,(#U UдGOGVHYPQPRmbdԍ?hAW (Ҭ) J>*JB T`Cvdvހ4Qud8+jCMYЃY2ڏEY={<}KJCQ;tin& J+Jܳv` C6"mhH76"4Q9"exR7,,aG}DҢוTTI Wx&LB #p HfAf1C7ZطzJj^P<7jq9mô}ct~t(Ǥ,Q#= X1YH<AZc(Fĉ̒~4(JҀ:#UjҴG!OVV[v2jCZ3_pߊȂ[ >VS<Ժn&jCw#ʂ~g`vh0t[M9>i4 ɷ|]VxF{>{l;G Vfs$A F!+oU\2'@SGA^ (h#Q^qKwڃY1;QINֳ'id{H;[FfzYXϞXm@7)dk?މZw=I#ݓEB7)LEmhɂ zjaP`E$YP~Ԝ]A"M;åYWW˗2/=X'*$O1jlXOl,Vo g·1!=搥 D-F;YϞI"X"P^-hx6J7)fk?ډZv=a#+ޓFB7)LEfz[P^P^mnS̒~,DI{FV'nS` @z⽚(ݠ<##X'j7ɊčxO 9ȒD T!E@!qUeAk?Z򍣱=1+ޓs]zE Ldz=#=ۀn0M̛~,w ̂<=$drTiDF?`rPK5UngM<'z͒t;kPވwŠk{o09u1BACçe"x3(! PW s$Wldàr`8~‚Aci`|4_|0,(ɣ!4.rЍʃ)3څk5 hԓqOQB7*@NEfIY;ne;nU`cƽ -sd~؟xr-e hQV>c!y>&~<#/3lUONjf}dS?܎_^MlS̑^,sgl ЍS)c˜t7]4PPy0EFh=X;-F[acol#qܐElcGǗB-nBJgͧ#}Ԯ| GI ݐ<@4A:h3 D(F%k/;HZ{6򌠣H<FCvS%"ĆcGê yCy#ڏ< ,`ƣceG%=m` jZL/y/Ǭ=綀c7t{G #@6[#~;L塼at'ܷ\=#_=;_HhcN93D]\;BnSJ.,sҖθC@Ƙo6NPXՊ3OC uʃY2ڏuǍ d9ORq?&8$tCTjx:sK綴Ny0KFXm>NݝuƾjMجNzdpPgz>Fj% :G%{h#'΅wn3{B(Wyt on4(4"\g-d\Hfk?ۿߧ{/.k (<0Ajd.}RlANy0IFXz0ν5Ê.b晻$?B7)LEVqAZnkk:T Ğqn=-}L "PWrrHE@m P`cmxؒV/Fw#Ѝr҃ wx4}s((<%#XxYU,"RxdYЍ4LS"!9$`8g}8~ !PWqnsD7 "_؈HN8^g~QaKmdlڧ~vlzcC/17ұ/ef.A?z9/o//߯K/;:mi@zP*__A`Jkⷊ@*F=#=p{fA_orO k=kr@k*F=#=p{f!k?mEi@*`J܃ڣXPĽ-X(`6$q҅N8Z}{Y>=Ђ>AJJ0׳ WgPֈ=}.me9)Jɶ lDCƽ VkU^Y^Gw۪i=@K d{YP^ǣP{e@&k:mUmQ`a ۪܃ڣ8#H,Q(L6T\YЃY2ڏNz[{YP~cij=+wf|Q~ݏcCϷ?@󇐳ХF |o!HoH-d7"_,eCr@<~‚ÚJp63uCV xM̂o0'hmnX̒~,x 羻ԉo""PW Dz̏ qҍ˃I"ڋOGkamXOU0nX@]m4@%͇f%&eۣ<$Xp1}G^;wEsW[FBQv ̵ZlpX>,l8Vg {BwM_ȯ"PW d^}vmƆ,aw\ۖZV&}q=oz05y˂j܊jjC=%#Xq_oRk]ex <Ahx۹fvfc+=%"|GQm~=e|7cll3G:zQ`P86cg@-tU d.A3'QmP ) 0vD ʆ:nD-@ݮGXְp\{C- ȃY2ڏ?ER$l6J0\ܗRmf]{R ۃ1}'}[H=x[ja{#Ho\Ifm@ۃY2ڏrb]^Kmw\[:19?-<uTyo:|>\R ̭|JtLN|[K5)孕\Ozj&J{Bsd S7w='ʞKM6GQ_G6̅GRpجm\IYЃYXҏGq߻G8P9vGەlE~Az/fo.(m4l&K/2Z򹧭ndXྊ@-j%ˎR5EfAfk?<3j/53橠{FAFc^hS=̻=7"q~Op-M\6;6lGDD fԢ=xo46kft!B<ژ7- :u0"UM,է`r\96~JF4F6Y{WmB<+Fv,aC?{zﱐK]W@mt4$ހd'm^P݋[('k/Yos{DZ#`n[fΣQ:@t@<~_9.;>q@3AԹI/LO3ۛE6fEQ qҮk/p*L;u` ϓ[cy;gMۇeTxPd+t҂=FhYЃY2ڏ:k/ PXl摥z89TJOqr)uGвj FۀOY_e]3愶Ԧ2Ggm:o[nbl1KdԦ2pצ3j4ʂ̒~ysGkwK=>Kt踎S[`dlݫH3ޱ3,,xDJ䔏g1]X!Ó(>qK^xN[U4Fy.=XgeZ!F<"_qoS,?qbQU5y|̞տO E! .~Eܠ64y( z0KFXZ%hyt>:m8DXz=ƇQ74|Ԝ5?qsө{ieWl"Ἂ3g IIV/k}WdyG.'y5e$YLGK \JCǏZ̠J]2d խl[[̓ꪛyKuQ!4e>оʂ̒~27[Ȗ7Ɨ̓CJ.tZo%gP"XZM``_'Ž_/ qڅ־= Uڒ o;(as=μq'@PX 8YȃY2ڏsfA? |,eބ0'uA@]m Q$]DFYЃY2ڏ:oWwAly-c :%k8j'ǑBAȲ|E0Ej4&C{by2-1dMsdcd~=B/}}84X C}tvRf8iu{׵-o$a?jԳnLy{Bc=7,1.vRIC9"—^g]ڼ?*,wǮwߙ;b;>񄼋^k5&(Ն՛OwkѨ<%"|GG}E+OFa~ lڣ#Ptђ9@|.$̱h?wAuz@}#&:+DQ 3?#̮rl=%#Lz8򾪼y%tcTj1;n&n3;v |[Dy҅^̧3k~W?F3͟-ـ(ɣ%2N j n8TL.,8z_J=o8]?F ҃FáכKa~[hPy(oDX9[7UáS;D^6n8T`]m4zٍC;oFCaiyox]q5Oi84EC|E:GWRYnx'S(`2@(r@值p0\:5&=`atN'"@t,(|,j6\:Yȃy3ڏ>)#y:gB7*NE&uF@0~U>&,W ^{hT@Ì/lD3k:wWߧx<5=6$td?ӂڊwk("_h֎;x~$^lӇC,=L?uhO{(i>.WtySzf cO&Fjk }d/mIS__g|3v_#؛=nS@]m4æe9EUEEVUWeAfk?ej7s =Jcމ$+pß?c9݃nSL}t}=?oOyn""lFltß8KD֥b)nX@ ҃I!khf#@i3P9 ?ߒ_0 ӂY4x~Qq.nKC,.ζdaM~yt깏q)$tTlQϨT~}L=wl$&J7)&K/ gqn:FA( Ѩ éF= D:*D2k:XqY'd|p|:{i:(:~{A5{A&Z5kn$Nye*4h3g/$R'c F;塼as %ܷ˱!=v{8`nI$t#D ;H6ˎ*^?u h',-B_}F;c~:uTjlvFF;d ܏&r&=@~DЍv,SF;u^ŶNy0KFXmޒwq~w+Np'=3h3j؟i7ndcRKH+[&*)BB7)pLE,[_0Okt#`c!}~cl}_[nt@AiNaԣ-nSL^,s: s:{yF sSU,nsN9,aǂ916mgTߠ!0"PW tn-갍 )ʂ̒~,3qD7:#ӻAH:;,i ztnhmncWMĸh 7n+#;لkl$$aE'3-WUikqOz1&=g2ua9y"q*Yl'-β"|G# zμFDsoKUS ]-{NKrPsN8Y+IЁ9҅4f'~%թJj {p;aN"(mafk?:yq?Yb- :/#6NjՆ9nqNm6FϼayFܰ3AcB) Bœ>0l7` Bg4:iIhN%^Imj" 5uǍFi1Q9(:~Bg3?rӢ34gx%hU@=۬,;(*"D!QL~`9bO L{k֠Ԧ(لjiR7 hQZ$"|Eg3 O A%]nIm6j"@k|Zb]:7q6q``,q蕠ᕠf(ՆlQwZEm6jk?:[ԆTjttZ?he a61L=޶u }\IO.YtE?S,{_ mxdP{_ L 9z-ǩq~k/_,iFhc|N(mBjfk?:"'7YKj#R{u2+Alڈ̒~tD:Ѿ|j>6"GPGFF~EimDjk?:"S|oO 3%= :M1d~~֡FPxE5E'5/HQ #qoo[:6JڃY2ڏIG9Iͷ'G\h1 &!= *Wab#^Z -t ej=h7Fm @m0,.,`mD*N 2QiVՆ*+ z0KFX8f:5\Kxpay*ucE-#\6J70,fk?:ܩplŞƄG_[:CJRuU.ɥ%̃g&[ǎy`plQA-teC` {$l,]]* 90Eva& i6X o@`>(0 z( "{vYl3+K`ۀ(ƝE^Z#=Yoqj#(F8YЃY2ڏ:k{yW]`Ab?YzQ233@hP @]myE̶m@B~Rh. nK#Ȣ(>eOW@޶ToGnĝ=%#snF-!޷q?y#K?C̷K@]-e9Z1P GTru҅T%wSQ 8SYsʌ }ж|r7GsՑ۸ YЃY2ڏ>+G-9㬪kPy #t{({mcK|?8B=qdշ53Kܒ}op{cгǼF=={Ђk_07 LH/]Xwc>e9sX♃)@{0O-E`+&J{6;w=l|~`:_vf*^DÙsxqmҸz3 z0IFXz,z|gly~:G,/o߹r?}^ԟGK\XeGOpf@&k|Up%?ՁyWy*˂ msb)Pmp'DgAfk?oJ:?gYrǎpn`x-e>ů'Lgu.Hwo~e)c_^H[s71tC'14< =%"|N'nP1b,d=uԑeijK)}=v|"t GbCQ:D/=7[xj'"z~!q"<Zhj|ٓo 6JyCP]yYwqYezQ$V@]M"-958BMnt~Q z0kX:Q';6(KhrU1c%$NUnA{ĦP ,,aG=vc=FKx]B'G>Fq-U  8)ȃI3 |e5;"j[bn]qCZ*ί8r-H%V\˩M@c r`N|O}[ZuOK[bsj7uDYA:ovRW z+i_ޤu«x5 ]oQ 4:8 mڣЧ"H--ςNM5D w([ޣ=x:o?d#mYY#҉D{hQϒF䕽gE4[ϒxAтy3d3oޛ-LCZ8 HjYai@a(ޡmÌ5 >io읆^30IURڣh#PWW,~Cx`[C,aGtHOF~ͼӳg Z2+ Nߙ_bނZ^>su~ KWiYbeҲz]Gmd^U{eWw*GG(-` m-:r ?ƀK7-&k;v #T iͿ5hj7j0]n`0_#Oq=Q[F1Szl Sh&Bς%>Ȃ%^L;-@_30t#_Vjh<(B|6T +q@OQE5L"PbhļЯle$衴+ڋΟxY,RH;];6"HWyo(V=?qҵD/Xxn\b`&L6 <@5SW?k*@hgz(KDҏ?@w1f$c~c6 <@Ahy|\.};[D/XxN,4 z{תvaƟFϑY{GOmǩ6J7ZEe_AY : e=O-#nZ @9Ppɖ9; 0gjMnZH.,zFУ[G D< <!Ȳ2xF886F Դ\Kc }.yG "@f2Wi"ˆͼhy0oFXhCE[x$dЍGY u:#~ˍGC7-fk?}/ '-Bsq7^ ݯpx635h<:_#|tPވw#vWy@ C^hS2c{yOBʡ𦎇?9fd/<2]Xgs~(f% mRnw=#/GnS̗/7m{'z x*WMB7)MEF5[zCXzXm|XYЃY2ڏG-ZM?1q;jYq1XПJ<:{ҍyʃ1š<ö;Ӛ 1!@"PW uƦHneSꔇF l%ƣccaGçB6Ь<'yw  A.Ƶy7'=0-4;VnڈS/]@;c6>Ə oS{)tCPވcA>,#3"PW q3OC qʃY2ڏqǍd9Oʂ?B7)LE>Pϖxm'1d ܢpg{܀f~;P7ILF& 0  w %ߕrvaA=pmßoV^ znxS }߼6ifl oCY"—~,x3J vp!Wj@ݔ%#X?v3RB7I%k/$j4YbaE#gnAئ<@.Azk,Y(f7یlm}-t#`mfE-bT?" ūhNbkbt؝iQm>_;-w儮SצTԢvHKQQ룑b ޖahTmHmlB@MhTj7qMIЃI2ҋ1/2X.YTj#`{ujx&um6d'~v <3IҀ`xiMQ ,޾?89 q 3 z(oDXH+Pe[X@ulQH/=1ӂtԻ ֱWt@<~B3747KŅ{mͅQ av6J Cy#ڏNg~'-QWx{[(if3CvaAV'82^\, :egS,,aq|?[/;,:*C笧 P4h9|QHTSA~PO;+[ҍʃy1BChsw:bc:bz,u(ک;އ!.1/*nPy EEX;1^Sux!,uT}mkY+#[mmn4T{ cF|}{;S;9DƋmYCکF㡹czץnIF@F#NZ@((=Ch4ޗ&ڋ[=r4Nz_|F@@񣵐O]_,a,gf ~h?.\;ntϘWϜysް V&Ц"PW ~MScdo!e#;3Js(`Ԉd=wMMY 5ڻM nSJ.,3XRkZF_0LH<Zkf2r:PycmnS̒~,3&k{L7l.nS qG`ZC|i)†QQOy0KFXps~.,YO$YIB+ ]m4#,kjz!(ݸ<%#]^T6\DS'o?%˞6V#-n '~8'ZYAzVt5Ӟ~ڽ\km>=sDbdv;ml^WŽ\_B5^R*˲xں͉{eBͫe?0_ Sm_9bl;_fۿmd~>$c{ yVrF~]~cW[ l_>?:6OdN?5{E3=[?"oxo1>"v\>G4gm^>oc\-aF~?߾vO3[ؿ?fOg^Dy?u0oՏO'jza#NQoC- mۃ7_I8_GR#q zcz|")O2>NHla]}M|s7W}.rqc_f#j :^煴HKC(wh+z5aBWQKQ嬳AkW6ārEA; "5x"fq"D@zj)78kϢva(Y2iv􉠯 K`ę׎Ǡ"Ih~ehzj,܁űI&tפ?VM]Y 'EMoSY7ilҡI}M:5vq!?B銜AT,tw,Gb)  e|߃`mwۏO ENyGߏǙ~wGqSi#Ah;h"9*wԾAW5zri8 o§))w"'MnhQ}hϐȍ@3_dtr!qrwMs]bB K;!5/=P19ۓlsӨS ڋcY3=wx4`bdQ̟7MO(u U H{#Mg((ԍ7gz@mVQ#bU)jyJsk}ḀV#, lkǃDx/4ESJńg[+Ͷx侌sACj21_ZˁС(-+YvWWG&ZwܺnoL,Q|hݫ>E0٭\G)^`A\|M΄2ݠolbyLCHo`8E 8!1l!' n,3$RN2~пrEqEMPOG 6ϛ(󼅄 V?ŅЏ;<H9$0=.C+;xJHq^LIE!T=2bW- %kmץ)`eqBYL_)Q5ATx#{٘'zaRA()Sz] ܃D!&8Wbyp(4xveQ2:|Rg)wb,@77>c0O~/vu Юf]ˋuï ?c zK~Vtb߳;Ҵ0zKRo]wzubl(*.n/gTZ[Cdc|mȪ }Rk>I8&OA?e|9;94aYAMzZTaWa^v(ƓIItЗuT<]V?ikbtNrN sgTtbLҥJÁ>mf tVC fUSHJu/%⥳"I?*egbFK䟖Jܿ7b>ObI,[O&=LaEcVtyv QM]j?9~Xgm>fm],]BUo;ջqXŦ ijRK;s_N4=WUSendstream endobj 88 0 obj << /Filter /FlateDecode /Length 3918 >> stream x[$7>B =%Hp ((Bw1>.Oݶ=I$q_=]ݜ|LϿg^s1ޙnf=뙳ϭQ&}otVdVQrdAY1.\ )#]'L9n{xTFYSyYͯgx|nۋٯ^ =7/͢3sqbɕu{X0&}jzQw/`+)+[؂׋wt")-cw >333^u/,@7/t 7ĉBuy鿹 Dpg|{dwj[.6`5j'4ݿ#`]! &ᘻe츴8Ixn9S\a== KX3nVn$o ;*e}t˵6aAaa! Y,PpAgt.qm]+Ⱦ#w 8жvI^5l%p;#x]$MK%iQ$s@I&@h `bJFLZgqeZa kBf;1"jV mQ?g68+k H]h@'H\l*RU*0 vOfr۲[Ϲ`AAtUx~,.OuӨNK1 ]A5'=]C~姈=gƊD]1duG {vs)Gُ=1"ʁ@id FwZ 00iiݒR&K͋vA&7iÞ@Hؕd2[20}e %3ّ HSfRoK=UEOJI5i?f-=8:9sh(ЯyBⲜ!HB밎p)!41B^&NWHpJ}~f(oU~>)^~F+uֶUQf\/V1LiL "qP{MWG%'{<} !ٺ27=ȵYP= o'\×blJal4 osh ) @CC@ȹͨ6%[ F+@+}EYu0dՑtĜи6.,+;N1}Qk@I9SPغ,n@=F7--2``;7B\,r5?fN*O2j, 'UjzROArwP0?7=z^5[&SjkBjaz`Hl? nolHo/A(_9Q(c]ynawL.27(xuxzA ˏqXhemg|z|\IaE_4}1m7wW5 q>2M $+}5C`Slo?nXѮȁ΀PU36^eTS3XCe61AZjm t >,yZrJ;d5Qn|GlJPZ4ܺK%XJs6ک F=+*Y@_/ ˾_}Xo7jB YB#Hȳ!(, tTIp!-8oS$#ii#hS7T)P8xV&A)mArm5WRj` VDȠ'sNnB4jixZ5fc2lRn1: yNQ<3Jí@)E 8]2ڮ>Uĉ2;n"-48 L% qs\{ .ʛ!' ͑t$ 3BF0lv;.v⁦} l8$"z/PMyem(LMPl&WYd#yyw@[ni#\ԯ̦|0%LMqw[rzW䲊CHA"8(3'cڋ;ÄJ$@RQa7VXqX65\sk8HXX?r@!n<*-kZp:)W\ȃz["ADkrqVoEoNTʲRƖ(nrQ?_E2s8Gm.'Nj>j &gʵJmɾSy)5v e SBP)ZF Ǯ*f9{H=ɻ;d[5=&[vjziŮ`7lah &7WaF]=΍ƣa~BN>Q Oܸ&Ƕ#A& ޓh:-7AZ~Y?i6YS[}@r`r2/(QH ͪ7Ƌp=\i0?Tjq m']S"w)y s P(!cS&+)~QRL&G7zl^!҆c] "P@;b$ pB bLOGac4QB)C~į H6́%  ?F=ҘQ nK970 }:skC?dNSEk~П0Qpʆ̀SviB de9DDŽ>혇>)ǘ REnQeϙ޶.z>D P*jZ*Uhq`WcQYBrugZ qӢ%\H0ܪ`5Plu߇¥(Dz}Y ҙĊؘM5gv(uz:Uap*m2.-? ),[ƉgaKOA,Az*Ig K6ֺ]oy]678(ҧ:u~AJT ^b >qWځ)*CCk@??=gMB%#Ddc=/A'IBu>c_ g]6 ,8O]@a_ ؅Fx?PimODL iI{>T'9&sR?j)Ĕ [Ak\cGu]uFÇ&dȶØT/ǔSܻF*#JϔuQ&!ԍsз靜GAH:9#Uyݮw +05^ha9بT3"bgorsuendstream endobj 89 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1600 >> stream xiPWbANwC:nr985! YH!$q貄z9tKRbs'6m'㉛i;q>3n?t 3d~yy><,5xe{wlcJa~V|`:CVSE:x:G*uixǮ]yl߾KV)ŅqyDTHr]8u:^0 $54Z˹ybRw\_^+24jHR#۶*u:V\ɵj 2V')V`Xv{ +`aX'MxS^OK{mJ^%`YqR,%>j@'yh L\|\_x4I)uaWP'`ZZH;MwwGAx"EY#F3SV \-p[[CK>jkH^lmv;%^_0o@|Ƌ%(m@z=K^6JȪ"{>VRQYULʾDye$v̍q!+ Yx x^`gum5$*/P&A*+>\P)byH6oF#~eUTh+vL5~6ڶ<^븂l1e\E\WYh$<0x9iʋH0*H?5^Cc6YTiVo@`hrlFsooM͸h m|fnZo4RPNg#5xlZ 麝i V0ZVu4ItvӐAoZhk<a蕥[׈1iX;7Zv]v57U. E֦,cTM '&Ϯg-;gܤT~ l]Ubگ'QFX?ImI)X )> stream x[mo$Qȏ12J<:㍓hrqpiIҌv~}Xlӭw `S],"B7G3q͑X8rw˅Nv-nr\>w΄wFtZU 2v&*al0i-[ZfAC-*Opq\J',SYm&G_ɤEѯN].:oHr!łP(No|WAu1cX6kֺsR-ߌID BNw 1LA I"!Gčʀޅ!?>)<yDZ@kQ0H`+`[A/M2}ܗQFzet_Fwe)oe^Ѻn'N-R.]meah_F\&[1]V.N_bFevet[FY7˨daH'~3!!#[_+_PfQFs%xszol&`jS?nb)Y6J0-r!Ņ!W+nv}l}_9N߼~ Fc讶gf' if|}uK@  `D>@B@bVor;i|4l_9YGl^g׻w =z蛓(]ۯv,_tdl`jT+;+lF@ X\o6A+?{Ce./֛mQ. O (>WNҍuZ+ ܜ<==ϛ/F/ )HfsO D{!BhH9m&,@3zs .ϟ&7$a%E/Iq=Ӗq#K #BEل!p8/| Ϲ/ˑk>i6GU~"mv6Z'˔nL~p}MV]EbMmn~+}wn,)|rQ „ ['T'eP"KN2yL'ϸ|ج>.~,9w7g820ZVu`؞i]wQH.B>B+dŸkbp5QatA:BhDKeLԎ$HΑʹmYʐP-8gJ;H\V#5(-|{]0 0h,)'5 `?Eù҆%ru"HFZI~I9J0(:KE<@ 8/ߎi~! s_ם\WN.´ʷKG"x||Ya}P\ЂXI&B_C]DKI ֖=O`s[F?>v+BV^Zp?+0''%PLN*\ޤ&qdBwV"~!*WEOs5ƬNJ1+bƘ 20Y u2  !Ly&xHS J Q``(8dsxY3`GB/- X%`l I':x1-rH=}Mx`:z~Y#{KcW0L@}zMP/mU38_vY>3 `}au ap*o! K]U.r* ,|bCT25( 6jlV$az}JBIT|R*ˇ dX\.UMv QE"8 E(xmlf !Q +9ZRBkh^Ʋ'XeU#%׆iAqCO3̇ȷTۡ,SH B9;Ie#;^A)i!*mYXxef h(eu-~qت ,:H``\ +OA(CsjBG d~$ͥʸZI^LV`ĩ\޵@ jS]r -h9UOrxjI v`L'CJŋ+"Qsv[: @宵$Ot߁*x˥?V+n㌂Aq[f>dyY:SW¸) t_l0yHeN[c2LG '5+WU9g5Z>K2/ iNQei0Ƒ"ymƳp!@ S 4–lqA|- =MyDhT86Ӭ°࿐fCeM5y5xK1m"HBp0/#1k/Ejp|-0 t*0d81~{nll_0ƫr:ÿ.!⬗ml߭|!ߡt {y] '%Co'%b']^Hqe~d9F4]U/*|HTر4m/EGM;8r!ɴZ+;!iz AM_zrȻ$P\r~:\zyĭ- 14,V!B|\kij ?D,_K؛Uv0"+LCt?ꆽQ]^ϐT!.$9Kfm alL>9[7SugYᰥ:q"kX~Uu|TgE0 shZu^7dΰ.To)>-b O z^p#_nz fĺ 3gaQ71.` Z Y`yžf b%7l.F"_B$'b<tItzChm"ž-@"ܥ^ TrՉSM3`Rz۱e|)R 6s ķR"/7|0DIXnvv>¿Wg1=MC!M3q3,P*'╂t  FP'Al |]И$3>p]NҞ8Ol)k`+Ws~",t K[~ )GRN8g%X; nk_ GI!~w$6-Z3=S/;יE A۔ TT@m^GPbB%s+}`ŠP[?h7` tǏzZP9Q)2ak?@ⲭ Nf:VxGM.6Á7gj`q"lz9(G͜ĴcSenRMxчWG]> pSJ _Z睦^_9vY< `̴r[y8k5T_#P躠K1_ 9J[Ba=ؙ \fvnlB:gT~Ӕ?yOI[:A\.,\Y<>(0ߙAOɞ5oHfI]oMjrxFK,XZ.I$0ۉm^=OO8,gmLCeelM+xYEM;eӚveIz$-d\a(!p'=jvP!} jrjםap|&.-t0 yZwjC{VK&lvY?L}H&[ _$3H1-6rߩLgK8!9:' l r[mA؁?vтִNdmѽ c!|6Ъtp/c ʨpǧG endstream endobj 91 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 610 >> stream xemHqm+/+#!v)H(bTHLMj1O0iz=ۘӡ(^H7Q`7}HAAzPi;ZZ램0[ |''҅EtyeeE1}dc|;c͌ȱ6FwzgE.<ω\i*al]%BQ1EcXgkvfl,+ `st6 iGijutѥGQO+)1_'()=%TWiǑT&g&D"+){C,r[/qA8 uZdHt&(ԣe䗶%Sy58vZZ#QD~%hL~K~d* ʠB!w J֐?z',3x.?7SyaB2)<HL<\Om}iRwm;v4>I5 I>fE3G{CssӉB( ,W[kH,_nvY  0 ݊jŦMٛeb9܍\]EJ/ endstream endobj 92 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 368 >> stream x%KKQueһ+!LkF![Ԫ0Rh fR):iNQѦںl@vP,qp ּZ({,mCswiv:ŒhprLE%1"2Z hGJZ2(!Kt iL hi3EHvceEUՐ Br\Fj>a ]9CО a/_1Y VPB>J]|U?w^ dY^5ccͬ%꽾.eN^ҲW/޷ 4؉hFEf5h {EY皭LJfn4n[h[]o;FƏxa _( iendstream endobj 93 0 obj << /Filter /FlateDecode /Length 2696 >> stream xYَ[}'p7/ l# F̐ʲ>z{AjAf:Uy)F.hB,Y8)G+[' L۸Y<[/G;#F@vʪGkUTڙ&ZG$VB ]+tL (թ΄(U)!)gavZk5NWp ㆿж"8:'pX(Bp O<C >q)0n3bU/6O{ŒA|9̔#0rjmiyV:ՏC[n˶;qdVљGmuVڷOmuV\6)9L#L0E%*R M.YT`b'7jNjQΈ5F#rH^Ӝh}%9-Žis"i&'(ԔH !QsFڌ8\}мI̷jl,I6;nov NkT84kb!qLk|.Կ a{O5l5fw=2*A`R m;N6$8A WTeSYa4Uw&Tɉv"H󥏈IYfT̾wi#ٗ/u]9jۯIpPvOX.wzfZ3VG\@c"*z x |ƅk!ERrH*> !r:E*ૼ1z"nQX%)kT/+*2D5G(ܺDF9ox̍^O}~% ~w7طkt-G!K^Bn&3(E;\)Ԟ~x%jXv$ЛaGߓPZ3! FH)nq-,(̣`<8scD,aF9+[qPG6):hc7ˢ2AL4`DgLntyEtO ' ehЎi}L70l3EȋOp vNh5 x$rCBX=FÚGhۄXZpSjJ4W7) DҎ Y&[#`t$/ <( QÇ*^%_1M \zII5%{Ȥ|>u,} qm48\8j*HEF/F s4EWy8f5>54]떮$*6z8%hd1HHOT]uf-mꕆ̪rJ6}<((y\'-kNty-f=K'ـ⼏3 M 4$2Y #r,Y.9Bf^ݴG C%^!j>Nʌ qn9e &De%-|͆cuS8\ʫf(3rtN?U^5?+;\$!N O?P­/dw߶Éw~⾭.QI2q':':Oݤ_9Sd[?"q)됢 #5 Xc""=hrL_ E. LnIgbGuZ$Dq$uN镓,p9ǬávOlÌ"4QEuPoj q3Ev_ ZPVB, .;M.Ju#F9i+ D3o4nӳ `GpH}лK9}Ow|Cxtڂy4͉SXr3+]sPjzhbm'oU!O3ke^Ը+Nb> stream xX[o~_G 4 tX򐇗Ɖ"dYkuw9ȫ6 y9/:L{[r{ӕwA`ި*W>JٮNWI]wZYRIsF5b&7v$ULQn LF|jd&M+  (S6p귕ɆƟ]l]RɓެMgU°q[zH*%_N`;[.t=Xk7!DR<>;5BDhˑ k}) x!19]ZA@S7btөFAg&hm^o궮uuSWuk_̫xڦuuSWϑ/I;l4Lߎ!Gd纺H1Ϗ2=rv)qϳs r&gV:kC(es_a#;u'd=s&8$DdT Hd &lnA2v ҠfJ [T4(OԢ*eF=ԧpFraQXTtP[/l:E ^ mz01y@&@أhbP=\26N:RaT#( e6ڶ@p@-j(`7ͨ@@) Td9Ң&gTkOso? t*I‡:4Ey'Z<<_L?vDrpzLhYtAIHcUEH2]j@H Y*#_\G Up.c'e';EI@ vr=4dFJ;*O6CT(̥ǝ 0dtb%XLrכFpp6o^l9HUek=Ŕ7^5XOHdF;Fn P[_8p]%,]Qp%NyI ob0 "SƠ; %g`T08ie:O`6Mjd `|ڋbB&G"rr [Bg F*GUL,=Jp(/DRv}O\=~_]1dik?o3CCn.p:f;T5v6wP"9tz\q~qW_ޟQh9+Tȇ::u$4U) *x-)ߠ*eFM{F͔e%bIEUJJ(aqV̨i5YD xt= /-r\^(Kp5`Byi&j spVsHI4-~ Y7kJ0N]AM~}f vҼ?)a( \@ي.x @nib?~NˉdױQͻe.وScd*o^mnn@>_mnKA7Z#.:edBژԿۓֻqnsqɖ7EװR%1[:W$5;2l}[:Bi9l J $Am*`(^nOIY<.dH>B,zQ}f pƑ(,.9H&CE|́⣇)08gEwigIe{$(`X:ˎ0T._b6 s DQ>Y .#724X8E~b uf8H'"0ٱ۝A-%;b)\.[)Gx /;5W'7߮eqt x`宿dko Uk掩K|2:!(Rw1_̪O6]/e`+1p:ezhO R,f=6h"λ]Zh_vFeq%Fc-^^j"ؾqeM!H/؋xѷֿ+^G)1Rk\|6yy|h%xcPy`׌& &hF\楊y6!]cz#ok3X'sjSg+[+րo$4tIWT~AHUԬPm[WTӅendstream endobj 95 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 936 >> stream xmLSW-jQ;ˌ "4N]qZNξ:%zheB, 5 8g ?[6(i <]v˶va\I-*ͺ,*i-iLZTN<ҝiBҪV%a4 3̭͡,]t-EV_?F%{fڍmDV Ȅ֢(H8bdJY{SK#Rx"i nii-G[7Z[%wiO%  6fJiB &5OVC X |X9ErcD2tƼ5%'O#a܇YT:EU%d`;!ⳣζYzØ~5)q ~GA[a8-ffa=÷5 L83ܰυD$M9q zBdvBOVaT=3҈#i穇R3l*Awnz2F lZ8Z`Meea5Ʀbx Ⲿ+|xcܕ>{? 4\pmvzuv}ޠ |Jbm4t0_#Y9"'ML@|@^b"W>i [cN n q ^)F: |Co Cɯd9YK5ᩘ@=J oP䳯s|X{M| _zg@aQi7̝XݗcѪ1XWK \ͻN&ADL$Q bi )Hw$=`ՁQ O0'PR@hPF/endstream endobj 96 0 obj << /Filter /FlateDecode /Length 2821 >> stream xYێ }#A=SK'pY ,hZ6??dz2 }!Yklv1=_n u,>$khݒc[I含JCv.9y.)n)Vto1LZ]2kP&1Q*l9Jl!)bV5TjAuw,?,/ťn5\pa0؀M,4.75Ǔ Ǔْ1VZsu}GBΘƄaO޻Ʉ٘,4JI5/"B~5| }_S^#qՅ5=k<E fo M!`OQ~?=xӟ3&dtӟntן^OCO_hvvr7^?0a)ܟLAOow#MWWW 3y3nqѥ-9S6!nQi5' .col!)ui >-{`T߲ 4kd/XPITdC,[ɓdQF <Ψ J_H I[q/PV Vb_MܤQ߬ PI[% euripI<%ENI%Xm_|"d7R|i<1(dC!U8|4L-Q*>-Ą"D\]M%cphF 9m^Ԉ  4BRTI)dCu6L+hjxĹ9 AúSUf_kjX04}b삧TAS}75/.)v8[F,]un=!`P,>B% 40Ljhʰσss^hd$)Y\x!ܺh9 3VYgKȒ4!wQǠ lv<8LuAT-:1:8Gh7HN/ڿn(iIQ@-"6tF.UCCj% V[ %6{o}Y1`eP,>آI h7 EkhʰcZ%ϹIb6mYhwŹCSӔ3i!xM54Je:1Kf1`1lhh­AIBq@a6įy_P P )HZ.P6s- +ECM cw1/wΓ0V|JwL C0YhQ*> +(r I4/@ƀVAE0@f, hOՂ"k !7 =&Q6yHn(S"BMerk^A™ϓ cl˽0GSX& A54>eg Yb-m$I61[QEp:&9lf֠K&:ѪP4ՇaD2e$I Sq2!Q1 ˘&gIw|& B54Jee01ҕkĝ+(dp1"lb# e!Uª5YzXop4zh`Jh%K LzTi\K" q(HFbNWIJaNIBPbc3"L(YuIEkX-4R-<1(d)16|& B54Je!G)8w!܃0Eg.4Z.aF/1y mC0YhQ*>-D>bE[,$ރ:rа1Mf֨ ,`h tG->&EhQv}COwH!m |iy;ae@A`&|Ÿ ŨnwBP RyPnlLԎ V3JqN PBx5nz `dXJP-htX'BCQ& d&2I<`GpmY Paf Am0"WfPs-< uWzИ)nt.!l,Trˋ֐n#YMV -[?dh=bkhG_}CC/C;1ScO[UW;/5j Gchѯw@촪7 =nfQNdxMJ"u4ơ4GFFDCk3fRXئ<C}ͅյGhg?c/l*OZ ǻW?Nd_w/~~bߒG!k:g@_N֤qg$?q}oW%^׭TЏG7c_ŭ [g-u}G4[ݫ֜h0h9<3 1Zf׏;N*[;K )N&sspvs6H[y?=\ qNa6txVDƭH&wmLp]%Z+%9ʆ27(| V4|^tܹnf׷Sx3+iS18J/u<?EQ>r%j73OB'8YWړt?-Tm>3b *:ZۍYgJ J5F-uԜB!1"Ҹ;6yoc{Q{u/dendstream endobj 97 0 obj << /Type /XRef /Length 127 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 98 /ID [<5d11164e4259e47da2487d6c519ac79d><5921934032bcc5921b9f1fadbcdcb54d>] >> stream xcb&F~0 $8J:?ߎ=@6,($A$N0{&d:"Hk R.D @k5Xmo 6X|H͓``fH`5&A$ucR| endstream endobj startxref 185823 %%EOF HSAUR3/inst/doc/Ch_analysis_of_variance.pdf0000644000176200001440000025626014416277544020256 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4480 /Filter /FlateDecode /N 94 /First 791 >> stream x\kSHBv_T:5cgld׿d -#Rw>}ܻmD%%:&&q$6$O\9D,DDhHU62A%R4҉4$$ҳMt%2Gdg>0Rch!e?mKJ ר׉Q'MbM;9wAItV@ۡ]&RMzxFB-c:2s@2K @140И1 Y*"D h\8Cd@A!R~2x8dI0,3Z+CSX@V %@hiYydͱ$d-3@IhYX@N^g2 FF? 〆d $- `t0ʠ@ k8 ȖfqY+!f 7, X.Xk<&܄h=s4Db+Z{P-?~%art>ZBHf9OER<.__mdv<}@Zgӝ2O~?%e&\hy?:?$˫ T6/p0; |v~sދl\_Ir49lYRfJg`~:^NVWm*hHeS(Ym]wV/a\>V0rOm]^ƻJkWkdjmBߋb=%3mnKҴ0t)LOx_BG nM|| qK~,^!0]*2A~>m;b2B!CR{ .z4KaG;<OxbVاF'N"؇TJfY*@dB3CV?Iڂ[TkcUj{K|YOׇgABen~c0"&Ob.{Kv {ޱl>3v6̦}=b,ghq.k.,]1Mؔl/ |<;g@L9[;[<یݰ)Dr%Ca9J upEvw` +NMՋ6vXݴX teg-X溾5?oҝ_ Da !KdP02k%kA`"zĹ#ޭAvBp4U2UI+)O w T_NJ/HAOYukBIkCf+J;rK 8H9C!]b .(p,(. 8,Sm+*|mYλmO/Z4ljL!:c3j5]<\YQR*R4dklpֱ첣`{Jɐ\yRL`+T,.- 0=(RPC3V6υ&r VZDK bhxE0;i:>6LvXb>L!{Î>-LGbM8 ?oF7fn_Sh~ m0EbK40e~yMpqDk(]+ƾwLe:6* lR*Ӕj/,sB LQx=2#D窿/U*AB$:֩P((Iݐ{ؗZ.E:| hKt'=IC@`0ה%ZQr:^ӕNtǚtntlrRWeoK]R5bZA BCLt[LZluwv?W}ƒYTL!=:uVu^݌gPו6坁AKO oK)Ͳ7)HlɩkmrTZқaYBl +ũzSJh2lj@ kmӤNJR'USVwWCyM I^]"6ЇlH[)ʆ u]x{ki[%V]W{(OIWsnPuтj]Vj(jr=1_=*ԘwݧoA6c"#bVW0"Vo5@'TWq{3SCIҲ/ʮGJiȒ:Gkg_ʭfMoj"bL!]ON 8Z_zX]0ō{l%07ڹj4v|{s:CiL-#{eݚ=Ks2$Tks2Mj@+1ceKtEo8:W|ϗ`RƊ/C}|F/Wpe](^d5z{~D'Z\>jxc7B屶MNln۶37\{|"w'ؠ݈Z=FeΪ|O{Pe*cE9YǾ8>U^ҋ̗tihm`(>{d3H&#}&x d7$lZ3 #v~vx<]K[v P nƼAe7Пtn ilຐ-Tf!2hѹia(I oOV5ElQc k=A:5nRCQ6y"v,cimZ3^=*,1XtdGutV+)1R%W1<c fx}u~<)9ʘ U?jTe6F$RZf"dA+FO( 4{\,QdTkmm6 ll$=K+66qK[[?wi R4kL &V8Cs%S0/0^W%SJR&‹Tb~R:_=#V}"H\ܡFLIKR6pL3pPN}qY*4͸m`"QZ8p>{-V,<"&*FMXI2S+\I`8W9.m+TR3qq޻7o_}7y5׳We <'.68bˬ*mTmxYmFUq|Ē%[!Uۍc-SډogZFfT[2kE ZCw]! N7XkzrsD/ov1uPSfS !|ZGTv8yta=h#OqܨNCA)7Bl x!0FM}-ދ0۽skGuom{l94P^NNCu2rLM{}~(jm+6AXѯKCܬu6 PY5t"Т\gRD!p6  [eI+KfGYFa09ņIRAƷWC?n_endstream endobj 96 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:24+02:00 2023-04-14T18:29:24+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 97 0 obj << /Filter /FlateDecode /Length 3440 >> stream xZIo\O#oKX 3$0TuR%lRWK7K1ʥB&./3~^.ur nyʍ.:sn KUu&8:VY c Ѳk+TFoQyt 4Ey[imfD&@\„1Xk|7uB&/ů]1:ǧ ҈\Fy go×?hDT0F Gz v?eR/O%RV-ڂ-\,\caX} 3J2:[\a4mT8uHr Y GGK!Iik]Q#iiIz ,gbtJ$HB_18qO.Qd 4=lRFN/:n5X^/2pM$}3̎ ۤ0T(^LgX"HMd++%}ө)/ LTME@jwBSyh>b nEOFrEr01vL#q@nNK8.&앐xSf*B 1H6m_T]0Y1Njo* l@( !pxNp$#';"e| r6'ZL[r 5~B Y̽҃]HF R}g:7z*U-Zy#^Ud#d]m@ t;N$){#=@zk̡x w0 r& Z<[.I&W*vJ k@/X VL/(I) q'Xs~ @Wb{&}o AW\p^ɣ vq'цu 9] !2o0h8@0`J -N 0sH zh>Fšmi f֔"hNZu紷t8GZtJ7 IF#@ (h |1S) ?(TTN_Ѵ1" ݼjqq@&eMʂi_<,cC!ޯ A0m3٘ _uV|mQJVHi8e2iS!NQ#ҭz/^&T(:':O&o A+D^+:%at Mpނ9K&yIs59t=Ɍɏ#f ŠI0 *Jo4 Q % f&5fH{tmcފcq6T2#Kr ׌]Wf7"t*kPS &Vgbʂf:^7p UvB0^H3=`8ΆOgs`iO))q" Cɬ?LzȦ.=cgl 7P3}<"dʖUίЊʬ.BfMeN i0 Lr HvFt"jC4E3)T*e!O;(O2PR'Mg`n^v1-1ɂ-"I@T+^Y̯Wp@^䊵1֞9x</FUYx~ f"%&sioرjF$clWʡ)-C:mo. b7RO.lor7B8Z6mKu['K@4H~d4-YU$<1 m&}Ea'd@;(WF ܖM0'uvuS_}RGn>g~=cHQmk^wu:3j9`N3:ST?%ѧuDަ&BYDx@ۙ>ٟut3c;|͏Kt{_G3z9r3s_az q뀈- oTwgs33"(=u1w;.U$YQnqTisB6f1;Ƽ;hagٱ/+(ucN PsHY۴.ve8*şoK=zs}cysByOMlO͌o'v±oPWӷ-k[FjXr-KQmYbZM2Զ{Y+thn~۔Ip0Uǰ[S;A\-LԵ衉1ʦYjf)bͶC贻{AzO5 =[=WGp ^Ό630y?#SbKR* 'I`I@Ɋ2즹 = ,qpS xfE.ʮJhaP۱uDK5j,:^KߔNc7+:Лe;ӶB2FrϨnq`XxC-,7d|C[UsG4S.*+#qmߒHm7 , nFߺJBvӺ{ONR]J9МbsZl{j{ན $ul&,?[Zy $D}ӡyӶTレg`>z (yF~t:H1v$>HRO8UeA( ?=9j2+M6aKA~A8Y^54#cknjVMGj232RXymke-+J0SpJ1S]:nY|FJʑkY>(bv;67^œޞ 5=b2I .[R]B]|ݎ[:_GSbas;Z| RD| C {.K"~7ɨIZ 8pn%%!Hc"X+}n_q6W̶ W)v"1R+X&/7ܰkaC=HrY. Upa> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xWyTS?1sTTŊUZ`pFDQ IPIf!ŃsX[k[o^m{ǽ}mky+kr!L&St[1gtiLxGersU\F 7|06-#Fxm76F6|6hhƌ3WeDɽR&{OM1$@$CtBf^i 8{a<]pFW?ec/i.Pl0 (FB$T)@m0k-.`yi3Y [ ,{ \ W"O NJrU6.hċ]1EÕRFŚ vKGX>Z`DS-}+xT n5ehz >QZ<``{JH&rM)fiT>p;=MāwEmᰟg_D%.P+tZH8?J=|mcKmp;֒n^aG+m)"|T + WN7n;`xw߽!ĉKǡL“Yg[o9ާ Q"6QC;qIR,R{~y-՚M7ndǞZQ G&2 AV~̑(OX𸨚N^BVz^6*ô^}676)y[5G*~ 6U$X+W(IRtΖ}CǃZ|[-sp7 h8i)~>ney$ҿe]?բпpIRRFCo͇ѡL ru_fp4[dV}_EV @z[^DIYK?2XssIC22&h``횱reU ,,ԦFZοyV7N*0dWeJjo*]c@n L|}b3i X2g{\Nw )f)z؝fS ReUݲ4zo^0C-PB4,GKE/3rFQ_ʊ3++N2p!s)W-؛TQusOmpP-ZE}Ļ.wVdgArlrwm.e8K{'g;n(ѼjF/︢5N] lNW>q_RWf3m9St̔ڵ5Ohlnϡw[| Ѻ@].]{`1[ ŢJ&.)jLHJȥ5*j`e3-ֲ; .^z&{p"N3?QŕgM <=8Zhu+փauqQkE9BƮ]*JWJ UG;]=u˳)/=/Ewx}0bѵ_A%**Y {0AMziB6, cH\_u.̹ͤu5Co0c3R> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 101 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 102 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xz XSㄕTP{CV:uyy@I! 8uVZp[kC7l{pCIL6} fΣ?ab[FSPS#j$EFS1j,GmSjHm>ޥREdj1J-Q˨rjrVRQ(;JLI[T5A`jESE~-_[ЇZBjCԂA"P { {r=slllvMaݫwA}-s[moqx;B7yubkZ$"dnφDMp'$S 84laâ wWv$ m6KtڎyB~Xr6@q%`c6yƯW1tzLЦU;Do7Vjչjh@tOPkB@A{~8jQЫ ![V`"|KE|x/ D=Si,&7WTA%y-rk8O͠4S`CBn5gK⃗sRHl;6\4&EiG|:Mv+=a',L\ƙ#$Bf'wB>Qp?<`,e=9Y7pՇ ?DŁC}pK+*`5x/J]\7c|$@ _{l3@*a&LMH7GGr x : t3r&W15#+C>{{_ԠBWAa.K$"IӶ>RS|@}qI== <DN?" br!;Q*.wěcsԆ69HIE!0ŠKNe鐔mӰ8p?t<t &4;^]Bw|_"Gq%[* =6M%T1e8EgƵc%eEtͱ#5ǀzn*>vk$A :ƖXcn]TL 9/;OIiI6Չ?ac[xӑ! 5x( 1!҈ĄPg`lG4s-6"8kBu{hH;bDZ vلx.0ء κӼ#* M&T8MuXE!Hjy-67[\ ;o MVM5VgAz2A&2S J5n|]FhHl5C0p1<$nG]CA?v7euWƂqm1H<'33Q1@q;BXC8Xl{hNQ L"H= yjuYрA>Wǃv'KkrsH?[G@ NE@f久iJHJ;Ogx_qHT"n @cu(Ŀcavxy@3]S$A馌I3QS'_22Z܊{bqrR#|\wGI׀'F^g)ix*Z#_ە{ˌh{:/ y 7hyH53qL:#и+W.p,G%U?3=& څ|3۠ɻUD~yz\DUA[qJ*"ýp-?ᢿ4*ABZ%4gc?N>BG ^HOۺhSzk&(HXz6LB9qI8P]c% CڅHj_w4G6"oi"Sfqa=";n[]{g),{A&A 䧡Dg"HmX4"!wp=j&(% RUFB(x,JC yA }V& cWF.AEpwͨ's_>Ew7 _}ݕ !yWV|<:G ? -ZsbM(PpC[#KWGf3<[џ+Fr2|-:\.O?!gZɷѫisV`f.t^.UmSKq-|c7+yE8IEﱣ l?i]43Pw#x'-FrrF`[ BSeEB2ܙ/6{t?@4b]Yɻ!! gaoÎf6KIϫhJbw{\jE2HFAh^H\v4'MUYV(`8CE jUgl]r8ҕjEYaRmjW_ϑ%'LJ=nI؆&b45L7 nOLP?]rAH9UHdQkΘgXD:lps!VE4:9p*+=k|]vzh$G DslH/kddžd$g=P=Wg*&[zViTdU{{B~*mcbxݍbY#Ǥ*%cN2-i$Vc!2*3 +(0ا%&B.4 mԔcb282J{|S- QǍF8h6z`9i9ʷPȃ +ԕrNӇxopg \բ;AA:\O\0u?.mtoH1M6(:Sv FG_qH7U7cb񏣑c-=;Mmu\7YqFٚz޺Qě\b>c0s gV Q|69_&0FT:U\VA4Y(3Ԫ 9?$*B.G*h}Aڢآ8J:V|2/[@eYh=`^^E"?%cHKۃHXIKVS߈ɰ6ƠpHԥJq/182-ŋ< {[7OB R4ME.ǎÃC(4# ⷝޕآӖf1Pϋ~Çh KJIp&8HWSrx :h'UQ !BX4["ꛟ~~[_a iQ[OEh* Ss?(GkN+GPnWuͿ^zzW GsiSy(/ $Ex 1^,d@y)YQ̓Kn45K4dwЪdi2Hbb s˲Kj\{V ą ?t5xwHcwPXmẐg-˱ 6UsWJ/ U&#%vcm<G=a6X|,Xwb<툔H}Pq yC@o(bQ> ojj@C30}f$/XXF*uwj>,t( d>jP妀{u jM^6jivnzHW%wt$%GXҋb2ޜƑvI,- ¸ ]!T11'CN]#{DTGDWDTT{C>S5 (;fHD :4J ,stA$C0qfpf &]Y|U[j|g"tH'^;%dHd]żs}P; ;KuAٲ>mSÈ]JQȕrs=^k䅖 -g Ih[{=7>;:SQ%,$x-k&<קG-ߚ" % ,=?쩃*2²~ _H! a ewJKY9z5|l%t^_|aM,R4ϴGwfYtk{.ʹ+Un퇙 yL X6>j8_|_{)&b/z'Ƙdg1 p1Ds}1esXN@H,~ 0?@t@'@ׄM4܊eS!Ȱ#jd:HIx@>xe*ɊFu&/#`_@wDoc[l3)k>2/E *W<6ZBa_G8_':-(ug|j?,Bόv-猟(ڏ^wN_&3丑sV7Dטtϙ\,hS$0WIpU*B )Tdĝ2Y6pDwC-9'O3`/ Hpd  G~ȣA&ޝd0N3ka+=% \Wb5'n~i,)@b3@x~jʮ_ Mg#ń6 skj50HHH]|$)PfgІ7,㇕}!z@q'G߰4Eo4ho7pXo(޽x0$߰1=AF։slʠ>:ʋbZ627kzX|VRD|Vj 7'?+vMteAz.DٵŻgg݄ROO,nH'X:sc4|4DFyY8JHG#G19m@ s+W/l\k*?~x .24yc4.-\^Rc=hϋ_" ;ErcF X0oƙ|vto[ox|aNBt qmckrrjJLEҸd'2`)ĸq.0zr_AsKi! |L#sl7V[POO對yoةY_WhoׅoCz=k^iwU4A?_-~)dl^j6bjwc8Sj5d[V?؄ {ϣFtZرczx,`鍚 23֟%O>` EAW4llYfEj0E>=͞m"}h>Ɏ Ž6[T:]4$H:%DCTTIIox'½ڢtvhA^3_VVF%9RRŒ&73Jdeޛ{p__ZUin"e=[<;-Dp*K&@vh5 EQ4&Zɋn>6gqKsfK~5#nAZnPuf? PH~} O xNK$>C=1]` ܏WhcxrG=$_U^Hc89Q*Fv7qJy1eŻϬk7لǟ?ݠ2>e  ͞\)4Z,dD.'JP+-DGN PՠUi\m먓i 䁐_g668Qփzg'i\pP`cf#$f/pH~z#ѠTt2<)UdfJ$tqԾ>&(bKz lMwߣrO]Eֻ63"oc 1Bd?=h:SQRy)# qi/(AyYȧM/zteշ%]~a endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6343 >> stream xY xUN ?T"8(*KeQhY Wڦ龤ٚO[JSZZZ,((wu{GtN<$3eO9~'lq,6=aݖ>vw8,&90y|cs 8lvFr]0+%)9g\|{n5 Y)q1[brcriwdĥ$^rrNpճ/I^ESrgoONKz g֘٣[2e]F07'!k,z~ cp}hr6nۜfaܖ);vNX~bɋ|))S!ON8tafG7Yx!;8/x7ְ|ࠝ(j&Y+@G'VNN~\.zJO2ͥԙdVgKeR(.c'aͿR e EжF-:"(U2"[AL7;$s{(im"gv[jS:X^ z y[q$.<"9Wmh١R!.Dhjx$>޷ < I#J/;\׻d5  zЪtj2[qMie%Jq}~eϻS⡹)05D' 1|'£s祆Q{"{9S! Jm6hQ> x|l۷Sz:ORlB$ÜC%q6\Ī?2< .OѠՈV! ~ǽ}3.`^|ڷ}}K@㦁j1:p#CmlU$ F; hM9%6L, ګ9sH+h* ,NDc_*<Y wHg;$M"VCzVBgS:'jYB*HH+ DJM1<:rh&afsk@VޕZtff;D<>34C8YF =GNovx=io Ļ]b=h3cԏ}_>^ 4"HiƎY23`B5Y^{Digt,Vo=VN0R]pp77A (9w-L`0UPE2В+'SoUES}F}h/W']Dy̧D)3ᒔdEnLz=݉?_]k'Cϰ$zrC$S5 ! ?&fb3d}x咸Y<׃cr%,uG/eNi%TbFC1eNl2ҕjiĠ"#y,=#:~4E+Cz6#UFQ # 9how$'X`1:`t,߃`59Aey*/q;S9pk,y̲E?PwӥhD =wN ) d[qmB V6Sy}Ol6 jPTTx?p*_ VF4q!R/eft5:x>_dV%oOr2jBMML?TWͲga3XpW "?])PhɵL%~A = ȒCÇ~p՚E<^,PvD ©trf" ve 4}x:|d{>mE,|h޻28Q4n. +d9?swPB6p̴Ri K,j6cktR/PF,Bm|k(el8}lkfȅV8)hAG٣-zP//\ N J9MK@]#l'I=E=xUXz5i3" i %\uU Zf+\+џx䍹Х_+YNGy=hŷF]u”9J8@!&-ſu` 1Vl΁x2QZ Dn'.va3=EI16ys׎LnǪIDȡ(h1C .t#{:u8{Hg#c/82CrT4h 6 gydzNGq|#xaB 8GcJ? vc#2#;/ot*/#?! Yc+*ĕY&(ݍnHn6U`5tVhȐoѳf3c~w zKKKlVn]uvx X{j8ۇ39r_a:OМY0NC/j˪FTъ[Go)֚֞ psݸnt"vۯ[?Zbfɮ]T`oξ(LCs_7_L!ߧ%TXܣEtx%ۯCf8mVE"ѩ4Y#=5 tXolu^GTco?zigɌ/%Boj,;TA]D:⪹$4$.NaC_&:'[&PP+$/N~#cO}=m"CK5yEyM v Csluw0j=̰A!eݪ 6)vB꧞MF' SY*&Z`Yc ,mluuX|(zPٝJeyE4ڐRQ 'ݯ7)5N;_xL'xO`gMo34A[[SZh4d ڠ7o9* g6TK,+F#i0chNs-ƭR-綒2LHV f Oi8CK5N9S\h0MP&ܘ .mc[ bmS(C}1A ZGuDz:z݇\NY>#ЏSK`>Bm]MYo̵2szHIܕV^T'"pQnl,lBn$%e}<Δ<P}8xgMSCY^~qljiRUZ,96J=z.;;6 3h22t 51Cd6J],_d j;Gm*M&B)l<_T󓆒,undPWWS@ w0'PZ{d wXhKL\vFfѿwN*F"! Hy?ps|hp˼ym+zR22lH@evҵKT2Ƃ\W&TY\ ]aPQO'_;TJ1n(@3sĺZ]e=bp1@GWg`ݩV0= /ڰdx~`MeRtb)ʼPVY^D`m0U#I#EBQp>cB?.JH/Uz,]ov5L-h=>-wݞj/h3+辛GvJVakI$)!HU*77_c̓/,_NF cc"BBA D=p E.,Z瘦486~FȀxȔd JZ]`{,y,{n7-}b.W -Au jW,2RΊEa*JYemXaw,\>% n>yh].G?9U^g@1!Wo~:əpfhYKmF ׻]"xg$t*HCijmcDHtA.HP28@#T)Q 23P S@Dh$6ueez[,)OyUjYg!;|7_*4J1Sʬk@܌v7"oApQ;<\wv)5zª2дFUSxxRe4Z-{yw)`ZSޱ&yNܼ8*jUxn"֒5uF7SBh 3 &:!yzyg |*u\ySoEfߣ梨 fh7ufH?Y]9B FՉj2RRr*< D'n w='Q UTB(_ ƴctCVT c'|L,X6x}:+3% ׽h>z F>ve#43,7oD`oBU oؠ @YXAOApcn^ny F,Q@V 7DEĤ'y$ F=+m֖PiWCZ`YSXDԅkd<Fj$FIFWe#>Rw l 9>Bb[7d|y2. Gendstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5643 >> stream xX XSֽ1ps+魠{֡jsժ"2 9BO"^T26q@@ :8xC|2߽=a 6m+_fv[96\3KQ~jxkdDK#ʇʑo jLB0nqU@( ٪ %cwh&pOJTW|_a6]1'UR)]R rc2Ĵ0D ^b c5Elƶtסnp1<2q gzm@EbZ!%Q!`]HKweO*|ም}5}oYSO6ωLp3|kq 93MGYFS#q" %C'Q;smm,p8 AAUTg,K\M㖋xGb1GSm3yrp0>5BQh@r┟2'C?`a K .$*D̃S篟YqEJ^nSSspE氅 %=_FE(@(H{"ةJJb 'pYYzD4#8|SPWA!i&jOT}"3fCU j],ꁊ?l2zoo[ݔrIy!1g(R i]N9k9Mo/~~. g$Rœ>$ϝMUp =ϵv"jxv 1 *ނ=wKؑ0G}9nTsXUJڷ}9|q"ۖObU/VCFW6ݕ?ib*DݑCO2^@np 4pYܩz ,?xq:Da]@y]u`APlOБKHRtd(_Vz>aJ'WG9y>%& KI\rJ $CCu9ܑ.KS Sj)L+g4tk3UQ3J+N/gz<`sڸIMc/'.JcwFZ<+olEf 5BMAO.G> y ApB7X}0JTVG$p P-SU"RWR{m rË>ģfAߍXRWzRp`| 7Lŭ;ĂIr$Km}-VKE,\ᕎ._|uKMFW F$8ֱ2 kxy2X=z|yq}-B+0slᵳ/#9o0a+ !C,0(}sT%lVϽ.60؟q}M*z縞ֹ)ljk>tE޺a+?͗MS"uqQz^_^U yͩ~xEo6ļt%Er^XE\X[(͉qpCXfֳU*k,iYFǣhGQLalaA{ sϳЩ[;U-䖅|:). 3 H!F%5\gsh{GW N':1]?xݷ?Z@yW>t:zSE,o[k#ȩ6h~'9i,@ >]]SyN|x_$n8p@EaU"yoyӦ%4d){% @A03Zu+ HQnJ%IbDbhPej._ =T,J9RqUQN)qybLL55VVҤq4/S{yR'o@Q6.>1 'k;k5|n89saE70\@-YA7mtۺ"Y +En;ʕ'2sQ-I6B`b9o*CU~ );q]FFSSԘ|\Uqw|R fd%5/\\s DR%WPh&`~ sjm}:v=|90RaLW<Ʀ@YL$"4ANW,y: %ɋeYdro~a{ݴ{CǛ^f.ec5rwz¢7wmfтkFNuA;st&w4UhZmRyY٨+RRT=Eg&e[Jأ,|p6˂&ɛ}D\o#6'x;O4gB5iwVCB#oxhcir ̀{J:,*JHǯ| Xe"&;Ic[ִ;:Bl>BπP= vkB#MW%d0 ,{c$AJ&>3-] 7-W6L8ad ~5=(1ڂҢRY,tTW|jhGq=!Ϋr(EDG*y$V՘Z"Qp \U:`8؈sjS?SWwUڤ$x>ћc7B{/o1&|K .Bˤ3B% &r_sG:5"E1o:6f70 /&^2k+ {L76bLKr<Gf VA  wktendstream endobj 106 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 107 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5910 >> stream xXyTSֿVċIqU֡PPmeEy I9!c3K"Psm}WZ{n{;7Z,9{@ &Rbb,!cUL_ } Q῏"9?}op"/>fwA6x„W)9t3gJcr};Ų4yBG,I&KNMZ&'ʤ$tѪKBBâdYjt4<k+]!%ɂTii"9N.W$&]&)er,;V7^*eiioJ*w&ON4U$Ks{ch2)%~yz,)5wd8 )ܤT) 3hG SRCҗd,\"'ve\,>KDA!!X9b 1xL !`DW`|> }/>1>_$SROI=gH8ʠA=><_/3C4C/Ƽx7@pN8V$74bL708`/ök'~G&ՠ,AΠσp?~8.3-h,9*R ,Dkk5l<5k&^j "[Էp, k *\ES ;Nd:rӘ3[><*GuC)l}@ƞUokɽxOv|ĭNʰ> 0C(v0Q^=--ia?nk;K7"NT7C2H8sjA2ͫCZO` zOvKnЋqrN.[Ġh8 D/@CO*B>#Ѡ)+ Id'Yڷluk\k)XDqsHaX .<;yQ{ jhTRZV^Z* ]W񨮢Xl8;i]@W&TU:jc.+2T@-dUJ U2N怯;. 0^Bz(@Fa Xp sIXy`mJ>ŬP+ZD"\#N1ߞ_3{Ĩ`DM_uί@uEP?Ɗ /B}pdiQesE3Ӑ^Ha#.np(][m1 -@ bcos{}f@C?,۟rBdVcGQqЇk"=*%\V*ί5bxDM[u )?ђ“{aDS9%.re*_hYx*E0Ja;;vƒ4BotVkQױYDLg8 0p U򞾈,5uVkQ3T {zDc(W\2yyYo`l㍋BjU,Ls~rN&\f:Ӯ-֦Jo=s9ytޮ=Y lĚU\;h;nnmS5K4PKUVq^Tw s#-nQU%řeAH05|A-ݕ[Y)MzgASQ]&ȥ#l0;bd0K ??W01=vt=88*,b,T4-*(/їq W'oo?*kZZm.y!`63N,xʘ^(Jq@7g?_63-d"ﰽd$r˴BMR&QO.cpPr?&p$2=Xp Yy>TVK `1]W9eW^}fƣMz>`]z#R( _kr))MWe<2~kv kw>rj=oΜ3x=ӵ `Nď/_oa;ap:ֵp(2C BRd)=?m*)\jڧA\"GNb>fO( EWϭv̒MOi5ѴʬCg Ne`HW7lH"]0ˍ Y\at^Ԩ=%J7*N&M^ rB3QHvf (*<{Jp `r#QBE\v:=%,TȗHfҫMjO ;CH,E`X)sªR7+]G:x*t]Xdx ^XRN}\rW3 nƐ(O,8\c:s;ZakнyKσ;8G"&]mQΟIl[׼Hq؃v̆UUK%ԕgwtovQ=Vղ hu *1[17 ¼]3>yh a`>|BZ\Y9B .}7;ʽ·ubvD]@g=*\p>N"4rܭz"+ΞBb,cPh ||s.|+܋RD~Hydy nNV/Ihg GxVڝ.n5m pC1>9.Sb̹h`$A>wAROӾnɾjbƬҖkUwX~_ ,j`RrB0ˢv+@8t;u]*pST[Sg֚TVRs潓0LǸ+k}"؛N\<3 ,RysJepdNB#?n\?9btuE8O (0z=]=*StM( 핹~'ppہV--7EJ97 ԝ_' 6˛Snfec?Zlk4b'h`C%Z=n4'Ms`U6-0ɰ}-`I4>9`<sgmg7%Cހs sI8tbsWHn"ߤ{!tAMj.N`Ne"Ϲ0=o|; k\~s8ߨ7+llKFkѵEv=Ж 2虓dkʔV+SeHkVj@!())IG"}^iaHW_)1%G6?r#"~$8 JoLmRZªS8N;Hٝj/mXU;`^kAuq/ 3N*̫i1t&48/+ ߰#s2"D #)^{8]_;,*ؠJw#(<!yh WaǮij mFcpn^nƘ酦k/OA 4e$sznH#˾@*AW~bl^k{p7{ESh)˷Ľ'NNˉۉ1冎[q Z)UBqbij_JHkO_sA|nLk"c0>&:ħK.ZܰAi5k̦:d7}ĻH8;kƲ W8 p3%:Tv]=X8;xI ?>5<,3a$3OU TtYc+jmÇN4.YԢūQmi>7_if\#TUh]\TTT\[A>ۥ(иXy 3[>&:Nf- ʼ4JRvPV Θјm["sBYR' >ͦJUrLe7h%4#Z`-fU_!O}pDCyI19ŭRM_I7)tWT ʣ{ oᓍ8 Ժ^){1s@ؠ2i,*l׶cul/5 _%D;:4 - Y2ض#c !p3ӢTY0^U0c羇A3hYbtmMmm:7dKoh?@ Ys~╱3%(>|wńY?p9,9dЎr-Њ ՘,Pw}ʛ G t⾗J ;zw|e lUA[= gfޏNڙy:ێK߾= ̳~ع__Wp!|q3?|9agAMٔ=owɧEW ˚ k2A62;-V[Ъ*pmHqYn[]9IzW8 *F6>`~-71h)ܛ]ќb Efrk K접>[-&Iʎ4~+3 IviC2ħ*JdVo9!2Ԑu֧*pa( `GUAPYpjgn|q.=UEܚu)~tl7`HG^l#U˘=(,(Kv vPrJfoVkuzV; .Ж&X**yp Πqt '?澁L: uVStP4:^AE#bF JŠ :Qgf%·3l^|M@*n}C->ըa6jk*FMWt\Sp8i5/qw?jб{߬]BG4]ї-Tmkj:@_8 (O§:6t2 q>1&BImֳF=|!z$-)*/F:Q]-EbĵXmcr6,f`RS˵4j>>"cȨ`jŅ%:^7&` IXW Uk_Zfٹiv`)#((endstream endobj 108 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 109 0 obj << /Filter /FlateDecode /Length 2293 >> stream xXo?b(1|? $MIeEUHw=,7$˽e( Cp \vW MIɭTNງS׋%AvPIʪ5TRnBcZ9j,nW)7.6Nyr(5p&Rũjn'ŻLʏ eȣS,re'ipzṄ'fZIճ}P&O@8aU3 ڦ?']iQ"DiRhr8lcjrɾJWYB I&Ӟe&TSq& b+穞ngKW*yvwSfUReC#qf浫 L{*^:E֤p]Ģp^PXw#o<_^6~5ƲE cTR^b&R)I Cޓft+Ժհi'ZZSJCߊl%-6VPbHOvOYe/1D5Upw}ZSe"Cg}9ٲJea6=pyȄi##FF#GF_Ts@ylzτ"~>ʞ%+{5?k*zHf`G/Q /h86XQUCu.MBލHގqV`u[Hd۹k'[֜ខ<&PKkLWc BbalݖβE_)HQg!`©6exэiLBqteJa"e+NʓD:fi$v [Cm2c<. i7q=S?gj Sr x.e{V{J!nQ"tv*jžٓG"+z3p٤%"0?fafȽ`#k0OPIZ&!'5gh~,bm"L`gFjW :"sY5YAX9txsh:M7+ VHt"lg6K]Zy?BZIO+ƒ=(ʔHA3Ծȣۇ'ݯ3s 0=USSߜ|Yg- _S,-PS$T*)iZ?_H% =ApV#Bj%rQ`[RE6`!jiDQǗe"x= H=:rlMTDr#J1h>/Kv)bJk)˲jS_k yT`oơдnLF=n=Q/k =mg^ٌo+~.ty_ޏ} Hv~u8? O ogendstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3115 >> stream xWiTW "*e$DqTYdUPA aH7l%.LFFeQ((AM@$!*cLṱ>=30˙sN>r{{_$$IC̤hΆ7#"C#bC#A)y&00 B4BDKv[4=%57=)qklN\ٿ<32+a*Wd$cg6D+2g 5 T}|crc&%?^iٲ œ$, ’&"Ol$lM-p#܉D8A%o‡%b:aB #fI&b1$ D3YNcˤI'Dh(IT)%2WC'(W*t4Mw16:}+Vg&k'ߝH [Tu[ z E Vq8#MHɯUi:Mً|+:m{KP{]þ-V#ݘZU jWjW1e5:Y[WU&*^=5g)r OJrmTřQ,-e($䍇8(l}npv X.zȪah֋̱`oȕ{gi{nFjMTcjF'vBsrh{†U[vx %SR{v%+I.B_[)Kϥ axs[æl[3Vppm@ VbRҬ+ŶA <OXp}Lw! 5@M>s53~  dC6 K?4X> ÐP9}JGBhGLn}Yǃ{vm[\6m̃Prmj(PA^k(ej]{2L01WlCqnS6Ϛɗ-Í4{]'ʏ^6Mzs 7Z)Jslʹ'ɗPZe?]XϢJk$K_@𭮄F{?KMIK@g܍A u46Tߚ -tvxN&,(<^8yn_GY)ܧ5^s (H%r3@R'WS¤^a~m;Ғ#c{{Sysг[t`a[Rg&%| Mw*FI--86!%WACp[PPD{yCmҤxlQu;,uߜ'JpJGj-$VքDajg+mZtvx@B mCSHPk' =:u|İ^X vy.syk*1: !v^TFimdcz3]ogRi,dPqod gP̥+ Les435x6f7qZ h|2$ʂs(^g+%sKQ31F[.\M;eӀ2]Y?ž P/1 ;r᮶g2e/{~i;;\8~z{gtVP$%bXGO5kg*(TB@yBxL[0@lAyD$11./n8&v}+[n`#"8tGGt2e㹹:ע!E("0w5MZfvVzeDFl}3K8@j5!^Kga~RPlS=xl>#=&tt)`;BUS/oE998D4W*4m՞ |lkRvs`ڊnl-V HF3GN)֟Ս͹qyҌ]2>s}I4mp/mP*p&0N7ڨ)p1/Z}ۺFe A .I)KKrū`2xnXypshW '6 pU'& Y)ƥ=H+?쏟c3$mcZ~{kx2B[ 6:XzOY}˯J1@)}3+rQCե!ğS/' \R(.> stream xW{TSg?1sFTEE:Z(>+@ y ᝓ~@ ( **ꌎw|Zk}X[ν/d{Q6S(Hd}")ĀC,7-mN v6ק5 LG 7X$S{(bQ*ټend]]eÔQ1Ȱ`#y+BTɲyk#UK&&&. _PFHS ;$ۤQvGɬ-^<ѱ 0lP2(نEFe*aC;v[BQoP;] MQ>^jޥS~{Fj)rQǡ3vMn] L_/F 3us8,8C0jBouYnȇj W$ؚf (,AU?UT:@ [a}4*dA{h:=*cX~X7S0Z㭧4r8:ڢ!^(WQ@,$(͚;`G?w!)Nľ~6NkGIayLM/Aߑƨ`/C8 R$C{MhA)8M`5xۗa K [Dy?e|C ++9#WHVfKlY_2,EI+}j1Js+P2WD浩64tvEw ޮZ|N7 *Y8%j* k|j2xH|VVnY^Ep:긖,?s6lf9<ېa 867RM8ct dUt ⊪!0p`b{B Q:*cZ@T*^ˀ*`@0`B&aI4L|$5Gʕ?b}^ ā ro!/or`*CSEW&KpVBd)~\m=^x:*էHLPDj7 jxfքm Z9gQ>4stLCoGDl륨&6#`4 2]ǪRt r/ ";rN9i8&VIм [U2!D 0YD&kQ۫+5$!O8H'Lo3"f:X#U%}`k7IJz _K\T7 D/Fb5|10m@ {Wi b b1=Lȯ&`TZ)2(՗ԡ===:DGku U_qճq%Z[l}MVP ! Aձ|&g).prA(pn3HrI.hV+SW<5hq"T[CйDn$P#tWF!TQY5PXQX u;} 3 5\匕2 =(eamhYj[1r]bpVG<"A(4:@'cA U b!J`s@GR1Xx$,s _Mʜݺorx=8CeEe"Za &- z~huJۻ%An(AftAk|:('UԷ: w\\Pg[7mU7@ JB4$IO`C}AE31B?Pz MG?>QL9Ah+cqI+ao8+!J/K̴%ժɩ4V)"hﻢw6G4rHevYN~ab~O<1L\cb[[SO3t>OV>ׅ^-T*>%W Vshr;|<$րggd4iGIdC[HGN5wFNmL-$1yŁw, zV-i?-II1 Mb`+5D\%fd-]WF­ў|.n*ZxgEiF̹J8ann>| ]=Ygˍpi)od+Z7H46{'D-g&G#/ZJ259Z.jr> !]e><-CK\ ᙌTBeYu-Xt/Eo,n8!W-GARg]09@4ӧhZ[٣I1b4:B![r>\OkH677^+/vTMd"ϵi+"!j#ړ}SC7L譾[="IG [SN:y.V#XRe^v!0|ܤڞ*/M?^y4 ~ro" k#;D͸ dmϱr,ȽM$-z+Nr2&Eilm$5dq5Ʈ{W(Qx]w>`rTK tyrC>t#fh9RYL7׹ qAyh^RӚau&-@qPLٕ%:]e>3w!B޷/Ǝ~XUL"Nm54`#+,J1:"|˒At._^{o] Ց(oTVSKZP\T҄NM}@\B:Im(l\2x2.OarxsC3.kO7񣭡~w4qZziT-c="yeXˉxP~2֔؞5ob;sJz8=Ϳ~0D#J|ϳxeLtk|d'4 u(YC*iԛӤSm^1ݬ{^endstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1545 >> stream xTkPW%fUTj]v7S(ʌ vPՊ `|Q1!B1j"R y('ih5Q;kZwgjh;{fϽC$I*6aˆ`R +Ft(@yeTJIy|Z!M/B4T""&UM PEgjMڨJP zmZ ^c kU!!+rx:NiǛҢFUY ^5_k֚VkWfFA5GUsYAkR%+&#A,Xj.MoH Db.XH$""A$>!fqD<@I 9!ɡdsL]˟) 5*uE듉1y3bYʺUZֽj;ZC&cr&QN7g[߮9vibsrQrwgEI 袗ڇjzX!8=H b11Wu '$p=^ɐ'o#-ֹ7U9e~9i)תl/3XN{a~USf /2?+^+JhJ 6ljk:q=O>`vv<5́tQ?fun-,ց`”vjthpVs%´-R]2ҍm{ o@iZ 7ߢj^]:Ei˂U+n_:ۓ 6kQfhb:< ^q8ӳ讣&Gm0DAs+ꔯJ^̾vkf-T}ߺS/K̕$ho>zeT >L6پo,ܥ4(rbtHqf){t)|T['5xx:SQpJ(T%A>}/y҇,(%s#Vtcچ]%GYwq5}Ȫ9ZZiU\v_WC.X} @]~ؓ(L(սv\hS[+f8YಗY%3ϟ 0&>]L͏ `JtT@i0$u[_;B]=ha\65ζs`L-# +BgOt.ms2vɇ/I|s+6턝*5[Z~z-ϽtdҴT74YZu_m(ۙ^mleC6]Mq`HDo!Fx0KYtt8ёs)SGvVC^67'Q$W<Ÿzz70ƿ؃)>N|RҜ8#CP) bU$egaeNx=%9/疥}DW[=u'Dn Ne'Z$ On6Þ[>} 喋r )Qzk~@_@y)hendstream endobj 114 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1432 >> stream xmmLSguc(3htLq(6וiZTl=/ Z'S|a.l.q1.`u:o'99<$F$Y\R`֛07>""𣿍6'.n,\= I}fFfd3d͓}2k8>BKF'A&C$Hf `MK;.8Q K]Z> 93h;ԶyYw{NAY]Յ 8ZΔ`;o ݾvv0@ˆ L 9T3_V:@N}tlv9pӬ A9Ndz/To u1I,E\QE!}s~E=c,?ޫV{ZXKZZss.ƍ:Ѩu8%IbMy)9I\1QZCQ1hf|Ubor,p({oi%b],L׊9u>47Xxݙqs%El_Tm\-.,(jD9z΅~@@ ʸzZ!TtOcu%1uZCuZk"yKz2j\Q"aY.997gw^3{.TW\|FL/m[F&˅; AˤDY6dⴀqW.y~/VQƽ+3.WV~LPza=rהfjt&UKLLé?ᣰP`f> "bGT/˞增ha> stream xRCMR7$,  ZUQmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern12Q͋oKL0bg͋§j~'eg #e'͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ !endstream endobj 116 0 obj << /Filter /FlateDecode /Length 2052 >> stream xXmo+߰0tӀ 8E&6(|N/tN1%=ϐ\V,5 Csp!lFzۅl\8xH\/rXFQzLh3Rh2( gՐM4 :F⣭Y5L QUP@Ay$1JDxB|R"b˷6QD\:[$SCF XEX]/^/yy%b4߫nF_uK쏔UZ GCT*|ɿV_#X NۤC.+O"Vy&+[@q3y+ҡH1<r$Zjwˈ_BOOML:a1{PO,(F)2a-^7 jCNOVXsk!Rƈр EƐBUɽU$H7jt7,]ۻwSbW,ɬ9 ͜W]Uk#/002oՏZc:A9͗L̍a_Q-K (+!-8~Dɯc~XCQEšF;RO1Qin//gmd\C3|@˦ٟ5MX͑ƂvC8Mձ*?|K6ɢW(NbRGp%1Kc|L40)yQuGvhc:)avwd7;EѤz~ݞqAzh=lWLΆX^hC"ш!KVw9IJR0rdj;$4} jשZ@RpgwpTI>hʢ rPcMIH,Y|*| Yϒ97TDkyh|<1GNyYWI׮'Os4*0uWk6+Hbf ͫGVb:KnK\#ͻp hs ujo0L&ollD3Dafu눁Qɓ,Vzݮ8\>@EX+1ׇ\H"4N&aX]p$+& c⼩ l RelʎGQgeؤIb%,96]! ]ue$-v4t L&Atztv*Z_GAw^ZNo8-|k1|%Hx\K@.4*]iǜ So5d?**3ٰ:(p|TLLq:m/Ybpx">pJuB a:Gv2 C=GH_jJqǠJT=Kc\]ޥ~RIFE l5zI fT2{ ]AkwPzJL>ЃaPt~DRC*XݕC!Bd~b &BC2((=bDŽh ZTλjp09+cz|ㄸz Pmy rB|ޓ=p֣Yr'"w '9v̢t5S3n¤~wL;pl̑\ }+s#̋JdBW'$Y#N~Hi4<Szk/Ns6{[o{B4O lֱ+>Uotf>L};w;N]-j&9 E/~L l^~o{D=uys2b巎}IqzQX^E'_yW|UޞNЈN?2$kNiqendstream endobj 117 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 280 >> stream xcd`ab`dddw 441H3a!"nn'~%Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SRx##sWmf;OUsvϟ_]%g#[Uewy9|ŋ/d-=}3fn9.zͳyxv^endstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 361 >> stream xcd`ab`dddwu041H3a!Wu7kc7s7˲ ~!Ș_29(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUOB9)槤悌M(a``` ``b`bddkCd73J?͍] S{/k[Y^u[on?lp4_u?$~(}g^r?6u/tug]9}.n9.|͓xxȇ8endstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 396 >> stream x~CMMI7'+   ]ZWnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer ModerniJ(Ҫopnqnzv`~z\e~}t;_bdw揗cT(]z~ᷯpt|rMwCp`  7 [җ8endstream endobj 120 0 obj << /Filter /FlateDecode /Length 2740 >> stream xYKsb˧+qSrl9Q9C!q  bto=3(LTh6z5_,ubj~9)+U筓CpG1S3b Bde)i &45z ]ѭm*:tSA!9qJTv}j|n&9]8[~{l떛YJ$ ~X^~|Vg?̓bt?_bpBi.(CtWk +Cpω1ȓvBD B)ҁ?PQ4!R-_ I^4[~k2n*tSj_PgZPo u}]W}!7PB jsot&kg`}e0HAܭ_SX^[1քAzq2 HQ3 ʶRJqH>iF_T*ݠ'Ј2_PK-A5Jj*%dzkRɌ~SVN)epDp\Q 4i6|NF~ejP6  @n9 F~b_}(1e8k* QwVJplc(oM˃TxH}T.FhC4R?/ߦTȜs+9k6FE|)1)NY}Q,j5@|j*NՆxY rPp0t>8D5غ4N:8§6m4Q^h\eag#) F(Ao=]ٟ1飥S\;jDjG38mG5F 1DPS(M yZ]LkpAt34 ͚m*iE \m\!`XE *#ӫ*yM.5EE ˰5X`&7EKТK>6$ >b=*/ I`lPXI/E'VUT`䃌:>-jt½LH`oR(iC%=EbT?HR_Gchh71AldHCK|SRcImh1hV3y[}%וŨ{1p]R&\jT+B* V^}/Ɔ@ aPa6]"RV^?fH1zТq~Ѣnv>pt+ s!5{Nɶ4Rg"(BPVXG@NpMb{xx2t1:) _$MŲ8UI|g2$/0˾b/P?>.9Zz>R1ֳ\Jo[dDR['ޏwg*p\{5$)-/ +e$ p5i%.bNqqGbE3g74 KEcن8KpkKK@Om]iN,qag E Lp^.@ym݆=t(EIغfu]\|63\v4"ef48W4 4kni M&z QP/s23>b%%5N)sֶ-"@ 9"ݘվ"V)EjXK<(fqS¹ZIm<0FXkI$I@:eEߣTv2b1[Ґk3$Q;ZAZ {~A͆S+"x xowl@$W`I  ze88՚20lۋ7͟kQu\t.UQcICl)v-5J_q3bdvz5E)V{%U_%nl]'iC3wy08,{R:` /Ҽ畅 6l袎lL\Fr7vu>&%8@0ڨO{lv;YM'uڇMtljZܰ8K? ֌ P{RS_i٬0j ;ry!<]y[y,_js큚^~]ߌʙBG=o5d5B,ԳBP'GSاB3L7CTi[ħ?kH4T{ 'B]+8_d6m.GQ6)(&BEGhwmի gu]atO) ܭ52oSv:H泩z^Ac)\NBhGi/ߢ5RVxlk?&<^0bΓPfZ4NFASl3߲$_2v?NY׎O fp[>v6dt_ uu+ԇc:@S~?o E3+ GEs]yJ^SsώOztnZ鮘6 .Oo'}'e,L7>_ޡ*f~54@~uy_/޽}\ͻ6$}YmhhtM| j_ ]endstream endobj 121 0 obj << /Filter /FlateDecode /Length 4037 >> stream x[moG |;6&NlI-ֺt:Iw%=;EqgÙg^Huu_lu:fXZ+Zog/mkC3g's~Z%aU"UFXE_;0~8W|3L4eʷ&2EiZdnvqDDEmgNO~4+,fB)P,%`W{ن]gs`Ѳy2_tvy6_(Z+d.N|9[ӧ *Bxح9]oཷXj{iq? 95j\tr%=o.V"/$ V`i@d[g _Q(ѵ'}lHぃ!$^f0)Z ) 8Ta74@^j- E[9Л0pb]<+,MV K\ ķ7;\+qWka AXq7g8 ri=`2-H"&r\G^Optѫ'oh;1:^whaFwyUhGytG7آ  o&.GemtуBf' 2}YIOl0ua}]4: kţg' `klxD`R1hδJ8 §簙4yvMn(|e/+]]mz]i_;AƛHr,UXGXbQM:4X]`BH;Ni;FHx >A2F p.K$u kimq;4=$ZXm#k ~):K6, M:RAݺD9FC/8.OG+Low(5"ƎI$p$*j 6rZ22 4}7 *E.uTk:vAo89$YDp_At6C!~@HbH nHTyih$@a!xDhas|Uk=&*FIe8yDmiX ѐaP EK ~zU+ʳvl/0kRFIDP!yajS%&V°gz\/aP9€Nq>'@uR [s $ 1>.H)끔`Xb:HPהڶJ{?z>6!\&љ'-6m9SDoRCn"\r M PMޢ;@;$T0P^w=f4rMt|?tߒd"yWo jOg!j:yLYs.A6_.Y 9yieI @e+jLJneV8 cZ"}ΝmK mT<,/k?n(_Σ+&TqDR6w1޿zȦMebtsOP{(C+8*{S1A:sH!rDi6 t83- rRo,t*hZ=.!phDde#4 ;dO@zàZ K@S`dˢ3|]Y!C,qrOlf)ߤFb3N0G` =[@ k :hPbƸrJkJkd 09G%ϊ'X080y:+BOQɏNM8WHA욈` XiM[hrmP[8#@覕f yCRhUd*mZT*ke[o 3ּv(v@HTL!! dư-8TN.X PqdS59`OJS,61X}`O sC/EbRAk<%U:I֖ͷ<1!1Ύٜۗ.:^Ŗ-M }c73g|<9`]3 n= u6fkcȮtj |2&[)rICb!,Ȑ,P[ mJDkiIbPؑҠCu3c LcߕTkELE֍'9J9 nItGe!3^EP%|;jS,0|3aB,F̶ `2SbDơc:Y4º.%zh+*1te`vki'9 0 thH*㈁Fb0IS} X1mMqqo,s1HL>0^t2U琧@yIO gٲR&6wcx O('e:"NJog_4o:BU(RNӐHb;Kт 5>;U_`KZjl8'$ߟۖ!^\p:Dw^s2^  ++xгن}Tp|!Nb߂+12,.fG죂9uD+'<Gc/GߢO/߂ ^LDyE=ˣOP]  -'~ W?'">7P!z{Y_mV 0VU>w8ޮaxLH]z;~޼^ZV~w^vgEo6].h 3>^|\)5HޯV˛y^HGNj.5:cme fu=<-xhK8I, r}~^^Vo^]۷WEWg!dxHo*CAob ]&N^@y+Pf򧁽o M~\• Z%:NL#dZ8! em!BHJ\7O+!nT$i!!j{x(VcەxĥTg' Nendstream endobj 122 0 obj << /Filter /FlateDecode /Length 2048 >> stream xXr# }WV77yK$I~JZɵ$bir4188@׵_v\1YJ!>uɎ4&YrX1Zf YS,Z9(IuQ1[Z"1GT蘒1$V1#cJMi1ަ02!e6xDt@#L<0KD٬/Wl;;حopl ݻU-]Fr)ib5avᗍ Ά-=3[SӰ>psy?E[q9jG7՗+9&CtI"}.ŎK09fSGRDl~, 3\@;r2qJKX놇,1g4X3q!*[&̜7C1؅27|6䁗 6EGhl`Y;a&yg܇3H q\?\o$&)& K'Q9gT7owU8/ JГ=gDdMIc(l}4U8R6K"*VW ՘u(ӕ F (&"5`,/!` mÉ<9d6:fiHS jmH\"2%pe%ș= ~D^o-h+n^(…Ab8\l(uy$;@ {Oy]i Nz{ 뿋N&$I ke=ׅB,~)Fʥd"qðWq6T*>J;[oW]w_SZO9DyU8!%_\p"OD2S b@j*(tV6!lVj+hqUVK*C'H=x'mLDH1x &q}qDQ@K5G IoivdzV!df!4e6bק=O>m+*\ж\Mbu_ܭqk0l'4|Ѧ[VCP5u+ĿCR?!iS>m/P_jk@j1)$P,M+hAuyq#=#f jyY_BJ75jBa;ԎܼF͉YZ{ iEHpX4EZ>E87wgX,3HCl]MVdroQm!n/@u .jxk= n]$ smD"\36(Z%{c9U%MH_ /Fm-ݱ0} jͬf.rov WD՘g_.Sfܼ>SX-8zWX+$^HvSo{eJ!^śuŘ/뮏wUG:JHrzT3vee%PE\$Ԑ|QݠRG9б8x =mU&nՋ 8t{Y P3>؞z,(-j:njJisqLrcZ1oL~zqңrN W:AMSVąOW"MI 4Kac'`ld~_y ac%C9֢B BZ5XޗMjq!4\w }#Uo1fLKS1ɕl>v}eR_xŇn Fovq+Wr)qsL? l?mc_j ۑ+Wd*Xendstream endobj 123 0 obj << /Filter /FlateDecode /Length 3374 >> stream xZn#}g`_^/l YpEJ+eQZ{9]MbMu]NALr_v&_brᤜTNN L9xgĤ$89 ziU L& 5z"[l٭m|N9&"s*H?!;,鴊Su'?/dJP^^,CSnZ4A" z' cXJ/}2)F7r%&'WK1E3#ZWhRf K< kߑPl**}>MƎT0NjWy䞛) _/.4ǿ.WVՠ*վꇱ.N(NXdvNZ pw* Wt"9~cE\ISrrkUIkV0-M´B;6I:ش>xqF89! !`%VMz\0UV%͘DMvbJЁ5rJV=7Ui9JZEµ,5%ҘfIew%V¿LHQ1ŠB"IKJ xS5^j9HKQ i9~U?8o^8|C _CM:msN UnfPJI)b[iD?p-֩DTSEZ' 2kK^bRk4'#*IsdlhSkI@*~Z??A)yEA&NX K>U D-4 8DM"r wI"*SN`dLI%Yi_ VWWlek֊[G8ׯX,V9*iU4>Yf4V|*k| 3kE8W%~~;FRfM }Px?VfO8/7pl.ntj|-wL|CNOo`%,; 7wv}GV+a~,p޵pz61dF85bkc&ˈEpqIK+h1 e1`D:88Q9Fl%Y44ׇrdƥTw9d/TGzV ~T2ttnՠfjm׌5)D!giwc{*KQvbekX|*5ڀ=~GjwmmO68P!D=P4Z cKbaD,Q"KAC.\U6Ns1tSn3\ 7$5<'˺}2޶k|~FUlFsry;:>d(w w~$[[Ի# AC8Ϟ~<\Y7 06fp˴FXK|H!/;> zJ r%k6v,p%z lݯ/3?BB0Oi_M"g) ̹oۈȴ"%jal߬f6e}oL֟$|f_szfK?0&mݳN#Zˑn5*Q[ K.Pp%wV$IIEard,#}ޕ&]2䔥Flm7L7noG 7H(6 T !(|^3i_t߾ {)^lj!?003;Ö5]Ab?Nj |Tm ]>HN9Biez%6>~$-ԚկK7tA~M~Yzu'MPfNS 7ˠ'QsWMPn\q6O;,.u]1bzv,G55Z`3o6m7g(NH㧧 }1fu^|ھ&篭XvUi`w]'m,@7 =91Ӡ@5ۃ([9wendstream endobj 124 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1581 >> stream xUPT?wwk B){&+PY4b0)ޒ#%!#;`bXAE]yT`L&Ro&}!3̚a;[Ŧq|9|2HB ,LYK"9*y1#/QajL c 7 8Ja6$ҋ={qžܼR5k=/+R$?H2ҠZh/YJSm{^/RJ$ۿFQ#EB:YPC;Q<26!=8ԁ@AĬglUի_Pc[=y\sXsUЩ;(+rdDv >o]ol|V3?k?yq;_K6cX@RÐ/0L ``k$V5h1oٜ663si즨 fA\D;(\/C=1F1O'u2!]¯9{G* ?xw߿S 6vvWyğ$K9꣸?t􃒝uz*F Ev$#O$ dQa꼭@wD*pmu,hsa97)صN94!*-lJn<\тjgH,>k:*r+j*+k71NJ*,;*~Wɞӗ 4l?\&9}6acvF|z޾6FWÑӣ}o M@&_XA 65jwad܃{NCd3MpG%ԦQKs$ !wAh#~8Y#|lKl>܋x~D:5DUJ1V+8Ӊ JH6ĵ=cur]/?= Cr@⣢]cc_+pOBP<wT\M4YK!nuٗ-8r%8%ݙ &ieDqNi! wqLS;Nf2G~e9/ $9iBĄ7[1FRz44 ͣf/B~) A$"o˃'D=n0`֏0Gib2S;*Փ6ꜙzHHzޟ B/C+pYxXp0ǂcF0px i]O=[*D Xsx O\WkN.lؔiIޚ=x#"y` TNA'OyfWY{ciŊ ĸbkozuoz5v 9G`oqH9ܪZMۦ{f~ݺkw5#w7Nmcǂ6b+m]x} :!1Lendstream endobj 125 0 obj << /Filter /FlateDecode /Length 4261 >> stream x[[o\~W# g)M4 "JZnVV:<˳ݤhQ!g8g>:e#?e_?}}N>1ʎS 9>qŒ29yvr(6Jʌ~4:Ɗ,tb&imW엹rލVH7* O1NyD&Tv,O'<4_?ԏsz$ r%G+Ag' }W[OOB_! SӬH&FL65"m5yikv -b1prEB'ߡZ˨5FOtZy^'FgϬV5`h{92v{3 ;sFamBZi` (/DDӈxbl4K@SxD38 c@ *Ed2?ֳqɘ N \I"0JROB2mb⊜iiNmԓkl*ZmhWFȺ!ad#vjr4=LS,d`!K=WFa^ ,xEo5/ߴ)6#?#J2M&k'% gHnnb4_ &nFF{ w _-:&<*v_ ᾌ;jNeg:P!rx5ȶ΋!" MceňHkӇRThT.JTh(˳IzRG/&a5Ej4)-n+_4zx軠BR h_Fw= AۯhjMa.y0;gpC"F<"}?Gezc4u?*O3t~ec+I!:|SFQ}[FOHv~YfWUetU1ݖћ*)/}gD4~9J%}x΅{C5Uvgn:^tl#'E+b%O|b02z'p",~VLX Nߑv=PbsTWH.q礯;nU^ iK&\;BjwP_w&q(!j !R2Iu) ȭ ,D?( LҊ+DB)UB)A)Qfz.UKd*g[Ar:>>cBM`Xa#k54OW x߃oc0DrO#U~Umf^ګL{p:ȼj 祇&aew n2q6|0g5,]P9 ci]".N{.:U\N_8i"Z!&E68)a,fLg Ҳ]@=jV)hdzORj-fzבsip ! ${'IFZhsBKo}?O^W~. (+\G>޽H$ѳ=_iPI[BYda`z`~e%GSrhKND{Fc^45d[#*vRR]ublF4Dr`A0f^ńzÆ 'M$8mo|~ |_|/2sCjI[qrكV),sú'ni[]fywVu?iJ}L N8' ]zk>mBZw(^e4" J):Pe)ǧYފȳLAMKaKT ˶ENoz^iSF Ybdƹ>m%lRd8մϟGzTӽQcO (흰ė]SBg5AfXz>l3܂De 1S?*:9}a? K L 1#%ܗbFp衣B*>8ZR$AWpRE7AZd8nHC%1ҫS !x\ WbX<A{4@]c{ID IoAvۏB~b#奕ڤ|(aްi;OYY!s1iPI%k$%sJ W@ɑYn<ж6]Lؚs(mL&#u,:1&.f6ogI!~fmiy}; -$XbC"k! )7JXLǾڴ"tT|e :侤/$|/{QiaX[ANin nr&_ ( rzUAu g^~>1Ŏ}qe@Dߔen=a}GUwDZ#T1V4=Յ/C?݅q@0/U@&?]w4{БÖ?_uPwصmgŋ<sw 4FtY)=* k6qDT@/1`MT[JV+*e),ʼ,JìzjS3) B 7ů0a+8kx9Nҏ͒flHQ_Sjendstream endobj 126 0 obj << /Filter /FlateDecode /Length 4038 >> stream x[Io3r&Yٱ(F@%I ^gdʄW]]Ҝv#f|f7͟j㭓sp=L}}RggUA0XڙvFDX 1v3g0SA990ձ*d*L*O<9vO&Un~LMSnsr/Yn$ ~8{>I cPrzct??B/b2Dg&@PfzJP} E jψA(E4 OS| F~}Wb=r|zAO xVꦭn_S[^˴"oy[}Vm%kGA-ZYE5t&aR\vλ|۶zVW ;rhc$`VHbn>5$;-:ҁfAq vcJ^(}p]gߟgme[}c~X:npTaې0 iE!ٜ C1*cIð*c)MǪ+a m6fP$Ri"\ϝM4yÊa0+d.00ܠsdfFgZ̠IʵXV%` ${Ego$XZj  B)f<.)ry_6 r 2‚G'0B9G::-EWkUr3"#tr902n2^Pt^YGE)(嚉ǥK g`Xsgn X^Q:h7IKgmv!4" .utY er, &0tY <$pgzXOG \ODMf6@O/)oRD>KlЈlvı1e2rjDN jЂ}Go3Sx,fO(9^ %Af+lqv#넃y>1E;cuq2$mP`)7a_YNe2v!uޜDT7'OPW%-br!=)ISYhqi %L[пImMTþӤ$%JYD&A%y>ÙvVQ)7arNhe)`TdFfE_}2mtFyq?m(rpjljyoI^2 q>DK\xQRr=3@M_wlV("9He$r9X]uA{uvkp=N[N)rFN;Sb2)%ѿ& ]^@7ptGdsRi&f˫̃͞v}ݍvnʑGJ#nԘB"R-& >3NLyA)3ڐb: ']v">w;Av(eITfjy9xI'tP KZ/z$DF7\ ZBa| Ar- ?u2rO!C m$^'tB[>)垈l".}J$#ԈgL`N݈kݐJq+ާ顋hj5U?yM`V3)+G]=,gOCu^l.pT!\keZrܪgj_ƈa|F1'=1Thċ3~Í~u U\t+f=Oe첈8ޣT2g9"x jO> "Z\ y) T?Tv2i=:7#MeO?49ИfĢ%+Jj? nAZh8qZM:֌Xp<{a,7}^1_OKV1t 94׻]T rC`kܺmډBZx_ÚQnLjo:IV1j?F$ZJ76'+F".ccwQGy{37m}#yww{ϥ='yK]؇ x0~ULq;u݋6; ٗ{ϗ~\?__? fendstream endobj 127 0 obj << /Filter /FlateDecode /Length 2381 >> stream xZko\͏X()Z'-TE]+i-އ {I*l`yy;LL9'0}?&V;:cvxi aYM&;f:9STÎYZWDFM9>J1_}#ϜNVymt1ES! Mi֫TIۉN?O~Bi`J;=~5INSs RɿoKvݿfѲlpfsBv's)CwqߠD%<5^B3}&Fc,2wB̎G$"+i9׳PVl&n1ًeV7j5*'^fd,#&ǿ#+ע!ڼVbX] azcaVF''/G]:^#tKc{ 0:ϯFj-rW۟Ofݯ}li?I?deӬּ(Y^nO_Z&EdQ!PH@yiIlͥJT"[3s dD.wg7.s m(?? 7#?.X~ qQ@8 @ې~J7|#1cF]}>وGi^VGǥ_eg\5@շL!mǧ_ibDcAeAmnOڮ8%Y`T`6.!!qmoP);k;F9cݵQW^Kk}5ðH])PfBNqhJ\Lٛ0ɃHwѺ =Px*XM}P Br,&T HF,KgkI:em+U0(N 8eh[i7 2qBaG ?DѳࡱMqIIUQsQTbdA)|+,[GEjT{;ѱ&$fVW]Uk$2|[ q^!cFOWpm2!BWe>(an3\KBNOh\D93E/TՁWR(=[ŭ(O"2\ !מ,VZxKܖXH@C oj^sŘxɃ\Jk7_EM_EQë6C53?y__> stream xZ[o\~G, S/8h-(>֖ZI_;CוcuAs8̼A9Wۙt3+`;c|;s^;18/j>( DeƋ0Xj0PJ'ՀȎX>*UM"n\4BUiB&~|zf&*vwϤ!XigfIb.@ BPmg?1!Kɟr=_,`9Wa |R ,Pf6hg%H_p{x\J?Aj+ .m$? tfg]Nb)7lkL6ĀBqh"t"5Rkέ2J@BZ$fQ;$*RQs&bA.1HDbQ7b1<n_^/UZ(t,`厬L9eS .7Bdj|yE6@:K_84I&->Cf2&cjvBH1wEu: 獅I{-xy<8P4?'o%U=CA3\# ' x6(d҃;6L@dKe$la%ђL eB7 [a:.@`L >cfOS$vF(Kr(+㮄D o%1xAb:q姠f)("%RIZnkIPXH2yRɆd8}6\ߎCf 5/zW r{DG|DR2edHR <j 8\~4Ju(%'~D_#X($ }\G|DO!#B~B>)o˨施=! # ԃ[/P4_sOJj7N}IkWĢ)4j@ F~ms|ǏRx_ze|?X-*YPsT%(G%,>tM!nwT 6qGQP}o4&DZ^hR22MTS>G{po Gø~l*mI-smї8uTY6gG_7PJ8ZȞ D mpUZKHbܴze{ IaZ$BQjSxXS2IA{v6oXxI:H}fj_L[:WbO;2QwR*{EY-{NJ]mAJ daq8vļlhNs I뜧)izd"D9DtC>5eĚaSͪ>~C$_MG[u~1&(.aS(c>^|/oDendstream endobj 129 0 obj << /Type /XRef /Length 149 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 130 /ID [<062a7f98d6396fc5a83e0f179700b908><74ffb695b27f04eb8b7e265373c1c68f>] >> stream xcb&F~0 $8JD.eA)w'dtDr< R*Ti q1("9H\"ɖ&?E&E`0شg d6DwD eH3Dk endstream endobj startxref 88841 %%EOF HSAUR3/inst/doc/Ch_meta_analysis.pdf0000644000176200001440000023114314416277546016723 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3953 /Filter /FlateDecode /N 76 /First 626 >> stream x[S۸~ }tzK֝hZ.釐8mH<ؿ#ٱe;`0lGO-EF$1(b!X%K9I JG';T?IpEO%4"BJ P-NB}JppGR)|DИ;! )WD) G9t%Zchk#F0%A$'VR묂NIt !gKRIIjaґ45@WAg Ș &LA:DLY8#& ( ]i,4|\X,@YB+0_R, \41@Y1 p@ pR!#pe0 ŕO PV) r,p]5X\pk,0`'(( Z?$8[Fз$f `=|2}݅y̓xZ^q63cV%gW0E=OelT^h&з&SEV=γ2Mˌ@7yl;.)@dvf?1?t /U<Qtоl1[͇vZ 4 ϲ%С'{/aX%x>@"/ q4ᛵF W~j&s 2]M&8EZ낫R fQ- <2mdb`ˑA\45BeP:pY@NhP^\Cbi4Sj2Wm%u-( (xb]J:TȳxBYKZ^#n'{ /n0cLF*B$D e{=6wױ5:_;o@zc0.#' |F _{ ={H-_ gbx׃,.a]-t%ݧ=o =g^!&)ьz"4 tL㜎+zMΦ4_)4!G.rKg]N_{3M 4;p:真P2d7կ ȇϧW x/=lݼwun1zKj.^\|x v>F,>}>]ՋJ@[""mzIȕ5k8J!$FfՄCOAz}rr=V2M7`TIf|?LoXf7pl^#uE;ej * [N8Z`$ec% ZF䜵H7(^޾r)*`SU|±>Q'ls9_FU.KvmPW^U \N/QP>"YپU J?5׫C-.љ{xjJ\ DjZ,ut+-3V Y`qİNZXHh~H{eV$Ls a7"I|eL\GK9T9o W&SsLYp@T"mJ{s&X&65j^\+/]݉4VcؘEPt=ٜqx<'QXNQGrBY1"C~ B}Tn$ >VxV.:ƠoT FuZGؖ,t[Hj0 7iHM,|N0Uj6i$%6DV Vq}9&EN]1(w؟..{''> {Y'8cs{|+5ﱬ{YVŵMM{^<;~#ô3JX#n V9ScFC 8ۏ>!EhBs1ޞxфZ +]JǫUEp12vd4-ϋeGTЭ-gv < ꢯ-w/.y{ov&U3;4#Z)}.S?=&߳e>Mo)C,b_x?[AӤhZӔ d-wb+|y3{,Pk1|*aŻfwV#@/;R11tMjOexթ^29(W{*JS›{Z!i:fؼs݆BPGqrtmM@~;w/=[קlLYx3j 8r)lѢESؘ67[Nu"RmHQBs]K\W7( F?gnmpcz>$ûs߁i<4Dm&u,D GHކ5'akck;`/ʵndX_q4_mcD`Ы 1 6o7-;y]H\ea 1k#6 pFEx\]M.f~݀'W_EtgP2s2A]ב4),y0C~`JR=iJi P0*nN*)dQ=BDOl,et2/zc"|x"8R')ka@Hch$=''{#$p癩vl$wJ,iOtzԖĥB2_9(i}]b1:6T2Kh6?xɪwK٣p6鑍btE0I{x|q68z@^m1ap7*BB!~6M?endstream endobj 78 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:26+02:00 2023-04-14T18:29:26+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 79 0 obj << /Filter /FlateDecode /Length 4070 >> stream x[[s\~T~U:K_(!l*exXKBڕ?#P>: ?z#A_܏مh劍1,٨JGOaZz,WRʑs3po TppbJjP5p|hVË@{/1vX!+ M{sƌ9Rd npzv0`CBCAiC!D,޾y˘6]6AS\J;<,gkkXmpN$.1Xܰ!hN9x_n`K@Ԋ Qh <Q j΀ʅjB$50$!Ջ볉$()c4w4{P$rO~n8 ,%Ö\: {ZQ)6ӊ'a:@N(@ YCP3\3xWT#DhGo$7i\]E+\3p = vx gǣ @ bzW0yLZ zKw^F|:riA]j-Wz4DŽ`T́5^,w=K1HAa>qŶNΞ⬷&ȿ& pSp '=5K&+ ȼCO+=$0iA+w1)TT_sa759j2^ arDw$ZN qs ⪐6b[L9T61qKgRЏ5[**6HM|Ȧ sXٷW)vkZ e4f_G}7sV/č A7gw}k-8J|:јM\lrfx "pJ%#wL8T2S}rW&9{sy 8h1IchB}MqB]L0^XeB`@LB>v|wJc/|<ڟ+-u2ڕEmC=+M{et`<.uJuXѽ20 #_ޢm^H:^/jΚ'`/\sMH ( ̾rEu4X&WC#>&v-a[Egԓ fkHtBvTH%KZϣwS]1 ˈ)/ ʆ}j-dڥ6N&8n t8ir׍+p)m"ܩRdjSSٱ,{⣀Ӗׂ7ZQKw N8SXKLKf̽:9ܤC߱-пWdzS%vty;ϗjRK?&${z)L@eN^hݙŊq n[LkK8#ߦUFjQᇤ?lbIã/:~_.0,*OŔDo&1z1HdAuuz,vU6R_#] {e%a`./ wy y'5%8B<-h,Ԑ50U|nkp m<4oSA`W)H:o`KW2nB~{ᢃy#MP0miHOTf EZ[9&Qg,N|fƽ<6Ɔr-vBfUhĠՈ orw($;+0z $Xl C\gbhP+4-LZw6]I$Ɩ%9W2E"2ޚJfi@mμo> 1𮚢 1M&&Wz5viYC&yI|jm55y&ΘICD)#C"b΢MYfv;sm`7 4] lS "^1-$ 3[K2OR^v=dO|S?fsۏ|FӫsX\ʣI$Do=k ӶI]\M;tI`IVfs'ŌY:Iwli.#{ؘi%i aq I&-r3/L::M 4Mq*Rh&wfxkځkDjzNĠɡdSH-AA@|$]D6߾_)`/|kaglmKCl#'40+{08VH%{}~)cNJw[ _0}\Cߐ -^ㅐm ~[3(T} ڧ${N tw`Io.Lf`Ox8ov&AEr%ؓS1!R (EZ$'`ze^!#6tz\@t` ee]˧nb5L@=ȑ6%M{'E4I<X:返Qm[#s5%#n^O$ߦ.0H'cFiKjo͗P?t@'9xAb%$,TUù endstream endobj 80 0 obj << /Filter /FlateDecode /Length 4237 >> stream x[oK~9)6|?ܦ$N ;Ad5ia;tܞtdG;CrޮiI⑜ 9Ӕ|DO_Mpj.V:3=XZrzx,oSkkAqFid{(iT!-E(vl9Z WoʔUcbzQLcӓOT9M[MN>9~[oOmóɓB)gG3Ps֊ٜ1Ù 9 c_}?xo?[ÿ6g ՐgLKᦇ'x'(4\[b[1"euPTlDxs\ zߜmb(HZ0Q~Tқ4'(5PڈE[kmN7LN? ME*q@b2vV ."H~Nyیl 0g&3TW]=̘1(cwڽWөqq^6e[ePG;&^Ƃ2n$`&+W L?*)@#82 4lca׭˙}`俑mHTaK.c(0] :qX+Ѯia*8mQX^ HΫGq9ê$l,Ye2ǭN¡ȧYƹ 9}6bG2-Xj9 5Zt %(c (S`TUyn R$ 6n5v*&H,O^@#ESA(vqe0ۑ4͈W1JSPMq!v$Ijg*F\ /l(F$]&hBS4V1iR=ZG4>Xֈ-ISdzPi3xWx81 =hX? 5(kPDW#,1UȖʀ`ǘ: %q$f$?v)J*3HYb*DElzOO{[yFɺd-t)u:,uȾ.[m]g'qbr רx4C 9A=u$\s7c/sn762gpDM}Ylq>(f/+WX0$g!z^dž#C6jh5R:)usvLϹ؍Kx׿O!)i$pl}r$zD 0hM$Z^vJ~ oh^Zc8c0ýqns18H&~8:+=CNg)Ncw*aCk+$e ۆq\4Yn~pr@gUh4t\a`waD_ɜۃu%$T >8C;EzHDJ|U@5pRɸ´#;zQ$jH$>yi>yCn:6C9?Áq{tz>@l>͢4Q]Qn]{rqn=|3 >nBCL킩 ;Fi` '{bTL>@\ 1t/L1B-)!dorZ&dj = R=MȾt908c:) <^vAsȒ )t rJ'{gMUcZJ](ͳ4/KKN+EH99Ed]kp96"0 cK|t4握i Ql'7xdi&d@&`tKExW 6Ȅ$Wi3Pƛߺq&>&כÀWqR>(טTM g['$eR%wt,Q2gQ}2M3}y;n|:! G@|&M<~tYANybVWtuu$~H$IU\)TFGA2X:ؙr"^@ UbQ)%*%Bc UQS<]~G v3f +&X\HU1]yJqpUBt!Ҥ#F-B=&Uщ][|^Ue\)Ǫ(/˹IX(RQ9r`qk"eS`EX8oxyՓufi5/=)ClA].gm iJN".d9 8d y58Z[vdCںpTx㊙S^CDSG`oN 85+)|O"_b:P# hXPyCp :0>P28n4!r`,5IolG岤\FOqelc)o Zὢ8sK1 Jq)J~ϱC "1gWEx-X/܄KNZ Y}lQ(MN׈endstream endobj 81 0 obj << /Filter /FlateDecode /Length 3286 >> stream xَG q!-8|h7N_Y.++aoOUwOw5w`ۀUO͘||3w#6~12ʶՆΌ7#'Lk'3(J5:`E.bQzZ[*z=WλjT:<ZeJVb).j3vS4L^7/)+g Ƽ'[89 IgoziLwiktf1!|d*kMc'?]}軑$phGY'sj57G5p m2Y!eh32}~l2x oh^d =e^fIPǦV / lm@ p鮯C O&o_\5'/ᇏ~IGޝ0:|E@7f)9G6=i}m9f?<-զe@? Jo^6`]L9Df+mY~@b2Ukx+Loy˙-/(./\nk$ZyEU!hELMHRRT،`+5 @Xͤ2 0j >PnɥT!A߹+Wn(b2EO1rF,)I3g~2ӀD((w("FADC3ϛE"eQ)u?mm\E CEشE5蚉x꣧"v}Dz Afs!uy7 1Iҫ[=s4S҂R2szml 6Lx{M==Zphg!.ܦБf) 4ȜP؁I L0}TDI߇Ɛ&A l ᾈ:gT @|V  űyn,im?D1qX9rM8S=G`˛,|3W`p /z DyCe HsF-Y^dE5caަ#zxMcqr,)8+ Fr8EГxYlAsfk5`_ ~=tÃg 3 npH2 3 -RauL@%h'hY!5^A `>@J FՀ3XI7АLƕ..+?ęޡoLECU ÞZP;/0u5*_ޡ4+˻E+ mxΕnt_to)Ӌ(bnb};q%D\o|P5 HZM)f@lMQ`FUiROZwasю0WM,ކKS#7`H{^z \J*kGURgvrU1tx26Kz|fH X1;!3'}ez."Y=!׀ +D3[T=@(,ceO_K4uN]Vsx^= eYn[TT5+F+U洄'W8n*Smw$.lDhfS"R j!EUI[v+ 5ae]-m9foYBWwYzbm䡮߶^ KO{)>B,E Bx}$9mچsMĺI0MX?"HǴ-<\Q- IBxD–]ARJ4Dhc7V \6w %Np%+eVdVy,4Ce||؉䂓l1ܹߖ}E:9u 9Z^z!>x|B*X1LѿX4BBz⯡"ipRnO~j8CɅS䧻7p ]h.Lg iGկ~oO,ĤKQz%Mj}GI[٥jzOH1KrYH9kwZendstream endobj 82 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 83 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4880 >> stream xX TgPdqqQwʾ{ , "*["jw4&.'1ƧI˨1Nƙ[3ߍf&sޛN4]]d2"ӦZ^I yJ*[$A6|f0e2YDL"UdRthpH7͙3kS8-pr lsZ Mr0/$66rsBB)ޜ&0&0:>0M7/=`E`Ъ5kׅyl[>-uˌoϚ=w)v 3YɌaV1cqZf`03,f12Kf)3,gfܙY F c3<*3q`'Ǝ"̠elTlX?~~ws_؄ٴھen{B!(Dv6[M5ea >w$(A`UFf`Aƈ 6dfCzE(;={{()SVܶj 8ę '$"#p3z#~%eBVM&. k}PwȹK>Kǯ[wO1B9p{uJ14"wY9x/EܱT>lO3ٚ؊he~+<)_bσ]brmU?d?PƎ\dI"+еVdݳU)1tQ+èXEx**S^S j{(B;tMI*ʤ@p8Dh! ,t-h23H[h=#*"4EXۿ8Dk!paﱓƳc1>+UyH3ٞZ !\9ʖ{@ZuVAfc!QҮ}Eβ8w@ar~FՎ₲۸6Icm7vTSM1w=Nlni 3,LnNo0j+S\ fX5 ُ®w71 pHQY 5t;I~Ҹ{Bq)JX @9=z>d;Ūs8yu" H Un;Zw5Ĕnܔ5& 2:ZCYQY*z_gz>/]Z$Zue%:gU;lOt{38+2@ӕVASH jrW *҆i @{9~"M3S {GfN%Nd“wѦdǐݞ'd'-[*5U{: CVhԻK_.!p:OJ\C$%@Zu:KRԉz3Nxg *Njұ]AZv8VB΂RL~r޴m(Zᛗ.{$ @ܯSm}ZË_ni3GL ~֝~,.G%'|lpj nDmZKz Jk̩ۡu^bvej[a(fY_PT;AQRBj UP B yꃭ@dM`jBS <羐7Dk}?474jGlHdMǹʘ6甍6dȘXLHd.+r 8 SWbmq2Dq>͉{4Y<֏(qΒgBP};؋MUV)8䧫8e7uo{@tbLp'.Tf3Nce{) (o(}TGng9vg8ٜQ,Q+_B]wof`uh|U<]QkXJκXXm:ϻ2'} V)oFG򖀭njs++?88BJwR,5jSQM/ՒeQP Z}X}և j3ȻE9ΤGTV8c9 Ɨ4E쭥ߣGlclX? +4^9JyoȅPaɲbyN]\o b[ GH{Ef}}8|Vwl3F Tm7fQS],Y~wJsjTHKQv6ҪK dw+]^L NF'CWf˧,&uCySi<_}zGd`6[چ̝h_k PJ9I<@.sKMvYRz["%jUɰא%@va0_7pƧmM>e2A78hܖ/` 2ݤ J7IhOc3,6Rz :.]١.!Hu_.Ǒ 7gu'lpw ],\/DcYnQg`9>XtZ W̙f@aSJo+E@BO7X=֭*~%)68.Y3_l+e%8kvT9Kf]C 6NFj2k4N}nKOw/j:y aDzrσ) UHи[\9=]q[]5I[s.|"+ 9y 'b" 'Lr[*|O.]Z:`TqL DG뫎'憸 mސH%~U)[ /(ٚBQ˿w_z=?eԛC%TUo H7DHv%Ҫ"b*.QFV@aͬAی!4hn7endstream endobj 84 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 85 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 86 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xyy\SJz.ĩuScQfy@yA0 UѪjmժuZ֮?s^k=z#a:v`$lGY{_-tߕ1R7@W)tOp;Ok{0R?$~v@`D6/о݆=y}nj5L?mn.}z{}Wm;xwhh> 22 !m ##x{y}ymֿ}{3 3{  @pGK%K=y.^mj5~F;n&O=i :|D. ӟY `3S f%>Ĭf3k!Zf(Yb60Ff3e>`1hf,b1f dwc80L/7Ӈ1tb:3]?c0%9LGF/%ɓzi'i~Gc{l7sN'un˝!]ouSvI{tӫOvUrwƼs_ΞOClW>:{D N\ᡈTu5` qayT߼OѦEAhԉ1ĭnkt/[?h 4itǺF}ޠ86d>ɠ$GU(˰]zK bT1<ڐ6D)"4(Mvz\'% vC9]{o TpX߮p>kJkA0p`)^fր%,駲e/'lT6Yhz*g~,vQV!{V3a'xYѥ p{]7oAh)c{iU !b:>~ib œ2'mZq9a9&T؊YeT=nA/I7s(mvnr'~+l) <|A-ɲC4CpPY|+5-J-k|"}gUYX_.|a!HOSc 2IB& űĜ|X^Y.YbP~ $?8ue+topj5ֲi2mTZGXN}j2ğP\&Ū@S'"N&{B 6ẽPhyX0Ā&|0(p'[i$%lY0p?%x2ln"k-8$:6^^{g8C_d@+2(wZ!Wd(p\[6lJTÚo.<ʇ>'geK3<CG+wXbC͝8ͣ@"Pيew4VlSF{e#Vzބ?|>rtAS%gD_c'"@ܬ.]0n-Tʁ+>pf)ɷledd,28ŏgY>f, WFc8 GDei9[w{xy{ K*S~M^h[ͪUHJGߤ@g48JM*ʭ,ZҠ/ тG\mfxy*r K@x|S@'>L*á`^O(L"js'a^q-oJn&z6\w  FBBV^_T$ `(,:rXWBa~{۫]i?[ LCh_Ϡr HK++hv'i<*\!Vc*JQUP_VvNx]c/sݲˀ<bSSZn0fP>6<Fґ5xuC?MGT99R2!.ǑR! ~F2b boELq ,d.&)%,4Jŕ ,51 M?^K+IfW֐uC(ȼ53iUۊ K0?רPӊVahR oT2\}, ;wWQJD zC2iIM~ Ci0 SpsZ<1Pnl*e|F5Uq=z vueER$Hq(-8xQOu&T llә:]V(C6)IIw JCkp,B .?*m(ޯUiŁRc 9əmZ]#%ƺ.p6-[3Ej&Ǝ"*)[gշPLW׭׆Zu_Zx0>hg{q 5>hGpH1Ӑ :JUַsغw*H ~rdpcx*E>mK#p%r(NbWUۓB{չoyN #+ ˳7kfQ?z}“<^3Woƶu,@G5r 8ykͱOTVڤ-lQ/ٷhY@^5AZ?]MZCl[KOFMT/0x}Hu;t Qm z]wAlZ\}rE_Р-kS<1!TY}o9rhnuD^zk Zɵ҈c =>}7/V<5z}zFN~44aõ>94 :EEPQѕ"gן4 CmPGq%v_kBԆvbQh:Z`j ) ?f};LwMF,Y 𾨤Ļ/R?χ7'>]~$5;uĸ΁HєMx."@ok7m8$lW*WВn|<A.OW k)J)z]Z!#NK.ҊQv74mnhζaίg<1t1O!{{Iz+Hd&#<_󌲏` 驠Pjm(s!1^ޥ}F],oX.>i i>q+FEd>AWj`FQ80|#\!;-im8~I/>y(l9O>9d̃%5y/,Evק=,[ YtO)s#a#:4Cąի/:bv_νh/sťy&~h"SY):$tq JJc"8ߤn*]Ow'I, ʤaD)G +Nj.ju@>9yizCVzeGT: ;(Ww'[ .MY'5c#L7KG6O[PNTBrq|^5BLmI 17_pscC^tQ&gQ}@\2uvms~ yyQ ic=__O`/|z_*p L U?3PWlqqΐJMQ򕳙7J_ K 1m]HXە@[1_aOi榚-V7œC?D:q aK!G#}e2`?Wj8l/&6MĦJsE)m^Ŀ% 7:a0j\[m'Cpf;oOU^H_f[WG(`K]v:5j2ՁcuT:{9g[vi(l/\hIƋ*㿽:$'f{SK1޸3rҒcۻKijv0Ia=p;?Nwe0+uϼi!H}`)WÎIURn-x;,7G: O3Oafn.F \a1|W9um :ˡb ^bc;|B%M1}TS9גGÌ-X!5YuV}UV\Fy`)vs]v+~d {9a }2ݱ?}JKD sj;rtvEߦm`.]6vtTiP ݭ?e댂ϼ5jC|bz%h ti怒XEt6ޠd~UKf ;Exݚ^;?[hR5!re-":Μnٟ;SuFu'O_["+Kbl^ư7P8^Y` SFŻ/8-A}417F8o\C]`Gz~7; ?3|Dkh,}l_N m>ɋa37iбUJ^bKɃR\-!e!!e!eeG"kJpN/M_n)Ou3vQko#W;"0( 6z2Qqm Lh4=4IN}+8W<ىO0!ˊPLLHP /sayuSx<ĦϙH:n_O~# ;_xKo%5YshYZGUf|f!9+]0#98?" n:eП~@3Gv9mMkź;M h*u/ҧ02 m$q~ɩx+pQ( "S?|n'ъˢ>ɥv ƒW%H>I੹1Dh+Gڇ;̱ȥ%;G'z!HN">%6gI2KM6hn@#7Um5, :)ImQX @{9k:9)5W(L8Q <KDRqFZgIVr(, cRM٘@xq1 ѵDQ\du8? RG8ZM:Z,jm/-*-ꆙ#ID"ٿ `X=NJx`r٩陂`b>XIV]%&-d)3,,b%.ϐ,$鼩%Iɶ''7mm.;D]6z^|P*~Zh't޻jDnUJ p 0L_Qц}vዣtl6jԮY$.@TfΗ;N,ɔѵlendstream endobj 88 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1125 >> stream x[PWw ;LQvh 㥎m BL6  r?@ ܄@R\ ezXv}}il38w0Ǘߚd}Q\kd,d$'IKCgt$8kjg uFMedg1[g3/1oFMR**N.'\ת8ΰcٜ]YٌYU15jcZcs@S3q &Nmd Yڨ0l9k* a%X)v{ۋ`DG/XٔI|XQ]yW&({ѝWTJ3>+"E(U CH=pmS#gоMK8D;q1 %UD~hE-C} }GMVꯆJ0sV^^氟?bcq[=uo 1ZB9o6Di.%'Wpvf3VjGۻj9āە_QϯS u; 3CW&.Vm:Lî/l#MD zSEpS3ȇIgXI(|W FG)7^^-KC;KIEMqt|pBcuN=0@ zFxCpt}<<6^1@'wv?*`jl%4@qEy Lۨq WZI+liɽhs01pqCmqة-Q (Zw,LN_b"rX\&ߪxQ&=+/jo:8Ce:^kFc*짢a%(&9710u.{ZAyR >ڡ xIqni蹛P.|zæb ᡮqslX:RY#eEuPcC"tq5B^W7FaSy0JKȈ9`5Yc?Kb~zI2> stream xXXSW!psJ ˧uԺWZVqVAD$@ؐK8aRu+:h >նZVm^{Vҧ7w{D"dی EK6T-{b@Ɨ^ζ !e(%I _YDWf̟dӧwZ rr yzr/_h eaa M:UYdH0:PoE.U0NM\prVQli2+BV*B {;<"3jh/]k#[CMg̜71,|sW'SܧzL1;X]j 5ZGSnDj*DmQ[j+JQ[۔35rfSs5\ʕzZKͣQNyP,@);ex՟@-RE`j15ZB dPT4(H%4?'m߰{ 2]-. e1~|~jd3gdžrrla.Ú=_k/Hˤ ?G19~tr:jĨͣF9KFG Jd{:O &ٯ 4xPAPrZ|rrckQ.FMȇUc|"Q@`5*e(@'g#%br!װ;]e L#a8یJetlT fd&=`%-=Sgp8rk]yuJ 9o#wߨ(#1>9^q_VwĿB9{it>s8VTuh`+iq3ֱX _6.sߺ<98EMPc >@NŶS'aXd{{9R;vͫ.ӧ.Yw.""KL6%5PXZ Uj~ WZ ՕQ&vxB 준< _ Q]F$$pi(-NW]%..x50_ E0' t'b&tvb>3&#1-Ƞ7Ff=!I x̕~m7e_xۃ5͈A Cfݣ|yㆴb?!!}ė`{V𕝪p v0+p90{LŽg f6~>E`t2h jI77[]EjluF,X L)|Jumwd^%息;€|8Zwx֋IiBYgw$YCRCv{;ʑAåKC"tICȈ΄pjcmlha5*T2fFZoߚY#]Zp.p}&1c!A+L8iAtޜp(2F+Y쬧"cW}~6 tzd@ KM 6Jx|8 ѡd*T[)t:6`=2@`' sL: Nٵuw0uj/ᎬLxekgV2Z:{S+)G:Ԋ2K*(0>1ڟ5W 81=m3!;3ɍ _WvC %ZibmG?O=xȖFF˹ǛxBKs߇mZa\-D(X ]\K z{]tv]wT8@C<s,BlE Cg9ë{#5%%*,J9t$ mImաx}-$ik.2A2)UY<ׂNn˓0 HGFO[QQg~_NN pLS*4Pna ~P#JS̏S)ӑ6;15}^mOCa'}n C,[c"丨mK3wy7'A " USm(k5%fߍ{X&h4A91X&(9GYKIV bwk@|J^0BVR*vˊ +NI%P*+rtgmg_VI =\OD*MH_Y]$T8krfҶ;Fck]rIC]!Y>oъwnt~jz7 uMVW}OZQ ҰsO4962BNo?y]Ӥ_Í&&b!g ?xk8t1mw;si8uCAU؇{O*b#,bE+xռq‚1f[^)\ou؟׼7o:>H4ٴ݅Yu^g]r}neNqs>w {\WW}s,gO{[qSm'n@)9\fxaW:t씘Dng;% }P"a(&p yv)c4험/9MVRK6 "0T9^caHZFVsd;x}:U[tTmR Ӻ8߲}@ϴ(cx,@kwr>k5;h'M65J6'y8ɓ+qOz04ӪFtV6la,e}z}ŸQv@KjuwxX*P~+c59?^$c#Q4b-_Ǘ%>=Uw$#oIm*qJKw.I!Z虁;v9>ybQ*4mQT(9 GaZhE~6iS$6ؚ C"#QW6PvzEG'kٴ[v֣|^Kg˪vGzTI֦*jQ.y_[, >$ 27`$[># >Q@"!# Ma۷_D͞{gdPL!sVps7GŦG!9(O)8׹`BYܜ &'XMbr R11֣= Qrk苧~ssǮ8/?ww}|^RJo:nr{n|q|]w6y"},!{#O\*޼YqrLy~=P) Ci>iR1ҟu:{kׯxLu^=&#'}nlh΍.#_l46>9%9 Ī@tqE_a1ʠpĖĖdrŨ"uQ>bCUeJTSPQ5x?a5qDxG2~IMdcժmI+Pw-OoszoR/'CQJz\$dXP3;<*V< Rx)^㋃aTȯˆVˌ1oh£xPp.Q^uJf͋#lP|Gp*3#Q .ז1vdy_1WGJ71h`?;6V3k!J{J婜v oj./Wxd -Dd{x2[J!5~M+a?۳j=(0!?oU1Q(i3&I]FUK37%4|_E%IY:<=<07 0y) ;|<،-ܙew֓6[[6ps"kɍ E"92QYyXT}6a7J'ds"k`8@ٴ r rCo]p[Y/*/)SiyE[{C-%YB ^> stream xy T׶vPEE&TSM<#8GhEhynNMCg F!y`ܘg$T7m~]rj9|{pGD![SV,NY5V!<{awrQI'<݀{ðq? XLt@tLdž?%ʌDEtLlҬYd[3dodKI8{xy\򇲵r,9F.ReKn\+"ce)سjE<.I#O:#T$+>-J˒H!W /ޗ);II2E,:1<.Y)K)"bS"d21߁㓒"d1pr1¾I Z-##RӼ|K%ӓ}e$elx/LT]HIRE;w_(O'PqOrp26m$ylԇpheeBpceBR䯼tF/~A,۰8~妥 '&H]*}蠘`m~cIٓN6}f=oX bE$("C&b1!|qzbDIIIウ̻mfy֟}̍yRIf=>|  NL3C. M:NUUjC&EMI[O £)mңCŷ,tB-Eоtc44_n jkZm% -QG@pOtF?5:#\ln@D%> s/Cnε:)"wJ}"Ϣ^( 3]|pq%6艶.e٠#t=}ژ/Rϟ>zrj~͜ɽ֮΢JiJ1('L3\dͨϪLigP8jfY$.͙ ^dl,/[;?ݍ0h7EPGao Q?p+Bn#Ѐɫ/I91&n5U,RBm&6G^& D;?F r ~q<A96m0xxձi+B6l [9S.Y4i{LPIƂ⒢"wUpr@5euZN3ݟ~@NdN25Em\b,,A574Aw\WhDX[XQ,lp Ş]'0P2!:G7: WqH Pʉ%ϖ]GĂ~x :pqݜ#}5}x IH>+uAԬ2 @It|Xy=hJI(ZiIeX l3O]Tg^OXn \I㚄J 2 Ug%ƲF`!>H=)s>#p1M۫p_SX<|O0Q7_h4 AH:+] KQ q ,n|yI)d~n5mR\_># 63p4UqiYAC1^h/D){>vR>ٳ5wGGT ezahn,S1f܂wu<.<0kj9xˑ~E򥾀 X m 4&UeF@TWW kLSX>R"N@pGI^CViX̙VޣM3=j;W~{Rm ͖$ŇZ2yAW~xH_^v+x׫zu+\O!2nM)vLaT2KmPbi SѮ$- kmgGy5f4{Y]6s +4tmݎPl8N[u<򯷯}zאfŀ֏'GGg(@&fqk)\<1 Mz p"AP)XF~b0?8Yp9 'FL91,5z$I(-' ]U(_ B8^/ P=āgXIag%zSHq'cIp%wF-Z}J_f^Z3y Bt/[G9x=# RKtm$[\8εDMD] /pSq&D/l<_f}gm$Bc1]"=X O**0e,jSDSn>?e5^~lf]g1S@t5xv h&y;nD B'@?9ũ21FRlMq6O,_f pPU}ĩ@شjcKTU֘42nq)L >^ ]Lw Z[&mPӎU6@V!՟cZts\+  #aA&-^;L-4Fo!/[E.19+b.Ńi=xbc_C%ِy;̃_?}eqȆi|ҙp<\` %s2b0C;reZSFUEA3_TݪAWy7Õ+F;$A-NB Rk߂ť% Ju*<.&HIzPI%hg|%A?p[.Cf0_دqZP #'uL!8d;By5|aXe|)yY vv+S5 O%L7˱'xv`(f?_61)n= q*Us~yu; ߕ!}W<\f֙IzNS;.]xcny1hdo .cT;;@\{ EpR zf[G}xM>9gնKb"3zỶg{{ʛTyA2E*+-2:dz9v 2‚btGY Qm -*1:opn1I+W(7mbRb@6¯d1.9vWOn NCQܘ3WYF³T=FoyPE}UvMe:q ܡʦfBeU'F?~@xWk!ܱJi}>4>s9 Zِ3kO9 9 ^>'p¶KukQA, 3i j}Y"M@JI4b2Q.4KMiL,J7fVTXA=}Kw[ ؚB+%I^lPK94kؽaʓ]%)`yyYϝw.<"y᪐[xvsak[W(gl{#mظ.2~N8E/ or*9Ӷ7>"솧9(GLdTgRig)*~OH/oEz]h&Q#ta 5zMH5@UQh%Zmu֤FIp1_V]N+)S xd .WpF̌ EyM15낪kr-&UeR=0 {g0\UL4~¢yxW7j%hl0`4].-rl; NxnїF|@kox.ꋥЄŒuJqBi5;p0s)l % ,  C/32nXG3hk_4llea(l 8uRp$v3 `ݽJ)X^b1(%hqtr, #cAkҪ*}Q[no - % OV?:I*endstream endobj 91 0 obj << /Filter /FlateDecode /Length 3206 >> stream xZiG q|ˎCZI$sgWHDr%o~}7 >U]uos߫L˙\̭6ufYZft,oskkIeqfidUF,iT1-E,fwիoꔑUc|TGFS\cٛV'?<~[o_\bC3rٳF-B)g s֊Œ1雋&0rfi>G{)zʜ /TC_\|=bLAނ';2gn椼gsqsOe)yv9"m'H"ySÉ7H"t]oH lYMta˰-f{|\,!]-鯮$5ݱ,v~'I4T&mcv>}i|X-?a|TIi}lw~䂱ׯ}vazO683N5 @X*4U4_q}Cxhfuz1/~8<6MY1 xվG岒EZtQۯ[ՔxsTmS)YT+U&Qj ӡDbdsjVZڒj7U Bn-eh*@`6fΩBr[LsF#\5}CwFǴ&Zmpא#V-M(Y/f1NU=tM_֛MvZd=Ϩz^Nwհ:V+肨Q4\}9;(Rp4ϪM;6kJ%N 1,Yw8P‘W8~ޯ{YnT,͋)^upf__ u쨩taN01^h`Q*CɅV=hQ&M25:~>z$ӯUJp>&Ψs?^4Wþ=xa"SC &jCmjnsgs*`PXx,|v\F<h5!p?< @"Q\&2lτ Ycp]J8fnJQD&&v53D<%=ݤGeK3k'3# k:~2i)t8 l*v\t;MxX N^Uq_D $Zle.)@彵>zPwys NbĖPO>TUUhQodj d p<0n%"b:K xMsyBi(ҫ"+u>+ryzOepYe/ұH]"}V$j\֚"Kn&&\=N|}1!={8(ATpt C5\^ñ0*+gțHW?jpơ|TĦMl?Eᩛ 1{Z,O,- l«˺尭䭅Hz;n[Me#|❅C7%G%J=pY mRYU+ ӓEۨPi>oN'*L~z -ee1/2|+5|*uL yAu JЂ';8~y"ê{;pp{q Iq#AсY`AB7@^˜f5)"H dHAw@C=Jj!s!0DX)Zsx^ sɤ.NNXXF&+¨A`[[oOu`@.q=gS `6r2D^6 aFY Ch^k]N&ԧu\X;%CǙ%<Lj#n<;&O}g\X dP]yj<5oQH9:c4a X/a#l&A("NjѦKT\oJ^*W$PtȸE/7N.=gSN@r;gn/ה\ƹF ͜5)) t6` :iፔUf(v;pΚ^y18̿fQi` C{:{?^sp(UhN{V6ړt(%?Vp_endstream endobj 92 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 93 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 94 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3858 >> stream xW TS׶=1sT}'uX[F B䓓O@4|T(("*O/Vm[m;뻯I2F{5לs(QH$r۴ao"QŸĀ e<ܜOOy":=x!X$RQYEK/\+[PGceHE\C(e(&U6H& c+f͕%Gi"e[ u"LFm(dw=T1qZIPR55VzM&1)Y754-L%"2j2ftR j+5򧞥Q۩ԛTIQjj*ZK-Q jzzP18K4F*EQԏdQ?/m[%L2F_|LX؟=vz|0nje Sq: Ih3*g Tt:X 9%}Xk8 'Bϟ@ z94Z5vEN{P1z;4uWdJqhzB.̶ob!Eh {ϐ'3dUs4S=-}m0ǣC8ޭ NC;hUxґf`5ܘ֣Yg:v~ds/(l ҃u`Zf-޹"0h,&}g^tyٔG0_y!EaP,LCؠOD`< {ߛFwvIߏ(SxT#׾Bk=˶I=^:@G"$vЋ+FU6\+8R.Be*//C$A|Sjow˕KvT,PC`^e])X.?5(=^ENO H`-cZB^7i8nxoXac`_>^+k'-&pIj߹R{&܂V+F40]G{^=[ %6Qտ sÉZ "g:'Fwj(! YY9)TgߪDSّݗ՗YkH+=dM 80= NW7esJtd TVQXعGg%r;)Qu$hee| `7vBT23d@N0PTK`6-45ak*Z4rl73M/sJeD:C-4ic?Av4jU-4lyOdscpz3)e4A*"hp{8h녧:u:o"k!b!"4Ԃ9ǔ^+(6Ug>}AB( *fz?CNŅ>CizC<4}6{޵6T>PٱK_ɐ|)!a3B:(GV:}فmE(Ղ'E9fB'Lr %{B:2|ybO>f0CAYA=tG| @kf/-(e\|iMnEoZ^OޥE^a ]X/?Sm3"NVqȏ& 9~dy'0K_oT֧ٚjl] &ɒf`I6j;Jh7!w#{|g+LGWbvv8h#}QP&FoD6 emq鴼*s.$ f)sz67g>/}]h27V(x[!ldG`{Y;_'Cp:_W gbmdOm" ̃ zh1t ajC! 2+ $lD4Ѹ(ʪ=Ulr{; L6ֱ?dڠȸ)QKdx4޶.[4hͩB026'z9ٯUZ<-~H$]&!Bg,6؋R4t}¡2[tN " yyf,O!HkGmkm@ b@,_lW;{9$=ƕkA>-Ӭfi4-3v*rwba0-)s c΄4D%{5ȝM[2Y$*NN/\%h+ѯL,>'&-˞"920ytS?I { ſCso;p:XR<B_"d0'mč4+ 﨧L*iA+mC Px̛Iy"EL]v^5}1v&s_>UoA`ҟsOBJ'@OLm\Gy$X_w oAnܐWxTC$XbullbpD[Il.jw!zeȗ$D2ȷ& |M!$ O”|4i)`vJlRc Q[}]̕ΐӅz1z*'Z#%(?ɻwkΟ {jK_Џk̗`מd -?vdڶCIg*юDw+Ɓ2ol*h+ JL\KIi`Mi\[`]{ L|0umĚ$UF 1]4[= LtK#W() gIR f/ L9]_ rkmsk }&X{j sbh1clu*UJj=7K^>Hy'`0=}9ȝ~g8_`v5^JH;ZVд 2`3aV:d+ʳ^.";zm d (vnҥ` OFb2rgx_ϓ+{EnѠy,=H ٓfFa!-EVNfp'h)2}Z%M*"e6]O2u#'ʅ(!56u/{lqo -O0&ÉףW%"$%e\b+L)쳫hGa)qqqqVƚ QbpmN$cc, -#L#| byŻy;rx749\5"#gnt|PԧpYLrEOne@=q U2S-crcܖy<<> stream xVkPgf6dtO7Qc\qUШI#*H0cfoAEy # Q"bJ]h(eUV6Vr{62$kjn~srwhfVn75ZzMzIKMrOx|񩯧c yQ ֛W&]\E5[=Go\[~*dI֫-h$6:%C5{ib\iii estxzYcJĪVUPtF5vc+ FEcRb5&=EQ>rɼ.#68nnCbr$ESR!,j#5 y&=ʗZK->ަQA j NY[,gK ~w_Ј/(;VEFh/b;E ҧha^1o6"^|^NZpӅ[HZZ`_g:]U: ]#CN*Ե<d _zy xmd5k C?g~I7Mg j&*Y_WKZH0 yWCwTg͗&c'\tdC1kjαk{2FV^`i|Z`/㜑G,JK2$DA9ӎlCLeܓ,y>"8toGC7m~I$=ύ!2A{v^̻2[~/K^UE/NuaojkBohQ9(m*`OȻE.cU82ķ@"cTL/r`TuZ\(6$wC%_#+jǝb%?[\tU9$WڠEs:(|$Mt ɍk);+SɔɩZ_(BM۰(O3-fLw=jg~2F͒](&jn#Dy.*˅b(,[c0:a:oA%Ax_BdC?B,Y:䫿/\>G|9.xۓZАS:0|8*dj(7yR^=YJG |Z-] K^^>3W.T"0#ef{$!!tOb&YdF8;[",?T&=@R؞'+R[̣tOlxW)o_5'|ƾȗB)*>\rrӀV5´ji\Q͐ s*{s| =Qendstream endobj 96 0 obj << /Filter /FlateDecode /Length 2412 >> stream xXmo~X([T 9C EMTR[N>-I _g%-Zs3< A+3h7ޭH4ʻl0C`oTn+RlW.;,AIIsb딪q?r9x⯢)Yc6*S)6=Ei̘ 7W&9wӫg'?\^`UX2nr_NTJ.69v4i:h/3kƿ>V)j48u܁# ^dcE19]Qyz k; ъ< gƩ]j83~:cBTюpVwmuVߎmylG^yWɻmnmeƟpVz(nY&WH>0e@J4XX9+ aUtP= *dqXe8fx43AuHFVh(Ŭeu@NIz- uZUk9p+͂^3+}bJz-~z*鴜F!ꕪ!+DZW^'xlS!iÓH7b$5F<;l̜ra&F va |9֘s2}x7+SZ*Cz}zQa @[U@ֈ7I!&U2>5*2XJ*ɻo rQ}-'vPLgAZ} ^T9VHB5Q2{h/TI1f bR{c̘"6v`:$t(<b<5"O$y 2ގ? qn7K#Hz{}"g(T_]ct0+u Yq*Ɠb~a0!Z1:г*YLre%[8Ü̸iy8_4qyvuCh&#&~@c[ P~xdQ e`2F`GC5 dye\=]ᄳQ7qnX+NPqAKlQ+MB \qc[n\MK j -`-Wx+֬a M=.9.d<*aB2,HL /qiu`"+WjhpCYBdѸ/lթMi8Bď[ Vlc1cA Y.B[WPfJ6gi. hb,PK"ix"G/0#GKD% 6кYU܅-& ƽ(虌rK0Ir-yGFaHA]\.2-8];ALF'Ubw.oc1UObݛ-]y"ӒtC-. Z4-Z09k)m+dTIiH(Ir#ċ@6+"e!Me,hf2f= .O1vQa$Vl-8ef׉ˇݮ3̑^>jވ$$ʳ G}\l؎okǃS ن0yu~ϟ]-O&$㝼x&Q0ޣCh& &<Lo:Xp)Sю4=dF8Éx҉z!B7=4,5qh\/na:-ll"LÞs|d{yCO"޸⊌dd{|"jͣ" ٌrY8"I'j6t]xwTnNWtեX;Τf r_nL's&4×\g#n"*|bʵ\-۝Y:SC ģh2)JSH-/endstream endobj 97 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 98 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3794 >> stream xW{\׺1dfK%hBZD^> ,Q$*"V|F=EQ7 BAX[H "mTNkف{_2G4m`ia8a(+ttba)LEԨlڄ3 춋X3{efeٸuِk_l|*lfȓY! ۷٬JPlKQ@yٖg&jMQrn,XLQ *IS,j."TCP2ʑ|)'*򣜩 OͥHS+yTL-B%&Q<5hj eEMʩj!!2"Kݦ:O2nqYEE #3@'4n}gl0{.r/ߊx+?G0V11nrDgizf[;26/4/1l~. MH)Dt)-:PRPK+icFb'ذͳ/-_iXs3Ra5T[hG j!Fti*9妮vߓ/']q<{fٜ/(%˷dP]C)prXu}b8-8tӕ4(3B%l/̀` ,yț' N n\-Hg/ ^*f+@aӪwmy`9)0{ w*^;A  -we'GWs*^ExmAKIm,SYq0M4x<e2/ؔoF yA$dkD/w{jZPBZ =X!_MiEjې/GRaa(bcCRÿp-f`sOY=E֑hæX/N5PBFksaXaH`3B {I0A.S&,XElO>~*[}'>ܘج=¦R9Sʪ溓Yjدr5]Cj-<9 <[- ([/mT !cpQoR v)DhYVD|8,FؒY0@/G2{q aBV`N?B<AoDV*ZO}uo ZP\%<@̓2F-%ݧL" ?N]oN4xm(Ek[e)!dOJVRk}EµPoǺM*F9њP= bG齰E>BTl(JgK^VRYoc^f%=9dj LIOXH1xK7}cY|j0=)UmK9}9~9Z-L76ޙɦCfEC[?ۚnH?P6x݉U,|/ݳHfMfҚVU4WLcO7i}PZ+\yB?tw1I.apO7'`>I:$5T#M%鵌~2 0^#~Ì hnZ(yԻΫ/KlLځ)%de-K @Q(暜{6r#-#i Gh1jpJdl ocGH}*oh<1>2pF6'\f)@kYF q/AlIkH9J8vW3WN~u!TxRqxW,k-w鬄j\Mg"<2wQm+5N֡L_ԍgJmCsb5zzFź0Ѡ02 •nK4x b5acحtemچ;T[QmaMҚ)H3wg.߸Vx,J2`^Ӱ[aKEw~;}$:F]G2!TݳS)=[R 1R8W3$Z!@2^*q0 eLg ŗ/գ~,z6ʐI"IX9,Lh=.Nj}7m `OXZ/c$tr ) Q+ݡhpG rb<Oq[2S+bۮ+] yi7\JQ-EםKlXޟ"4~PU_J*0ͮvzSj5s `S7%FC0惼5]R_ #y}#Ό}ױj 5{wztRJ"ַ 6j=p57KVm3ţ/(OcwiS\lx(eĈ\<ڬWzb\wU?)10\~[p)LgG6Kf4'Gm]=koAՐ*t *OY2kS9j"`y\4!\⼌^sf; [7bL4ӈ)Ff`QN<-[iصh@h&cH$o1߻X=k_|=C5'\M^UHFLqP玝.{yz{oJ9Gb`W+! n A6|Rb^~z}\?H /N.T0mĭY50紆em:„E]x;jgR^9}q8s3d 6}Rȍ{h%e<^eozl@wcN,48Lx463`P΃Iآ(dzfĽh }',xwlXxҭ"e3~%|bpkhSA,) &,\L!/䗜Í>KoA Xjs,[5*YVͿB/8~!G)1C.H-vQ8{\g!} \} y*!($oaZ?-D0=Ot[:J%mH 󜊧 ;6&x\J1%|׭e1KvtܪI^F{ "\慶,d8O7]=/EM`B=FkJ K '_0|mՐ#LzpNkL˝\CG{SKl;h:(y}Pdwzw1wÍ.X'4\0R @@lU&c`kMTLMM(_Hqendstream endobj 99 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 939 >> stream xM{h[uMLH\)uQ3 :ǘ&imI$޼okXXתN@Wu >@mof?==|?ppN8}*ŧd9H[6փBֱ'qԿ { qfbqR{mAs\G:nFBXmֱ51D46Ё.]gv3#m(5PoW KЙij;]vbaS=Lm8fa Ʒyn { ^vbX8KvXvF*OoA_@O}&G˛kڬHX)V4G U Gp9~Zjj[j|\Y"A9;Il$q8˨5)LA`3 X5ׇ/o>}$Ļ^HD|XV01<Lۛ ɅIp0h˫\1i6֟ܜj?$}M/տîH 9DBv˷;ҷ$'@?2i`qbd)tf|cR:/C8uNfI=z`T ]Oy2vDU{h1i(ȩFj.Gm[Ó7p,%/xrL $D2:ǩ?35oD&sDžƎNL Al4jԮ~CBUv,b)9RQy Wߠŋb*%'xH =+%/D9XZ!%Fz:_WIz6yl~KtuiɾS> + sAҥ6ۡi+c  endstream endobj 100 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 396 >> stream x~CMMI7'+   ]ZWnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer ModerniJ(Ҫopnqnzv`~z\e~}t;_bdw揗cT(]z~ᷯpt|rMwCp`  7 [җ8endstream endobj 101 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 440 >> stream xRCMR7$,  ZUQmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern12Q͋oKL0bg͋§j~'eg #e'͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ !endstream endobj 102 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 272 >> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 103 0 obj << /Filter /FlateDecode /Length 3020 >> stream xZY~g#y0L>8Ȃ) AJ$׊ÿ=_=ܱ8y ,;F~!Fw ֽXGEg3~a=*⋅|w(6JBq܏F.-j F5 Vr$YlnZ(#ݨor܎Q+S&\ɨ.c킇Pvj=\BΏ]^/by=#/rJ9ӿZ"HY+ˁ1˥˙1'/i{qko=?!3/x~|FаxGF1WV?[(9'3o<],ȘSr; @hUCu_z oT@h_ z0=ݙ[{Y/@n;w+'odTt$ XǾڬ2 WUfS^<6ۛNd TuǕ\_oӑVPQzmt??թ.Xp;U9og<=k{r{6oN`,Fqs@+"JRk&Yd ӎ=ѤqQF(ηPL()цTdf8o[REb.rOPpCA\*5wyUx9l6^Zb~wھoWqJ0 ǮS)fO' )~Ⱥe)sεpR@&>GuSBRV] Zsh92C'C䌚[ڈN NqhqSjes&|Du;klO*hqW~Jҍ^+.Hg\hzGTƑ4sF -i g2sډp6GƠ0ś#x/4^,ࡂ3q؀d=rXSh>i;lf$0g&CRqIQWJVӞUE9whCH!]1$BD:feV1 ݣ9sf7+]Ns}: ,ƪ@mgh3ɦ@h ω^UƏ*5KQߕ:~]4(J9)PO tQj`n86.5y6j#LRl t[\z)a2} fϻں\ͨ>Ϊˣ9_k('$ྖ&g'8%= C6 -pkG4MewУF!Í[Zιo(ntJDq4@p-.W`Թ5E v0 Km]+ţ5 ǨcDbE0prX"!QьtE5 ӌdEVf S?7xppC3DI ipIi5/8IO"PJxVf$ Ax+(ӌhEHVg'šq8h9YQQI?(]N f% xP3 VV0 f+C)4[t7]n 5G;/B9E0HHNҿNJ(qgՑRM΍9WГ*uJK HoD(5M񨠩XQ4UB8;YGs(ɾ2}y%L C$ j .qFQ+Kj$єڣn8xq)tđ$У"Lёp("aG®&!^2P1z9O2Z32 uv@씀l#DW܀KjV}fwX&k J4ݱW Peĝ WY[phuLǬsUB)t3U]TcF"sd+3?&izpr>X7!&$=MЋ^F*[ ]5|fʞ|\p%J˅P\2&\r!E!peʄ+p5RD -L$<HA:@r@ZrY=ӀBBY8=0D#W_li^D5q쬏7iڼ[H`3f&;jY_ᒠ 퓗4%qzHvl^ ۱,W;(D0;2޾ҫ/ / nmK l~X ]8DxN17඾ >XM\ª]*&*o*PJi#ۅncװ)ӭV)ه2‹[=pa Ud5wĄYRB32{'$-Ӳk|nltSVyV\]΄cUMS4r߆mq,͡xSq["tC0v"*~BARP[ Y4ڈoMmhtES^ ݔvٷt< rendstream endobj 104 0 obj << /Filter /FlateDecode /Length 2870 >> stream xYKf7.XߏHA Hɴ$ tOHxz)lߦg,@hmz3 Nj;Bz1/.#ZQx% ťd{b9Ӡ[+AY| G(?knZWN%_T(ƞ\J9qu9igח/VRwOo/?խ5ݾ4" 6 zvxy[sq,?ޘ#~{-AplMJi7|jM^;\KqՅ}v+xU8 x/O0z4o31z}9FȨq?ћ1z;Fgcb>36^?5v_8Ǟ1Z\oRfg?EH߯e=Ϳ y3Fv1~?uz>|̮zC/SySl(>|̺XaU bE6r>tv{{Gt5D4an&䪩[wR*UTZLi +*QAqA E[r bvH+cu@Xs57I Sz6QPw R: J/nK;Ce$Jc Xptйs3NuVشS@)8O-oUyUsLDOnK$ƅÑѡ9<.\Ls_:s(1ʮ (v ' 82=27H~u@AUpm"l0̦AI2AJhHypC$)"`ꎒɑ 9(n(TD\П*|!Iv0t.{x^&J{-jqQ*ÔqKNH'S1lelL~>^BAGRޢHnX _jPlPB).N 46zj8؂r/4)^:Kl6 ]bL F:ϴazo^(zqȼ%[9v8d$D39#)bi#ֆUfC$SqTiPLh^N 8ڙy:Lt4l]]<2bmx[4(n6()8 Ep1%{94"O*y/ X.4k+^$F"}c.'8V3 F@ǔ pA ]*Zbal89b QVZS_nS[> _P+8(G%H# Pdqn` /pCp0pA `<9TFcE^v O Y0K~\(H%[SjGqztrI#l+:2CfJA1 V SBPR5y8␅,J5Ib2)FN#@aW 7PJah(B8lt̙^(kxGNz1)I抓Q:2|YG1_Bsľ+TfC):/7O)ѽj8c9kk*2(M"]S+Y8n6)݇ Füʡ^v O/R/F vt !tT20s[.S w")g3acPU9~37S ft {e ƲLsaѭ۬q#Ũ|zU^yZLҌE\kCR /z.i ӠL.ta)AYz5 !a71*Z3@$ĸݮf5=:I;+%x{w*:UcYY#.SǓE)'nZAaIwnM+M XB↯+ƞYTQE5֦x 8-UL]FrgzJ}!?_-1,T^1.^ ˟endstream endobj 105 0 obj << /Filter /FlateDecode /Length 5610 >> stream x\K^qϯ,xuݽ'$M# ?*$8ίϩw18TWU?nuuvv7|uy^QF14s?Z.yuyGrL荵ZuS2SOmZh[P*ce-1ϴJ*hLBڼx oϛO::V'tK``T{9k~ \ϡ16zs3uo_e(G߽_?zZ?ja,1naGTۿ?UN -cć$c[Ic GΎߠZG*)X-8h}&jr>5,Jp{+c0t֭3aiNJI1ܖ\67 Lc5`Pz:1dUP*KXGF֣ul j,ᣑZ8g;zF[F"+mupA?1,Nq0jj2A^Vߨ>2bO&!ެ}[KXe(]^ᣫ"Q6 Io^݄we, qfob4ZԲf*ӗwT‡bjQF+hCN*3AX=Hmv2ʑ0+, $4BNHB 5LAC.ȌasQGH&v0y*^ y4OJGaA*ki>647@+ yL&D"q4Xbpk4fl `N Xɣo>S 4,JpXꦱCmg$B#+>`|chə{,DJ:6cc5,Jp 4Qa 2H_X$ Vcvfdf!&[Vy$ Dbe?$SŀeMSQy`e,$|:LBcfZB%KEc C0(Lâ4 ~pߐeJ4$ ==Ӟ_$ؚ$Tx!L`v Ϳ/zo";C^+L>c|1fy9J40jim ja:Pn- C1(\â4 ~ $ٳPNL3WFl ncLG_EƘ݂bA-Lg(@UÇbjQmߥl6 e-ʳs1ԑTLǼ꼩F=eV̂c.7y{y'P;DYCHc&v >"'HQ_\5:GYO=*K̙J0 ,\}q:E%Ѩ6IBi]cJ*750 MDzS4,D5pɅ2L#*V<2ƆA' |㓋qŜGRf<G)C04,Jp퇮G>xCgR=$G_N>0ƪoy9[SXrw/G `P\=\ը1hY;Q4<>KHH*W0h>1'V5,B%tZ8vL-, Ӱ(µ^dʪ8'lK W\0YeRqHJY7 Ň",!fC"iXf[-/Šç&|.eЧ M-88)*]Pc Tr H 4W>hˇΠJI0t+AOҏyXUwZ]S@޼Nܺb.ĹiXpfEe,{ҒylLj/S8+?4-@5K,B%ut` d͕K[=S|7DN !lj2M.`yž+$} ,d3p/@:іN=?0 u˔[qpN*eBwL~T5(ofAБ`P;_o< Dbe?rgU_1,-ҵ'Fnd<2)4袷m nd C1_LjXfۉ[Y\rrzWvT0TAc`X)gkv I[|| InK,E՗)3;GݱyMZp,>I04̂C0ZxQԑ(PGt$|1I=c,D0צъ`knXP 4^laL-kϚ_{ ]_QDZpxV Q7\8LHsf0;TU<0z5Uq#9VwL6kx͂aA-L#U% P>S 4,Jp퇬@LU;igxlS]`fNK e\oiטr jaDw T͇`]}װ(µzX3[e%[teH_1'yi-422 VTR; Z|Z0 ,\YjhVc `tudK~v>*5P2V'ET^ag,! x ?R< n_, 3TӁ~&xǧ:.(=rwS24Qx]_MߕMI 6F`Sktq7P>܁5@d$܁W(_OdN]z?Y>kxҋ۸'+h/to&wpǴP쒋֤v-ZIL$-y&ߔDpq+mmOf pJ'<l|So?WiҙΏ H/BlÓV}Q}D̀ Ig(TܕsF}y3J3cD׷8hOn/}x~#)DvA'I*m'<d!a8x$,3`P=ҙrݢ.$4,jpN#t" P؝G0<HX0,>HR3ɩ,ЛN|.kxjE?v:I!aNyR= $4, y,'_̇᠓Ei$e `|2<-+p0J\C#nNICf|Dl>$4,J;`ųot2*p A* 3E$9jat)̇ EiH%HZ Gy9%%a08%4moP9ssP Q 6JJԾJJ|bl'k{BIh]$,A()),*|NIhXfڏV·h%3i%I)VB k;-,kK}!8h%aQk?vZI |VRʼVR)Vb##h%afWrZ .t8h%aQk?vZIi7ZI;pJBC8#j xRIir>m$"xهR&Ii.9 ?v{JIha$,A))tN[m!8(%aQk?vJIg6JRJGa (%k!Ds (%9y͝(J/zSJ ]ɋI+%^PQM\ԀBRW֞.P,' Z \I ^QHS9 {P= $4, #cp[XhEhF(Lâ4 ~t7Ic*tF(|TA'q %MCR"!8$aQk?v: t$8 tDҨNr R]7NYc@oT{~'Ր= $4. ,}4 ( ,\SJXRZ%~Kv`E܀Aę Yаµ;:$!bm0PH0,.PRl%PZ܅ hIh(:Jw@+}yB ]P*‚b tE>"4,npNRHi;#BS.ʧƎ|0.8i qkݾbg\– NTHoθ(=hwB GP/ EDi,gCqP/\ãT /sA9 9 h5P8 A Łsp8|ͫ\C}Q \sLwzrZ G!4 w!iLS F|I"J;G_QV@pLQ a #8 kJT CppBâ4 ~ȲZ]Bi 0 LiC tHp[ [|BhXfڏM:E!AһK Ǜ~h4[s 9LU T}7gͯ=C3AfySٖf oaxW}D5gÅx _C? _˫x y G#0&z7e?4,Jpϳ󚫿M_ ~hȻ}X0\EL Rl>r" Ӱ(µ>O-[H0RrK1Op쇆ۇN\.J{Cp쇆Ei[WS߳~:J ߼IvyǽŒ|G@l#ft^ZxgO+Q$kwF14)YǫCdL?ܤF7]KRF)^skw+1w'Aҳ:-֎"R҉ß}$> NG{PH}NjDV՟h|a"_LU gI \gy(wOKR')&' +L|SiF pON%b,j> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 107 /ID [<43ed8ebf64032c38535945198876a6d2><2688fc6e321636ef0ce7b65b63a04de9>] >> stream xcb&F~0 $8Ja?@6,(6A5+"vH,0d"jdA$~) "H`Bɟ"A$V"3 $fm R̄ endstream endobj startxref 78029 %%EOF HSAUR3/inst/doc/Ch_density_estimation.Rnw0000644000176200001440000004716314416236367020005 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Density Estimation} %%\VignetteDepends{flexmix,KernSmooth,boot} \setcounter{chapter}{7} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 100} <>= x <- library("KernSmooth") x <- library("flexmix") x <- library("boot") @ \chapter[Density Estimation]{Density Estimation: Erupting Geysers and Star Clusters \label{DE}} \section{Introduction} \section{Density Estimation} The three kernel functions are implemented in \R{} as shown in lines 1--3 of Figure~\ref{DE-kernel-fig}. For some grid \Robject{x}, the kernel functions are plotted using the \R{} statements in lines 5--11 (Figure~\ref{DE-kernel-fig}). \numberSinput \begin{figure} \begin{center} <>= rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) lines(x, gauss(x), lty = 3) legend(-3, 0.8, legend = c("Rectangular", "Triangular", "Gaussian"), lty = 1:3, title = "kernel functions", bty = "n") @ \caption{Three commonly used kernel functions. \label{DE-kernel-fig}} \end{center} \end{figure} \rawSinput <>= w <- options("width")$w options(width = 66) @ The kernel estimator $\hat{f}$ is a sum of `bumps' placed at the observations. %' The kernel function determines the shape of the bumps while the window width $h$ determines their width. \index{Windows, in kernel density estimation} Figure~\ref{DE-bumps} \citep[redrawn from a similar plot in][]{HSAUR:Silverman1986} shows the individual bumps $n^{-1}h^{-1} K((x - x_i) / h)$, as well as the estimate $\hat{f}$ obtained by adding them up for an artificial set of data points <>= x <- c(0, 1, 1.1, 1.5, 1.9, 2.8, 2.9, 3.5) n <- length(x) @ For a grid <>= xgrid <- seq(from = min(x) - 1, to = max(x) + 1, by = 0.01) @ on the real line, we can compute the contribution of each measurement in \Robject{x}, with $h = 0.4$, by the Gaussian kernel (defined in Figure~\ref{DE-kernel-fig}, line 3) as follows; <>= h <- 0.4 bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) @ A plot of the individual bumps and their sum, the kernel density estimate $\hat{f}$, is shown in Figure~\ref{DE-bumps}. <>= options(width = w) @ \numberSinput \begin{figure} \begin{center} <>= plot(xgrid, rowSums(bumps), ylab = expression(hat(f)(x)), type = "l", xlab = "x", lwd = 2) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) @ \caption{Kernel estimate showing the contributions of Gaussian kernels evaluated for the individual observations with bandwidth $h = 0.4$. \label{DE-bumps}} \end{center} \end{figure} \rawSinput \begin{figure} \begin{center} <>= epa <- function(x, y) ((x^2 + y^2) < 1) * 2/pi * (1 - x^2 - y^2) x <- seq(from = -1.1, to = 1.1, by = 0.05) epavals <- sapply(x, function(a) epa(a, x)) persp(x = x, y = x, z = epavals, xlab = "x", ylab = "y", zlab = expression(K(x, y)), theta = -35, axes = TRUE, box = TRUE) @ \caption{Epanechnikov kernel for a grid between $(-1.1, -1.1)$ and $(1.1, 1.1)$. \label{DE-epakernel-fig}} \end{center} \end{figure} \section{Analysis Using \R{}} \numberSinput \begin{figure} \begin{center} <>= data("faithful", package = "datasets") x <- faithful$waiting layout(matrix(1:3, ncol = 3)) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Gaussian kernel", border = "gray") lines(density(x, width = 12), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Rectangular kernel", border = "gray") lines(density(x, width = 12, window = "rectangular"), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Triangular kernel", border = "gray") lines(density(x, width = 12, window = "triangular"), lwd = 2) rug(x) @ \caption{Density estimates of the geyser eruption data imposed on a histogram of the data. \label{DE:faithfuldens}} \end{center} \end{figure} \rawSinput \begin{figure} \begin{center} <>= library("KernSmooth") data("CYGOB1", package = "HSAUR3") CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik)) contour(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity") @ \caption{A contour plot of the bivariate density estimate of the \Robject{CYGOB1} data, i.e., a two-dimensional graphical display for a three-dimensional problem. \label{DE:CYGOB12Dcontour}} \end{center} \end{figure} \begin{figure} \begin{center} <>= persp(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity", zlab = "estimated density", theta = -35, axes = TRUE, box = TRUE) @ \caption{The bivariate density estimate of the \Robject{CYGOB1} data, here shown in a three-dimensional fashion using the \Rcmd{persp} function. \label{DE:CYGOB12Dpersp}} \end{center} \end{figure} \subsection{A Parametric Density Estimate for the Old Faithful Data \label{DE-waiting}} <>= logL <- function(param, x) { d1 <- dnorm(x, mean = param[2], sd = param[3]) d2 <- dnorm(x, mean = param[4], sd = param[5]) -sum(log(param[1] * d1 + (1 - param[1]) * d2)) } startparam <- c(p = 0.5, mu1 = 50, sd1 = 3, mu2 = 80, sd2 = 3) opp <- optim(startparam, logL, x = faithful$waiting, method = "L-BFGS-B", lower = c(0.01, rep(1, 4)), upper = c(0.99, rep(200, 4))) @ \newpage <>= opp @ <>= print(opp[names(opp) != "message"]) @ Of course, optimizing the appropriate likelihood `by hand' %' is not very convenient. In fact, (at least) two packages offer high-level functionality for estimating mixture models. The first one is package \Rpackage{mclust} \citep{PKG:mclust} implementing the methodology described in \cite{HSAUR:FraleyRaftery2002}. Here, a Bayesian information criterion (BIC) is applied to choose the form of the mixture model: \index{Bayesian Information Criterion (BIC)} <>= library("mclust") @ <>= library("mclust") mc <- Mclust(faithful$waiting) mc @ and the estimated means are <>= mc$parameters$mean @ with estimated standard deviation (found to be equal within both groups) <>= sqrt(mc$parameters$variance$sigmasq) @ The proportion is $\hat{p} = \Sexpr{round(mc$parameters$pro[1], 2)}$. The second package is called \Rpackage{flexmix} whose functionality is described by \cite{HSAUR:Leisch2004}. A mixture of two normals can be fitted using <>= library("flexmix") fl <- flexmix(waiting ~ 1, data = faithful, k = 2) @ with $\hat{p} = \Sexpr{round(fl@prior, 2)}$ and estimated parameters <>= parameters(fl, component = 1) parameters(fl, component = 2) @ \begin{figure} \begin{center} <>= opar <- as.list(opp$par) rx <- seq(from = 40, to = 110, by = 0.1) d1 <- dnorm(rx, mean = opar$mu1, sd = opar$sd1) d2 <- dnorm(rx, mean = opar$mu2, sd = opar$sd2) f <- opar$p * d1 + (1 - opar$p) * d2 hist(x, probability = TRUE, xlab = "Waiting times (in min.)", border = "gray", xlim = range(rx), ylim = c(0, 0.06), main = "") lines(rx, f, lwd = 2) lines(rx, dnorm(rx, mean = mean(x), sd = sd(x)), lty = 2, lwd = 2) legend(50, 0.06, lty = 1:2, bty = "n", legend = c("Fitted two-component mixture density", "Fitted single normal density")) @ \caption{Fitted normal density and two-component normal mixture for geyser eruption data. \label{DE:2Dplot}} \end{center} \end{figure} \index{Bootstrap approach|(} We can get standard errors for the five parameter estimates by using a bootstrap approach \citep[see][]{HSAUR:EfronTibshirani1993}. The original data are slightly perturbed by drawing $n$ out of $n$ observations \stress{with replacement} and those artificial replications of the original data are called \stress{bootstrap samples}. Now, we can fit the mixture for each bootstrap sample and assess the variability of the estimates, for example using confidence intervals. \index{Confidence interval!derived from bootstrap samples} Some suitable \R{} code based on the \Rcmd{Mclust} function follows. First, we define a function that, for a bootstrap sample \Robject{indx}, fits a two-component mixture model and returns $\hat{p}$ and the estimated means (note that we need to make sure that we always get an estimate of $p$, not $1 - p$): <>= library("boot") fit <- function(x, indx) { a <- Mclust(x[indx], minG = 2, maxG = 2, modelNames="E")$parameters if (a$pro[1] < 0.5) return(c(p = a$pro[1], mu1 = a$mean[1], mu2 = a$mean[2])) return(c(p = 1 - a$pro[1], mu1 = a$mean[2], mu2 = a$mean[1])) } @ The function \Rcmd{fit} can now be fed into the \Rcmd{boot} function \citep{PKG:boot} for bootstrapping (here $1000$ bootstrap samples are drawn) \begin{Schunk} \begin{Sinput} R> bootpara <- boot(faithful$waiting, fit, R = 1000) \end{Sinput} \end{Schunk} <>= bootparafile <- system.file("cache", "DE-bootpara.rda", package = "HSAUR3") if (file.exists(bootparafile)) { load(bootparafile) } else { bootpara <- boot(faithful$waiting, fit, R = 1000) } @ We assess the variability of our estimates $\hat{p}$ by means of adjusted bootstrap percentile (BCa) confidence intervals, which for $\hat{p}$ can be obtained from <>= boot.ci(bootpara, type = "bca", index = 1) @ We see that there is a reasonable variability in the mixture model; however, the means in the two components are rather stable, as can be seen from <>= boot.ci(bootpara, type = "bca", index = 2) @ for $\hat{\mu}_1$ and for $\hat{\mu}_2$ from <>= boot.ci(bootpara, type = "bca", index = 3) @ Finally, we show a graphical representation of both the bootstrap distribution of the mean estimates \stress{and} the corresponding confidence intervals. For convenience, we define a function for plotting, namely <>= bootplot <- function(b, index, main = "") { dens <- density(b$t[,index]) ci <- boot.ci(b, type = "bca", index = index)$bca[4:5] est <- b$t0[index] plot(dens, main = main) y <- max(dens$y) / 10 segments(ci[1], y, ci[2], y, lty = 2) points(ci[1], y, pch = "(") points(ci[2], y, pch = ")") points(est, y, pch = 19) } @ The element \Robject{t} of an object created by \Rcmd{boot} contains the bootstrap replications of our estimates, i.e., the values computed by \Rcmd{fit} for each of the $1000$ bootstrap samples of the geyser data. First, we plot a simple density estimate and then construct a line representing the confidence interval. We apply this function to the bootstrap distributions of our estimates $\hat{\mu}_1$ and $\hat{\mu}_2$ in Figure~\ref{DE-bootplot}. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) bootplot(bootpara, 2, main = expression(mu[1])) bootplot(bootpara, 3, main = expression(mu[2])) @ \caption{Bootstrap distribution and confidence intervals for the mean estimates of a two-component mixture for the geyser data. \label{DE-bootplot}} \end{center} \end{figure} \index{Bootstrap approach|)} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_gam.pdf0000644000176200001440000043117014416277545014637 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4606 /Filter /FlateDecode /N 97 /First 814 >> stream x\Ys8~_TW *ꉝL"Ӷ&,w&iXLxXcd|52H|"D8?"^DDrHi2Hd"l" (u"Di|(Q3F""0hLN7Xb, :,Gc2T$681ǹMJNDZ`3ssDe2|$<ɤ\)te9o + F;\Xd`xhBV}=( '9pjO%RM !F/hȊ#ĵqd, m Z7BaJ@K`Y M @X2B+!=s  bh8@6m Ku8C#L_.J Z\HL<d0rJ`92@@I4!,%QĨP*Gb2p%Dy8= g@ChRr@*X]aXX$h`3~5ajt:Z, Oz5%&|ɏV 58d7BeZ`?lv/׋1:^ϩWÎ>(+x>2bX85v0Zc=͗WDJ#SSfj]]J0B4$Ȱk&v<`),JbkY ^!" k`)4Bn)UE1aI3kZߘ뙻.'[v&$CU`a4!x@rqkPIB℅.K=dCqr#|jn~جJrILAr*f-ڬE-^cB?-QЋj0mk(Mַ:+{Nu MjX%%VJ,HŌf]07Z5{/O@lrNY0_쌝M /l.ٌ`9>?\员Elɖ|ƖlVo ?~ӆ?PCU|/'˵ 0+mKtm\nl *MB̆pyZQǦ0k R[>%J TMl_ŧ''ds-.W+!T5LA\YBgmH:vvdhAaO҄^{;$/ڶh5a9B*L@3]l1^d0ҞmC⛒k:tڛ^6ִ@αX# i&i7P5|=V×/k>6luwwg36suM, -d8PD~S#|QCT-$#!NLJ{e0䘶B ǥ IxG;JSSX`2R/UMWQm"ðSyL&2%a;Jg);Tx5vv)3a:5J6rHxJ"WJnRŲG:<͌`ǫTB!IQ 2`qS֘h4vHSsɿn|nT[䛡Q+iY>O$(- 4p1P[f1wY.ӝu'ҝQjٱLХ >mˋ6I}FO7V]к_wynkt-IL6@#ʥsI%rO&b|}ӫ4G|<"܎?:NG7hZ΃䋮 :͗~(WelFrJoA/E.ۖ\P\R;1{mŚbr w;?||5_MƣYwq;=T4K(bhX)Ok6_ 5sBMprl0wm8oJ]B*YXVA !#!@EW "uDBC%nB[ܟ}hoߴ9}H;bxT[[_ΠMDZC7<LJ~֏=scKA os9!C˜Ro'Xc,'R\, TUׇwggx&xmMvt~%Dˊ7Vy3g @ڇ?gqžt^¯endstream endobj 99 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:25+02:00 2023-04-14T18:29:25+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 100 0 obj << /Filter /FlateDecode /Length 4797 >> stream x\Is%qS廉bX¾hN#,ٖ-:8txM&zHƭ_\$*'lb]Cė_.@wʿwgfu:,ڨp;K&!r{YVq .bpjz<TdG/>¯iJrZB)Siu! kRZ;OVE5'Pv$u)䠯)ѵ7gߝisyw۳_1L8};S->PQ*?թl_ފ~6;Zj`6P.4aa!փA+[YKu^9<є@9\c3vyyf}T~tF֜rzbwe`c2L/t\Z>Poըa:sN6-8N,S^C+^~+&m 69⾄Bμ>Dj[M̃|Z۹!ZT5E V{u> G4;h_~KqzI~|JY|]:>u |/bz^)x☍pW/"叨TZNR%,3).Ҷwt_` 41jrEV6*AHe? e$x6 Kنޣxܨ cWmS9Ohd4uhQ+r08~y/zz˿ e!d]<'5}Lț}\(/6;A%z sYG)|$vIߏ_LA{hqF}3B}>2T$g:Cg"w8 T[19%N \#͚$VZex//JӽG3rK%q L bڵ24p;]RHmEYj\Yb`L ?4Mott)[ Ld8d;:Sќ"9!SGoDoQ{[*Tp* ZgM2!Rʨ'ǎN夌b47×YP0mo;χQnZ"uZB֓] ئ(34h23y0ҾJ1 6 8ɹ`f1-绩A ʃXA1{@{ BXnN?Vt`zn7@`?`kr&{ؗޱLŃ> >\EOD7#ms )Ff 8byBbv1;YP 5AA ~5|ߋ A5(趣x 2ND$b"Taa =CghIwqyġ=[bμlI"!Wuj{|F)AX ʯu7P*8 9R%dD)?0c;0|P~5T<>`x$!] /[!)qͱ,};$9ۤtc!Cw\A]95~ 0V9xͨxa_ aU~CԔP # 6yF:^epn~U6z$(`)*5 a 2o U@"dQl55Fǯ~=4 C_BUG*xB.*;JٳMhcM$1Q[X[># rD2P,r4 qTC9aR?Qk #RTsB}EǺd\G$*x`ϺJ08AX`psyUo{lv7Q-߹O @1^6*GĮ ƫs{ﻒa{X:(C"װ# )TDO-+2S1h$TD"bexRrƚ#݌ZGUd*mcN )LEƗt VY迟ɣ2 CȻ)IUxfpѐ0:-XwʒˮBWyYK٪XdK c0MQ[Ei]O,$$y:s'%`J:ۅ9 ɢ0z,[\nxQ8רD&";, Ft7}PR*',TpKűS]t").C9) \R<]*`Pyb$CKT`(5~gJkߜȏxJ.O>wHK~sO>k;Cdv/jE.p∷U7'{>wAΞ Y՜Dtsh] PmI7P-讁SI(~vs$hblmؖyVzM=Lt27 *FŖ+3זgEW**|PKl _"kM5ox9>>ҍ !ʭlKbO˅x'>\ 9!D˽#+?lEH:ef*aʢغXmrfcyV/;}<񸘞𝨍"l4&<e+4pՐx6k{Yy?ϑ3-'F:gު|DH.;J18.A"e%4V]S U|9>~וOvWVdP 1.wm[; (Mi?Ytz5DS^[\oExTaf_chctO r[ҫy}3-B3^W &nc՘7šHN q|).o!-*e"(1EqBWcMq8Oxr`\ޚ"_`gNt"%M?QM9=~EQHy2#;y"ӥ%K* [⨾di't4*b ӹÀ'oSY45nU=Yk#j@Ƕ VO+v]R?֫y .H>Ŝ|@/A) _"—&^8Y$Q̶Eu$=VF=%&2c,pωyms`]FV>Iv穮?aLPgi/"\#o a;,03J3!Do~ٍnr]eU[ p@W4ՏOڈWu3q H Ōb<5FgGD7o*PX3й1t.ŭJ*_-xL\i/U*=DcXpuT>~$rc'-J? ю32L(oK ]\p}"#]v@ѡ@:]2Abkv>dkhNm"al{.)>YNGЍd2 ;'." *]L6n{܏FiI u^6@#(#Ц\hSM\/k#OK edvZ契9NFωWƏupkY ;:Inx},g:-|Kqe1ۮ<%6~U],+*2v.=/lJ㰗 :ʷ!Йx=ma;8b?:gHrrXF(wkexBa1˭Ѷ:q_qF?W( b^/lK]Og endstream endobj 101 0 obj << /Filter /FlateDecode /Length 11165 >> stream x}[]q;?<*3K*R"vJlTA @"/z&(ђ(>pOYs=~s&?s7{nA\ch7_?3GY>{0z<oz+1-ʈ*s4ǵ(+r.ý֒h˽Ѻ58zJ;86]F֩(vjn?̓Sy{?"͛y-_ B0sORBO!ҷߟs qr1~sb3RdΙ酴04K+x1F;c-ygh:똧OcO~ 1gnɐf*3 ~9BJ?NR+>RQgU3oN^>}˨g_P뉕0Xg7y{9S4oȅG%W4<ε/ ]Ei(Yf =QW zR"\=QIBOydk#=F'>7t?Zڹ Beb)kGJEʠBᐞ(.O igߒ̢)*=ʠ`^(3\sn (m%Ji0Bσ@]’(3%s F?(QK0S:M QHwyМwD)E4b id)4Q;S iAT*-# M~:So*ʻIASvka/BGchevIii<:PHY(R^EQ-M%`POiHٻJ :PɣC$(^y&L}yI!5Ir`DFPY$'$'-&NV5b&Y&((S+lBPX^)At & 7hX^M(*,Ȼ+E$%% <BfHLrJΐt 3ˣa$R$9 ƖyRDψ2X9p@Bh,h:Fz#/)=x A!R:JAAB0oAHGeB#яC].\(Wh}qer @xJlOKBnSGB hR5(c U$0!˪߂W#KAP`JWG!\0^IPVS n Y% }^<="yvjٺyȺ9- ebJQĚ9MO,.&,. $2m, u+T 4.aPa4҂t.NXQpRG3 Z›%_b7UT.MYR#5̆Җ *v1?P4nTQ.I1ΞbI#{=Q/BBRSCe_[hbq n?7;V,dįo. >,2jnU uci*0yTC/'ֺs2_h|_"(|*dwN|3^%\7z#sc=P@nB]PU; n4@!I 6*PdӰߠG`%44JTj(Ptw )HARl(j8K[D%ӈa"0l/׈0K\DВ4,"LXD^(E#DO!6RO>$u ,"Jl!jzR$"V0FrjHj!a$WdUu3&J)ٟ0Wc幌q5|R<}l\F\7=Q~ƥDžnZz.l\q)ù";aeϕ(y.x;C(aF\Ls]sq>ƥƥEvo4d֢l\Bs\F\}=Q>fgˬEbEٸ8ܸ{Ye5=x.\Ҿejjk:( `ˣ/'sF\q2碠2ƥ۔K)ޜƅ@zo( -'( v/ŐaR5vsP<~Q~W&ƥB( Y]KjϥErw.l\_Fp."zڸ\Hxa2(5'eDžds%n52J\L:(WE\{ R<Et\F\s\Ģ8.]Zk\x{(˒FQc?-!ϥrr-zmǕ$Z.UeQ/G*NTA?eIu2*)k\;bW'W}qŵZ\V_ųUM {W3/W*?t}@uw_VbEHֺ*ϦOHEVWHoZde\K"Dy=I"Q<4'oR$MF 9 E.j|hYRr))4:oq*Mg0bͣ18YE"ئ B୭PH(fHZޥ✌]*O3X}⌧PL %[ gt,FLY:68'r:4=[EA Qk &=!e?t:ɤNԧ`zou!LU~M8LbbZL4%&:y',#@E`rtٲ$BڂT@ѸLsD rA.!k0GȲ#(جZE>S \TV2@+*N>fG;6Pȯ ˑyH'W.9H NbY]A|v `Są+xz=ȨZ$-p"*fQxQ&TE5y Wdi=N(UfMNB"YS62]-XN u^[M1 %KPz$E@~(}v2}XtV$PHL>.@bC''áNi" @ V&)՜9dER+=* Y< Vd 6(*yPvM4P&L˾9R'Y$ B2$]E@!) !)e'(^DڡM%]!6?e2W? 7Lƽ[!W{n& #'Q>)‚P e3$QrÙfѤBLXqvҷ ,XCm˜Ez `Le7!AtT ?Anڱ<4[,]>d󶾡kĒ@ 젘ZH>3N/oy'ѪF&^q:{kLCbKD8VnbkiXx}MtY=m 5yGeagkBMVK<[ޚQ%esUD{z˙h2DͺfNdlx Ի@ I&y4z&:egJ2b71xs"(-g 6K@d.omGWY2NҀ V"qr Od0X&y|l_,lS4Db +B2Si e| ]8 dr(DpB 5WWd=12WtT¯ILøpppbe 0t`bdTp; C۰}$"?Z91Y!E,OSHFքE"(E+ [D î'DKQ[d,H~Gн୆R8 +%5)/upZBBtāZجhm+#HA-6u$:#\' 6Ylbs SR_ +e(mH^D?ma ʠJV5m™}JE.$/0URܼ"h5-+L&?+D1]Z*5&erѤ:I_*;cZ=`,ͷI_`f~2ecJJeVUNx{V2Wf*2{Y2j\ ZL-5YFR㤤I֓IVPSS}FMZJ]X]OEiމ9~)L>ɭ@& YA] ̧ m-عo%#) S|J:7fkRfe|p>z x1rPwFpz(kjYq@pPʔ5K~k/EDA"dj.xRV>x;QL1QS15jBAT\aQU RoIQjrTg (*.7hh̤Uڧ ]Ž_*\~7=$(SV|*q(W[Ddj{t/'VsZ m&dr%Uv3Qx6[2*~zr $ܘ.˗P(W1)J dEU c^f 0`mN,m4mU@a!ӡh fF&TwwՕ,N+}aHv92 xdie\1_n1V > nF1-;@!LbV#3Sp0Ҷ"4?X9{_Y;Entg9ec.˰o/8ӽU'u5" G -6A&Prd T+(]f@P Lї+EtYZPB0K7Hm]\jR amZŰ`cAStOԫ7 P]@,( %Vr+`5PPM@~¢DZJipLER(b5vLkɤue`-(qZP?!@,hTzhu|hJ$ @,+vyP"tԒ꽈hZzև ~}?>UnPq1؂>/P֦u`kއXk x1՘R$?re  -ġ)}0ɬI6P7Y0 I>\ZxMThJ z-YYjJxgDm\Seˆ^ ݼEvC79)-><ۺ- MT8lZ, g©Cv9T_7;^ rlogSU=,?ۋ!0ŝd^a6of-2ĺQ4G3uZmYEVT/j^Q+!ui4)JS$Wj -"BL ]4- ۱'ʢD <MBtù8.!aaTiw4'A+W>0qâr}eț.k%ע\o©+F,OBs m82xzNC OiΓ8^<|2 :zڠ^zzB'4h)^#1GQszY#]!9{ܓ6-{)1|x"<}!c|?1N-~c70ukפ~ , ȍ'ű;kǷ6~A. 7㏂O718`:dO?a만%Y۳gXGaZLaL29OdKcBgwunԡVg:4 Оbs:^B^a-e%fۜr:3RO[5 #-Ih~~_,L, ﵒUuS%$ZW 0Iy9r{XkxapIjgIf)\/"uTIΑqN<ل§ޗ 57xx]}LܝHkZr[=nkքY}*L<=t9Q-dHJ;h25QRn˅ʹN8}N^/JY,wnj[==ׇP^f[^cX1^aX;Cb9Ӵz,ɞ8rY'Oa7Oي;JȊ>=T鮋j r"D-9{T.q[c0o BopY,1jbf+q VS: K ܋C{ }4c:]~z5Z_!A~,zEw~qxWNS"Ç{L8^נ`̀ 5|> - I^*W^]ۗBw.jZFbHy v kwSk XL}+P]y9%^r[7/c>Ǻfx8+JE@cKQ ޱ0 E0yvnqٻ'29.@*kc&+HB0[-|u B>P"+n/yǞ6Do8΄x͎5rܺ8CJk!2䩁%X%! kƙ9ӷ99s"}ܹr2)p<7wN8k tjt{̒Lr׈X~-P.ÒwX74񱹽{WkFQ2X?{/u%!_x1[iOVڼ+u^d/ )(mHSٝ[[ !fZmwq6D#@p$et%fYI@O^$jfzI/&\ƿPT0Zvqڇ{{waIckcBR;\3~_^UMٻ4x%l\L[BP/9oQb&oJ`ecp3Ml5OlVGNdbyS'" [D>Pvw~ _[8Kl+> wyuHg/quqsûD2a5kg/H%jsKOŷżI {o _n}]#=G?-BpD@! ?b61wgc1t? iBҶB#y Q}ݻ 69d3 R.7kbgٔ}j>u}/^v}'8="WUoS:C^z8v96{>rUwݝtqNSis6I FLR٩ Pʿ/Syp1v]7.BߏhOxbhe.~Nnx됄xR q+0aVZL8 gFCo7KW# ܉:ͷ'^W,깦S`GPyʠѣC! ٴGvA!=Jz{uE?~'-di {Wmp6֔ ױ^"ֺkm_s`=ڇ{5;=ۼ7,^ {ۂyF#ߋtȋNTg0lZo =nɻsZ\pz,E:EN~Mfn0]ب.Ac`k4b%;;2*ty_0 ߣ{^m)kBx n šֿZioݪ~u *ݳuT\I?_Y%CfgCHEN =.%J^JZ y/)|CJ'f ;z̍o.lFnT ޚ> stream x][dIq~C.gbF`,`l,t/=,_/23.Y]3ÞKd\tm.6>m,Dz]ݾϪܚHnY>zQrCK$յ}N]+_<l]%XgP V+/~KkȠȸǴO=2%vP"mhyWJK$F+nuu-3:X]j=UvQ:`PaaQ6TTՉ 6;G 69 󨌭$F%{VD%UɢY^dJfVkJܢ5%VZZSbPu'bɢ5m%蘮\y .P8pyUC;T+?[-+wy8:O6j?[Cui8vNjV1E;={5k#_&wo^wk̑ P0_Br/.p]߾vcs.]HZVi]}#9[̱KF9U`[M.ޓHb% ll >oސFy`VOZ Huo] Y7T[wW02X!K1OKB3A x3`KCkۧIQ4X{?T}k#\+$wA H\HRdw8^,3(5`DtAicԨ)sAi_H@D77\?r$8IE{L>+}HgZIcH$nT-[TaVPm!R4 )ޓ\!$ £\DH*Z06r,t$͘JW# Ie* gԧ.P!GsEO Ih`BK>Wnq4;Vs!4=I\ۊJs9jI@IT?߷}2Օ,]BFXD֓{ I$}}B~s(6$P" c* C ʰUQsp*c&QFR@SHlzeX=9+L)$( (MH323Q˘q]`N"e .ԓa7x(|?}ؤ¦ 6ii$kPlv## b֖JIDAQH}$R[IB&rE$ U- b"(^#V&! JHȡ\E$ *IBI+V5P*B~ITfHؤTa^|>c/adL$/RjS6p]_(!,}k hW8ڴ'!>=eMml/27' b3&؛(cM&+Ff`Ǎ~qnl-8J`|px.ΐH3F-Q '~ pqAye3 }2g!QMG9fRi bX2/dC8K\3f3HVŎ5fvy:USZnYƩ'uBƗ~@q,*XM`c:ӉZ2@ܐl=19@n@eG5<+@~N< ì.ɀ7}ƂYwr;AVZm+ hf㴹8j4WFa0M6ڷ[m䶑cnv~mW5M Զ uJXTnEҌ#m#chʼn D] )ðaz wDq(O!=+Kaϥumnm;I|ę%q( i5H/}HmbhS_G# >$!dږ<T\6wnɉؼ0AZ@)y⚣=@1[N!} l>0nk(] ;m _Jqu͒2rK'ӭ6ܗh#f2ҝ9YAdQ"&G_H`;#{-,Oq5 I~#@Y:AJBuܬNq'h<  Np+-acm.3D4)Lp Эc&‘/+-S7 ꄃXzA?+'pxXͶt t5p ДP_?ƅ R1BȅWw $q38K3BA:C.~7e}wQII\|Ei )"9_ nayDr~!+|Z{-?gXrV`XpQY5w-Zih|-TRHע["9[ .|KbZ(=-ZT$"9_4C}`!8?RnM6D:x%Ubd;dQ-ڵ9}@S]RҾ']\Xk dzrǴLY{^ k/ZڋaEKX{2h k/Z kZ?ܷYP|/ڇJPaQKX kR@>]=ȴ}kq mFOdXG7}g3=$"I@d9w@ *o{raC!eoPZ} 66܇B!8g@٥>V q:5C܇ t1R~\0o*]$C7ۇJ~)} o*#dCZ-5ۇzU>UWtC~}} oڸT}a,ۇRۣ`Qc o7߹#][vyHFP}j_F yT>n~\0q7"9!J0}t qy=!:#QoZj3}D%(w}>қ^焻GƯug>RA}D?IBHsEGJ>ԓr:1oa7ǀ02 sEg3}>DgܙDǐ;} DVPKfc˞d{Hz,+sJ=tBA$}e#&A} s#lacDtR^0"a^$̽ ,̽L.̽O{ك0Oa܋ s/v^Ά{9>a儅/^1wkr„g&Խ`9 u/P{B 0P'sY"Ź+f [ ˕g={P%﹑P~Js;=,BsS4>BKs$4PK%4bK&4tx{.:>fu^2}6a^Ad^Ad^Ad^A&aWb_{qLwWf_c|k(1 Lk?Lk?8 |md51{gkc^";Rs0\k? Ma 5LB TL-[;3隆{m'owRJ2P{L+`_QI nb$G1X9|ckGtLKG bCf?29|+Te_,sxL ff%d_{Bf'd_{Bf'd_fc`_ f`_fa_f)d_Bf) kS 6kS 9)vE9/*{i~%\e4חx rMI*ڡR<`w|$tc Y4[o`W~pHL㢊S4yөhF~wI3oeSF^_E[㼧-:#ouWs,ar'}矧 <R`P[M 38.Zh+n)a}L~lgZl}SStd\5]Gx|%?{FZmI2\P > V]YOV[~cX /ic 1w))ߎ 8'5pw{;:I_e\YmNkh5b: mL]I1.⻑%b}}wXI٘$|)}g9A k әygsBp2}/WS(;U!GHvhkkjpZ7!/abL2kEF+"7*Qߛ:#WV\ETw);z\0?xl; K8u 8_Vfz9lKM,=ތěޏ#cD_ƺfl<|?]Ӥhka0̼~7_i50*~qq1&Y[6:s76s6u~>Q,ksqh_CxVx_A3(Zݼ;Zk_xiPA&';6~wIǀZ}7%$saD0MQgQttO@Mi&/Ƶil =$zחn8w/Ի9"ҟ/_/}f)p٦W"=>m.9{{oLJH+td[/1K⛚'GIt4y:$:ZA߫ ڶl2Xvn$sDVW>4:M1Bequ*f'o7Aہ…;H_YgPX;bj\Lj}ܷJ!rOv;A[6Xv#|Zpf$Ws:ԙ:9ךwu86{Tux8gk iق\ K>Ց4p I1f7d_ IE}Gu =I5ߣTNx3G7f):ӻqk mгT76*:sׯ }'Dnrx=5.gfެuu1tXo y:<'A]pHnk*JE'^^j ;nPU?C&(.-'  _k'f2NKcRҚ$=yt\ 0ܧ/(aACxGb̗ Y%aY65m#%RY`ٴl5Xlh@]a)4K[Da.GFtE9rS1f)6x#}X\k|?G€nf⡤rx7Kog6[z7x-V_;.׏dL$`$qǜkL>zդ= _݂-gM꣌ǿEAv͕՟uߨ>犮{tƏ;yI>D$:~;i!Q =ɼ7Gj{/_W >x>')}OF:kޢwvgy|1 {r] qceۼ8 GDӧ_`G1#ߙ<˄9~ʮN aލ8`x5s1f9.)~it4>qE {sk,ǼZ`AU"DpȼB:ĵLk*Wk]Lc^\|v5؄WpjY@w.x`흎™cIڕaXN͚|^v1x/\%x,ϰz UӤ6v`lzo:> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5513 >> stream xX TgpT5}kbԀqQiY"B#[*6jEq$&&.q̛"?h7ɜ;9~߽wKXc$lY3ͿM_cI9g5 1cV0{nH%ʐ?d7g-\83/ lKKEcY࣊_ Y4cFTT]Aӕa~1>*@o'',Q_+tʠO',a˂+W89T*2jךh/Xo7l'es{k&-:a1flf&1[Ɍ3¸0ۘTf;Lg\Ƒɬdf139jf.3Y˼810f8aF0#y2vhUcf-7c3$.kZKݤV[O&<}ߩ6p?r5xm2iȭv=wtxX>eG#]G^YQ+G%:a;66GT _5ΥqN\>2Q1IĿmZVҨ 8[kv@S=9hMvN'oA5*e&̘5B |[,9+n!dFL(e8eR1/ïm2nrrQ.55G;L'Hjku[.iJ.amz\iF,6Ip$H'mY+>'8g_n ([e{y] ȇ<={:a˔IrNʖB=+ ^#iϾ7/FT#8R*DZs! ?c6yLxGh/POY±&0AW^Gv+$$zCz|L&9&3/$&%Yظug붲U`Gd$$&;qSi.v_j)vy8v_L Ct ;.|d q9P \N_%&kJS\h~h xGt o s|'M3r۵7W3%P 5$Cכ{LNSkbu#r&8mr7I{XHJ T&{\nFlyL!< (\XD8lZQD\GG):c$ ZmLsQs\w ?B>EMNqhc\J<[n²JMRTᲦ'Cwf baҾyb B FR[tKķ-'G%b(s}[1'lЂI"t-VH?͈.RUr"a!p  Y2ZPD|=u{ r}^~|_m(#oz]P+T QHT_wa!9"Jѩ8CLTreLR&q v&s~WH5KW?~I8pfj`SAl1a4szzFOL2,KzOHIÂ'&wߘ۔" ɂ4l4G߰(LJ<#_rϙ]nZmicɚ_YY,V!:@\dc)TF4$SOO~`>Lgj7F?߼dzwEAj+Ł|nLl&X߫3&hA(K" &Yv&BE`2{J>dn}؈  mXd}$ :kA lkNh@Nj hn))a>rGȎLq G[b;2rtM5{N38۬]4t2d7]]Woh(Cfp\WX2AMF8nmM!>ePQOPVG{ښTXhRP*.j32 jjAʠ2Q4AZlJGg'+htbw@tXS;@t#?Σ#fWSa]샎Pw>nv7 |ςuGuc{wSSG'tDp^c3tܻhe{ ީ]WA-4ZXwFq_ʹg5'GF}v[/~~'ɷ;>$@oh9F8^S6[&َx -܉(^0IJb>Xs巍S/{)دMK-g$۝;69"|H;_r,$F+.+F!"@hv;Â!ʐ8LS8Pq/ymYb;o&'-C{!1>]?]HX `OYLKLˀC9Ql~^QyY&eЙC uI WG#!(Τ7Q-DOхe8QǢ~־+¬ޱ=ʺ%;ŇOLěBjhhSȀlΰbrM6ɲv!i$'P^'EBBf*2-\O=n/f֭3#82pb2Ln)JZ k,uKdxҍ2&r_sB#\fN46TA}h&T6T|e5b_Q?;hHդMEvQ`;#kf c"ye}"'#H d .G@nn~=^sS{>6vՆOW<7_+L1\­N4% r3fj՚4HŠcK*<>WL%e=JjU=^j_Q%跷ƥnQ&nwg}}q@8!'.<7nmQI:bݼwo?KǠXr23{^۔~;NW*H0Έuc0/FR6=<{nq?N#~זԱ#N|%+#PSk!='vJiq}_NGRLzJVBr>E{}teBM)-T^[p)xX|yW ʜ܄̀fj*IdOEK nͣ kuh|S!ᗇrđVȺ2oշ? 9 Բl :V?=/,,*u־Õ)TVNGHkqWpD[P󈌂TD0\Wh>*td$R{xgO",ҕCYVVA \P9c!NA\h:K0~QUó}r#aNvKF_xs|Bk֗}i"D?X+`gz>l葙$?{-NٰxiUTWB,nFI zےIe-Z*Oڶޖbfʿ}/+.+B>NjKl_Lmweu%(>6JZ( /PE?O OOnjo3@be fݶ7򞆂j:V*>PH4VG,NsJ6g<3O[8Zx3J8q3Ώ5èo4IN$RxLc\Z[$JuEiJKN4f!6c+d[hP}9'znv\6CNf̏M訧n1ʍ-v,'sٻ0ޅa# `:wl[tqv1K2F8Uz <ҕf8pcgeQCRl%N:)q j4)Zbنڢ$:6H3OMKŅJm2. rwn)2XʻZ&qO>D;`|C J%N:^ҳt1wЪ*G_dɞ) Rjx''ml+յ , >o=]%&}hN{ǻ$[=wp4[x ޥ r,.Vi.k(GEk;0|_AWՊhcuySfw7U@JqҴkc 55視"ώBd *:~w|TN'lFks> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 106 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 107 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xztSǶ:f 6#SJ B轚^l܍{nؖ%"ɖllSLqCBB{ 1FMr˽]_e͙{߷=څ9Vk;? ^ےzv5p؁zu}(@<'$4&|_pN2yرSgyotv^I~tv <|_ddދ1&$G95Z@R bj"D-&S˨)r}/@7(zQ՟@ DCmQTw* zQ=Bt:Q])H.a7aqWa״.HKGKLYy =U^}ޱ}9wt"C޸dzS8twR;] u`[ߊ|o\6wV2\g dj7 rl! e~^iߖ f/ f mKٴUVāR=ۿss 5`VUH!fzcRh%P?;cxF)B@QpHݬ,W@|F>EvV0vRr y_'>,6Ю2XHԠ9J. epPҿ\>q\]ᠮe __a˶e _dnطm YhD{Hrz:Y?1.,Rڬ=mnɦ)X(y>-t2߻ڻVke ZW%u5,̗,7YWEU/Ah%csO*2?(jϢ7ĽpߑXbwQ7ax h=p@ա^8**_X+uoZ6Yw٦3cUPU0 ^ 8:J&OP%x*6E\B~3ӾU㮵,(?lYq9tGFer=pD*sHZھGjnmv8h7?9c'ǡhH\Jwua)RJ{?N8 }/`~c C,DC@L4"!> t 0?@4ŝ_7O\G6p&zפ3 lgWE(.\D:hH? ,1p$YHnJʊhZS%Iv;Yi蔛_'>@߰ %j[U@|w٣iV^hVg%h !탯rJuT"1!RS~]]`6N|}6.F*Ll1C0ט6m?Z, ҠAuPş G$wI(#"4L.Ř#O.s7bL?@^hkT܎9?S|O~) I$@j;ұєqZ-hKTC}y,61__Mt%oa .&9SeKSAbT$%+T{_qHT"~PV-2$5'Q۪5c {=Ɂ" MIϸ@DGF0|uѩd>%wxS:Jtac_,ԭ=>r<Mjxrק+2G!f^%ԟt?ECxZ.RO r`~xyd8+𨄳5ܳflA!6jsfrjoQu'V@ŧ~k`OEէ ʌfB8pGyvfz^JaBh<5]|z(ZZ9MonrgX4G5g{[ | DRK\%$./Y%}SR6 &9q0zz oB~"攗쿨!,Rت&u^$DCJqWT'/ :UR *BSdh9H9fk ss n}lۖZlsAe[)V ઍmۨ6ƐJKs:EGޠ ܵ U 򼠬I8qҧswS4G _9?FǟqSSg'6kFʇ2:4_MtߠcWlg{ 03$']Ur` {|l, [c+Ki[5yM>5^C۠\L{~#\C{ZT>;5gAS3 UJ ?¢hVv4Nf:L@ a)^uf$$C\RRJ*[aЈ!Nt6d&$@SDY,6_KA,-Ẑ|^#D{Q"[{Js㾢 ,TA0Ru, f8)b2(Go]^Ej+QqͫVvS ]5k*U>-ե@k|0lYA_rP՜I[ߣ FYXO0=Ĉ|;Nbz7d%|dV0ÑE<#~"3`ۖbyYACh$BcXwn5xjE@o M頔pˎhlZa<6\${;w6һ;,U%"NT/Yl./%rqWO Ibޚk̻hiv͋%5Z-D;ƳjM4QErF L{_THӨ9u0U&U OIIgs*iI0d@dLn]WfwMyxIpՉ:0)aPWB0Hb"aYn6-Y%OQq~CAlȦ"4KmS*ݹ=y,چ%#b]cX4-F ȕowqoQ!G|~>2R֔$UlĻFz}!aCtEZ%*b ,)W4ԯ7y o!)+9P<(tE3D'n=a- ~/Z6= 0h D`G9Z}n9r֨khVSĿP8ʫ4uE&Iv~y^`ðPupIJbd'B:SҥMqM]tj"MLlAbqnYVyIbWÝswI3nFoIcmxVlOfΏk= G7TsWr U &C%Gt@'TtuIkn!]Xi)yM!g f?ܾ-Rj$=fDf2t#5~W(dQ> ojk@CUߞ1 $S hVфlmLTtB4 *dLlghg8D=}VLx҃p;@y@!dm5 ^^|Mz]5P {{U9}냚] ):VM>WTk F]cHjmZ&]Of;ڬ5Xg2B^52u  *>Aޑ{&%6ŰűxFmMh5KSދƃ# p:=^]ᠥ7lY& J"(D%dӚDhTrrC 6 msMDžŲmUˆ]JQUr}#vBYsL;$Ͱ,l,fdxﯾJ5s}}k~a[_X*BjI`{,:H&c-,Lgj?x"NWeaTZmZۚ`|_p1xq-DŘ.0/-9juVI d>ЫB[Hnْ dXӓGV2E$q\T'^e/08e^:uOf#/#_g_>Gcw8|}H%VI6oWSTHQ!dYPnZ0O$ if#fCnc,Bdn/1`K0oI[ DKop+pC;gaf̸dnNLf+EHwQ;G~lFMע,16ozZ/O#ͪ 2j($Qɛ'lbHѩH$Ht fiu\^q[ 1>Z/Ȉ_\rOuח**bM~[']JĿ"^b؁ZtG=ƫ~⿡=tm~1aa%Lҵ-+R,]&IL$'T2;_Z濳̚9~pG{ `"Nj#Gt/xYڜ=>~Y,L"~ /N<{, gCfإtZ^_C)sC̕6Xߠ[I_.8a_96"lE.sgeހROO,n:HXo:s4|$xzygmLAD%$#P#[٭]Pœ|sV{m^w_6n'6kLֵy n"I.y dݝ_ehC\0wQ˝f}~9g;M-C-_y=V.4NuUZP@vM9H7%v GFL>~ͦmk;|ߎ@]9g`_s)x. E/[ MUGv4S5? })le>rgi/QKBg7ĉZր>t2?_-~.ddVjkԨp4.Kβ4h#F0"Qp,ZmB,¶Ym[2YRZj۸`alLkZKv 9w {}9ڕPBh*s$tڱ}o TN\mz^6gǰQ 4ñcj~E?+_{Zlǿzp/(eW-/!1.leloT|\ΩUje}y$*&{&uCiUEHe#^?8%.V[" h@w٨7[N4n6.XH Ό<lw8t]@xyˀ.=pb;De9$ڿ:7Wn'F ( 3 \H(/$5O:t5 dE\AL9qyTj .]EҢlxWlخVYi?׶(3dD>k,kfRF㖃ze" nrffc_\Oo7_8\ NMǪ,3\^LdHd0MwQVt>V@_ܤH ']_E՞;cwF`Fnr|0,³{>hH T4^j甠L{zpݻNfg/Jendstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5344 >> stream xX tSeN *-F濷(""":(PAE2WҦ{fk׮IӕPeG,) * *;3 9蜣3srzҦ_}Y>.Q.;:f煾L2M`<)tm܇qy꘼̬3/YxvyD/M/NMGM.JM.?DoKN/*Ǭ{tnrnܼgfΎ..ʊ~90$=-VZ(ORȡL3̽64T@O;ZTRoJ@('hbpsQ Uok~WMsW8hJ(YȎRl J_vV 2WHU~@jkZ\fwćۖ[&#G; J$e8JXFl= ]PzA Py^;܀ D07?tr䗌84õ*gfG* o{cxwyD o *h;eh_X7*jՔ_;Bуh4}b^sl]Fuue/m|QT8[Q2૸KY ;}ڹ/X -#ph+uz đĸiXJqK6 ƒŁ= /x,T`m`!LREK붂MaEl1+ga"Q<]JjԠ-Rv‹Ox)4:E]YvjE@Sz Onçbb}NrTtT[v ÷: #ףlVKՍ+ZRgf{$v[Rf&x ~*4 QQ^(9'~$zMh69p(ѥkx3o ~$>i9Z5{qx>skTH71a0aFc .n|Ŀ̯ICzA4!wk%_EV re\K?')mZ?-zVƒN`/%4{7lBez®( !@jdPpT)WTJdw@5tpajJ: R!Ŝ㳿$^3}G =dɦJ׃istZ=h0Jd4 Nv^st`5<@K-di")gkO\3| _oԞ= %j4F*`A(q4_ŷm!F COs _:56n:<h;NRQJcV1 j -ijkIyG1qzhG*T,UDw G)D#`xyw&0`DسTPD~1Р(g:PeMk=q#ݐ.O U CySe> ܕ"U(^6[`!!eTZVns3c\1;u?c70bƊT9"(c?wdy|AH95f4hrJnPLpAaZI20YYe -g}>sk@b,dhsI\b(ڠk6=ߏ]_B^R!4^ `'2 tvO|_xkoFo. 5gOeLV.9~ ГFl*d+Yvzd% q5(2 NOxJ,LVy-[:&י~[pź߁C~.k17^vOtr4%Zi! ʺߞ)M)3 I٘QaC+ŽW UhJlY|&(̬4$Y Jzn[} ;Vt. ND1>@SX )ŞwUHk( vXZ93=JZ  .[~&܏5č#C_,oՔe SB% >suwgy4-wW߸%YcŒa yJ##%oOÎfgS8 Kw@C\@5vJn)MhL!~z_w.V<Հ3ɩ1E쌡O zC gm&-h}$8N_s慬b? ?:29caW'x8ݴo-Zt>(}x%vf8R . qKbttخB܍vM&3h4Y!WD.jn6R&AhSY4fk'"S^Mpr$n?8Jjlk]CGϺvydfgj$/I[T˨'e;%i)oFZϴL!-/+j|]8Ƒh^;r%^c* 8%lH{9c)&X.tx6wUgM.v{6|ﳛW-iPI4g)+=<0:LmP&Zq^Ji27h" br/)cWEieb4FW!4 7NWa3BWUVr!؈u:'8M >*JrL4䙵wWKm?CO4Pb| tˍdžC=n[s{DQlv&_h`j%gSMcc[GTFCZ0oom-J؜MZ"ɪ[6wy"AS]F1;t**v9 P#I;Jq,ҫ,%bS"~c~kO쬡I*RȎFgP{Y ChKR;pSsnYҤbeYrr֝A<lWUXq-yF}޷}\Ru)ޛmG Pw*S1 Q0o 6'#d 1&̢;Uo`uk4 6U( a-zp1sL*%aoM2k*kth^Gjh4iք_]7TF}%&[(Xz:Arag`s9sQ i$VvKn"X =ƭ>^> Cj({P=wםlwlx-?2 Auh,P)'R-!V,Gl{!JR.j`@<\II(_Fج1b沙F/G{At~[<4я 4|q@\X&)%_ۏ6TiZ &[-2〈JkwQ ;$3Ȅ+0 <ɄmIh/mh-Ê2zpߥ5ACbt9s@EohJ,f^?/_cx }+t@=*Ke ;t=PK)ꊶcW,;4ޫ{==_U#Kq|"+sԫC'z42$EyR9\#Qq쒑FdV(^0#DkБ2}ԠY'2XdԄ̃*kvB";9#;qJE !tvVqIi? =jmү`gFB^Gk]jwAm@~Ϊ‚NI FZp1zُȫ g^8Ch]WݤZD:^K%& \:YgEZ,Z6B,-dc܅ėiT* Y||˻')ĉVX14ZEJgPع(,mfoP9_Ҙ'ڑcgCEkW`wyIՕw:XRN3Tc :>/S Cm"6՛dYm8lR Ģ&ec}kQ)col6?vköǶ[hBh ;/31nThd؋ȱ,w?dendstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 111 0 obj << /Filter /FlateDecode /Length 3992 >> stream xZ[o%G~?Gƀ_@JHpIbE,n {ͮ7!/vlԵgZԦſx07޼6KAo),CjK#^>;S5 ꘤|&ͻcf*Ҥ{g7ʚ4Y)-aUgM y2*%wF *쨚Q]4SˋW]rinW_|jLX2Ec*nx..} gj JټBm1ۜSAN٭rѮ>HtyrZkE(D\HyTѬ"[)V\);4~Ff) > QنT&~Ǭ {>I׿|X9썄M`Lc!&9~\Vg߮~ SL,sLJNM) 0fɮ:ezOOzyߟn<{uzݟ~>Xn>MNx:|bb)sA 5xbܜ^^-/yG rG:gݾcXƺ#-w69ef&T-6[p`7$aZpj QUgƍe \B7YԽc[ jdY q X䓼X%K܍k{C#BW9 #40&m:@G ZLa*pBmi#:( CBpt MˑSGS"aGxЃ'q y-L@ Pj mw&dL-*$Aઃ~s .0 C R$(Yt``LԱ:m{dR0Z 3a@z0IhpA >,]MGѬbHQ|ܩb.[V i(jP~I.6qD+_^a7B &, ]bQXW0v. jiP`$\uC0%0L`R+`PA7wq]nqHUL:N$AC.Fbch HJ?QX&JB0I$1TT~5b8Qܥd' *RфQX"}0&J%1!U9P!~uTK!VX$Q|Kإ8xy`;N!jC0ND|;H;3Nid gR1p~{g=l ~8Lg!Eo5ǜA-.L.* Lf 7MwJ"rld2mȖ: ՛)\iCU9*\ #C!09Z9$1hI&$?v%4k@C-,D\UHQd_ bP*Q/.5WǠI*ph)PFb"@B83;\5A0hd ICW3t /JQtɔ)8a8# ߌʥuqi'(|:ll>0ũC$`VG:*LbP"aG}GMM4}"49^ FEU9bI!CG!VX)~J̞X&%k]Dǘb !|;rj&Hi'IG!VX)~J.C`N k Nu7aZs % ;UAݑ\2W_(>a{P 1)#cK\f"Umkd: |f dFEU9T J%]G!VX)~зrي-#BcթL v(yż,}'D7F0Q854 g阉uAԍɱA}oμZ8D̓ӫ 98ިL_\BŔ@  'y[ Z;qK\.+&hk3DcvT| L03NMrP fGš_avT;avT)#D03Us{Mb]2Ѳa "/.u13`g )y5agC!?IC޵rC3,|q-πf~]٫y T,i~~pby?-7w7..Qm!,4n[ ~,%!@&rTc]__mշ!Um`eܼ[(*oXV8h=DL\YT#њ =*{}}H*ڼ>X|.X>'3&mvilza6Pߔ9c*8wB[f@:6dLMsR0zG~|wfo`-f8Ϥ|^ַYc7Pk4 jԑ?YDPٮK#ߎ*AIaIivrѧPHʚS{Mj9[`R}]Igݏ\]YSő]aqWUƬ+m~e봦Ѵi5'R[vrڮ׌e,cec=-DIz?}aqW7EDLx×0;K^?nkp㾾odL+"s_1RؙҚkcX4UM ~בssϱ}{*<4]Xina?^N\?/Np{ 7ftV[AIyU?ib,0W+Mj2~BbpKido*LuM=Se`4'mF^TOs9Qk,P@?42f~I.VkO[F\KLZ ́vQMrYscAC@5N<$.$r> stream xZYo~_G 4x'}@b#aA@(iɊ_Uu1IgI-zR'Ϗ;<۩]pqQO0wɄ%(WG\bpj\t^g.o1vS%״WJ9-N a)شKRz3 a#>5kե^iN$Ώv)/90ؕ$I;D)mtvu?'f0?JhGv 9eQ9)c'R)ؿ} 'H'GΞ̜SJ0<6yW0~58b-)U/pD|lċ6n#Fx"sa$FE7p !t , SO]*D$QǪaE,sಎ@1Y=಍KGKL .Ff Bdm& r4/EII 8:Nnkr~ofaw#%WhxjDw\)04EI 8xs 8G0MM0pŁÕE$ŠS"Ԥ]T~qT9&)|2>mZA/a sxH2  Jdiu)E~886yҝt;! Ёa”ӓMZ3\vG@ƃT\,PPUW8Q* u8PLm! φC.ˮ` 8ȁ|;h` Y秦,m6x8U:v[pvL‹/RyV0RsFdܧACl\xfE,0$^=8daq9lcǴ M4-`Mta5`#/EPM`GPCల.Sn_,(7t1F=2Pq lF=f@4T\lPțDrT/uStaj껎B㒅&#qв| ~@}4T\lDpKdZn@b_Q|Nr8BqÆy M ȷ׃b%6Z&P"Ij;ŗ T*F%4 GdۮbBIo@Dž ݆`Lopfbu':b=s>c = @P}kh` 9DA17S6z)Nl((R%5 ZezgqӒG Z;a^P΀Ae7\,Pg S*ąP=(.~6["7"t.͔{M&M$\(6W9Sy()6S4p6NLhLҘNkLwVj6/jz :+?:s2i4@nBEP~3 Zړ(F񉞮R.f ʍ8Oo\B<]Ym*ee"q eѠV<4aHxK,CEQYp ! I"l(\ƒC*9n= %'{~| ._^__^\/O}.|^: P=AzUf8a0N:,=g.W8< y/W+)C`c}6EE97 Z4C^$d(XB1bHOf6n^4|(si%nUD,/־f^X&?T©RRn~.,i~GdTG ЫZs%H@Ѹh"e]tF%#IL♠s*98@IӸTsq49ёȐ==u!nOΌ v+Y +R0EǢ5oIfqpcL7.'YJ]ء4EjHTycq`*zf k 1G1\7Ku khq󻿝?P} 7mo޵я>:Z 6b<#-E|=DKa֗ l}Pf#ڞ62pu=6> stream x[[o\Ǒ~'#A=Lij} cg77ٵII48C,kWշѡ,6OT׽|S)/'fuyD$hzmv۟Ĭ:j :&T$z':FRV@]J9*, 6.dTqMJOJ R]\IS'ߝhv>:?L5vNN zWm|N| gj JټT1ۜ)S>7JeO@N-Z+]k YkiP@NғJ1ϴ,RXʲ\#?'f)/?& RleӋ“2f3{{엫#x;M.>'"+DazTxݛxaECzr\gF]m+,A6o D]Aݡ6=J0;Eկs=:e#17pvY#t`P#K U2`@a4Y3kS&(la~՚ָ5p:jZX8QÐ<43"7 .2hE iC6 pQaZQMamk1) RCn& \dЊA΀MBDiASQ4%+ ,s!p LT^ -)){* dAIphph%c|68 2 L+i8vmV%L^`"YL|[:VH _X:zB<8tȠ )piFgc4<7+R*NzۃC |:n#$)Vphpnl7MFѴlf;6T`:[Zo lmQ(O* GO"V42]2*L+i8vmΖYzNŎ7s3ktDRWrMN+XyE̦ })(lM JzMdC)bB0^#_(Cet 8S"V4 mAz3dTVT-:EӲq`ۂi{`LI?xW`ȥs4J x=Eh@hӊEhZ6l[T51'MI& 4yQ .iA(x!)lB1+8j =&IE߾Ρԩ0&Thp"V4v>ӊEZVGvm)qm<80g,fÐKAA-M:\dЊ !d[ӢRt-+#;ضKcM^9l4)hVssi*|y:N!fD:qZ*s  L4`YdZSMIK_@R1H&5qppL EhZ6lӃjJlc[M4n9]U9iIaP 7 .2hEh~48`;QeV4-EӲq`ی%Ğ_XWJAKťwb1tp tƠEhš(c҂C#h:6l}Lͩ.t1a`]@f89Tȵ[<X $,,pa"4 zӂCh*V dt B+IKA37M;E=&E"nMGHcU\U wTlT3 w]jG#*N^Gha[Y39/!p u(.tBR&Ai7=3jWXW״MȀ "kʒ˝ʣ6qީ*f*U⑭SU;A0U[P O_)gKR@hzq(z "#36.W'V,qJP9v0-hhq&4kF_/T[^dr%d:*-a_9nw/o׻˯NOϿ):/;Ѵg))8Aջ Jѹ@;{x mTAl_-c V:)ۻIOexk_}_ƴG-!LЕT2rl#vM%>Q%2dhlah`Lјh:i:-MDZwn4ӭ||{)і 8\6ߗ$F-cA@L3Ms#|tR)|>mCHE? S]e8pw7iWo-]`azƗ],lZޤF c]"LwEzStlF* OߎT)CG)== ܴHn⋫ Fg"P:NG.˪{%wգJF%Rj})!NΐQ\'77@(-ӫnNM#hkq|lW9E74F:BKƵ0(u-LX+e΂pՄX$f5PqsM+4nq-FtbEa"شdȫf`2;_)Ғ+..'A1j͌/N+JgHjڝr]m}']w52I_5od|d6MA<]&|K@arHlnFupCMrQJRe\xUAk`.NEHU(fV*:Os |Tkgj) #QzHz|Ԗ"ӓk\>r!7H:IBjjFH>O{pt);^8Ct .;-Rm;YZ~ =15q艎+c֋F:avGUl чo{GNY %Jðf-L'&Ο"(kj r`sɄHځ?Z/(NK=DaU~GٔFP 9*F ipQI}N?QѸ6`3 RknHy cMSL0:%"Yi hbr93Pon዇BZSn3/ J̤*2?&/ )XQi ~mB>Ma@6XLu7 ك#AKŇ~IFFD\ޥ陉bQvJثڣ _K ig=s}upض3d#wVܖU1ݣ]u6endstream endobj 114 0 obj << /Filter /FlateDecode /Length 5354 >> stream x[[o%q~?y㘓_'Hy)6 $K\[*PAة:u Ԣ'E/;<}SovF=Et%s^KpiPuLy ųD !i^>״״J9- *BlZ\B㒔: XT7;͎?W绿S^r0a:+N֓vvRz~'=f睙?(墝_ϬKfD夌~CPT*翃 %@+#R(+ߕ+sܟ p㠀>j1Lg-)U/PgdCG^OjipO~wПL_v@ny5vzx^ޞ. -cԞCX/Z/{=~wIF4j{*xO #TUB\Tz/r0o7 &;p_@2)P l8 d&Y:֢4;H)CC=•KΡñ惁 ~=d|ѴhM9;&crZB(&>T%;my^P1() TbParEUS4+##0y1&@x<E!!öӕ%MI\NHXADiGD-$TAկ._-C&/*T75"Ix~ X$q8vU4$TT:EU1XvE Q<u9_} ClD Iphp+*X?v: MFѴlvmp(8 MlAS8@E X%0}A$.N}9 .´)ҍ6,ȸKnq`F S rpwC ^Q1F흃6VCFiEӢQ4-dSG f`-V(蜲P$6:4+J x"WTLtr:uĐQaZQMamG-s @cDI%P'% pׂA^Q1KTaQ@ZtMź~m[SMe9LpPLS|(6t3GN! {IA:\d %I6T2HvQaj(Ñlei^rIV CSaE#J=ox3` *&ͩqXParEաS4 #.JKЉFDk'g; D;\$9pPm*L(*ta[di#"F5ļm<r.7iÛ ި> |yڮ=UHJT #z٩:FR2FP[$lT?ث mY6~t>"6Y:3 S VPh"(ߌ~oҵc|aAGOlQ)hU@_$QAh`K;QH* Ƞj2uYQd{NU1+j~M <ķ&]4hf6$'W sl<6Mhqh5 ju=_g3__n) KS0UAԔDH+h,c(cR^vصXRp Vu4=.57Q7 zS4;G?}T:-IDPdK{d ː[~|oAo S ^RSaw z!uy'3/k jZc2q 6 zI9F<",=x|\!w{#vx~XQ}CXܘB gڧPgR=~\oc{v'~`=XIP^3 bOE-Tr6k|z?i͆!JX6"؎vK~d6"J(㩬ximW 3r%u,s+ ,O'l&Sϲ'ޠ$lc:RZdXF) Gp0&c,(-C'n/k]ڪqObN_H.!q~ R_NH 4"bm}a*4XUߛ4Lzxdx. IY) d#{\<ān>פd8ۑ#B(Ǐh)GaW`eLp/Z63vjAFZfjbuf5gJb55; yBwl2j2P ?5~Č}HqIW<^x"-#"IcL]}V)>?9pQ2HqAė*kRԗ_^}\6GFx7)\@D?D}{9B B"舊*\seq^ O_ J=Y!tУ ^ȁb푟*JWCw=fUZ;ThFߍX|/Jҥ`#vT$'Lsԉ|#zJM4("7[(2dR2:NzT&rj}yMTPf>*QmOnQW6/ioކ10a9L:#_Sbᵎw͏|KMJU珊A8/_h, %MߋR0Wr ٺBo/hݝ Ɣurk-vvd|3cj>y2r~0OfH"o~_qV:B; SW71,Ô#h:>ζ8rpG 6| k垷F6ѻl6,k ?c?mC_W!VVOHxhYTtl窥l"Hey heLG݈ TJ#ѨͼJ]y߾$c(9~KNGnOԺm0ΏOK{GPQf<,J0hG} h~yWA1&fɣ޻7CC(zF3<\!mUߎ'`YjJُH+&6 >k~3>e /lti r#Zu/Jbȧ&u-ޕމtӰ/E/YLښc5H@unCV .șӉɗ-Ҳ9'H)b꾡\QW7x<*HGFEpWITDvq;TzfuCH^t Wǻ& ׵)cS~ 5h5cj[ }l<ѧoj|K2RX!g C$ ܉(L6W2ޔ;C0VK Go}01OgLe$m*sUA>qg}NT`GozcHËC,~ZD(gw#K){rZ /%u`*`j;_to&-뻽324pԲG(94ӷ5ʀ=x'l <rC+/݋O/U#o%"N2 ]*OY'P,9 %N棚[~_t÷%;b7.?[ɳR/w+ƶnʥWRu#A,"aMY4=shf';9BO6n?E#8G$q>|rL"Nx< =kIӟ?]"h>BσOVnzz e)endstream endobj 115 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5758 >> stream xX \S*.^K.ԵZ][@U "a @E2aׄ}Su .Am뫭֪֪k{b–[/̝̙ss\e9¥3h#0dE:6hZ!k dm<kk`U#`HB D,FK2_u1wN3O8W'G& AZv_Yb,t޴ir|OpToNrqo4w IqOcuS{?JC#dRGw_iEQKH6. ].].{7%Rme|W_.(sfq7w+^0>u(jzGBOMR(j*z6PK('j#zD-SӨt]ʅERoPnlj%5rVQΔ eK(ojeG9Phj eE(L R)kjN-FP2ʒ~8 jfai`򲕧CmOC x䡉C]MV>|pG:Ԍf͏ٶDN◦NJؖQ(n{7{MѣF]9ΘcIS7ܘ? Ho  7b)A()P/֭W"JHHMMDqLp=~+kQs59tx+?9 EtE=j.I+S"P,bRC/b{Nkݤg0Դ܌JuzteɖĔ4.#eIh6 +v p$C!|ʫ·!f5xo]NoWgd*i5{aR_hrIhn<`Ϟ9u%oLYmchyPR+b@?Wt?/zԔQ\ ] #ɱ<ұ) <;Vj1s+F(nC{PuoZv (x=%ПLdžwwm6"DA 8ux1՚MA n+=x{zƒLѼ;FPJFB-N 0 ~XrG X,_hXncneiSMAn{U )|V-ϒdS>b[[~48,Sdƴ@/4+<]ykQA[~~yEۓ[?z΀ݔriEa1FM@ru[1w*cfxSjsR͂||7z>EOwC]H+PEp*52,@'z"uӃd :bTUV׭Fe$q~q:@-D5Ԃ06J?)l3G[9uE=E~E@ '7 ~Lx[)>upC'5Z49g4X7[1faiCAEvka,trCa-F8汐'נ*ވOX#*Dń])1.gT'j!5pW,+v?r؏ *uuեYՌlÃc*Q1jCYLflOv; YaP+[tL1}'1'+ uw+['%ZEmYcACj&T] AxQ|q]Dm3h @˛B¨;bP2bܷnL6qKW4,8ՇF'2ƮjaY-:neiXC 8J?wd",O6ep?5'.|jUOqx4 H?1'^bFk¿p)zH%R֭ٝiT.y$TQt=:{%b)A*:*IR5R^]-4ϲQR9 8i_F sQ S]) ٳa/t5=wYvm A y y1b,ݱFG(WV4]x,l~O|\ χ8뇔9Zg}AIڛoSH:&- z9/XJ׏/^оId*;6+1UwcfV 5 +wUȡ8koȭxٜ$>6{^ N롖|XjPn?QxIxt"`:cwE%I".>ǖ^;{2::0C dW1a`d#v> wXY9 糳T<NNtHٖڛTQ e ֆED 6+Y@okQ稙K/رWSSx-xk7LwN4#ZqL4:Gş>[62Gg޿j'=]sԧ|򓃛ׯg٬}v!{hunik?X@(s~%yoW2*}}'ڏ]!erYE>1 j8-&8۶w]QyD gJw1u8XW+f_Q 3c3YyL"R't&|8C//No׃ 1t@rrD80s f}izPR4u@> #@hL/N5#CNVkޭd&ͺM诮5CLtzH i\QY]<=׻ExĽiO{#͟?E2k6mV6G7:`/ ،f9FL`Z!;~}~ȏwGԔƸrX)7[_mq;$\IebDQ2<d-ӃNPdPY$ęEfYU)* "6&UnR %.GDoƛ܉G9O< *e~kDڭP4P e'B<ȓ֣<2_r>"1 `aI=6VLA`F0ۮ0&D.'ɮx}:zgg^{qLP"3VU1=oT+Mj#Oހ&gؤ4d򯾯p8>{8r}ŀx82 ښⴒ<іӈŖY72ϑ.]N#c;>l}\_9bSjZZKcš|`4/cMz,B!crG'}ڕӷ/(:" S"bg>z7rG.=N Ζǖ+RRS`IBI\WW"P$Qb!(Q)ʋrsrRTH8$$N5 MYS5@t0zPVSE0RLZ W)I<F#YkevNa>z A/q}k7%n%yMw%<,8ODm0$`$|ǖ߾4J.^)T4}h< {q_q"X.y 5г NdD1^y`]юv.#W FG]q񪼌 B֩wvYϬLl!{Fo|ʠ]~dDZ/o~w%AW ѧ97Plykl2(E_{8 lG7\.rq+ҡם9݃OWZوCGRqn`'uOp:G,m͊lDu(R]a 2s;Xq7~DkgڳwNot]S G,ڀ6xmvK`VűBmձ'r Q ^!OK|f0 NliiFu>! :q]FxB#SC;|CbrZŻ޽;IGHWŻQ1b'xA6d۳` h*I.Jw^YKET,Gϛ6ȯpE0t˷-G4U[g,(óxX'$`+nѴoyq?\VSs٧A),/PҊwvu־8$D)5mȥP( )Da꼲  y\tlTQj =L(d?#f\PC ؽ.hR}Q߃kݳDIV?ƚKo0(7q.frx#Kۗaq2QUP8x/ q0.F{b$xS[!HK\P!]++'"G uCC!:kk0"endstream endobj 117 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3990 >> stream xWy\W k-nED\Y#AB1Qńh @MAQ F""[aQ3zn݆df5ns|t&Q4M'e%%k Z6I&B8 ba>EH_47R#X6%E+vFF3wW֦촔\Kg ,;)'-%҆\%edm'e憤7lɱ\KQپ9[WnT*=Ci낅/Yj;oEYQ5F-fR,*VQT$55\]jeOES^<*(ʑ(?j>OP.T JQT2L( 5)Sʌ)95ޢ*(]ʀ2<ٶڝN;&9LʘtcSOT#uVl٧sWL80˺zΘ*ѷު5um=tzjE0m3 ˌ r5ꅳjGTk2ZȄ,g_1 \|\+YbЇЄʄe&]L]Pk2+iGs` )W`6H%N(ZS]p@&=*Q${LAG׎\.n!eBC'=9[ҹ1_ 70*|m^G?:TWrf~?䳒׊Xw%2|n`EW AӐN U)3Op1pdz3V⴯hWH!}' { @ڣ/; ~AvThU{OCsH$ ޗ~cR,C %m{EPyt˓n?O.p.lIy^י+gUe'5vzOI `b<'%Yz}S)`?Bĥ( G8{TjnAXmDk2i}:$[bk# D%81`q`cx7.hE\'J{@Fy4\l|`+sk,zwSX N`yՄDU"XP2dFBX%T' M!ų4x*3>鋋 Ry`_n[cק9e(RNw%}/O}]锆+HY9a"#`=0D)Z^7Ww`v +Jx+ZdmY\(#DLd/qkzJz*YEb4ƂJl Bx\hjݮ!"/[k⏢кYg>::?8rq-$G'TJ8B$\]$lV\327JoXp 'f/ɇl\ZIKWs75G٭>,&~ǯC'Pп`xLD [|ţӗvR|C+ɂ|QpZ7Zf0֒CpL2M%aJUX` .+d5q7]TWYmbekۻ BA]Ǔ._l8Ҋ# +cs,ywNarAٟ0#I1p}1iR]ʤ' JQ27ᛔA7g-_2F gzoU*A}]H/}Ǚ3VS\s`q_8B:m!̮'oDqmɌWMzXSH^:R”tJ ST!5s k!<Ź~h ֪r.%s%3/nGrCQGS/oud^:ѷ?DhTV_PsT`dUm^0Dz%j65sZ6ǽ/_2Č dp6'~ؓk3zKIg&9U{n~|~*1@{+LgF^#h?8ݼ>{{bO6S&ښS5x0,r:f X$f12FDPNP<9&ne\rxw/h;r6irciy< qs8>~i8!R8!:%mxZRkf".KFD!^o7O浇hi^?Np >tx*{;#|ctP1.|ov62&F2d##f/ uNW;6x >SLj?yORI*k|0^ډ-;nxn)=pcejOD\w}ǻ韆ƓzIc/%xYܩY+v`zȆ'4qѼf1?f.5+mFܳ@Yas=ckzHЇK7_9m؁(]AV 1b:u}T? AL!{ fz^YYv'8{3|S,Y9*IV ~Ϳ@wЕ|82йNK2rΐV'TWJ6LWA`/ESa ByjBaɅK$c`?;^9`\{0vqb⤒K7$MSISzZ\J0|u^~1/[[qS&yo(o/r pZ?rkx.zGEM/ź|B=rkOeJf Ll >=!Y`Kl>2&k> stream xW TSg>!sT UzFtr2Wu:jD  B0<;Nx3!$J թ޶kmNk?`;]ޛd$k߷3ʍDk6~9+riP;xcE8LM2b(:NMREEDeSæ̟) [-WEք#ѡjG!ۤ dSFձΞhfFR"M)D#erA>ReZ64Z.smMPU5}rU 01ظ%xuAMhޤ}u#"7Fmڬ:YcfldMff lg`v0NMf g1s f2Yˌf0ь'%LH1;F[{Xq(QIEE}a,3Vڣm\d=/yM|vҳ6yy Nw{eS iI_;T`sEyDmWYgi3Hg${@ׅVhWtjmQ-"^OF#ME/~DC; Ԣ~+pz Z:[N tj 5nP eP&8-jǙoɶbí ޻q~;9[sC$,o>/Ձ je?ǢW8Oٲ#a\n=.ՕҁK$<&CfyX[#-(*(,۫P.xu_ԣ&4 Qŋ+ ߨA d_Qtȩk>})JMםy;a~:NudMKG.^*)ZK*~Uv', d: +!7Eә}NAcy;eⓘa)A:^y]P+{jCDB D2PVB-яOQa] aSq57}1rv6Z zP¨4 GAdyZ_R9CC6^gA+6L Tyb24e&>~hͭ|ȟl75=B (DA,D[:j@|fbE6xD[ùb j$< yOaz~PPVP}#Z3L4C~iA)R0FXZ}]7AD(/+otEqWY7¾?I߻;$m]ڱn pVh6h3(*_W f&{sOm],iej2v [07Nûx;+<_p<9yi=9[Ul`7Kry{I噿KDzݑKO}5~kc]jĩTT+{> 5;h^c4 ՗X1VD$WLԪS~lW85t^4Mt H{wzy#>ZeQBw9G^)n;pNT|%#alDpAEpPb쁰n}E7uOC?hܢӯQ%M#<KOw} z3~$磧t#p|I|C!<^%ϒ {=ѳqcqnQf.; DM?`Uo8]/Ywlp·s񄖡9-NCP{l#YG߳|BBП̥Zǹ"%'>2ԡw!ё2"^;}3&#`&e)JRUK*y\jrT7 :V9B/YķՍ_lUw֢3㪡^˓drDe!]Eg X횇_'x'c fSImA ꁻ@ z]}CI(qLOkKg!mp8o}2>1n*42 .:!Ü3/;\dBd@f1Ոڹ']h^,ɡ\oCa_W 7E+ԪFץM4xo^G~A]Ext'ȟW)O4OZnapz-MK*ؿ-nɗ쌞?嵾]BOHM.UL,ѷG pX-"Bu1 Kj0CQ VYFcy&#ndSoǷ {4S)IPccv,vC IpI*1SjR}M1?-U$ݧG7j]@fl40PtJ]\:#տ^jC瑡O#\ ç@d<fߒ_bn~nmMaA;C[ ;:m8%/1:у bdP)&<هgz=>_P`ʇB8 ;}N m?X,!d̻MŅOt,mף׬ЃB>Kkg lC7 qdB~A.3e߹3_5}xq_ZDtOw˹O1 z:r$<2ؑoQ@:ݔh nY""p6_f tx׼/*C;p >a]dCF2b~oDGǫb[W?pJ_~.v^v>|wNC:߱uPND%zp4IY5^I:[*wRZ zH4f!JXz&481AB1WJnj_1RqoR endstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5001 >> stream xXyXSW޾Vċ:.uoݷ}wZDYaYB'@@D}kݵhmujNi;_s}=I&7}g}" <@0$X5C:%9hR$>#dk>>&{,@/"yև'jNK/o9t ؈&L$E&OHO3gxkxD.OȔ$Ȓ$H$8N(/ ݸ"8@<6 8B IE'C3pp1 i$Y.'KI':Ǥ$Jӥ)ŋh\&EaX&IKoT.ONNĊSČXx<.%9],KKߓUh<]&K;cLON+8<36%&~Wңrq$;~V8V*%FsV4# 49uDq$>:-6Q"wkGu?ۭeǬWKĸ1) 4 k]l#b֢)Җ3Wm ʉ 'KlHL@=)lC WF%kg) db)SG_/5hZ=XQpL%3<+xRlCBp%/<폁͜{ǿ|V,q:CiΦ>%tE/_v"+EfsGq@vsnC H. k# i}m0~ Fq#^p4ȽXЃ<8V/C# y@]zIN( ?o W OtsBdTeS=*OGVHDP M(.kdYvyti!? $9|q'$;2 2 sMMBCzH"{3| GRg@[khPTlGbw`@c' M\^H:QC Qi(.P(rJY$M92ǽ6EԎwSjӵUJ3 $W O O'xDS9;k8=ʶ;9xӮ:sIU>`*) v47ʊr=jkF9j5` y?B`R}F7ֹ}\82FY!~\[Z|axtAL\ hFSc%!-qs~wǁz.uWBMa,S)[ZMl"DR=Օu71U@G 9((.,e-w C顋2jʯJΪ{v4e\:lޖ >V[tvHF }-8 ` #:BSݡP, ?%kkLLW+ %jMJ_a}Z'+rfא/=RƯ2A)u!7:x-ö|ErC6#sWY4EEHb\~}k @lwnr<]OPG z &ׇ08$:W2);?-T0 4tZm۳jlUl `8kꓪ"E9vՉ?ݺ|Cu3'(\ nR)\>`*sáQQ5&Hs84EyӰ6a08ߕ9~d:1.`3+6l@_`7k&=F5=&]ˏJjvh(>]r{ԢKWr0K!7"{n H@?MOn8,KyO~=etw)NflOk4M"_7/n{dp3H|?#|R jde_Õe@sY6~1.z= &@DNp|Qr+"> stream xCMMI10$J  b`[WouCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI10.CMMI10Computer Modernk:L嗡f?~tBqyw%ԇ}tM{IPc‹}wBtX_x~L6[d{xt^o];Ciedce|TsnnssnnsuCma  7 Дendstream endobj 121 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 362 >> stream x_CMR7',   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern2p͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ %endstream endobj 122 0 obj << /Filter /FlateDecode /Length 1372 >> stream xVn77؀"k! ˓hXF#Kq$zn6[!aJb-WR*NuiZFH^zr۽Xm샷JW]wضqZ5 "G\SԸMsSSAFۚfqa3TM%5٬ȴ5 p)e! $goOΨ?Ywg:HM~+G{$9fX{+N fP%mL̚mr C~0I>Z)Yc* Ή0ʐkucɾדL~K)U!8VR]*9(XDuĿC%-5ފ ZݜBlqfq?V(/C4@ْe,. b-ʲ^J)"&B8:|^)s:!eޘ6߹Hά4lB!GrHZyj j3-&bmɫ4ycb[ȡݹhBA_M=EqVX!m 0o?@l.Z[Uz+鵁bkhᲿk"%;*0&$aTP_i-ٹD2JEor.ZWܺ,)@bxM.[2*\W㲲tټ]7pޖm1EuhdqIfFVQ>z9>P6ȼ)65Gn#\.4=A4]cBqp9Yl(]:v l`)0wDtuK M 1Q& L baCaҖZ!`(Q q/\HK)"b FMsr15J`,)ӷgY(،ZCBNۚbxF`JE?;2>`^Jx.]Jΐ7d@6-7)-*ܻYd:qfG)*;Z;ݿˇ ޙ}הR,=75XT&i.F^7Y&mrS!vEzb9Pq|l5Jv w !t4BSQ1rU)\\|2̷iE:xJ#T;\zZž9JU!M+ ϵY7NDaYq/ޤ d6aO(u_W:>`}Sj}]%wĜZj}u., =%PS$k[jWkSj}Kāk,e4JV_pendstream endobj 123 0 obj << /Filter /FlateDecode /Length 22220 >> stream x]eqq/swrGGMHyq0Jz~[O^9(k퇯yG*=Ǩ&z[aW%G?4RMJR&uṀ4nQ~RbQM_@ODt~l}~DÿPGfGc#qqFN)̵6<νۏ4ېIՇ~Dz<)qr;g_?O_(D;0YooT0W׻~}_?_ߊ[R_?cKg 0ZK>__/}1߼˲/=~)Kg~SyY|`ß_zϫP G/igخHVxzg~m'WQìzcNm6MBjUoh9= 9AҢp%guI-7Q&8,6 u钹dTΑfG1HS@]$(:q%}Kf(hTsUfIoW|rrH;ݤszuG0VJҤݜ"ʥX%(:PB9ӻ-$mV|wBCύ: SZt@.fG\8@2 FSpN~'5+ip$j:wYzwne<gѬf #QO*h@ $\ )z]:ϲpUviX?|Alz KhxI0:q.tWK…N ¼UYiv?}Æa g~]9aד1O;4,m2X9-=H0:sLyʨq ǧFͦ z6'bqf=ѓƦhi9=J1g P4Tph$C7 ݚ1ߗ1M޴ ֘o8):gKJBy%!pҳbKGΐgPj04L(b:U"tf8ӸŻ|!wewեZρ3Q*e]iH(Pk,F:wq sXOW$jmpv/"؜q>1cz|H '?XPetZփSCfjUPƐmXLKxx4nJؼP2$S4B$M2+:&mhqڤ!*2]ԁƙ=tU]Z-G{U,d9p/JټgG.alU^I*2Pu95' C&`wn~ilWqwЧ#YUv ц `4urd*$E-Y0+M}@fi89gX7s,ZӢwm5 X lo8s$b:Hk0+M}›q f%#W@TBmk`4uH 2YdϹYa[%~з 3k"9p '}'}4,Ml 1ڃ%3&IH5toj!JlԤiKqsAg"JOdA .ő%%4LRBpYiv?Է: M4ZYRi*cWYۻx҂7 a%Y0]CGօI S枖Ұ3(\t FSJ'ɫZΆuoj!nAs>93zF鄥/\}a O6!62sH!!*(d5\fewL(D Wc0=O̴EgC/ Β`4Urf;6_גp"j -% C&`sB&#UxrHguʃ6vVU'FK!%#aI 5Ya$~зo4.p.yu vJ6:?̒a hhϗk^nD-@N)>?,t4ϱ'")&_>WY$OӢo\tI0:q} -% C&a6fCZ'Mvdj[/T[zѠELCQLӢq`9KI wЊo.W[^$/4sVT<1q>gH(ybsn`+@Pt9'.l eFԷ8%9צ9uo| mx},e9mkC4FM׭Vo'˰vQCFQYd԰QBwȉ(f(8;W.9Jܰ5rvԜO 06,2Mr6> O{ ȻLXIͺe=I|a |o7af[}%4+3nmN%8{]9u}hS'_GF4GM0|.aF&_s~|\1W),Bovf~whԲqߨi\h3sش)gC1+QP1((m(r"/%c0dkQj7#"J9; { -RΎ."gCq4󻠰P(l(l=EÍRΎ¾Ɇ"'QXPl(.Gr6# 5RΎz"gGa}qCRQP\(l(Erva69+qdlP\ (zq"&adSڈ`@ qCqnQ:ۊ(\"JeZh٠}byb#>I1;92RRpjMVNmmlٻ2y.ԢkoW#4%,:Vy `- b¬T w~<ѷ*)?GIΈ%FѰNMr NZDPt C* ]81"uQuFo.X뒰5Ι$YtV`!Jp}eiis֙g|N#DX:`$5O U|vg H15AnJsB|8Ӯ Ӵ.eҗ`^gY*,گZ蜡UMNLM042DAԒ4trdKGUlMfIpf;㜡Rl͛fR\!Wt8rpTI㔍 u0+Mg:r3|+~4fY`4ure[9GAZ{Yiv?Hi1; 3h_ݏ!9%3g`NUlZ:HR+ aVd-YK\AYHFCnLLԁ3 %a~=iQ7 C*aC}tDѹ18*|K 2N?u/ FSՁ3ԚY:AinJx%]|+ q6 !kΤ} p;qb :07 $&`A:uH/8W43GO~vx!xlwIpZ#lC$:H qaVM+kLss3ET2@Cy%q6s:OR[)`ukDK=+o3u_/ηZqFRןgJ(n4r̉+{U"Ge4ⰽ~05i[%M(q,v`- omJey ߘqzdi~ιT;7Zj*W 'c`H̄ &e!@n84z8[lOm5A)`;Ocƙai_FK 0Mzuqq h}85IӰq4a+qh SP9=LSWi6/1vG[.n$d>{̛ 1&9yh?ŭ;7x+ 0k2^XdVY?8.CC >PL}IoW&x*Rf!b{^0!,/r⯥Gx9u N'= gJ<n&Z w,ik\9ff>[^I`%iPѷo>Թ`^x6, 9$8G OwZtι*M42\NZrhv/W$,J?GNQ+5IM,P$Ri*s 0 FSJ(8#X[a$~ld#ũ1<;OKӵ"Õr`4u-:]%d.C#J @ ̑g#mZs gVV 6:9%1Xus*ۣU (|n(Q ;sX%}9S `HwvK1ee6+~rn~şta6]G㮍H-JTL5F+gC#kgd=\d̊&[1n2t'gC74|h_E[ûk}xn6od.Y[R0&G}-rPWG]iGy0jX<<)DyO.}PP|PPQP" v*/.mGnm&Qݣt;3l3lcp{goU e ŕ؛=RND)c쏳?{i/[8 ETQZh@)'ljt.މ.܃%LK1±0ʈqkkHbiBgC0Q: (DNWPI92B@:P:$ ,t!! +ܭvIK*'3\c FERH.Ye2E&ܚ}м∶ρ3r|WBg&BdYszvĬh8\g)y2u-%hB*a㉾5t=7ZTxYv6xN۟e?;Fci&VuM¤:6W'ϴo=W-T̸xt8,HRFsW(%6(aCLBxa4|t%1w6V8BvpW%,` 4,n. st&Ya\ifJC}C{W<7Ȁ@$}8y_ӝ_@Fŋ4b& /\qĒNN~CpeC9 10un\H !ƒtӻ2K1_:H7BnJC}&R=G@Y=xL+x4#ˑs6D<sNK`dAp+U\]SՑ,k[0>ȑoxO:zYJA'~&!#AZLXa$~oiA20-|T_;Odi[VMԁʑ/Jș _&0Yiv?Է6x>8d_ \re"n]B~Tk3"tř/%A2! Yg7RFJֆcqP]Ŋ[V5`lNYŌ%UWjF{eM01}Sw DsmQ0eϵs,Fd ]g L$j7vաIky)'GF9R- Lєa[ Kv5 C*aC}uk5Sp ˫IM]| E/$MR9 sP\KGj6V1+ v ney-hVTouR];K`+IaaaNR{p-!ƘaBaӧj)ǜpm9qqBבlnj0٬7UHg= 8|@PeD^5QYg``t $Ⱥ] :H0+Mu8mvN9 %ٗ4|;B hoIXZ .0Yiv? |9S,SB+4&xI:RG4Uf ؽpJqgH-eu385 FC9a4ni6/ԱOK9BGl%/]n%ժ\5J2z*``3$NcMk&bw ázw]C&Ԭ6sK/ycxchNaF z(E9'B{OQ&ӫ"X"gҺRF P΁di.AVX:ӣ0+)&&6^ m _"٧ PYl.BBxx10qkf&6v 5xUz 2zl9Y!uO/.rMC>jI̲$XDX:{Ya$~зѹZ79˾N;'TSⴎTF@ʩIp:=1*.#\dփ RŒPv/V~!8s"cw&Ȳn!P NS,8/ 7,EYa[%~*˝W3ZBO^'X+?e*DDٺDD]wΚGTϮ]>to*L|XeSň9P@hl>U6È(#J98`R]o|4߭viKɸ۪<)$&׃lsDWq2FVdNqkQ^E^圫1jXcI{WԶ+2|!$M+2{&AFg% "vݏ'D$yY$2LVH@&W- Ἡ p4:Ãl AFLp0n3.>wqt_x܏Ms0BQ#53Ϊ Ruof^ aYv]*bM{(r ?TtMfY<4Vn8E,QB9, W澣 .aқ\2aZ&78\r..:oa`EÕm̎\QX)q;*Aήt(1Z%~зsӮMPȭDz5.JQ+e(n;BJRƔe)( -C*awB)$VkxʑE C+$)R0">Ya#)]9U>s$7gvTCh~bTFT"Z4Ew!f?%-%!c:tFuPmCtsdt._u\r"irQ`18q N']D61 (ȞTM0i6/`9ꜰ%̗rlJD9D P n4^:]λ|h#d'?R;NfsN?QvJ_d0(¶T>dtpҲP%_ifŨfI][rzVWU]X"y1ȜHQ[3VTd\ G7PҊ^* ?}VxwNI$bu@Ȁ%g\h9-(rMI!uD, ȇ`U$.נ+7f |P6yĈ~)'NtRn8"c4]p8E`4uH @֒p0u{VV ՋYq_x\\pbkhX`%R:M`x~j!JAfGVnfŊ,鿅_@ĝFғ!亾$8}0qIH8ȺtS+ aVݏ?~$LőQ{ծ'Z]_A6'g{K|Vh*ƙLM@0 a& :6?zPDmtNBdSWau|-NEY;Lԁn.! vݏ?/ٷЩͩ $s44_'~pe<.h@ \C 0ePuP+ aVm+257HR iE"ܝ8¿hCJ 10h)p3Anj݅?/ϭP;/(^R=YJO%1-#$ue )$KBu$XvSM. e+hJA,8kZʉcFړ;BܒάRlo.a3$l^бK$箦s֖YKh,'הvD3xKч őT(-J .V2z#|O,ngPuEq/nKog_:e!J{ gxJ8kŻV.Qa)rB~EVsJg圈36q$O6,-|F.)kde;ogʸ'*-vY&\c(6ΆB4b(q9pGEs|gCɆ+ ,9J$~YN jH,M?9Ko/ď-~|-~~ү]RWr?}/6??8F/5I!;-baV'ԸPY(.q":eBK)#bλ܋Qʈ(D"8ӱ6ws"(nPEq" =I(#bTA(.Gq6^P(~Fq[:\D'QƉ(9DqP(Dq"28H2NDq2Q (;9dGg/^dBW=*&x$/ _Uis;1*&oNf\7Dљ%ٍMPkTf!l ؽg؅'[I rdا]=?%܌je!g1ɧVR9$ft(-% G*aM?xRO..NCġƣ-z%M KU)܃@ LпZzwnؐ8eٴp_hdmN֎]х h@ ȽM\TXxtj!JU0>vq>٢gsF aYI2+IWƉL^D%4{C&`wAs!BIaM^ܫ*3>{ I8My爖j`:2i~,gUhyx$`0Ls p7 ×PHm0hv/g8w53~HWz2?ϞIZ$/ntغI|-ىq{K9pH)Aj[ES!6ZN9H$r) / a!$]5)-Z2-Y-+ aV mItJkh`4u/ȚÒ05SpU}+('+-8r.)33Tk^}YǴ8 3 +/$*`=w.N@^jxOT+Cյ=K׌%aZ&GuV߮nJof."Pɬ%#[rZJQ(ou>Y| 6*^i<3.[ȆglN%Vmʧ9t Ng\7 by+KZ(¬4 L^as$hӬ:^Q-hBU|SɇqE: \0M}C)R^̝SR3ey+:d8 ߐt!sIPZu7I߱Z-O:y S9,80(r!^u7 :@f$9PZUH v)AĨɾjͨZ^г +Ƒ\ꋐ!04a縗UJi]|09-J÷e}[%~oҐ~ʃ:bBʷFD9 VhLі=00Q]'(t#V : GfuVؕu h v˚'wЖC/J0ZuqTpV8svAhMZAU.҄ qtٖstbҡ>T­Q;{sg ٳN7Z$8}x_.t( h!Jp|+G\bَ]{CNַ\riG 0΁N Y5J7Z[%~o OUc*Х(Ա)4<-WDU.hƑJt\й0i6'W)2Js$RV ɸ$t):HV/s/$M(a`D  `ݍtT]9Cr{qNscT D -Z[7ĉ{B  ~ (-C&a󂎵騬{*:z ]gےq62V~*NkiY>"•#nfwɫ<`9Of J"a/KҪ%sP |,cZU$ pUzQt3rp}5N)gC1%ױu쨾g,vΆbAD)gG;PfnmUΆfsD)gGwmq67@#J9; [+!Q}dn{hq/ EΎzR@q:{ׁ{L/P\(ު^vn["=rvT pΎ²͆"gGqΆzBD)gCqvQPnuo& =,ƺvnige ^p/FS 6, +{j{ڣCݩz$=Ý*a?CUur]u`wuî&Kρ#ƻN NgIj(sJsqUHGrxA*tKi 4 oyuuNqmU84QFk/.0ąm%ls% ӱZ)nJvK/(z-2+g^:@vJ.pN~KH2r$&`N C}LvHw!ζ#ȼ%my,N(XT_K0Yiv?7FH1r**qErPO^#c U FS# e3 aKi)aV¬4 vL{sи1kȵ6k0v5!8?Ӳ!%Ët% xsfIo׶qxe*Yz fZNH !QAanpAgZ:4f\Be$yyr$}łht7zE' pextwY=Ϫ=bS{2QuWI{:#`?f\-rND f(yP ;s>ȋ^1yֲ7?SvH-eF-/D5#$C] yD18 cqv՘^|٢% ! zغr6ԺPQ\(r6PIUŚKnI]1 yh&IZ՗PLHnq=!y ɫ,-!O%㷯eΓa} o\F[0?@)ce j@',k<lg%AgdṀu^O^_rW'*m .5;9ؕY"5Y(췯+=Q!}v)}#͉Is:Uމin_#+VGk\#ۯ"E1.lED-Hg#1.E'N-GG%_4G%ckrڨy{R8qj}v#1#S+>a4W4GVGO^J"#XOPtYj'%:z$*1ms\_*,oV*>v]w ɶB#9VoD,s}9פzB>i1k>P}}\nG,p}o$2W^fW^DCKqZ[/K\FQYʜ׌C9uYIJnrUzmyPچk|k99 H!zsX%^Ok~b\sX{M<{oƊ|o?shއY֫խ?HTwbD;( <\o~`Y^@ uq$TP@Yhno?g#]i#zRm,F2@;s;Rks YD)<=S;ǘuX\~]M c)ϖe߬gK[G$Jn2 |icٔK*l^|vmDKRp͟.7§\ޭ=G2[ bi:2&Mo-O }O+RfsY*O%cH6TJ8hC]o| ;F/.zq ˄ ugf^aX^I6MgcgM13!TVk@حOfoN' gK!۠ٷ6H8񵾰Rt_iGE1?_?__/~f=|*P~{׬^ZV_Ι?y^^ .3,|뿾σ'+?~,/XM9Ͽ{A*}_W/ ei~MЙ?| ^^~b:r$hz\K'[4c1=2( |,~ҽ{7}1g|o>{f['~'_/Q/> %({~_K%gO ?{g B1MhÛFwJ.C%vyo.㘃'~M8_)jtfo5Lva| DېC}uE6&=IHaNKa,'rTS{bCY |aD]QZUzƔ6j) )H9+v:cz(Kɠg)61X܌9GpA㨲KoA^[nfQ#?ݍ+6cnaV{]<pokNAb3LY x,,:% /5VWT'Rd|lzW;% ?ާoؔˮHG(9]úMלξ!%{}r$Ǫ:n* oB9ڎk[M')Ӱ22i66!ιEWu1.͆U_X](EU!){c){ };[͒'QyRD%h}oLser>t[O]-GR'һq x ,Ut]pCF t~xZ%]ok޲z9Y9n/ sl>8Um1$6 j;%,H*qF|ճ5LI,7 ܍o>Nݡ̱ZI|^.PȃՉI]6S>_-gں ^>g5#m&XYUϋ+S޽ǟf߲wZlJsY]Q|A_V ŗK؂uk}ѳzޠ/7ˡ[zX9b( κ* 7o!wmeP'yGp7T %cc:[)-EjmrXg-)-؀uAda1qښRVW6ؿPǻ$RQCf^!2'.mkޟ͇.CwǍkS`u 'W5Y`C->X. ["{[c&m̑ڷ6_38AJcܵ rCC6lҞyeW|f/owjsO=8@4qto {0Сqg1`.&gAWꅁL k"ݍž(SvϿlL: Mx^L:b#=U_-a(BXXX["%C}X( ߪE5Su6:۝Mh,4?I ,6 endstream endobj 124 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 369 >> stream xfCMR6'-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR6.CMR6Computer Modern2wOf}I|:}O˪16-X~_ȱЋ=:D\BEKmlGvCoa  7 ޜ 3endstream endobj 125 0 obj << /Filter /FlateDecode /Length 5832 >> stream xXv]]vwRp$t80 $bά3zhlTgeeY11#1*w;ݑVfI#+#Go3VhF)`V܍z& ϊLJtbD֛&juv4A*PҎd-2)Ts"NyYo~>➐񿳛ko"ch$b:~{sū?Sf7+X֩I5cj-5ß)Y&^2Y-R$,vy{˾VBݙ z_Gk 8n[a{Was&zj4 ɱځV)͇2 tG$5 ׸a{rLpB fLAb*CB0B<6Y=(VVک!TpJy3_+$J_^ H]dε覝U\RL)+q@#lit@H 3[f9N7v%0|Z .&]:#q>io:z\+aId+XBqQ*)I` ZFka2˄.D 8A1$h Yg„}VvFNYǵ#PE7|0>F9eq&&@V Zs;<hExaWmVNU@BlRA+>2@.ӧT~Ӗ/5.#(a},1nsU}{[9 }X,tOD#:8[c5?!*5l LRykE/ E)\6ؒ3?(<6m7,l`SL{9WNtE ´́MG8q0HKFZ*U:<=K¯fOABT<ՆdHk5#2vAP JA ˄% 83N7CAׁrR^_"ќ̋Z0м:S0^ckqwm qtVo3(B=GF3.@% 9po{l)mq^1iVNc@dn;rj:^ m984[P{l|=E'ZpFGᲜUa!3PAWM,eD5v ; u'ɯP$r?m]OR0|gS[(961~.99c,䭃M;O#6S!_O嫻M6 peD$3qk6eSu(\$!`8Ɇ%䝧X)\I}{V@ʉR@~K4%? [b梥`k'h*?޵'NODG =M׋/)0a] g ^'sEA "tAU`I)'ރ+NA8hDtI@ pyJ{+Tо7"j ̦7Ѯ9;*k%! f#<NN۸daqN .Aԥx ux8QyB_LPC<ϊsDXLtyIKl[6y3 4Agȣc,`d=ོmDֻ3^*Zxt#̫([7N>+.0 ?lZ<>P!F[*}h6R$IՁXԕbBEZc/$NL.f%F^XNi*_)8 Bij)5SS>Q6^ϾLv*&yXp~2J1@|rhif[_gcz,][> \ɴD +YdYJWljB=xwT#__| mn qD 75|yy_M} eef){Rќ1&!sP^4ޒdc܉ )uW`q+bmUΖ6E pTJn'|Z&4%*UV؋Vh mwJs3-a: ۸^G%]Hu,+P/&0zB i;6H3%Z" ÕzUfh?1T2ϴP3_;4@K?j?t!I&΂yHY7P܁0_/t,S,0hCFg9c16 " ;9ƝK׭5dbK}йΖ7u/8q=i,Ia^+`{PFX\ʏƟTEy憆`lr}"664E+ֲ5 PXWeB`ܜeކA%mg}.йUls_jA_' ^Xɴq4j8s3t\wG=z1JV'My3l*BCV8d |)Ou\n~/dH텥w"P9-iww8wΛ H붙"-K%uQNIV!_F FKCV6I`78ӪKЮ1 xπsåmjeoXJew#hxcwZ.gYpQK|@`22IiA& \뇼^ qI.ջU@oWҫNiVUv4܍3мFIe!V$f /iC2 >fLOw=Vjf^woktt/\/D1s3u-pbQ*j o_ 0_Jg&xs Z+؊${10Y1,aRNd'r a1Ů4 ⦶j9'`E AFS$0j|TKK1i+i%r$uZ7![!=䧫tԔ 64KRZE2 Ru]D9G.}vrUΫE_~TvhYi7>of<ׯǽ=]n -,dNBsY\7UA˄FFmt{}_w31nw 5WU^gz-D&tiב]6=\āeNzhGB Wd,q[Eg_꟔O{<~?X+Ro{xP 9Wъ˾~]@ra.T|- [lmG,n: {[xsxy[}vwK@QX` /6'3pOwY#ӼFH8|[xpszqwR~>P~!r=z4507Io]6t2uqvW7ys~HKƘ9-~:|NpҁQr|ej)=Ҋ] >Q߿@۝m.߁ߋT|02R.쩾#Er"|S/#Jr+1,c?U2{N~Dż']LJQć*_-zX^ =&ՇHVi~HoS8汬 kԗ*CKu'c)n_ɟ$ h*E?GrSËP/pcXb}ΓKYeC6|@Dv ?&~CiNN7R5m+@!+G&zfu67IKc!b{lm9J5x+|#A{ y5Y/M ^ޓΞN!rدW}<τL0d{>yk Yu?/mYB"/4}H&J.(<Jk8'{endstream endobj 126 0 obj << /Filter /FlateDecode /Length 2351 >> stream xYYs~BE$h_T-01'!p<?pMmVqnb&S,S"po*S" wM&nZA2E@-'`Ra+31cFcQvZ^($SI=a7q=ȭ,䙁f`}v.*`|PI 0Bwk)fj7?B0XN'foh߫/ TB..1||Z4T6@jk¸V,\tBnJ0?<:%;R/[D,i9Y&tҦ,# :5ǰ== 4*ɝ,Zlfj]tk i{n3+: S^u# kWF.ə\J•\yrSY2 #\iFnN%X*jKFjD`-UZL*hNLA@[&:?cc@W2GE+kCUNp9L䕒 e aSr+%נUu8k K3PHJ±.n2"JJQc";\haUDB|b%e"Wu~&a~kv94-R l&#sT1Ռy3'p ē/ (*U'v2%R!$O sƸݱꑆj1ê`b8M1n:t GIm彼ׯ2Uq&'҃A9-ݼF8ZM?Z){n\m`.T(`g\,ͦ9tQy4&<^ު ΫB>+Y2]j'Z #<~l0EF A=ouY}/_+ eo7})D8syvOlMOU&k "T=a ^{pQ?QӢ:$0+ZN仳"h{{h"k6&d&A6Dޏ)t,vm[ZD8(V_fɽ!8Q @tIpXv&𠘈F%NnDE5/zҮ. y|uD6k1`C=nD[]$ݶ7]% #7{>ȨQi_+Ңʧmꚜ4 a$"*lw"lbڮ${j=[7X0Hn,~|VepM*iJx{֫. ۧļe(+M6x4qf,!$ 9DEXHB LǝM6P(8Î yyU ~ 7X `QyۄȌ¥!dtu~$e,jEY~՗܈ mX;.4/ah7j(MZG }Q! &h1S&8?1R6rx~kK㖄JG0aPB _-)'a:`n^*HD?jnXBVɇ`| S9@+p /L褀NX_]'lΜYj.$TsKl `ቜ[wi dYp٨Wb$6>~c6`0}û@]77-RMLƿsc\O+wTx+ĹaP@fLCy |>ҾIendstream endobj 127 0 obj << /Filter /FlateDecode /Length 4888 >> stream x\moeqG\KZSi h6z(JZb]i#i>Csxݵ A`xp^!ǝN?35L~u挟;oςrܞ8΄wFZgghFtp#eYk[ 12J0LA9ejD)2lbw}3+8~Rq۽|},wk(BIew/gߜ5h/1m4֨?!ӋzvRM_ID B8}+  !fBA^^bگq !LI*ē/豑쵲 4sf*g`{yu_[j멶~?q&:SP[7*l)kgkEl9 xwZ19or7g/kںںT4k}m7>VEFڽ< ͏$x6Nvw;Rb 0 Hß 4>e/ۢ@Mm',}jbbhۭz)ʋi[,_^A[,hg 4c gQ;; k V 4/bү{"Vgs &c7߾yl&iCwƉ8#+ON*wUY  xBr!(j5%{+}3Bmjja+uQFg7 &`ǻP6J >;U{n=۳7y"6XZ82G+fVSA83"qz^FmQȰQ螷; $ᝩQIڲx+vÛmá)^.`6X4buh#qu.*ɸP[ 5m[%+ޅںhgF[8eOBTVVf XD(Iz$IOY D"h25=" jPeUdYzbKU{L YQQ*NQ~l=jéVxl=jJéV^ql=Uoz޶w#+"M xDɭ|4R 6燎6h$b) Zg# ëǫ}ȈazpiK RB|SNe%2TبJ{AJOG唦ͨJOGBCbk-ViOƔDv4C?0ZdlfE UȩjFA{Q:*;*9HB:f,Q@k H E5B~4;Vb,gPBm-C\V:.BZJm޸DG'aͺ[YS guפ6*E3 w0#׬-С9ks[{6!v,go|Hϛzw EtAM":1amO?j~ r$5Iӵ[Zӱpc[OGp)T .=U=?UV)?i %YM J.L pA|G+0 W[qzq<+T<*UE!ʿ"#JUGbȣRUQXQ}:Vylvh ;$ ~7x:<@V zzO?ć.V$~YX< uĖ.9XM֥l;XO,ˑB=<ёu%5AXJ BQ8_#m^@SvӏZo22{y9u-QϿ JC ~a.Lб>\W JTkiP V32Hfn #qKy_rED i(MJux=<]\vQNEBMG*]b/f, $jm^S&XHhMbӧ(G@eb bKͪ?Q&5/XA Kx:r?/ a.ASӁ0މ_OMN W!a\Weˬ? M{ FBv pg 8{D_%Zk;V!;Sԋap˜ltiWpPaQ1`-cz:hּoּGbA?|e5k#,ByFd?wJg"{ `M@[M`\%5R:i] H!|6q8<$ 6ʹ,g>< }#@$F AUE)#G v$/*+@{xt(lӲiy˜bqoğɬVƸjr[Sc)^%â31p#LN u(ۗY.}DoneR@NKETÒ!5-]U1  s?;/f$=d!ibuERgDUf OrYL>%hNle۲9 OLM>LQlb;y;Hwnv (4v]է29у$1Phw ~\_fn !Tp^=]5-Zm? b7812qh7rsՊRb& f6K̋GS. ܑ})wT{h*u&@OЦzG!a4 Ʒp׏#_)De~kB(s1'*Z Sr~@PPJ r%#-O쯷qP[Ie*\uNKEBjt!(Iׁ}^5ԸX'rr3ⶄЬ=_T'!{jn~߬j=ȻOČk# h@i]*H.'uXv, ;WE~t'"3YD2{Q$t"j-V)/V=[kYhSJDR AͱNyw00p>h:"[8vė/eٷtW13HuJq5DhL& 1yj+T' ιI,oFp{]K>]Ӡ5:>tq𢥽=^y;x|3$i{mWLE׵Um遰u#egJwԒ}뼨@-{`4xPHڃʋOizb l }?ћGo9i'`ȡwEMaǶПh|`^~#}sc Ty>;Z`ۑڷև D}or|l@P*r#xЁ.{uIpyv8atাOt2WTS&18go[.gPYh4 2so.W)Wˆv}0P,r~iYAJ0tthAc:-<$KO 9{8 PҌ.v= 2kddX$HWz(A[veu3;J\uAV7a-YT^%=upqJL@*GPYi:N)oxso'GmcY}l?ʸZΖsos~S'N^Ct!׃|fū*>> stream xU]LU+&cH3P%VCh5V[P(2vewC]>J(壥ݭtHC0):1%vi|1Iů;"=ɹń(]ҕ[?hҷD3nS`7?W}سpL)BwB(ʂzBۣĠG1z%ǧ(;vDbO0R,ɇ^(DOxQQVxF )OPVWO 7(,ZQ!lR8UPFh?z1hȂ(7I4]6}Sh<1~\ܢeb%֢|Kr [\xuV]_] "kP kfGd6tC ^],8{R㉇|G!)E@]Ż6*؅//{dΧk֡)ͬIHc'8qWCzGοujט\hװ̛DySĠ:]]Qu\$y_ yܔz[^OJ0!5kԧ&Po/1c̔qtܘu%w,T/ 0wpTb+oBh<~v1eOsjGgS1`Xc;'Va%#lZtKrҚu"M? xj3H%G"[AWtl\[R~U$)$UMTT5> stream x}ۮd|DOy&lGj%h<#U~uSkiUWK| ""3%0gJb0x$N>%ӟ?=d.Ӟ|:]JLJewӞv H)^rbV%\RHV0R %,Y˞C\KٜXQ.j]y>N~^jCs;9rm8No.>Hn'v=||]zvk%z$} mqW_9nx-`mq]_s1!k'T0zg&|8ӗW>ϧTs<4~Oo|~>=ݰ.'y>}/ aoo[[])( _z n,BrJ+c>=gD;7n'FNeCC OMiԚ8%i"EY&35OE&XVԾXyK۩PS,7jkJ־m/򖨲sr#8Exgroh9 Dr=d`S>eA:"Y}` DF!-D*8+XŒyۊEe$8?Z9\&z?"(GաeC'/{O_><z|o"\6cgf×?ߝ~ç WE_j) _},J5!P#xTGFHc;~J9TToB u)TW.Rr_*Čց$%-SCĈQa"#%QT@etQSjQ2UjG!?VpPxj17τErk>99re<#};*7,hH̲ 4s,tQDĎ,J6* eQ6, 6e."RuYPzڪ,jdUTFQ_BEu9$8NCe~(*.rGJ 9>P.4rBs2}早Y_[C~d2*sp×/oߜ=Ƿ?PÒ9⛔_<j]GgfnER@CTjP)qD]e+e 2:1kC7CHL)>! Cs>g@%caR+ ;D> >Qs >e@PGicV@bM7ZLZa |Z4h1X4hoR|Yؑ:5haOcjrKRvǰbʣy~'kꚬƀʎꖣO3>7QG*!U!pסBN\n+LV$LZOj2&c8+ϾrXcVD'`X ^FjX /H+KxUcҢ,!I$#DADJu-Άh틅% U bV~mn D-4U8֩r>"-QD^n{Cb``.F1ˣqXr_^a"eYL߸v,aQc`0 pKc̪RM jkYKxUcҢ,!I5&<Qn1B}B>JtC=(1N˯:VZȕ.zySn\l-D=]h/aTcVS#S,ז_^abvm&SQ߰C䚆2ZY Q]ڢ`jcVbky`Ң(!I &=ѢD{bFƊsq#J`ʓW>/0Nk;RbGn# 4 tnZ8`;չ"MXeB+Os8oRH#| Xn0LOx+ԀcðV`i+6Z"^3jOhLW5&-ҘPJ[c=J'DXj,MPR^&hTW56-䖮SWikLy$-Y$dEŝW+W`6 _ۊmRd0\j"1y4U|4C2_$[LX^[P`59y1rY  aXXT.c^kOhLW5&,ҘPJ[c=J'DXj,bBOX҆hw9|6mTmq t-J Kcҫ4,k隬+\hނ0 hABAh,^6m1cPЏɉM8Avnʱ$Wc1P1fRX1tIғVThL(V1*"Rt4V$ [s\X.wq*ZRt}*WL)K0$!k,l`foVŒN/fs7ϳ%7UuVle;}b7¤Ejc0*:V}i$ p9-mܯi ,{#[AjhL75&ɂQPXc=2Da'59Ҋ}Ñ [W^őگM䖪ݓoMv_ehoi)*^y`9o]1Iz:EtmjYX!$J, LZ:caR= 7aȴ˳0XmQ,p=h03e`̢!vGTCҚ(I墤 &0cFQK(.jl\[*/5 "b,):V^j1f6VRXU61"5Ƭ} [Pe1WD{41X;S,ƶT?l9>nƙ&q*[kk[hkLahZiơ1dAXnMc@,hT IhqZ4$e>wZyǎckڇAF욥1R;R,j E2#4&XʥUhLW%1!"jt5VЉBsnq(mVXԭg>1V-䖮d8oaPBҧ~)iR:Msc="!n.YbIJ4X_a@,#(K! ;Dn|Mc`Q.7X;߇-jY<^c̪>|QAҒ,Iղt5&=ТB{`Eƪ)C_vB/u޺h0N+`cVmq t-4s@}n2j %tuҵޔBEÔt;4G? (!b `ŰHw6pi4&;Vqq,.Y Ka`Q5F~0d LXTţ1^Ƅ'Z(GQAD(&u)3T3{=7(Z3[7,䆬!z~AP1PW3$!jՙ\v~ó{-U_tc0K:}Mc%LZL\q5TOuu4Q;Dit]4,oX ;p8-uyȥ',&Y˫W YL_m1^/W ;H#_- #i,NyC龶5[nJ^\5fKN4EMҪ:CEVC(.Cowi( @z ϗ;⦱9(ZO ѪfX8d1$t_-QKz]p\40Џ4Hcn6mv.z7*8 d1f$}7"GtXy0b1Hmhj &կ;Dw Ƭ떚0o5ۍz1/ўИb jLZ%1^Ƥ'|k*+6ĽJJ<Z$[9+si)'V)&B3%ku:&(^J! ~3 #Ic1|f%ŹbJ{a[Lb" bäz?-v\}vWcVхf)QD55V日ZƘ1"ўИb jLZ%1^Ƥ'ZhOѱX9@ylVX46r]X;گ 䖪} 17묑2 R#9wOEޔ1禴<pRcU)ּ)bҢGBR{GcCdYbc]GH:7žƘUt xoјbMZLړwhoYѮ]gvd(v帷h6ٯ+2"#yMJ]7. ƦkRw7S,?OCLZWhLvuD7!xmC"Y;,|+1f%l5,hOhLW5&-ҘT?YiN,v\=v4!gG%@uNĴˡ ɸP\1X?[XcI/V`)Lܬq1:bäzj7x v KaGe,j ,,FƘ'4X«e iL1%+rt,jG6?ϴ@$TDx >ԁ>wMP^3j0#~c@ƚʹ4sW:Hw4|fy`G?Ԯ}i! 55wcaRyෆZycl}5v `G} dm``9Cz1|# X˥EL%m0}b*xu"n#[^H,N R߯Em9p L];UJ qQiq_cHKƑ0 n4Ƭ7v&Y?ɐ:Qi0fEHg9NxvE6kŽvE/)]Rn0f% hHr7 &퉒1T.KYc 4v\]vįkoxt E`+~Bb@ZZ*' Yk0sO)T v RkLҕ1ǐT꼴`1ΣQ5!.P,п1R?++9,^Иb-*HZ%1\ƤbU hG{d9~ݕRsC֏vӧ;)_YSeM O]N֣yM &YT,TƤEZ )Ԉgy柼$딻bih'Ӄ.*FƘU$KzTcҢ,I5&P撰Ŏ8ӎd|} v=va] 6t;~C8 RVl.YYʮxS8`"M|4&S?6Iv3:,vτs,j ,ӯkY<՞Иb jLZ%1^Ƥ'ZhOѱt׫ kvDA]}ehMhho[nqxi0fmК#1uVJ^K4,IUq.`h Ŏk.#-1+QRXh#vC)7H`~.)iEbUr/E]Ov3pד̷&(?<HXG80^+4u?tƙkZ:Kcjw'y͓J-fq}FƄzTqz`5<hi,]N[4X>\7x$Kx`¢,! &<ѣDyBD;^H᷼:nwt,EWBt_)#m-nWcFزk>V'n1s6wX ,R,x!BY4Xe!-^C}K`%|jiOrU[^" =v1PюH~n:v/Ϸb&ψ2zN{pkO5X*_Y-i!a9q=ˋ3 az܇;ϳjXNe-vb,|5^c`eiOhLW5&,ҘPJ[c=J'DXՎ`cՁH-L,~-M߳s|,9&z)*G q(Tc`yR6hGyXLhTnaqn!x.nP,yM[XضVx1k-S,SIx4&˒֘D5:yu :yxëWFl`jl(bVCڊX{q!f';2/svP. w^Vd:뼦`B;e[t:/2FCR8!51fõRƘU[I/hLG5&-јT/ Zc-<VюK8hM3j;v 5c:(p\'eb02ߕ*% +-ϱ#["ڏuH(B+85*qnVvjcV'xt)EY<eIgp\1qGwڑ_{u" v+n"[#ZT|H U]fȇgHiM &Yeq!ig9fuVc*usӺORX?E1򡗥@|C@i1imńQ o?b]Gv]G81I.kV@yƹvhWy  |81f+?oq񋢈W9 OkzG_MǽF0P-'&UVǠb I} S:Dn1?g5.k%Ka!_n( j: r1a|1ɒԘ'FcR(dI/ubUhG DhFVfH(p2@.q7DlZ2);yѫ`/a[ Nإ|OaC7Wbtb)OdDTsyr\A|ϵ; 4&YҙdhL(E 2X츊Eji]{]"!Go9܏tحn>?F総/p(tveW" 425ҤQO?=4g/ڒ; C g@;ԟ?>bwN폏EG(5i%ILp mgG6 ɐ-I؃ߺ ѰL>|>ET쪻n=/ß?oS"7_~Hm ʳ>69dV43QIrFՏ"۝M%XKJ=; nH'}F4=+Ce&DHH~NRYU/ׂqFkj}ǃ} Js1'mٷ@O{&xwW&]>lۇ;AG\"_qnp(/iO+ףL@Hiu]p,}#쳮1s[WP2zf2s^#uy1ʉK"L'|*C Q*%4O j#=ݍ{ Do)wIteXΨ8gtg/FWR{5iz\E{oں KnH=/$diݷ0 _j I)&*PưJS{]CS tjNjBa)%{0%uN&)#.|&Ǘ)r{=]?7.*;N /P'Z̧=5٩P md.qQ#GvDLTs^|I7\*T*ˊPR>\ҝH;No}@@ b  1O8|#ܨԶK@!ōnJPk+ƅs>G%yx}HJ6j>)x6`[+UnQ}j_5Pq8ߋVPdDf%o EH=? #_n^X4<-mi߶m#ޭ¹MU\j0U$l~@B7${IRVqn.F>֒3g9 eX{}͵B˞|!?B:?q0jgsmX0+l]1rV-YVoi &DFͣ{*n'ȷ膦Pݬk{Mܻx"Uo'ʽI?A!ՠ @3'_0b<9~8; qUnػe\JMzΆVu.&MZ]1y{*h›g[$$[L{b|K  5h,cmc.hmrR\ZNyK7o~857O|n>=xa>}5`~Ƿ+/n1L㯌@b > x5G=?hЦWcMx Q@b-un>|%и7> stream xVK7 O#(z-M >@xMKJgSh"??ͻY~6ap7CņcI,q?6;obsıll5 ͩZ먌N&:>L*^JOq mI Դ16fRES7669 ƛۏ_n~JV0]&"̠ߎ~> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream x5QmLuA) dLc aL-0tQ G[F{8V@-P_ЮljQ["m.l31%9S#afyw(~!77~pz.zƨD3]^ <ߒb[sXNlbt9pgkZ#C?MƖ6L%|ʰ);)ar LBP?;cbz _G8 "\&5kRTW:,ʼ:JFoufhc*: |?AR%J&.צpHnϩSBQϏ ᑏG&u &!UWB_FKkDmvw8ImV`<9{#OE+8u L .ڗa.Nݣd:0=CJ.:*@(ЇGj{xLK`m<:tż!o#FOe9ڷ.F/-sY{ޢRA_z3gG -Y} dlJkTrpv$*nvOoo64dix,J?AIJ|_vp` -A1j` p]cpq yI7Q FNAi9W''c|RoBz2$X؈RQ0?mendstream endobj 133 0 obj << /Type /XRef /Length 154 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 134 /ID [<4a4df70ab3750b846873b5d73b0039c5>] >> stream xcb&F~0 $8Jdl$"u^Hg y7{"H`u)W,@$dEM@$)~#W"`ɺ DF< %"*.L, ^3 " endstream endobj startxref 143563 %%EOF HSAUR3/inst/doc/Ch_meta_analysis.R0000644000176200001440000001255014416277512016343 0ustar liggesusers### R code from vignette source 'Ch_meta_analysis.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: MA-smoking-OR-hand ################################################### data("smoking", package = "HSAUR3") odds <- function(x) (x[1] * (x[4] - x[3])) / ((x[2] - x[1]) * x[3]) weight <- function(x) ((x[2] - x[1]) * x[3]) / sum(x) W <- apply(smoking, 1, weight) Y <- apply(smoking, 1, odds) sum(W * Y) / sum(W) ################################################### ### code chunk number 4: MA-smoking-OR ################################################### library("rmeta") smokingOR <- meta.MH(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking)) ################################################### ### code chunk number 5: MA-smoking-OR-summary ################################################### summary(smokingOR) ################################################### ### code chunk number 6: MA-smoking-OR-plot ################################################### plot(smokingOR, ylab = "") ################################################### ### code chunk number 7: MA-smoking-random ################################################### (smokingDSL <- meta.DSL(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking))) ################################################### ### code chunk number 8: MA-BCG-odds ################################################### data("BCG", package = "HSAUR3") BCG_OR <- meta.MH(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) BCG_DSL <- meta.DSL(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) ################################################### ### code chunk number 9: MA-BCGOR-summary ################################################### summary(BCG_OR) ################################################### ### code chunk number 10: MA-BCGDSL-summary ################################################### summary(BCG_DSL) ################################################### ### code chunk number 11: BCG-studyweights ################################################### studyweights <- 1 / (BCG_DSL$tau2 + BCG_DSL$selogs^2) y <- BCG_DSL$logs BCG_mod <- lm(y ~ Latitude + Year, data = BCG, weights = studyweights) ################################################### ### code chunk number 12: MA-mod-summary ################################################### summary(BCG_mod) ################################################### ### code chunk number 13: BCG-Latitude-plot ################################################### plot(y ~ Latitude, data = BCG, ylab = "Estimated log-OR") abline(lm(y ~ Latitude, data = BCG, weights = studyweights)) ################################################### ### code chunk number 14: MA-funnel-ex ################################################### set.seed(290875) sigma <- seq(from = 1/10, to = 1, length.out = 35) y <- rnorm(35) * sigma gr <- (y > -0.5) layout(matrix(1:2, ncol = 1)) plot(y, 1/sigma, xlab = "Effect size", ylab = "1 / standard error") plot(y[gr], 1/(sigma[gr]), xlim = range(y), xlab = "Effect size", ylab = "1 / standard error") ################################################### ### code chunk number 15: MA-smoking-funnel ################################################### funnelplot(smokingDSL$logs, smokingDSL$selogs, summ = smokingDSL$logDSL, xlim = c(-1.7, 1.7)) abline(v = 0, lty = 2) HSAUR3/inst/doc/Ch_density_estimation.pdf0000644000176200001440000103343114416277545020005 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4493 /Filter /FlateDecode /N 61 /First 500 >> stream xc7ﯸNtn6H 8$usr>'{{ߓtCwg'/uO[z M׈fZLfjLuHiXױfYaabAZװm@kiy'T3lʙFLx~liİ)|cGD4C(e Ө 0,S L3uLf oN`0†Nt &5t!wc daT||œu64mk@ j1ad<0H86(`60 % abÜ: pbbfBB 0c| LGa"0Lu 0SԂ )5mܨ!/ ~_n_G Ӑ23v`PԦM?Skn{x[y:y M,& Ar'LOؖ&m-^[]mm nbʹנucYy,ڂh30z-C{`V/5C7REmԶ~X|1ӡhsj[Crjy~ōjB?Ff⫀Whb Zs_Cr!sDA ]÷lA=w7#q자%ׇ ^|>Cʈ-qX$f;mU} W-B9,kS5]B˻Z^llmYG]-0tw6HPx:],iM$6 ޗIk:NV6+>مɔ>L+T'br)h;[Jr&"[Dx݅+FC# uDZɫNs}, ܆BeVzLLk_tȻaﲷqpecX4-ǂ޹[ AބlcO۸5oC܊7`&:`,~xKZjXG}xkf[bEh9cog֢.ԍzP/ڌQ*bRrBcQٛwQjh C4jU!@^ꨁ[E oȟ.jсuB>07:Jaq !׋:q\-^% n_{Ů4H,dFWp ,] #ʇ p͓ChDB>]ՆĒ7#)FJRx57IkN5+d#3f)9_Ct1jM GFz@y Ugdf4wΆ;T;C42!e;[z+E 'j>pVG"vo@a8 Y] @?z.\Y|Bf#s%-$=ATluDȃ 87>'L}Hg0 N-计FagN38Z\J)Xܒ6ضЦB{9 XC{ ہ=dsi\y}"E_b;J+00i-ٔp2;X;mEfXci$a@hV6%l.a40ڎFP^N4&A B$mW/6gw10lA5UaBznZ{_΀EWm?[e.Jd?߬ni"FrY(]YO7v&>ΤK1[nT,tI-'GP:B?7TIZɡ–GaQh۬GAHƣHRSC;9Lhio;Է" APA_2X*4>v6Ҭ[HAXN2 y@>X2'lJGQw-2 ^u_8Vk|w>{sAZg% QMlQ_GѺh5$Vq.BLjg& $›dբl%80ۮF&ܫ`no5J{sȨY|U*bz,_R7(1Hd5R6ABx)͒ %h۩'{Ւp罢 ʁikOu]Q*0"/xtL"(. X1XCU)`*`@tDST AӴ#8#<ꨣ>c9c]fikų?w? 6r9, Ha1ֱlvN87nxI'mڴO>S{zzz{{7o޼e˖[o۶m```ppphhhxxx###;v󣣣ccc;wܵkݻO=Ŀ={~gqƙgY(bTr]\.OOOxw}U**Zmnnnzhl68p:>s=ӰeE`/ƀ0 PV XW+`(@ 0LSc  LS+DST ;/ /./K/.˯+򪫮ꫯk뮻oono[on;{x|zyG}{ǟx'|򩧞z駟yg}{_x_|^z_yW_}^{x7|zyw}{??>?O?>Ͽ/򫯾믿o~_~?w'e wn Qp&;eC;ݐYq"vd3(⭋2r" zdD 4~#D̴TF1cШ<_0R;hB{`b^ZXŬba'LQ)봈3e(cI{4گdPx-@v⧟˝2o8m||dh}[w}XPfZ&H ,ey]\G 94h8uw!FS[6qE'&OThp*썏-J[Fk#㳒h;$bAX: r >Sajmg.g*WXM6/o#D@{x>DP=-Y.]J,8C0j7z`vVQ?ؿ-$vyw_5/,7DIJ;pcfo XߙTQNt+s"0hء#IuNU83y%L2 kިøȼ).Yʴ%.XiC / گR\*o~2j2%=2Σ gi3t>| KJ(OR(VG i2)sxnd۵g뇽٩fcVܐwۧ*i2 .͞(t|p7dkN j/fk[aOn#\Ioj.5A3y%C\ɳǰ3+?{\0/+7mid[89S /%?rYX6 ^&l@[ոF|mf2k\V+rN֖xXDHmUJf 4s/wnAkQ<,PHb+Z&@Dl[["h`\x6|IO^h8-VZ۬}|[8 z0́DHql:5zE CskN\֖Zf8S9 OpϞ:f΁UHf Q3g^m.AQ G g-hϝPOk80Wyji^}0j5r N4bY91b6˱BB1ת9DJaeY9΃ڬq7jeIyhEfFCvN `#ˡ ۛ%LJW. `\ KPЁi_U|Xls؃4(”ΔꝸM^zSAg|gO4Wi|wEC~ٕh 0endstream endobj 63 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:24+02:00 2023-04-14T18:29:24+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 64 0 obj << /Type /ObjStm /Length 2418 /Filter /FlateDecode /N 61 /First 507 >> stream xZr8}LMطT8]~Pd:֌,$;>$%ZL/ӞRIA88.e9Ǥyd.0 s%L 뙗LʈbͼfRaMo"02R ~|d*QL iA1maA3Y0LYLG 3=3a@ WXdTxX X4ҬeX;fpb*}8bGRAHLRH0ᘣiH] `2DpItIISUQKj%QlP! xHd{} ֨QCm.Q,^'Iͧ3#%8eWWg^Kp2 2G!b(1#EI Oz|4c;̆9{a.|ʨsTŲ>>|x 3įr2VQmLB\R[]+VET]Э( p4@uE]jz5ݛ{c =8;<>׃$4`2&XKU2'S^نT=|bv Rx>]1 zzWsOZi?V,_ w|}>t؛Hx譽a+5= I}_ٔ򡪣]$Yo8oCp{8N!$'?wu14`I/bK''kSWe @mHvN`0Q_ZѦ9\wd'N,HmEłabݢvbӷͳCP㹸<|xZx6ۖ|%h-l7H6@G\$Y̢jaɖX4XC~b- &ͬ(MR2)$\gĦiƣ1O"Ұ]vKKר7RgxrOJGMSW+2I!04罹fD-|F9P~!cW\VXF쉨TRc*df!DxQK#,^8 nJWoˣXTn$@_d"e9d !BNUf%V6fِ,\bn o r02 *Q9X'Zachކژ]Aj@o[s_zh3X02 i[|:~)+z'g~N >-P2}w> lL)*I'h#:ZNt"iۨ:/O7k(Jv(T2&Pt&\;%Lbcǂiw6q Z|&Ad frVˠv$Ѧ qdVRRiD}a%jAԻjFzEge4Aw\= c6=/z?>zendstream endobj 126 0 obj << /Filter /FlateDecode /Length 3881 >> stream x[[o\γz6pxgH8h.SkIܬ.3$9<˕VmLsp.\xB'}ry$G#ݨ,0z<Ҏ629(7Zj1*TeCTFX3ih?v1yW>TNTěȜ6 S#(vw]3紱De3 *e 8m|"Bb NSxxCg;HpxڒX.!i%eM:-ڄa{F&sԣ|t d$?=>l֌B2f/-C)|ĎGn˕. tR@5*9U!ƒB.WH!@IAݔ74bEY%5dO'z* G\%9z69[L #ij-A3x4-"XNCi,"Fq:`Wrϒ׏rY|4i:d})԰.ԅ9THU帣[/0ѮoqCcbI! } -3Լf&qjb^%ٖW YX8?I |.t&HxpG1iBHAcp &QGhDV\mK᜙ct!,+ox<\c1{Rٳ&(nBFt8kۜU٤?eA}-㺜ۦ[:/͎d:M7BOq/X{+ wc<-Dّe1rLD6aRόE5h/u+9q͸Ӟ˷)sh-P DaSz')y÷C$蘀t~_,3:˪)Iň"T#.I*G nSevS$0ؤ-<4:՘R6aHk"]JqWT&jf / (4oR֔(:e"^E,a[EfJcWU]_0]a$״yN߾Bb̬ǥXXa&+0 LJGZOXB`Yɒm3OfV (glv.$u|9Bva?q?ِ@U1BJE`;U7dXg+Մ,!bkױW"#Gqn4:l04F\M;1gv M_)NT ^ыo%o+βfC( o:5}ysMWYYfӹy ԩ2MmW)h0R{(0è (Ϻ0)X3%,$ k&\ o)`b"4fU^,Qv P񱔀gZXCS-CFd%P쌘s)ߦe;ȬVZ1ߙF5.7&hYODɟ:/Ju)R S>6h}/i;Qa!8yaK(PPy;hjcjAOWySu(iY Rk1rl,7:j&Z:5bƢ8&wLwH@" & ,4"xfZx%{>xp̏Eu%M-z/C4l T\ƕhҶKF5 2%l6x^rLxjkDb;G8dWη/j`nmb)0'etë"Ur/f}5]Dvc 3![]9e)Țucg,C);mSO2f xֵZQ/PS0are$uA4'el2z6Qb˲XFC CPvՃ<"FŞTKЯLU#袲19os%ͤmRȡs' 3s^& `c{fv#ݔѫ2:}DZgeCO/覌etYQ^_գ.Wc׽;GQ&vs}K A';=pJՑ"/%BD~XWt~a$xݹ>!zA'MüaږyMR;(ݢq jA4WUoгuS<5}?X)_Ei3kWjrɉX C=4BNe1?\ R6H#NWy+پ\;@gӴi/"YH} Ew! d(Bkʑ,CNdo[ԮK[bu}ReN^2,2=8 3ڰ` eqf,ओlaY[ Z<^ؖo:LvSi~/ظ{ZXS?XMKW%}>4Վbߓ5)B?VFcOO&~3Nkm_ S>5`Z?GkuP?fMfB61J8?$J2q{.7㧐uۺS8L&%fW☋W {/L6m2eڤŚ5[Uݤ.sIF+?&Dq9>zon,c^ETYN(НDY4*¡AD y+o(2kz(Vdi't".~5mp> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xWiTS1UDQwֱXEpG̳$ AI&̃Pčs[u֣Rkp9~ xs쏻+ke2Ʀ#.M'%Fޖ[Bj[Mۈ> LNuDGk4mO:iax@TGv8hj#Ms>ѓ5QAygmڀ耨'7Zd n&<"FR3 3qz%bk[Ҙe>q~A!㽙fϙ7`2ÌbV1f 3ǬcxƓyL`1f qeܘ%RfyYbf0g0Cy g53D0#F>3eMVΦvmmCad9g~\}QO,hh20fAރ~pXpm|p`QwgogLZbxHHDN۩B"p*t}hMsBєlC-j"yvJaڡ nYg98%祵RbK<%Y8r)򷣯&Uj|fb恿\uSu˦VK:nK]b.Ste}Y־{+Mӌ% 0QEˇTxo>|IbgCׯXL"XN@jS.8-FTzHI1`p.]bVPGxB$d,t@";Ӛ ][ThRV*ؘ t&o#$=/T>=MXa[eH6)d(%.pSkYqWR*2( +gbpm|)x 'n~Ywr2Δ%M5J6AđfiP>mFg ]-{Z~?>ՁZzY eP/A^}nR'_\ d qڸa׎qJ<.3.r,o#QH/$>ނk&*}kaTںhujKGSl婣(fW)b;'y EJUEY^SBShn1D̰}@Crb{A#s艱b}( |w>Xꚭ| 2_b4VڑzbVX\K/Kz.Wd?Cw~ߐ~XY>]L.xP8C÷ Vߒ+v&' k2#j=ưִiW;z{vx}u\4dhDA<rsfkA1n_ѰHOs?|f,}"$MYeUAn%ym tAg{27EE\Ll Ʊ%)Un9{ :+vuyh0SٵF:5*2A$:+G])x3a dPH&i$D2ש]#,a~*O3!X>)컫h;D,{ڙiIoTM4L,|*}c%|;<k'af?SL.;Os {KNJ2uThKVdӡM)1#{sM+h/DEn2d񔦳Qz ׻2Հ,[$a&-Hai^-q cJ F00YeKb@bHht BXYd*2KEY)rU畘'Qz! `)'{icLr\S*?Ta>"a)z*_L^'Q5(mޘe,[Q \StUFj~S7Cjl5Qr<#MSӒ@˽j5S}zlD )Y=YBΘ !vTķŷ: 8ɡǢZnhA {57;8}2Laʏ5+}Y\;%ymPf;:5.Qn-MG̉,V6^GL.M@5_g{Dj ͠q&'ov\~(2w3wg*=xl.)l}3 J{h-Fe#sћq {X!%}.[jˏ t2Ɨ(qkT/5l3oQ{TVCZ@}G"+T+0(_鈖eᾂ9>RҪ ]HW9GC3RZ?] ɦma 뵰r/>r'Q@8!W : Wn͛MI/;vm49ĉǡDXZ\oF0\b=mOT3d"?q|\ + إ*{i w2Cs4=K;^Y:!F+DD7m+YCuY]UljN{SٖW2d3r[v.Ftprc^ r B]E(ir܉fY嚼}9!EV]Uns+d'R^črYFE>pVєWbCY麌 AId1&3TWoEp8kn*DAcv }b"}vj5siʻJPƪr]F]A#d-r}Z^bɻY2Ѹ' VH@Xڒ^#EN5'z ޲|Nk0jiwo.WZWt4 xd9~-3!DXb[-^ۚ,=ɱ%bY%K| sсjh(;c rEoٓ6#vڪV9^VzT939o]UFVj[s_0w])J2lIzsl,&w4RhWTd{ݛ0,&~_TT "i71wKߐu1wQ\UM#r\5D_eh}>Jn]\~-DɕBNJ!.* yLHLmU&X =pڬ]@ՇnҤx1:#TX&{tXhk GA<}2Ӕⶥxft&p$GٝTY+l8vkh ÕIA ;h}J;DSE=pg7z̿2wMt{1{ s:T[6*Q)G7ɖ\u*rJ/툣 Ri3V;لõegp,:OD%PKK+ks3w G#vّ 3֭<\ڋFR/jMocdW~S)Imm+:+8@m.8@6:.>yYn'[/dŬo\bZrrv,1w⺪-᫼`*Gl[p1- ^ ٓh\&4(.Q }596:.tu2NTT9K}W2!6ϪR9~@L fX,:Cّ!2d7U:2 7,1S_򂥫s]uĥP%赐{rb&ZKƱ='Hq{ٖNJ/]f׷=fF;{endstream endobj 129 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 130 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 131 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xz TSSTSA ug[uyDI)2 !d'aֱZ[jNZ=uZ,w{?A@Yuhʵ' =7y{5BO"Co%“Dp1a̙8L0a@nA+"|"ȋu;"Fpqn|>9!rGZp^"Vz9/7{~p`4+aeWXEQ+ 2?dA°E#H\<}EU^ޫ}|XC@& 'M2u3f~0ÝF9fl=(j0H VSRC5ZjNFPFjMmQc-|j,Z@Q "jH-Rej95ZAMVR\/eKw)zQv=՟@ h*(ACu^ LS+I(+J-/(ZJhjDz<-e3̗,|[zi+zr!}5}}$w,V~Ͱ~}k8 8z` Mslw6wЩ>7Cf4$cF^aӞF/ j +eV,ĂB=:~k +5 `VeX!FzKJUk$GP?kx:M#4u +UҴ$v,Y|.-k,`䭛z[2O|uCX\N;` ٨^}\{-g/a ZAr yr8_> @Ahxƀ?N+4$Ňdlشo&^GH҆ P_> Ι  }F]3|!Rg ̻9R`-~V~< >+tP_hQ, qfުF=];Wh3rwsy 4$o4p Ud2ڀWN|s,s%u f hAnvyKoS^{$J^,g6z̞s(NQJO&R%؎ h@SZv>'$Kj=ݲ o[Rp}U-cbS'b` L9R)^Dk:Ramh8ԘCaF3 L{[Ot-&$h?= B:ު@i5N-H+,- 8-u~}<_ǫ4< a74OFk%]N޳$Wd4\hNeԟt.?ECxZ&R tH544jՋ4QVKq g)^|;m*"_\B^ Lz[Q<ON ?I7ތpc3`P+.!f oq?6;FC䬣$=S-7=Cv~r $x=&18A䷁Hj_w2Y6 :-ok;-Sfq;&7;JR\)+e|9%/I=P" kb,QQLK}jC)Wj2BChhHeiR ss *r3Ȋi4!+4}F㷬(_ g|=U `8WvFDMB@NtQzH ^f ޗУŬR:-=f,7%%fI!5QThZ 8nMW#g6+!jben|qH* |`-0>ʌ$MLLNp_H4b]3r!>"M֬a_n7Cm*]FA>(ݳo*cCSQ @U( FMxcS+g9$2(Gg^Z U-1k7ضfr'U jYYiRmJ ˖%% 1 {ԧ4z"taB0=D."zJ2JSVgnaG#\%F>"̳)6HbP>ˮZU] t r2,-cMCs.TQ&}GD;{(QL [z%/"͗LM_z:/'p\] o(4RK|Ҟ$ ð >-WN8KbF[ }Ѩ]j|<^>xrHBkl=3UQ@fcNlդ=i4ަ'qSS b{'r.|9w<*]ɞ)܇>AڿMaP ,1qA4Ubۈμr+ }$W1x[CiY;:8ڥ/Bn ߠ23^@TWE]YըQ| *+3lQ(*%w#^l@h?`sL$C4dxAu#G$µdT,&*AD&;]0C.ꪘfPw]|إ4{/lK_d"| 2hjL[%3!/^I)*|otlqOE_Z=nzc{KOB~L~#'DrSQ}e었NaҐ}P^K*R>TUEō!KގWy3WN>ΙZm7o)*UB 6ƽi߄'qbޭI^+1=)塹[Oqt#⢪A f5yYں}:ΝP7Xzo fxqV5AAAA555Dz,Gs egHJEuh4X*@ y/yMfLxЃp:@٠ȯO5 ,6 \y(uj`PP(苟ԼbҢs곚rkT5A ^'-SiR3Jz.7fMI{)!앚8K(S "mΤ$~n4 X'݀r|߿h<1lGO 0]MGM|a̜$KB}GZBu  6UlگWoN[ cKOoҶi/ayKΏtrERGu)|*]I=g<<^lݲ4C~tSyJK_>SSG6IXJ/@3 ;aGM{˻&27Pkk4ɑ:*fOd\\Ω* %f}}sI'2Y驲spwJ)v;`n wR^b7pyΆMs~x-(oP{9fzjCsE} c jRtوu0V$/-5fmiv xj4 Pu!jiMrdҁVULGYDߤ#|ש鉊F럍^#&ɾy& IxaD`l=wu@[RT]囬d`pG[f_)뱟$ůyZTŜⒸ+%y)!WI71usm3}dΫ~bL5{o+C&=l?}TQ98K 4}&\" ܶCJV+S YDF!eA wHtqHfca;\nc`˖5S9?}lgf53U7(!arI)|Oڃ7OL+m"hWFuYRf/;  ]ЀZe4Yf0bm4U W^br?g;rWGnT^$Tr"wSST Q΋]7 O#m V]?-s~$n(!~ʽϿ={x6S.<`:PrGAZs0D)ᡜGީ(ʲM׮L fFijw6l53@cV!liMڧ?XMZ4TXa|t-*. $? 2 $x#[hdo]O M-< C1]Σ1BR a';-mN),Q5CQ߂MҴĉx5wKB"f^asedk$obH-Y;SHF&W,Zӈx2`/s[&OO}厣nH0DפhSs C#Y\//mR({qJ;=p= :])XƯ*xsâ&mIdj jޱE^ oMq~fv.Xժ\$r9U0o#xFJ9gpe 4;Ҥp,lsӅib)_f"%?ƓSi/I+LՒw,W4_zx=N|[╖5f f6aJBC*\kRX5q: ԜQFz7:lw 4m#KPP^^ic=Vu=yY׳EWPendstream endobj 133 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 134 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6534 >> stream xYXT>+pXbG%DQ *۲Y.bX5qݘhDɷf,?3|}A@p_' f#^:Z K3di0nJo? jF@"0(B% 3n֌ {w9K<%dg!p$nB/$RtwboLzK{x<ح حs3Z7cEPClC@Q㲀[V ^%^0]k#v;EY^O|}7̈9K6;fy/}Sޘi;r6E>&PRGDj=5@M)F jBmSӨ- -j+NmVQoS{5rPkZjDS%\(7FS֔-eFR(j(Qj5ZCDSoAl)w+,FY43tH$|D 2zHҐ[Cw=lbytشae~e#G<:QgfYe^IDG^ɚ_::ƺFd#mޘ!cvy:'wo E\w|&I_1\_jAwWP1.p@C( %xady\rr\-A)I)<c>u;ԛIlYr1Fs Ar> ]17 o<ҹE|FdzTbZFm8km-\  ]Rⅳo]X>Uy=CpCYo!ϴs\Mo^y2QEr ,Fg,x/rBppj슽oBz7M?C[x01j3f!)hbTtIue+ܣ{rOtMHi}BA3r7u!79Q!t(3p[+w6 8`u4X-4 4o5 rT{2i%83rAP!WrނO[(Ԛ㱇".{xqiI1*e h325pW$# =2r˴EriŃ3 "PjE%Lgjjvvt~P[wRq1uȃƯ;'V%rJuz"gVxU1/;>Da#D#G!1a{"<#]Q"bv~+L4jW,Lg'H6QY`O\n>lE$行SN(ҏa0 ~q0$/LU)ҙ>H%: >DGIKY;l2 C<ϵmz I0  +=v@ \M n-Ea ՜aEoC~ b~S67I &E>L -k-$<idõ}ZV`I~ :l_]]4/3)l\ F)V eV*d#Av==6\⻩.3^u(9*^.Mc·/C̼ߝ!|xW 1U+^7[~?Si/NNAV$g-XτR'fC\_%F2l0Wn70+;`̘IGV*  7*8(WLؤ Se Dnzj T E~L$&;<]B|Ii(ֻst Q1s$^n0llstFb@K6YJvz(jmCA^@ Tjq5#VSZ^9h& 6'6VDbZxycB Z(/E7/D+vԒU v GaM8ڊZ8]8ĚStuk /6CQKBsv:Vm6 g"uV Ba~jRs+K.]ciI5<LLpA8,;dU!@_膵8Jv=ֻ3 IbݼՐPYk 2 ʤ<ĔVW7n۪G{@[+YS΋0?yscP3:x ^{Mkĩ͵\L{LĬQ JLF((HF(3(32;y鑣eMMj$DLXnKwN-38: ],^IJ,?ZecϷWp[sשIqE 7GG?ܶ }O[˵s=<ëˇC4bj C9"rR}\&;]{#QNB%[/S+x:cXco1~@Xx#}XnY476Gl϶PpW"Od R_Bϰbh}-eQ5:Svaz bTjU19b̎h df 'ޢ p49ĿJ(@B\K:ҁ5֋ <F Qu!j#DkN=q.<966.RⲔCGnBhg;TřP3dQ@'Oxǯ/tC..TSYZWR?x1>1{֏_Ë,C\լBL$ITR͇}H6ʷT|=$6>A}W)T|+$N+_e<ă- WG> nOfm_w}ZbUVTԆ%ep S^AoX)_P#ŀHqn泲ebIh'ܳcN]~ѡ`>,Z=_E`KKS8()ܘB(I4: E0QQ%,U6PWSRƨZTWRY.@eJiՂN46!t=R'7,L9 Myhr@:(b ~aA -saۿN s vmҁ8wh۲^-iW(!ɤq퓔ra4efpM.ޱ59GsG%%a { a߂'⟈`1F d].= ߱E=DPI\V J&. )TK\:f0 =|r2 7u {t~ K~07uߔ q;' Bf#U,5ga<̂h%>ֹtAC5l<hʛ=a%YY*VEH߲DPې"[!aI釳8t!oփ7I%|Of" 9JA)Q(q޸~~`(37g[k|=~~{T76r_0IsQ{kpC{Qmuʚo?ZsZO zӘ#h3}MX-tU>AL]H43u bc.ax'2=S)(! VSU <$k푈~Hy5K2,c:mڏN'vЮѻEم9 /JHS$8|NHID(&'./ c r4+.:fz'x4&RGyy5^ilQ+ybyC޴g{֓\UA>xrӔ I<|%))-PB@22ÍF'eF_[aw%ٙIQgl.@M:7- Cw|ujͥ!'Kxx.i]&<;# E3*iu=$k0[M~~|F\OEcb{՝Q(1²\\ElLT#W(?ED4 Cz0˲\9JBҘB+06)&ImSQAFސ+PminF͹O5=y}98X:k~}8 ^N0HX tA !a]ZW,'XW!9 t,j! f`^xƊ$CY%vB'8'0Hc_zq*[= 2s/ޫt9O0v0C:Wusq9tմu?ccQZ$6щ(IT) :~[WTȶ*)4!367OtyzPD-fw}9.Q"ÔEJCc9?W'E)J(TWdq$BPnyD`rEendstream endobj 135 0 obj << /Filter /FlateDecode /Length 1222 >> stream xXIocE_w*4a$ );#ON:aԫ}jf5,4x<(YX+Ip4@6xAQJVZ(g $)R9kTUDEL*2)oHYERA\5K*Tqs@Oe;oflmkYGߎ)ЂVAhΚ_;;"@@V^kO;"m]k&(Z /1FiTۉ UN@#~8hMt_3TX]PY( ZIj{QkX2U$HyJ ,Tw{RY J:dq&?Ma%MB=boz& $tPK6 P*&fU7ꤠr+Z)L0w܋ Y:yp>8 w+ݻ.:T:z۴U!*q%tze%Gfᰒe-pyeT*fby9iKvE*YU:,S\[&yR8WҼv`]AĆ{iC.4&5o~‹ufU]e)VIHOڨ9(j^ma%xYX 0 _} ț^nuqѮ{u[O9l^2w' W6ZQ 'k{0;;V/dd"_02rARa;y@FT̺3KoNmè\HlSZvrkC"<'Փ{[áFbhuӿ}sIs3 ʓHemQﱈj#svCtA7>ۘ}  e*[ Vfr!@JD!>yGߠ!hC0cs䀑ǟuT!OL5L>V؋B|!T7>}YAӅ&y_bm ݢei>5endstream endobj 136 0 obj << /Filter /FlateDecode /Length 19119 >> stream x]%qW xcs*+ð HDXa2oR%%)RoٞDBZ1uNթʊ|:~y/m~w;ُq|wm|wr>zhmkG[f?e#6bz?_i<g/@=]1]6B`ǔ{!-߭D~?}w}l.N~lvbV/˟՟k{~>nѮϲg{Xr_˶/\h_A .@>c#v;mѯ[|l{u\n]OC}tv__ۇ}3p_eo䏿ϟ~?}?|tˏosЃ̟~?}?62u/k/ځcȟ_~q_٣>_9 WN/^?{~چ?yڿAW7g(Xm,5k l7q̟4,+W[][\W\o!Wr33u_՛zR¿+7 ~iw2¿*|T?yu;0~P+篼\URwO_ItDig]V-Em[Ƕ_Q _(\lG۽LՏEcGG+$\a#"V9m)#6; "c}"[mSvD. ;##=p<3"Bm6ۧGzDfƱaa5c^Q97/Fx\#rtOE.Ps'"^F~t#>ᅗTYbUކN9yl_půEn?#v.Dmics!ߧ5ŏt_rc+piGzx[.<{n6ro6|}O~ղݍ}"6>q6+cmjiz|~$lA6E64vXEaU{#vm7DnjW2Fv6w?cxW{[1Doͮ vnd}݇tx菱,ؚۮfw}Gf;t0oc^Uv.mӖcG,/ćhvvm{ r\c45#bGImmdζβ17GbWiv'oQ0[q6 K>evxw8Saɮyެ]ǐë,>']K؍`@mw GD2g]cP,bw݆i27<鱎Qlc9$t޻"}Jػxeݮg=6;=F]1*ȣ~|TKɰ35FU=Yqz`'TvG|#1w;=^ewÆG]ǹF5sAd =z'8&{DnOIu?,[D1&e="v]"{\nqY#%-f56y@ml^lv+-㭈Dvڈ<7"tscI,oHL~;"cҲyBFgY"^| c" ⱝcHIJ57a 's6czF5"gsc8;iC!n>pN>ih0MN>$aciWystDlz&;m\Ty}q-5õcז|@^KCҖ3ȵ~}\!<8eLvyGxŎEln[D.v5_/u1Tb7:eGk.rG#rSw?#G.EbrOM_q>o?gD.jB bxlv,`*y/G `%~ y<{ 8;>ԍB#v ߯R:P_61 .8}T=r 8l2F^T`?^ۑ4pQ \>#Ƭћנ6gtg˜O.=4^eh*#~U>,җqzpH=bJw1{kXQZ:]{_QӍ8)L5eX=ʕ˲UO{`n/=CmȨn\pX·k߸VػeHhǼ88>FXwN7E(pr{]S3> o |xfh5^Sk43{Ced#z~ny:U;o>Ǹmݖ7xs`kΘc}<yx tb>$jsylx/=}IػٯX5G6FǨ]#}W.k$Hd6cp9q&#Edp&|q hd5Zs1SYe^MLv!;uDfGn}p{:uA ;"<eE|ynw8xĻ`slI#2E9{p:W` Z䊹Y3X6^{GuDŽb>/m<1p[dp.4HSN"'qa:n(&SQ3^5G ykpK9G2H4 slI`snwYco-ًp#A6bo|@v%gbXc̡V|sbn3^e9Umls(-2ayJ|D6#}v]vQ,5F}D(,2EV1} iMcNGٲ|m`5nke=q{ 0vU{{ ela 뾆cPFt#iQGmD8( 8Ϲv O'c㈜[,mBзƠr0q6=L\Vw1O~7]QY;ȻrH}9n4k ptpއqtDn_Zlkjm"k8lXGasFdE?{%vS^c16,#kƒ5&xsF[d,o1=*'/9=b7v>mN:Ql xkY|؀ 4_Qneݜ7z̨B.)FcC=EO:p3mL+vof#5W>~8qްq0*2'xsGv]>RYTmW.4pmTm95 vXjApyHZ/nQa9ߜ74lss]QѿkQ]//Gɶ#;n}H$Gv M^dI #vEa%ۆck;3jKcbyZÊyÊz,`_iBnq}5zWWTZCx1A>Pļ q%7x[E'to"^v$Jb=x7Dp>g!Z0>-r | `NM6"XEMck9"^&x;mA׈iC} V;*Tzl=n;{~]U(qvKƘw|m|.[txgiЮ_,rGaD?ҫw##cnKfkwˬk^-8{jhk@}GDCؽ'4}X|x튷u;{zM-*#FhFjaw`˳ %^G@@o"X"#2+^`5dwۛcHn*h!=S۽5EFszgvZ\诏X(v mŖ2~wX1% f<nߝ6#jc9Ga=mG1l$p1lZ6cxqmP1xvcqįv a#EFG:i}My#<αw#|[q 6_ھ +>5,|n寎3~m9FQ v,2 ˝6W{.,,2::oy="(b{tT5ڈQPXC5:q5/GE!}Km="WF}y="o{a{:eDe\ssp6,4-rzkޯB3u Qg {bm> 6v?^ (r}7#oŒYvVԭR6BlC|2RB]bly',[}oMe#D뇏jv{]8f)'Mx}mmt[YF]&XMv.V%;oe+DVVƍbdڪÊ([!2m=mȴK٪U+/#=EKei׮:~16Mk!)8Z"D>O6]kޱ?g ho/{{KZmoQ{nt>0^#| |o'MoH97ihy֍)[TR#u+#u+#u+[a9Tbl/ߣ\eD*GUYJq񱪬<UU'"rqU>W9"+3TleDz_leV"+mGՕEW޿+U}+:uEQU+] _9'} v EWnE+(+Ǔ Vl3 *e[(YO2܅*Un|te=w*!Le[TE1ۙ^2Lar]i*TR3MeOq4W ai*o4B˗r M'}K1HRU>JTO:*;  *T@U7DʣLWyYt*/']u7bkU^w**27oBS9CU9%U[06%ǀR#{[FBW"CWVu)ǀ,+"+HЕKq]<\#+O#F$Y;u)2t)rcDfdS}_y; KS? 5 )2  yF`"SB=,)?+9$4)Is3z59u=)r̳,=)cse45Xh4g2-%mEKiDxWà ʌ+D֝ {hD =T#aM+kh"GjxWЈ] }FB<0uw1rU>4"wPKNySj )dZryC-=|zԇ'>^!!H= Djk@ R#A@. "ub([CH DP RgGa@.ҩ@TYJ QA *3Dt .Ƀ@T}JGQiB *}ED'!&@Tz.M!9;J5 җ n *]D HMbD HfCjFC*jC }8!a;҅=T:J7P*Vb*v!d)J\C!(ɘ<$ C3(I<$ɃDCEN{H !9)PB}H !)2JӆdCvII(ş$}Z dD!J3D((C[E}H!)Zԇ=$ϋT0CŠOF{H(I\<$8C ɣ<$lC *&r S \DRA *Qʰ@T2 ! SD4)閠@ۆn- D(@nt D/()P Rޡ@2QR>I}HyPZCƴieR<y('C;(i~<9PNSԇ4QlG}H3"!͚ԇ4RK}H34ii=ZC)h=҄CYPR DyHe!RTnQRIyHU!vTQRHyHE$塬3;rPVtMw( txNw( tOw( tOw~C$Hu( B'GC\95LCIq+rP.5WzC,Ko(Wn .!.S5bjCLm(ךԆr9P.YSemjCMm(ǩ :\f6KԆrNm(W҆6D2 m@ !RiC˦6ljC˦6ljC˦6ljC˦6ljC˦6ljC˦6ljC˦6ljC˦6ljC̦6ljCJ2N6WuYiCe A5DaVYYC)CqCe(r]UbWe)CVeO ,#RB#R~# 'e 1"e(n 1"e 1"e( Ī !R!F !R!F 1r?UbzSySț22ț27eDޔySySț27eD(C[M R?ſaDMÈ@ſaD \T o"߄ "g.C~=NyX A) 38CPp3 NQHS!88Re NQH G  C0p Ia! 8) ѿ0DF Co$ ѿ) ) )9Co ѿ3DF9Co38Co38Co@H&o*!Nq^hH#sO8th䁁#' @p1G)oM97xߔ|n7пs,A /^o":J&`79Lӿ) ) A)бM " ) " )" A)" #_(Btp#c !*821DGCTp#e!8S!8#gNq gNq gNq g 8C0p A3DG9Cp A1DGP 8i Cc(4RIc(CCp/NBP8 C,c(b Sp1DG9Cp QIg( tRIg(tIg(:C3 N:C3 N:C3D'!8rh3G)Cp Q2DG)CpR#e!72H#e!7RH#e!7RH#gHM:Cߤ3M:Cߤ3M:Cߤ3M:Cߤ3M:Cߤ3M:Cߤ3M:CJ&!7 P7 P7 P 8 BtpJ'utpJ'tpJP*8i P*8F+'PoPo7F-߳73F0"Oo #"7v0ПWDÈ~țS"oMFEyoyojͿț3EDE)7Hp+)mJߦdž9?O\B2iBP"{~xF|rsR[(3'Mj %3CP#{'DվL賶j @>7p$Y|Cg!* o,H ΂: o,ȿ ΂: o,ȿ ҂Z o-ȿ ڂj o-ȿ ނz o-ȿ ނz o-ȿPx ſP ſ q7!.&ą"@\( ą"@\( ą@\( ą@\( ̅\( 7q7q7s70@\( 7@[( @[( [Bo-Bo-Bo .Bo\/W዇B!}7xH__u|7TP]~CuA 7TP]~Cu! oh.H  oh.H B7P\~CqA 7@\}CqA Ņo-Ⱦ ނz P[~m!X o-H 7P[Cm!Z oh-CiA 7J?BCZ(}yH wχ釆H ҂dJ EHPH (-HP$c, H ĀPl H 耴PH HJ iPZH Bz*i-˒B.-Bz3-PIm! .ʞ-PBT-P\sLqAׁ₮]O 4.(.h\ࢹHsA1 u h.薡ۊn= =.% o.H 74R  E Bo .x E Bo-Bo-HPh EPx EP E s70d@\( ąb@\( ą@\( ̅\(M o .Bo .Bo .Bp .Bp .Bp .HPx E ނz p-H ނz p-H 8$P[mAR 7R ΂: o,H ΂: PY{CeA 7t$Y|CgA 7$P[|CmA 7$P[|B7-|B7-|B7-|B7-|B7-|Cm!ݛҽMj ޤMj ޤMj ߤ oR[H&oR[H&o-п@Fi o-пFY od-~tU"Ue!rUMUbTe) aTe) QBTe>Ca) 5m㶯#R)#R>"R84,0"e,0"e7eDޔFޔyS2,L7eFޔo¿we!J]勂BvzKʝ NoX@%,vzK̻ -tz/ -=~Żz,[#=kz$X`WۼRMe]^) JY`WۼR敲6y,+em^) lJY`WR蕲Nvz,+e^) JY@W[2ꕱVze,+c^ hJXVo[tz^o-zEX@ cb,[z^o1-zX@ hc^ cb,[z^o1-2-z2ꕱ",[tzVoꕰNo1-ZXVo[|z^o-2앲fo* lJY`WR핲n7 +nP<&gW̟^U^U^)U/lw^!c^*^3^]NoSxtz˟ˣӫG=dWCy_dW=HyէdWLydWQy5eW>:>:[>:>:{>: >>'>lF`W;r M^ &l]՞Ѱի#fW^}rzuvdWg^] zudW^ z5tbWC^ S6{5`gW7i}n=v{u۫{^*۫|nr ;fjbWًLpl*٫ˋH2r>HvyPvyGd2reD]^FEtyy[W.yF["qlVɄ~y1HؠSH]2AL|LJ_fhP)rf"Q@HPRH`Rӗ~@G$+` @sHTҷ,@0Zo9R0R/m@Rҗ*TҠ/90}ځKeL_pB/p/`//#~/ ,/ 5/ >(/ G/ e,cAR,A˒,A,mι9s_ yӓc'_!9D~s2gҍ2,Y"}3 7}s>O]$Y=6$˧~Ãda|H'꡵|l'&'&G&#7#[OFJ/@GJ/GJ/GJ/HJ/`HJ/HJ/p&4$+I)!h*!+!,!-!.!/)}"bBzQdRzfRzhRzkRzQmbzaobzqb׉?ӋgC^=`zzNLҫ{AJ)}6A'!V -ҫgCH!z?ҫDJ>)zQjWҫEJ)ZcjҫFJ6)ZujӫGL 0}ӗ"0}@ӗ.%0}dӗn'0}/MS`X N_z? N.0}ӗMw N_48}=xԗP_>6@}95ԗS P_.H}T rԗKR_H}: exԗ!R_)H} eԗ[6 /H}EAm R_nuԗ|u@ꕗKWv/ $%+ӗT L_50:(}H_f@2k/}̙`e^/s/ }5їYTZ/0}:KeL_`z8AK TINKJ_*-PRҗ Tu/aPR@ҫ/U( *ՄY&ϊ7!}V rNHuBg>+,z }"}=sy $IBeP\)%T\q%UY\⎀˿@L>kL>k^M>kM>k|N>+ O>+_|T@|@|tA|B|B|$C|C|DD|D|dE|E|F|G|G|4H|H|TI|I|t*<< Wy20yb n+|&+|hO|>_ <56se*Q\<#bNl>FMeWa_c|\)l+gDlyD Nke6ψ<"b#:/Ll0ut)r?=U@[3ګǦ_l'VdV|𗺨 ^9wIŹbɹŹ'N6;|rdɹ'^'U6;|rdɹ'N6;<8wabbbB"""""ɹ'''''''''''N6O-6Oԭo"7uÈ cd22n}Qw~Y~g2-AwIt'OНd>Awɹɹɹ .lyp .lyp &&&&&&&&&N6OΝh~V8wb܉ɹɹɹɹɹE E ɺ͋u͋u͋u͋u͋u͋u u u us 6_87H|܌s}|s3" _87#tFW=qdɹj^5U^HO㜑;T*eҫd&*+mҫB4SyJ`D Iĺu^u^u^u^u^u^u^nЫ *nૂ *nૂ *n𫂺|n>;_|n>;_ Izt;Ov==_y>>_8z>?_X{>?YO|xC|=XGxv~y_r*A|ByX'P* X XAXAXaXXXXXXZ`iGA+-ɯ$ҲKKS,-_I%2+XZH`iM8XZ`iO%>@JJ$J*UbҫBN^JphiSf9(] 9] K}] o] ]]vUhU!rW^xUUW ^2_D_V_h_z__`````` ` `-%L%@M KK_w*{ ~U,V<X`yI.VXy `uJ2V^X9&`IcKKcKKcK ,W$XHta&}N\tBCy K+ $)VZ",ec",k2DXJDX9/`i B)+g),MdX4!`i$JɗK4VWɯT _\ RIA~J pT |" nB *nB |U@7@7UݠWt^ t^ t^ t^ t^ t^ t^ t_ t_%&&&&&JM~J*Q7P7P7P7P7P7U.>{ݺ??~kj?yW;2Ͽ|7/UǏ}姿ѿCV+y/?5Vzh~Wګ'?Gɷ˲ͪ|n>͵m ׻mi{_l _~_}?D-~c?nul7ϗ}xKږ_~ l/MN?Unv,^PezJo;k;8PK7ک9[|ɦnv~{/m?_ԭGbUx'򝧓=ҶtN篞8=g)oӞ?OU]ղFT>rk\}=-̟l2NR{c4W^~͂{~\}xoi`C>!ir|z$:βhϛ}w}9Ni-1L+?_X[oIX^H=gb0O' /N^?Y)ͬe?e+9&M; l’M6|z8>RZx~e]{͊foz󇏧/?9.<Mr/=S~V_O?͟<N7B}X_?MWw|^?KOWbk9|^^{W_k߯|핽,ɰlVo`endstream endobj 137 0 obj << /Filter /FlateDecode /Length 2690 >> stream xYKsoGl吚Gx?XdKIKTZ2ʟBtbn\ W?^ǕXeko[_rVWQљΈQ+;Atj ;4m3Fao*0zˌ*&h\d6 $*3Ŧm2i3c p4]„15>ћCbJ&'Gǯ^C֬WIZ95FOc~}tts FW1*a4[,uQaGG|ArBjۋÖH!\{l>5BSgGWq)kNv辟k*D"-XU!a{Q~4VRF16tÓ֐#rQyF=*w7^gH NMā(I±Iv%B5A[ |PvڥCVQa7Y3$<BpqDU\ணS8R9 F7Y\prq˼=}J "1V!H-"BHv 'R6V"0E'-b<\<=AzؗY o^C'~+e %U>`s Sr3EAY|u.;cTvrlzl>JV#)7<_RUfZIFBC?\úzV^Փι-U]]uuVW'uuqۑwѱv$c˟mǂ[fiQ5j9Mh=!rnc-2,H!s#d{}U3&r| NAˑ Y_s )U:FW*@>{FMn8, 3n&QȘ@D@e: Xm# ZiLl6IRJfrVuvx`n n2p15C'hyARZB+(v3]C294A Rk ADBۼ+%3:B t s$͆b\}\ǙDYD/MDN}Y5( K<}JiÛ9A7LB}:!&p֟hItfZZAPs鯈E|w"uMLX@rj 4ڵ#1zF bb},)<-7u Ȟ'I!Uǎ9j*V {v>>V3NA85=h/6qdhB|iv!打U!qϲMY,p_5p08)gW-m*ԩJKOjc^8"tbּS3Rd}VD=]LyIF5$NCҤ ;> z@mOu 9,%!/=`N+Oy3K ̥FBD!_ݩ_`CW3>$ք$`4#s)}!xZx0$xmnKZ09,r ?[KrĈ.UJPXH7.wbw.<ĥ ;>~ު&?3a\%>l=KpšU <_̦ Iӕγ#0r.%oM %_ml1$KkFlؠ{q֝,?F]R .C sEWq>ArjiB*<n(Q#< )߱[o(iOf/0AIYp$lĥ9)zԞ0e(Mm{Dj^&D\ gdvI i Q\{ƹQ>oYΩ$234?Sj`\Υ} RN?.rmLgXZ`:>~v5/?tחS^ϿʼU;ʿ^+T}H רYaJԯقi(Lz&|mhO=SdXog __'i v9Zg7zo N/͚' ;NmnQ,=04,pSeM3yfC[CCl P37Mn~ &-endstream endobj 138 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1456 >> stream x% PSW#< XSk/Q*Ȣ.URd+$ACX9H0EDYT4ʢ:bn.ZvZ[}ȏq6g"H>oRHm4qp AhZ` ǧ&jc4C;Y寘jU"Xep:AlRDZΐp1<=SRRtIS1<&+R"K7sъ8"DCҦ -z]|KT룹8}N?E9S#QM}B>w-C]fgQjo \?hSO}_` @*ЂpxY|%i\wN mW>Ϣ?$aҗij``Vk9De^LD֨2!):̼͑lxvE>eXWHƃ|~|SǪ7"FT-2w4`R|̭O< E2}rknSCBG` [*E2$#V-άG~'[ĀiYGF3ΖT Ԙ , es!tؾMN:$[!9/߼mvT 봖͇ka#׮ IE0zSK-b*7&k3xha/qMzMAm:yc{Hc2Z6t@snmҶ42+7ה5m.'!㉚@{Wt}z{c_7K)gDXS5 `^Ƞz20sO^ek7 BmTc5c|o/b^4 B$qݝZ`(43*1GNK=e?J,jeddJH&!YV–K7ūk沈d ̿Drdynw׷dz/ HqLD:F]ֲDJ"+j{={*7LPNJ3CWkHY>xs$.E|^APlmhlX0Bh+)=G=5&k5T tCT.OX Vf,%);WZ~&ai߅25p{buMM 7 jO_:U>,,8sQ/XY[r}Y*+:Qrendstream endobj 139 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4269 >> stream xX XS׶>1s x* ϩSk-u*uVPd02$Y cB D@ֶZzVS`{_H/D!H$\aHxe'1C_؋~h+#3'Lr /0b(,JOt7}3Op_ w_ U/r ~!}+oM;7,zj"h!`Jw|ܭgj}T)# LX8"%^JULʸ=C6æx} LeQf4Ynje1Wxfx3VƓƼ,a2^2f9ŬbV30N33R9f<80D3JDCRo 9]1ɋU<an =xO|*ێBiSӀs] BvU)j_/35  $tk^e|'g[ZwN{~]@r 9]Ȼb @[َ: XųAbl ;X;Ka`H|_x|5RTrP?'XwzޠÍ,|MJs@V &Fp:,m1r5tC)(⌣<"`|!K/J~hfSddjag}7K*5ul ԪKr |;^dě\wheXXMxgcdB,L4oћb!Cx91q$.x<:ˣG(%ě F屨6it3[N,= =ZR_u];wG&-8(h7;?#]vro|lep. xO)ZT ༆~ !q$:O ijOH/K[q[6p6_doŽ?&p\pCjQ^_qH[XӶSc\slr#NU# 9$*gq1pkn# 'Cz1p%WAQRY0"z~nϱ5MIMz/ ?7f&E|nM^GWveG +2.dg\Z5lY>aNVrlKdH k_=y!yVjHg3AN-Ѵ],f>|,kBV7;xD Գdӗ>,.-IU6&Rj]#wܺ͌3R% 22\ۚvރ KM /^y2ħkls,JA+e&W y(TPvk] dC_&C>4+kթ&=ga4># U):mz4qum:q~W_lͮha/@" خ+XHѦkҦ,qXGa΂,7`gܩCۗ1tpa&櫋@ 5H TR QxZ7.*h[|*/ፗ)؂)1rq~jڢڵ-w6>j9 mp<.(te]3r}Nϣ=}_;ګQW87%? &\mNNXCm@uTqSFȟ_&/#75EaOqoqZ>*3Y'#8th0xQ{@Y MɤnCEU308cRΕ_'(y Ȟ:\{DpsbtB/ޘ` ܽ+\hL*?EAq꼸D_:(XY_BdO AeeZmD0Ք} ~{z?n`tC:LK:s]s?f3:Ccy -TN2?2aQٲo -D-T+WKV\Ge-X$b6G:2(A*tj~ aҿ e݃"3Q7D׆ɕ ~k Rp#r%qhrn \/:[zc+ny V씵1D(Ea5 (~^cO o+QFf\3&n $OZ=G+zʾPv*4d|+ExO\޼M:BJ. hSu*vUnh+lc+!/.YKL#< K;j/{|ITU`ld T1P,JvP]$BJΞRWwI*9<0\ 8/eg NKID'E2<,v8Y\\^Nv31><{2ق8s:8hh2 4[pyH Qd;K^j23!ݺ3k~o :m0ҊŽ8n KNK6Gpݦh?3]\Xm|M]UgcǜW&w)VYlWn'!,Z "#FjXx=xffP2r >jl2xW *:1jRh>nTLUYᅹ .6tvs\{2Fendstream endobj 140 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3054 >> stream xVXW֞1dfD8F,(" *@-T (VETk("l bGA`@Ee+g7>72|sWnٚrq^ژoRfjrʎ,v$m٪IJ IlܞZ?(l-/3k{v|NnBbHҦ4z.n ={ϛ7PT(F͢©l*QoQ>TMRjʉjHS!5xj %PS)9ES(Kj:Rg)sj5r$dRfd{ t 1cƈwɻYw?IR-ϔ0M#v frAwoc69v<\kn8+jcq\a[$)?{E lS^(JY ivi-{(dHο Z ]?YuD/+P15d5BՈ5'.`йNLPBf[vFNC_#51Kc+IYc']zNwX9`? C_2[x荧IaN;f.ѡ0`bN77t0"k2[z|Tξ(|sb0 ;'x\go (eMH+Cd`*\` l؁@3Jrf>t!8xߡACG"3\fbbkܬRr<%Ε9' B摮ڞVz<]z^Ez! ʳ^ %9,xߌ*&"CShg;N%_pI 5z?āEs/]!sSb\ժjU_Uўuk^D5gk8֤i3-^ b<8StbfUdĀX~5:Iߜ(:wWtpW"~Y#x?q>qF !Z,xlOLVdn}_z9}.=%J=/6ߕmiȟslYkK&'gCeG9lڲogFVj?G#.0FEq#e9hP '$ lñKX p0.>cbAc&uq0>gt jyrRezPn9[p :3'O|~ i.rR!aD}Wk2qfU`;`Jҝs'qN0 ]?_S0#EbpxMj}Ke&v4~Lg.,) O,Wxʏ7JECK q1Nv5zQψz+A@+ubPχJC%x^1h0bR_LrZJ\>uܡVp>=nZ54k9Zݧ?%i':zƬqYpAƛ"}ʢσ:$|cq/Ï4f6}̛L"I໿֐gm5}?F=qŤ~ma]t)`FQV5Ɨ#wVmoqX?|G4 ԖӍx8 Ed9,mXZ#w9,5>tWҠ *F):vu\s@Ž4E6\̞}cΙ6oL11!9MÒ]:[m~TAxX'2eE㴟n\Э_( =qܱSzq=¼ލ JV:EbE.b3:roPη6>e.1ϯǹ9GD8;{XARK궔avO0IJJqٯjOIK:]PkGNZRtZ u}VnZNe$N4{`Wan15 ,u 8 ]'-z>fqsBa#5 Sճ},`K#H!A۾x [G%lTA%Z`T/`S |s\#,+2Nx?傧WGl[ƟFt535G,> stream x CMMI9%UJ  aZUnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI9.CMMI9Computer Modernh;:I 䀤'f˕(}3wz~y#Ӈ}{~ VzN\llxUm#~r6aegyIVOXoZcU@JJj9AD u`iwqooqXtlltrnnruCoa  7 endstream endobj 142 0 obj << /Filter /FlateDecode /Length 1368 >> stream xXn7~"P*6)"n;bE,n-ɖ%wӊG3g.jE%JU38zQ9/8꨸*tB\I2ϭiDōά&RVsCc+BܙĪ >#8 JVf`ՑzN?QUW4Eͤzz(M֓ӪM3@iM ǁ,&%{1¡4`4 }IR,S*N*:+"Qy߲+]4t׻3wQ8|\$;~ "x?hk!OwoNMeB)i K}1Tw{Vi)O(<[^zY] P2~l mh8WJnjdX՟:_‘{vOP5r,!{JaDSрQln^*z:J-m[Z"'s-Vfnu 'דr,Zf[@DKfU"gx=:%TCeHݔY }NѮw07[D`iNe̞Λݶ mHEr tEj*HiiԢ_6RVR,&DēΘs䟖r;RTNh9͍֟ ;ז+KY*A^`!{vҫ"EZYv`iz^?;:Cowq!so}ѕ Ii+pS+`rr",&1I}(bkWkhU䗙b_*l.]_aOc/畤JK 'tBMRhzd'هVOdp P! [:j&tzg3083Z`'euLiZ4b;M8_^kOFB׶*UKl]n)i{tmWˎ|4%0'z9 h9 <[-orоU/ӗտJ2endstream endobj 143 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 279 >> stream xcd`ab`ddds H3a!3nn߻ ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRx##Wnc|Jѹ.(ﮒt^\y?ƾkXZ=9<<@.]zendstream endobj 144 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5807 >> stream xX TS׺>TVD9qm<RVQda@fBT3K(uhzk[ޫvͽ퓀wzo- [@8`h|{xjCdѩc7)F8qrEc4I \L#3䏱*tА^&(>!#I"9s4.R"K@, &'"x,=BxO K.ONK褰Y4%^*MQq)҄x}; ONIH'HAl:Ą&gi|Hy-%L,Mˤذ |/>*!InU!5Ym=i,:,)2Vl=>a ֽVSeQ"+šHƆ%I'h/~A,[(a$deia+3#ecB䫷I>?2uf3;k{? Q*b4D!ĻjbOZb!XDOl %DD>Rb!B 4b%1$J01b™Nx$A1x@!& _c…H4N)N:;rAm~r]WZo,p{`]nCR~x탃 9x߹4;s iuccǗÜe kMʼn>|ᇆ# +==_q g]f4OSd,D+Ul5k$'_(қJKy֥ TcM߆9p - ʣb `ųOOn|i3+|z[$.u*F2H8 43Ro$( 53_,zQĂxH/^0# ,ι;s"A#bG p,Ⱦ߃XE8㥠)BΣ$t~ m[ s+g:4-KЍfgd,8%{FPET¢BD?@e:v3]A' 3v' @qLST@ ԚHSepQ+U(2x;QNo>9vBN&2!z ֛: .;C)·/J`i kf텨i<3HhsgHZG$PptGU753 @؛ʼRI8:gӴ&H5zd G663p,UqiYWkFVӔcT J}h,eS~Ȓ3GT }_Ih οX$|h*# Ǻ5&PA]›|VVdȟ&Bs8mw.PИS][SSmPTgײ;2`-(L?\sAippGxy킾XZJY" osf{sm]ÄiSZ\%hT.VCQ-W=5Q&Zg`1͘itǭ{-FIҜ cEE6joЯ#Ią{" ԚdS.۔GUiUrw)6 ds7M|V%2Id5afm3hMs'o%(cj)kYj^UE7l}O3t6ЙߔYh/UGtؘ>c7RY:2O4 1"c,_:$aVnӥ[k}*@wlw{10Nu>vC]%@rBv䝺ݒ}5UFPMW*RudKՀ}VkYh&q>~Ib]B=u#E%FN67'ɡNW[fOώU8B4hMg *f/^]b3ƗD 5+EO`Wv23B:0Λ?*a@ Ї9XdB3HAv98@>( 0`􂃑ABd(]" ;hl㔝+jso#D5>&~O|剋n ضx9 C.1.\!E/> ){I?b`Z<V8[K6Or4D͔Ȇ@ xCs,K"wsX[AqΜ^#Bއ,s`2zstsnLLƕFH!wvyy'AaTEBIЦ =eهSSWm#ogfy;PcJSFIyJG̃s _|i5ܫ6dx(πo!wzz^v0_Tڄe-.էIXA@O In\0QVh?)&_`v1 v(G-fQF-/$Ʀͼ,v wf})EA_AʁJ<3[H^h!GڽtR3.nl -"xi6gk?`;J;=gTfyg<f}ʉ-KK>(ASڇ:tS(8{Q6N6so7;s;2,4;f9mNmɻw3Ϭ2g5$Tz1kLi#@W%R* 2RTi_k_.#G78x2v$34$ j+8NՃOf6H][1MՠJ۰WQ'LZ8荎C3Yy9w|ІeCP?o6> {B{y~kMz셥% 5J<ա&Hz7QIL/l^C֐rZA&p)ss8 .f-p%F~aj-cE-hn ?VƊ*|̉Ñ4OO}- [V򮽦8C,#jcH6FE8d<^?Mc~+8C\dMu#} /f}m1W9 9Yqn 링g.玵6ܻ;q.4*v)Iq)@s5}w%m+,$u.3h@/>ن$y 0 O߲-\76~R|̝/~.kNFNpŜU6Nx;#˟@gP}Z$OL͕C7ں>bjM(W'sVlX%1ǟhaS8P*AP_hqJH[.W~Hd]C=7EF} s:gN?'诗^"0aIRbj ȦQj}owCRp ;n֌q}nce4)wN^jACѡmN)Aiћ%iY| *A[V]#9rDY@_.Zjj8*%R) ~GKO0kLzSkDUQTt~^^^~uާlW|GxKHEj&v4 }eurj/~T˩GN˽M$Ӿ1`,^bջJ%m|^9 Π]E%j \7H\}U-*k>NQ5(=!5KIIs, 6WbN\ 1-uu퇛7gg tƝNJޏ sWV4|ۉx˚t\ [;oٔ->yV{˲YSMZʣo<=`*܁tdkTUlu jCuMU9vL:0ikSC‚|` djK2C4PΑ??>r6q CÁw'!)۴ӫݾs)FIvFFVD';":|uz"M.a |;[Euݟs+{2:9p!\pڎsɽgAbM){g֞KysL9uUi 4qk&CkL ʵq*WG~Qf֜>jכL*'b0U4KKmL4W2r* ̠pEIR0$=|R5\x݄̰) Ւؽi[ʫN4Up¾$\p y1+3s}[vχ cf5>?yI6a.b ; JӶ7>" ⬂X(CL]`}+ťjI7._ uJzq|lxg<{^ |И3w 23F.hf PS>&.I(PSS]UV-ղq{3+ xmKܼM7z9h|}4WLq]@ :G_*֩j> stream x]|T?sdKڦ CB/ EB/R# ]:H;EAHQt ! ͙n޻wgrOfΜ? (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (P@ (Pn\pОm[Wl1c]F)+U*^@XUm" ([P5Eu;B![%ya!-޻s±Cm[jٜ9c ۷]f)UTXtXLаŊWҨ]3fVڲmϡC.N 'dj!3%v (Kc>!BLMdQ嶈YeYnuviv,xvr{V{~ ޻wIgӝl5쉤/zmKU" q0.=?8phh8Cm0G`O|0ѶUJ o/6/xꝇ⥸R!s}rnm=a]l p_?ak#];/NvV?51|ʭ'f=7=1Gwk5hÁRwگoN 9D5LPޣ}# /ڶ^--LR DܣjntngEz"j7qXp`v#'~mv .ΐhͪq4)w1BX 1 Vqbb!Ot{8m^gnAOq52@HrXM"=ݙ~(՘{vf p9{ x/f.fdlJtrI ~f'Fh | Q# nˉЎm;_-ɇ} 18m;n#NQ7q/v B|?OaMaYG`B(avW|xSeRMyq$Ooٌn;7z&-ǁ~tY! o.rtߠ76ʣW|ht!tD kIQh"w IWLoNT- MߠH{8}*,H8º Lqڪb͈@Q-4m1hj/[d[|7g]Gٶs NԏtZytVzI~ܢ\ u>gc% MG_v{@Lwn6x`uJ<GiܬW]?|GS<:3>u dM#'Fgmqw_y>w \}_^"3V`DsC܆?XDA sV/m:W)x mzQmLHЙo\8=>s؊A"*4ǂ3>G:mas:ZܠfW\=kOz١|6~_ʻ ~n'PojֈK&T9P~ 2g5Hϭ>&_ā({.h:M-\z =i+,w}UtTs] 3ym睸Bo^ئwe{.r,SJeǧLᛗI#~NbQEbtH#C dG`'4c9-\7*6A38GP>Vql`.Έ`i¦=Wo'!6{vBϡf3m:x}V^5u=]ωoGqTMql؊foq; }u=~oo95N#0]Mן2$Nf#ci `\!|L~ka@;렿m ˓,'rWCdRY.Z?ȏam׍\s<|kut_>+v79d]lzoy/rv,mnϾ0VX"!N{¿dY8Q$aZʴtx,|u iZ9d:ymyoıP{^r-Qr׮J 7u4q*ht\z׼Aw'ҢKgPǸqD(nW2Ŗ&l*k ՖХ=1JB}Pfo%f &aaj n*2sa8uɊ/%D 4G`78ޔw ,e]g$_T[g~a  dʘ8i1p *h5p:G_d8t}<,8^r,`;9' ݦ=lh}Mf9U(W2!Q0^M*ʬ/2?د35q<2Ipކd e7YNl"fǁSs".yי!GԶ~qA'*LǛCq Aty s@mxo@U0;[v+Sәxޟ"֨xk~^(B?i_Sx'2X ~~Bo8UhĮ1UF -䢄B:r}W5or}~|<ʘcEǸI)Ԓ!qڼԽ>U%l~#7{nr֦@#됏ShWFLuvV2W\z^}cr]cV\ut 5T9W$1-哐?TtwOcFioL~)QvcMW^mހb#y ͏7/L`3={_>}[v{! Aiz.w0t'ӱvJɶBtlM[7Eq_b/i2mvֶo柊SAlܳ ׈RK:_tfk\`d#[U 1KlbkY_A,0_sorqtIns4g'ƖݎB YGk:SpYvg9aR&h8ߏ6 h]wv}dVf.L<Fe[_L\690ت((J#{j<ݷn}6v^6.<fm(v;@KJR7ݑ՝ecijGY+Z8/نp枏_;|d.HM $h%KI mm^_~n~g]vgş}ab~@o6}(~+K[VaWГTO! oĕ\)9A[k{E ޟ۪(Ǎ']̸ĵ.&v(uyl FƂu\RX([F ~'Ca*[kxΛ#|OWo5-Xj=FUR)v 3pdk ens 3'Z.3MD ;PϢ1XNOHáF7hm1=M \.jNNaR?ʈD1ִUhqSڃA~Voj$ͫӔ^kf5p8K~z<\13 nhyr/-P7ۋ~62pQ : @2r=e,ӁB%L^0ՑcBIhab~Z|+L*%v/xVCݱgvG1m7%>;Gm0Lݣi#<N˗CѪ^ W"v 0U؃񟘸vCRkz3M^qMADA+a;,Ǔ}a{ W\v7AYŇr qD|Gl u#*sY+Wb6%8ns74IayccX/~,Q|")M)"^crrL^7S )$'\9t<8#q#^^PᡁTٱ\o)^pY^) q|~`Tmw\ҭ* #l9I%RRdcp)GU;P{:>ҝ@?݀U0{Fg~fg?0-*>c.,=^ź(}WSEjDΩ򾪨^$N,f '"A$.B )4Ҿ.eMoآ{m;S8x= : u6g}xY*w sةE~ -YJ8\e=!ls̚6荁{#] h!oYZOʳ9îD{)b*g`sD;禝|Wq+j- vؠpjT]mskN|]4{>=¾|Ҍ{7Bx#޵-8Ďi }cK7hgN 3i] ]hVn#AQX^mr/JXY/ @lVDwd!r4KQz~PiSr=: Q']o 4U}.tǃWI(Vd}oWXBpFߪ,IsmhUyv^H,!W=FR*@2r‘©ʮʍ1cO??P.!bZS+nɯnhRRRqU2m51h08cz5o^s|E7Ҽ'J"qGV & qOAi m4^1EA%RL02vMɂuҞu96bnضG`ayu0 k5 د@&\:QG=4#dc:p\Vus;>jkV^ LIbT\u?~_zI 6EM #R`ik *+Y"?uEJ9Yam0[u"h?7D>?6%vvفdgU1x-;\B?pnkX^dMh;rbi^0S䝮Ϻ;/:h"nWE*fex"AlQZ(CqʼOq$A{ƙeiY%r5&_`W`whTjp`cu-d>sgG[33I L+BE #+|pհFX^U΅MQx[ 8jf@{f:ao_ve(iD!/Vjo&z>\L5/D)5W:.Ż4t%w_662a]E{I4x;w94_nTwo~Td0THH 2ɶt.r-*RTfbpԥ9bBl MߤD)vcx[;eaxsEUnGNo:}jN EY\/rtxh4YXQP+[sRZr_R!+wO)5؜\[p%axYqg<Švuxt\k%aPyȅ+ _b(f7L-|VĂ -LMg)qzҥ@*5u&>6I!W$6y!Y7_D6<|:Tl? >ax;f zQʩl< d*P}Y~r"<*BlGwWf6_Z}i{ =l9x]D'ۛBX{yA>~]j]i]U0z J|vlyԤ(P/]\)nmU|{$:*d>DպI"zA̦ UZ6r4!BqR T jS-HDfqxxQ^ѝѭsSmC4F| KuYg~ᝡ4 ؙu6W ء2&1駂n3Ȯk=# D; .]YeVǝ<(8 6 qN]`rZY乵 - pap6i+\$rJSl42Evq&6z эNYER]ℼug&plCM˥]u: FŪ#P>3SDD9vڏX4d9♓}qRWq2N&Z-^nVj_ @ܧ%wQZ61mg5iw[ZNXäL^ttà^'WJ2ٲL>|&Y>L+GDcĻ ceLs #}kЦH")>3 {Aiqksg>6.bM6OVi?pb\y!X~?{x,=Dp*}F WɋY}䄡|kܮ7Q;sGF*X Z0Rv|Ĉ5`N͟nhCCEþ&֡ 5hk.xbZWDivg0%r-X=A['f:M=2IYgJW/zypڮD-5T^cr+.[N>fuP-v<_b*xWEQ0K}D5ŝ f$L"[)B#?wΗ9AቧE$]f`z55|{txXv!BnY>pl'k4P,:vUƥuHibIr.E>.F'[X wˊ]^cB*Q3UyV:&ťa&;um̖Kڰ\1u}bFn8ة9IEL!GՃ^đ&׵\NK>["/ˉ؝ Ecbm"kLenk~JyaKYpƽgZ`KUՂNEr*@7yxYuYBM56}J-&s l fDTlCp/2EB6H2i~Fp‰:ےZ洿ͺehU':~%V3YGnSu! m/i bXRj{sr}|#M{M5FlCtXR Gzu?>qladz3 $ 7jl} an$LbB&[z+@[o8#٤\}I[3UN4Y6!o2!狷BGSph0f3!dtE+r6^>=u5`)?l.>3Mhm'S,Y0;K~F#ƒ>h.:dƌT,k=+qmScͷVJ k)*P` %}<زNڤ-zCB1pl݃tݖk#ڪ܈.Pz!q`d`3=9xj(X'WD3L*!v #,BY%٧kGXGA|'aiwbmǍxh'"= ]rMI˔ 3'|QDkbb Xde;W~*Cn:289D ̎PtGJh_qŵ%C5v; t9o5H^frir(:퉶|X] g`sKL!; (OkKuP2;XH~λ˒e>X Wdp%Jv\Q?Sɧt.pEw=Y A3arfk {]uHx,Kg3];갬 fJd8/ZUXYPDid?g o~`45 eN,iĒd,:|ez-1#Hv}F9upoxSB>9h=­Y$S8&qLٟtQ^fέdq}(q0fbI@);TOzXG _KYB?3`aL3wVNjA|';WKzu !b Gk,Aͫ#CqMI6t-эDSDa^+RfCS/=kl-v]Rf~r)g6& TA/jt' BתFFf,ʧC-CkZ +oDLk3ź}OFrƕ⒙·$Qg!%K12i*=/dg;/9}{mMw͝#ǣ5Vw^v/;mLEn<5_~E{>J#LﰃSGaz) B#(f'/yG! ,k \g%٭SL{R[ Ph |ae\[̌ǖf BVLK6~qa(g%(1k3*aVzMOT>QUĚ"WLǂSEsFoBz]CJS;Z2mށTl=)o՘`bvx1ރ峇I3:EJ# #_'nUjf궘7!`޹z>мH%uCZk=(dbS V}j#˝xEϩeŞB[ńIz;IG6 +Y21/p+G; j;Z)%z~GtҙĖN%7zfb+xA_HQ-kKE`(fTx[=(,][.8r^,{$ǎ@m}MYqlNv F;e8wU +i..llNKiXJ$#? /O0M'eJxk<4Nk\hv:$Ӏ]HZvgU*ǜW*Qln7xq/Dۚbc.B7۱p҉%cV -SinфU,&&4 `H,Wb9|kH_`&x\cEuzk>r1,^W~qH>n]~bح%+3q>e#"愈lb\kvݍ aӸ&loQ:i.}XdF[wJWlv: ރ6P ˿.>U5xg޳'ȁt.1 P@Uu4|GC;G<<)|2U%9 @&=XBq 5ڣtY ?*b 4ٮ,NQR>]924Hפ Bx1ٛKIi/׎ll[9}xӭu7뾻qiycVI "/YD;ԑ=UN YHgGF RVؤ'd?faA ϿB{_78Ǝӟzuv$VacY:c 0=pϝ+DR^]3T*% 5k ͛ 9~7F ab)bӴU"YӉ %NJv UOkJ',kV"8]rώCt+ϱ>XI-;gk07b횦P&{Il"Ӂvf`~<Y2O!EV);j if)c٬K"T&\B ѧ`hQSjEfnϡ_+GE/^'FQ9kôuؕɨ> icDٸ,vcxQDn4usiz;S|-Dt}yK1߷k/NC򪉮2ID~C] ލbhU|8_NJE\ɩ[|%>{ϪͿcF>.ʩ[\J|/zq_ ['b18SCf=5D|l8&S$nq?Õ1;Ɋd.fR@}r|-x( ȭP , N%1U`|6"*;pfa%>PWC0*Af0%j< ?jrkejJ6>f(A Z:`2lyos;Db(vQ-nACjtԪͿ+xR}r6n`9jZ!ZP5`<מFPЁ6qBʩ[ăIt:,w0h!v!HO!hQԱ0 !ͺ;ׂ/Cp>: M̡{|%n0rRsq7E 1dXLd:f$=Lm7衧vX[/_y X7'|إFvbV :os7;c-4Ye}H>`at,j ~XpW\\)5c"GOkqve)f_(72Tt&l[PE2#{=-ƍq4V͞HZ܎:\gd送kaQu]$w q&"P&B/1 aR[MmplK(#H#F,%>|FFXJD (C$Gk678G #lwaU9h0?ow3?[{:Ѓ,LKCNu^ y~7PYXI8FT}6ke C~y3dQL5Ǫ]'AQDxo9L{͎8QWFd^p.XU&C[*|ʑN\jKjuy8#k1QeU0님r~ X"'!iEIη-#nd"T@+b]WpN@~g "M|X`YJoA9;ܷ2ǩSEOA,RSfd;*0ĺu4iGʇ Ɣ%vu2Q0ssV")3}lQ۴lr izm[ `ҖQX,WTZgti]PİIONqW+z]p3iOQg"*"SE4)JdSbV-gi )&9pHc.F KxJ͊mekNv1giLn|_(iDESmTJK==s:wK=ZˌS%A@rXzN ᜦ[* N=vms=Z+@~w)wJ.\Ag=WN 5*w\6,7Y{sح:Vdv|<wvPcʍbR4ٔ7AٌQ3Dȁˇ˛xRܫ!~JaǵhLk o(& LG]b;&zZZ~G"ACd6l=jΈIuzMKfh(XR4O%K5Zn]Li˧qd;qa0F֙kK*G鬱\DR3ucGdLfJM7Vj]űPIFRmGqb>%s B P;ZS@n༶|H-y 7-ƅ#mL?C< rr}lbB]Wvj@vDNP~Wq;;*)v[EDQ ץ4qź;65 %O--ԖdzܹWz=E[J:sy%=jd+CbFB2L4kPO `X%"' +[1pjV?'ym1C:r7-JySއQ"n &M-Y~) KuH Mr?EN cfd%12]E9^"Rqt8 bH$tr:<%>qGא&<@1^sU#e;SrJxma?,_Žbs1<ɒ8ȅM=SSLx)&`WEDFkGp1+<1`=ntԄ2Vu}wQJJ!=߶"&Ŋ Q40rYIvvL'zx>k[8kŰd"Omx3}$->3Wb8pqH:rK*FqVӷmIh tx,K:|ph<8ȝ }K N~jѸʊMAZ"DT(ƻxr>җ)gu9)$fdu]\am/BSֺVrYZ) V|ۖ]{9秸&4(b, Jp>· nK+B:s݈&3/C,=({e:&2K?e^ >>g+ή̆8 b/bNaJyaG%`$$F3aiGW?(T2!=3ëLE(&- 9$)(˴75E dE KhHT\_Jpe) &,Ʉ)a} fvR,5LJ Lk0v+O&.8T~tԝ(|$$4U,0W3?피xBSYz86_jaS9fPKɍZw67nus1~#7P'ډqI(9zG\˞JFM`}o|POdi\Ȕ>r5bq+=J0HP`;rB6lNbXG,!V]hֽHXNZwXN]p`Tyݪ`dQO"~AR|hjs V*o6p% F)0\6AN %JH<(uG!֢ԝ)t+#$Fkw  F_iߏaR ۸9jg4U'ce-`WsY}|֊o]Gdtie-@p5ׯ]bLXqim*)*鍣UކXYj;_b )1YcX 6/`Լ;EKwd Ȟd9x 8oZwəy[1ٯpoAزb~ɑB]S.+,"{jXLʫ,e@R%$wsOwxu 7¶.`m+81֏R<0lV[YEy!|בp68Caey(6fbWB"bǕYAJʼFK\~Y&JNd $?D rœh+vZA2!e;hC(jǧ|CXQre:k`=rws,5g1QR=MgE.i{1G0O~ }D2=׋]Cb24|̷O߰Gxgq>. 3 9V@Ȉ.|E'1 )Cjp3[`\B ?K5 E]6%ib/."YLT>*k$5 =w3Lf WZ".kpNx ?Hx)SgIl?}GiN \~}%vtdF*!h0rڄCK#6m.4L"S5[$ PT2 Lc@qȶ$ekM'"ܯ[ ȡH6g0 ^f>eMC\i}+^$l6 s .a)cCs-D"\ fѫ8),giVI!.D5:51]h^!cjYDI x2.!'#J"dt:rutՙ!]W*+(XtdfS1{~# yZ~ 8dK2 X}j:卑͠+}DIIiBr[XgWȔAV#D<m i$t+ y/Gwfpd=ISV&p%WPT1R15xUqGv粬H .*R?,-|v:Ljy7#,zm)x1A)YN^@ܻd.n^eЭa[5JF_+ecȦ{n!@p'$;hkڀ<фh!T00J3&oq['JPɄVҕaw|Q-< }mj9D(ַQ9NӐMʣeԐi<݄g!fǪSذ1bl_ĩLXKs&T'[N \&lPLޒQL'͕bhS{L$Ϥ!_RZt\FH&}wh3I>Njpp塨>E@U'W3NEtYǕvؽ$kNuKĔF KD"9BW`)U+9ͱ CvgYI1E^o_Y-'sL6%aCD:R6jVK .޵9{{}|3}һ4"*X b"[,7K%6&cc4n4FblXbADfȽQ=03 YkEaW}D"/?o;)u5\$OV?$O^;[I_,eI"Yt^m_ qPD9lU LEaI&"ta=Qx%w~TZh-b-; !cLr=kddҙm[g{oD}-@I/h~8H/gRWaN%x!*_ &~RrDF-iY>1\!FYwNq$-TBzNRy2A}_T>:|J !ֆ+̳72_m R^$Q# ~mB.5,׾qb<%8#^(ٗ˷=Lc nl|$DT! J(̳?@ҕ/IhTT贀9A\Qf:f㺊-.u<6lp67)ʼnzԚ"Oޘ'Hxlr-_yI`Jyz :qa[Tc*nP/DTөն+yH<6\v+ )A}@q4n05]3kS: F\c +byNUlόG Rhv-TWئ.&h! -ĔN^ȿ嶔Gq)ΏMDZD9:Kvls!MCOh T ˃]&M_W`;OmK4[8**ބjх+ΎuR%zJڻxDYBp=/K 6z`A- Z/kr"VD"Ӓph:q16,3h68Ͳ`vn u> (y6kr@(|ꗊ:Lr^#m`Es!V1]3Mx Dz!q({,ЃRGo~-lnۑ!$NU.;ܠF7,[=b.kZiEPLru;g jw(9 EÜ\7!eB{55z>Ϲ!YرPӧ^(F^Y+D9,z|xf뽲9/j.D 뵤K=\@-5A P$\n,+>S4$.WT^b+ݔ`ŊtY(M\'/fp_v{ ! ۙOTnBϕ ;b1 &ЭY9y+/#!l&[}ҔB;eۍZVS`YטIP@q_Ll]8R`D}YeۗkU7mrD Urqo6Y@,/JA,!#' d+85ժ ~DL]i^Y`o2ͷ8,%ڤ }Y6U?$ulMM,p\m$} L^_QZ)ADm@?b^#?qAFc"phU} 0UJ5"@,`%sO /N١Xm |JBJ{-vY:s)0eY$Nb v1VyTOֵfIlϼ\2K  D`s yTK9i SD!)sڐW„4DümGc8"4m kzd:zdt )q: _?囼YLrOTK#?2OY뀼hMůN,J F_`=ez+cS hz5 SotO>FT->k- VdnI_ԷnUYSx@ȞeCl:+"AKs'X 刂I9Reo$ >yfv(mT! J 8)gsrnLqQ2, ktDms ӅU͑ t>Y~Co~l*!)M|D%5u`2KX6ӫ`1,)「bD+ ӂrbI6]|ŶMu>ylsBM}-9We0Bha/҉?ę͏5S\[>@\pI; 3\{,&zp`rES7PŚ 'Dz(1 }8A8HQb)7XXR iM O@B:gbޢG-cE`, Se]}'zOeM iᨚ4`K'O8|Z;wY-0D#W̵',k؅HD {&?lm9{h9_ſH(OqB~&z,H:}77`?-KHaڒ7P{ 9"f[6!1>i#* Ő\X.{*Ϝh*>\ ƒ22HTҔsyvNX@q<~~Do?d6|Vʶyy_#uTN|:AW侴 dkbmrdǹZ4ŞA @P]úJ6|>Miϐ^Dŕzy7^.bƇVdG֯l) ؓMMnHp< $U#zk"X柧5zd>E}Q㫖`nmXb8-Rwl%/)~KO)$[), V ϴt76y bxa#:p5P'0Or(ڭ7w h|r Zartغ.;ѽII%ӯx{烖(*_"фۭ7I9JȡS ]W+һ8L t,ۮDqUo~zj=pOv#!4fS3 [ξh>B%'C`;@.aLf}QzZp!7)aq#&*HdKە->dz7,Y.ϒIXt]ǜ,NSs0o¨tN}&,bTIg,nVb߭b%Bڳ=0O49Ix&9-M}FK2p9vɻ~7Dj*="}TIܿ(lɦw3RʑkMf I=!8B2Vϑ!uWwO`Jl.lM\l5,{We AGL]PQp]l9+s,)o %UI8@߲pBiؼxr}&@y!+Oz_t]$V5o9[WamviMP$n'_>{5u[Ksa_̍<8; ƚ8@n,.Hڑ)fs>l 0}/1S ўAXB& >əHtdo!sjiXnB8j:*ߔ_|wkjGTEBdreK|Ƽ-NXjdpsKjuv\;TY- o+[e uQ~Ip,_/yÅkn'2Qhp`<Hxu7(ąw&pZ+vKȼ`|8qL5Tt)t?~xlDl/ csݹmGiv9bŖxOX8-W9jΏ nQHtƞʄCuoRDJw&GZma4@ihvmIz횞Xw:ƹ̠:9 Z=[,K vECDTGs ={zY:*ش{<l1ɰ&b6-ښX2XE>rM0 $9(-vӃuDSUOʒ>&Xvdpo> fYwT}:@yUχGCuY[bU߹xsuιG u mLN`m·mZlT >\k.f B#P7x0ǰXAXq2Y#ĝ~Jww>{luSPJ~4թ7>FhDڗٺhjn: c 6X1p\nS zVYx*w%D'29#./ YZ܈_8&!A˶gxY> fBb@^t,EEHԩwpoOrD7~+s\Yִ{ˋ+!R rV]Zi1~c?q |vS8n3'`7|a`ExM`tQ =Jp]ȑgbO;o/oy$ٸRYR' ~t&`&2\Di槀w9||^,Wk, $Tژ54UsdNx(QI&lѦ~)a6۹I?s7<2 ]M?<"9+l204|cT4zFXp$ȳ L%2&~TSc)?lн~bv[k3/߫BKJ)iMh᷿p;+KsPw+ޝQJb7?Bih,YG˭R,#5)Ngtyi5Jca'E4e\"G lp [%PXw'vMKs.rz>E5jGP*-Z=JTbNp`^U@#v)%@8n4'oϼ8mG,Gn+"Pr/B/?H]r}:S[ Kn >D΍UR^db7F+0΂QϷ$.aRp0^H(8r *xD2Sj15;؍|bAv)+n7e7H8.(@aYpF6C16|ư=CbN^T`:q|i YlZZLBuч8~ow? ɰWRmI\kVvRǐ/VU%|NR6U:?Յ>"]乢MspXk2yLα(V"+0㻸C38EI`f܀Opڎ#ZtAFи#t+ŬC߲El pE>K S4 Lh \Α!ބ)i'wFm.GEII12d?lP9t=14_z1T^vMQũ[d4x.2!Ѧ'ПcB|ꨇ' #pB%^0V#@9Nb[s}S~%xat ,$>SO+^K"4޵?{MKiDrWDL=}LGbGSjE͊m,mWz!*r  |ʼHϧeby&Ũh̦!ډ&JⓁ$2j_[ZWG5V55} 9t;i[g'1!lZf\`ͧw ں{d*ENkaZrоC%ϽMӖ- Ԙ2,~と챑;/D wS|nKФ~:+],5zˋ1e_5t;(%7P#%wp<%J/Eh\-OyU>A+ZRxg:l(IpFbd(<#>6Z6[bPWz|*@ 9`U8-IYsRwTbr}li=FH#MN_U<òtlŽ2IW>57(je/;z"^:G>TBq4"<םēG#R$R7#sdhW )\%ȥ|xC$_JO,\"%N2 xo -hZ& PHr}3nGT/^e zS&2H7 hG$~8^$w8K}T8z#˒\n^´6! 篅-q˺_/grhi ϽVcE-\3(`W5K'(Zf*; .C.W`2)F,~:@PA>xYc@ںWQ|Tfh`D1NҥZ?OQ]ïÞxJʎ8-YBєO_-dMfP͈x{\XC!ضK>5=; giM_B;g갩cgǢ"☂n1UÇxT05gf2p9(NVEš]CZaMz).R4Au_R)9t  ivE"d&Y7Cjpm Rt6|8Oe?>&قfZ|)vS Nʎ)؋qnlYy+e>y*B1\RpVV۪U>>fb'9ol5Az[ (BBnٷT[ v!he!kR^o3?.1m`!8[WbjBYTj%pBmzZYnjWBd]]m-s!؜i'ߧq}ְ4 JtO>#LLl{=94T \\u#c%8pg: A$צUB./ 5Os ~h9FVj ՌkcB{1XFޚxKs՘W Rg}$I1CǕTɔpЗ1'FŰ["㳘e7NpXt8SӅc8s. Zۑ==GnڅiEG0 ʾds$;|l6gEY!?jO"B,j6%Fї`S]lհD%a>E!/6FbGxf/W»]&ԩӏڲ*C wΗ֜k*%TFf+q^WX XiRmDܒ1| *^Z5wdCxR͗1,IWC=UgGU)/4AK3{$Hv \AB HH32r"4qv0$MjYY.K? "3E.Xi!]zZkNT lC#BJO)yxHGǪ޹g%F($5!1-W06. 'k6hwmBVa$'y,ah% |^ȃ\s$) פ4rٵ4f~8a=َxX*B8Moϳ?wzxUYuR_ɿl{/8a5ҍ\%8 7$h|Ȳ Be5bhW2'Cĺ lXE2n ,|7iYsIIm^@D/d煆#B(d^5絛5O632w>^tl4P5LY$t]ΪhZj(pJ Z{b4rK@PeW6a;xQ3׏PRi+LR3̗VRIjCR/XP|jjxtj0jC՗* Y.um2#OycB#d[/BBO]dKYJ>zgJOR6d~$рՏΨ-Ň{RiLMD[{ލeh$[m+*IzwTjTBM-]S̄O؏Ҩ/G<%.]C?L;ϖ }QآHN}% t汔״NLZžg;Ԁ)7aPqYRO zz*̹9х2!FRRrw}q8d@UU,7iEGOGwW,޾:ӄv_ݣⵊ9rI&Kuddc8S];%AQĆFC10XVsofG8BeGM K0UJd///p5<]{sUGZ.hCɚO*H.].s/Gk&ɻZa()@v<$RNմnn+CTfͷz}N|K?CcUdJWi\P.בe~``9͢3+*gOgpmʱd| XaIHBu8謠\_! {|A*P ء1 #9k?"2o*4zk&5ɚf0ΒzfxвYuB*g7E+Rr#N';czj3ױF*Zf9Ԭ17ɗ!-SJX֝q/$m&-7Qv`f/8`_+ئw,6(9(j8dݜOL#`{,~?~s:}OCVf,=00J#$)Y`Z|iwz"NZO_Ou`kHH}ڞ<&Ovu_ 3UjE3[~>U>l6sc5<BOJc| z*dI Qni aʦBZҌbX 23wa =ֵ~@gVo?~C]'~{錃8i_:|VI=pB*z܅NГe iӎ[;M[$#9Q`(WYO2$cfDk$B|oAdgeؒUi/T^$*dMRRmeIYz\v%R_BXQe9ie]r:j,_/&J񃭴s40Z;\VbnYeB_2 ;;wbDڦf qR`.K>#+;8z9PhR&QpЖ`8![!c])rY1W*ڼ -ibWmHKӈ 唙EGT|pXșMI}nhA$Mf)Zm"m7ouXNO:"С9U6_ ksR 1n5y-A"|7sȕxs(Wu)rz{5ǚFj[-8Ra;gLfx#IBn6M-[i#W=mK-KGTU4 r;dMt񈑧Y@.j @jW;ӈ'tn'Z]*5V8hcYw-Omt?lj,U5iD$bFbr/`>byG4?ws… "9sd,I!BS" aPkwWzވ %,|k9]/ȾBJw?!w 0 VEiRB]?,vFR-ZYӥmǭW/El$]AFW\̉3:TL.gULv>\oĎC3n|jo# J#JWܣ]{si,uA8mfXI=blc)}B:MǩYLn9BO'ɛ#u`Dd1KF[xt '|(+[WJ9N`̟WdGwɽ9KqQ}RyY~'*l Up-{-pS})qW%3IM~`L&{#3 q[Ylt_غ=jږeMN_ҷK$BgLk>eVR/ %?.Hu}W*ϧyGZ5~ȫ?*2r'BҮ}/Р/G:ܾ)<5c_ :K:ԅ (-BI2:?A1$?6Ċ&Oq)gh=/w;yQ ~@"@ڜ!rtYXt~ BWs.)g5;%evO$*t6gޗgSƛ}JfX彊Vջ/^5n}D0r[l)'kЬS] x$w;,bg5!ab-+ Jhm;M;Ο|7iM!1BRmp7-frxK)88Nl7V"{c֥e{I̾x>5@ 4g!DNM s+B5Đ+vr6O]"?Mj.&~%6~qKKxXo]kIwx[k xZlZkn]Vo [B98m1I3X, [r_ 7}!7R? lkeڮWov~^Tbw_5Kt$G&mq9<tr=P.̎Qj nDP&}Z)F&lTLltZYֶC|D)>Դ1\Z\@Xh !Z )5HrҦtjE<%W) Fbi B+< ::F$MNWl1iUs0u;q y[)BI%@=Ymo"/߂Йr1X \^nh()T_ru*haZi)[1 d#_< ;eq>PbLgў`Z#G{-8버D#t=;9 .6NB /#rR>kKv׮,*)`.dTra:\4_zMuq`׳p[UQmB/m7ٻڏӒ64|*hn5^bëBB LTvNNr',g8~| k :0+zD!W:zl]1sF^B>p!?8"˥3x)b6'5B\joRk_/5X3HCH\%6ER.6&(r&Ciu.W*%gl)<~E_l~pfD 6RSbFO-d#gJx2ٕ[9LvSД8&'"j/0SBx;#.- q萚ݓf Gs+=)*pd,@%2-Ѯ>|\ lNgz(v}eEO,%.B*g|+W-ʞeFm|w/Zv@]tMַvͱ-C棢⊡!R$p& 5zc9pfH 3uzdk lVC8'tzabvu m|BGSrPPGh8/ύڊs9X3~Wa&UpXb8\mq3\NtuZC'9Tᾮl?zFM8I&R/_|3C4rǮx`]e6f[fXjHHs0!V < jm)W :b|njMapX_Q/>w>Wwp / ׸"v?OmC34kM,ɝєwK-rgS"b}a{14&i,L_]Px|*X_++<\"?^)l gْ;<5N06Dai2Ķ ePQPe G)91"2v!#c/|0r 3$%0!YpX O,XV-A7Oz|X?X*WBTum\`nٛgw^=l2rB(-Wm n^*=Xr',YP~'LA'X$ubfKqĪďYCx#GrJ0#Dc .`w2W4tSGR^h.CsRZ{uqD=. 3n.>-9}?>_CCd19׊YSx}ϠIH{4gaL%LJZ@- <:'l7l<Xq-o؜6nkϕ , ,e,#9$W[S޸vz!:8Ӑ|*Jz; (ƢYQoZm*W`v!ihQ ,{Y\$˸h)lg"͠"͂lEt )~XiÆ 6-.r%.5T4nBxPr UE^*,FfI'kۆG`^dlm)?Ea7D/KO\Ze£AM  6ZWuFoS#aEDbm)*tk_Utty ^9Ⱦ S:F#wcUC)l/J&K}j/h)T~+K{VpMp((DxrXwqT%)Y3b?p"iX#p7*0pp %ۑ !!_9я.~jJο:| u~"^հEK ^g^ ۲l cˠ bYJ\S!Z•]w* j%tz{kʂ:OP|KUQ`,a4V`׽Qdomxf(&tYJ*Fܲ%W1٘ mÏ:j,NY;LDrh=C3NŒQp"?hخI1  QP'RQ=g _0+ /ipǗ'/؞̔ʸ,_yWjyzrR# +qFOS Xӟj,ww_)>|L"*ǎx5P\"norJDװfcFt;a;l nbvg_lH'dB`t>n,1a3g+Yv·ŚtpaH3s-&g k1з `er-/UL )Og(Ae.J:ׯ}RUϘ!VM|)vG3|_,W5XB}uS'XeqZ0  "dz Hl5>,9, ѱXr*ۇaLEIDV×׎\XB|EuAuOi&"*Mwd] ƻfBpʀ,8L 씉 ż,V6YAAtw3y3BS׮a&9i2v S2$E z^+m Oc]hl!8n;]"o>rW]3\uD1'YCn^rO&#LB7J{:`O::p`?!h"899-,Mr&2AR)c˰n@X*#Voַ0W9$c,¼{Y棂r"+lVMFc StݫAz5håR0 fqHs_o Zw7-2!CDXd1jXS! XbR yyYQOTk8"U,.Ӟfp=IL,m2D3/"+|{YaL p9@20\QxpA;_#\_ ˜,<74\b[X`s~ Sy4fg./RYBtLХG[]+JQXr' X[5NVi 2ZUM&1ٜNWŭpkQ#yG'`Z(Tz&QuX\Kq4+:9FhS[n-ٿ=UTjwo1kٰW# TJ(tR8czexr׈5(ha [ qQm0\qt s:v_!V\DhЃ7(l3>aDP-7mOqx*]x]"7ٛ8yg^=rq2<s`c)Oϴ[6QV0m_o1h up',$.JމX1e"x1D%- ;)95Er O *(F|ioֲc=Sh)TRF*.$g*fO G62iqR!I( yb)>s|b|߿7]nUҡ<eFrOiq{Iz7gYL)ٛRqu._H|8X3__+ڥ9x^)U-0>qӢQbWfF-"]sw#R"/c)9Ig"*RAygkR^)dηrgߙώ wKWC#=d"[myI?DQQVbʝ%bfN+Pw]+7ta?7G6؅#79P| POח?6 @UjC \g|fNb_! J͕Rð5.~iK}O.Hz`}faʀb5~ X[|OYl  [Jӊ>iK B0ZhRP"FGB)$;ćl-e;/N>"uVJr:p>*f5]sBJ;XӏoFH@T`E'cO%xh˭sB:4מּnCp땊bENIVL$$:D9܏Mh+1ۆ~B )=5GN̿AnIQb©;)avN7 ]5(n[ !SK(_WZTU$^o)<_RzVblh}uX yU6|ζ!|;׿q_vI"g"jvqT"vj*VVHe?3}`{4Qy;uLŦaGj1#/-BedH4`M,.U̩mг0fl)٧ޛ꿿طEG߳/=8mv 6`:};ǩ%C;U_ܝ7(>+lq#Vyq 2?.*6n&דJe :N;JewQ&A:@k47hW4|1I6IJ1ydѫ|(ɏYܺmlKYtHfGs~mͳiGxP9͠]vEB$sTΏxJѐ2d2;˘g[^WX"YsP:;)s6*^ǻRN=׽`d~&ӪKgf6&,^qj]JUfvt3[\/E8Р w٦U37!uJf_MlFuܚ~Ɍtmo1od` p XEi>Mɵ=9aQ[y2 ;胗&ׁ|д?`]hPCvv罹J )zH5D C+dO<@elY!ެˣL$IqSfJgu" #orCLUI {xdqd\}!{"M߁W N/VB ߖT#Yy4~VR6ߜTq|Z?C)eW+\(SހO,Ypz('Fb4\˼|0n ͟=ewdr? r4t=;}"U3ә#֯ëYSJ&7Ib8 ,p| ^mqGՑ\\K֎KL)?snu/N˳"668W]Wyk=$ϻG.$rڵѴRk8H,3컻T*{?2rk8-vu SkeWh:T:1MW3! B:VNQޜ䮠3!V2wAOFEzxe2&s8ڨ* q%gn>њ797AOۚt31. D#bՑ7aO|QC]HàwȜ4\&`|GHh07Z]T?ŲÆ*i}Ǎq|?-\-<"K:{!mtgi^`q}Q "֍\Cd`kJ[++LӤc%alz8^LĴM_bB4k.XӂFM&dKgK ʌpܞ2tAkJKE`!: ڸ{d }J, $0¯@8+,`ɆE}6#Rn  Uoල,Ii F*LiKdW'HzoG0,i3V78.+N},%?`Ck>xq><$c1æVo ny|hq}]f.+B)ibZG4&aIO*wO8wzΰA™L8Ia Gt眝Qhuܨ<47lMHTAiyGrة| /H^0~;OECB您o1T2Յy7nN&SfM2bXR~t4u"Aq\a"V6x[&U&ʮE=btvA⁦x'U:kzNѫ6fۦZ_$n6AgH]94i74YLW!ii15l6i|L>Lv^IEil+(\߈sfUԋP$#[؏p">O꼎u&s8cFDF<˫tt;Uf̩@D,mӦE"\B:VI Q|]꜀Apg=c@b=#yg0-.2/bQN=|7"b 837w+3gusl FA߲.-J#%6|F\|ه{t)f$ FZ6${#gwq=ӿ j4kS%}5{,A+^ֆJ\?8[$r8u'Db|DQy|x "UqtTMzUD zx_tO5Y6yu5曺 &c]?Hr#}|}NȵJ[r805vdڏno-~| >WdX?MzÎiPʙWhr^9{K}8~[æI,R6)T)f_{̋U!G=Ҕ&X.1._R" !/0 yXXq(pnoli!(y 2ʺk$2OgXmWϿ=)!ˆLOErG6VW%qQ]ゕT&Y}g\j#Qñ+0tHj9B0'n8)^iZbk/rRiac"Ǥ_Kp9u+ˆf݌7eFBOG_Z+r%U'Gߡ2v\f5yЌ Y@9W97[6|hTFڗgUٹZ(Jt,}!97xPsS( 6P;4 FPt𝦬CJ&|0j Ph{w8P'Kǹ% q#r8=ߡ8gޝ7%wu8jh ~;C-8L4sSPGx'ӟUIRzzl*4#+ϭce`tӥ@Gόt_o~hG}ԢG q}XG~G)#d]p~3)G#HQAIplendstream endobj 146 0 obj << /Filter /FlateDecode /Length 14372 >> stream x}eq+~f^& $H[AH,ɲiK2l[⽼ߴ5c;]%*uoKW/%߽~vI-ܵRå׻^X/u/^]jw풢IHR Jy*7cY+_٪>Qm_rKzhM'o^lRv߼;瓯܍˨}prdk &W//cvҪxw/_l[n/_.5Fb3|kk=іFt{ң5OڟSxޫ -}o/?7(._F R.j"BUj@uB rG zD끞?O~_F^ >zoO_b?w'OQͧ7~ 웥ćrx}R#r9$BRF&Quocfw7z eE_Oi(WWŜC'aOu,#rKL N!z0 5/W~|GLQʹxK'PѺ/qGPq~s|vPR.l- :k|/oZes7H|y;໛i7͹-7g7~} 77>}qK-~c1ޟ?4ȷzaC{ 7 \sSo:g7LbX?!Qƣ/`|z_c=lRϡs[Uf|J`x?U8g-f?"k~{T-tOn4QK_Vqϳ=Z7jßk,jw`o?B7ouXhvc_b5պv ||{эCsg٣yGPyxhRϏy>1A1Q<1y\O" .1dJq^߃yRo>z8e.1\|.l5\j!K w_vw='WG=YrMUH~Ͼ~ٗ:\[gmRիu_&lhן}W}s_$ PR͗ן|zߖ[_.%\~g}{FUr% 뛤FĥUjGrmpG*ߣiV_%&ȤP.'"s~¤:Z@vM}-Rf\.(kKnc}([ޥlò}1Rgky컄i{NZR66{aBqkY}e}_؅̢n2b>/}Qs ZQfkǎ| Č}@$!БNT v!EtS HצB̼'GzR\ۼL{0/!/r4f-j$ jMFĆFU4 jNQHb.%mX He>YbA@@gHĿD8҆ q$H<6$C 6\.C¦QbTgcGpCf{CEi`H>{C,FB{C,:JO`zmuFfK#Ri,{ڨ6=gߠ!9!SU/9l^RCaH FdH֭7 Di%[GV5Y#6jU M4f\Aj-Zzߔ PDu J `z ./Sk ¡Ƀ AȠ.ݜYh@DDXaTЀhkcDĮm! sJUiRܐtP{KTZoC )e3xZɞn6DPTlF@2]S*o (l{M٦NTH8T7%dUe:`+`T 'M=16@n &TZ76O:Pn`B-zIĞ:U`ֱ1cۨŴ [0D"5|ii3XMӆh5 `ȠT1uT4Unšg1Oa6PM!dj@Yr;ȿo45]6$S gB5"j2$<8T 8p4"֥糂{w#őJ-? n^Q2t=aVZdzDB-@ Q x]Z@:ݬdRlUju녍Ѩ2EZ6Jp I*AUQիoa4yn6J`u|WI%(ӡf%6KnM!]Z`kxYaOL-HIv4L/ƺ JijafJBn} %hfkNhb2tv``GD>$@2d JvR*\$Qjz:ƿ4ŒR?\uͶU!A3:?fFa.95jq3`pkt;aAQC"cRajT2;V*lk`BUkLI[R Xz2:g+SӢhH3S1x>Te/ͯtl lRsC:ǿ}lG@UH,xŪ>a֐/)j539WhM[1.=]6-G6ۈ߽C2?H:~MFXC*O1300't =D6Pi ɳL1ٴ2ҀIf1w^ ᮁ!Q w 0pٚ#mR{-,mH3ܪBΠeڴ6 \Qޠ͠:}xCTkh` Z  AM@U`~ t(1(fU^"Z:of}>r:lMkHDc" hSACͱ7WDͱYaDͱ6 o2spÈF=!v nq9t"Ec}S!UߞNC  ~,**nqD՚UQ5g$ayg(Đ<|ilໞ<$,# $ ;Zo0yR P` Tkn0Ӹq)"ny^9BzA`?9fGEa\u2} inH`o5rc0I7d@B  #׬4_~=1@^N8v3MЂ17k"NV>ptQ=|o:3 %kCxjrlrMUx\˴*1δ0H>CB<=y.Sݦ.5A￲)f@WlEձj=Lj02% OF{RfR 8 (~D3SeU环Y %ء*i!! `fzY`%_ANR"PӬ\;9zts'M rD[אD-[e ̄! -TPG^q0c T %csڌN¦5]&<^YʍHsx[P r= шϦw)|A{AH $;rّ̳fj_Ѿdp8{*+1Éׂ͒A $ JIyD>D,MX lq͛?jZ0{PuĄmJH[ ۱P>aڭ kVڦ 1π +NπEjW,֕+l603a7AK`<5A)DK ě2XQ6A7z5O;me4[]UpF6k|qLUl0&7v &2Gy7X0z3Hq-]﫫,_8O, |eK6\  `L`lЃ[FC rfɈYY/,eƴַԁ؇+2$pg@eFJYDt =d&2iό;kTjKLLB N$y,`#2[%x"J th@'ƸT*_:.<]nRf>|&65 +Mpt]ń`2+  z.k3&kt a@:s&0k~҈qGxTC4u.E(P7T#9ylduM jl5a]k4F?tdR :dϡ/掖nf7"敥uiRv"̨aDP Bp:)[㷡rHRZX!%FPrs4)TUyRuҀ-Bm^f5BCVlHDk)|^Jo~Jͣ RƔÿ diRt#Đ1m*c+(sѽ6ǝ 0$pyuCUe2./.cmq'2bs/d[k_;q'rX.D뵴\`rŐK!ÿ"ï56c__u2\wBy8*X.fRy2)')G)h}H xhȇ#iWRkZT*5g.5/ARpBEj"VjCj"O#OI ;nԤޜHp&nJV!5nyvLJtCj"O%ugK*5EgçؑU*"5{ @XDVUj"?5pf!5g[RG;ϡ<)<yz2*V(YlU+<\!5"ٹ@PrR1-Hڜ0%_\'ڈLеcED"Y`iH3Ӕ3ڃ%MpRpFį" d'Dyf RgR"י%65$ܷ96H}BDt"M%/ETef/KujaP)@ΆoEDT"ڊLHr6ff-TE`g#U8+pyY]Q.p-t2ULө}jmeWbp:A"U<_ lpveP)gC3dcSf/ذԵMb]rV쬤|l,Ic+mST>6͖v*93RysEzj:*!CDF6 9%Pξ3šBz6fۤ^"ϫZbwI`^cFPE$ nƴ{a@G=/o /2NC&+i^t =_e+9%h/&M1x jBiK-E\ w깲$rQPcF'\¬Qzm8L&R"Qd'bhMY W8=(8xT2xTQa"RcriDjov ܊銈tTuYUs־)>f 20jrߜmcZBJ^̼wuE%,^CDQcq* Pk PM-ZȒW$+ϑKSuզO:ۋM 2PJCLA|'d#0WHT-, R%[?BJ^+8ENX W+8RG iWP;B|FKnѰ ''M`Fۈ$wItrsA̷WH;8n7G2H(~u脈^uA⦒$Ċ@1C@ƒ[ѰHS !}E&1W;*2rM;->5 ò!r,˪+99I4&ztQ.`;YEp LJyT{8&n"Tp98€ B#U|8p*RAiI8J% k䊐>& iޭu7`Bk$+"I=h{v:E>)NN;3 x}Szzlsճ%{VϮJb[m>O,Y@FPɱb꿐g -)`V@ @+g,6nB=Ox"ϙ(l${j!:!H#:l ꘄl#a]@!gu uE޾B;!^&d 8~5[wEztED"" )Ƙhos9t[aHWH z+ 刲 l\%QF ʩsY\cVX:gJ>;٪a\<&&5_ضEN* ŻdIvO֮kEH{Bę&eCY"s?2ZϾ_oI,+Hъd %&L %=,J@>r*3ڝѻ,VD`eՂ%`vEPx#bgRJςHDz+gB8؁SVܗ!/UE3_u ID+~pY/dwUn~n9OcI_ψ󔭈].HKH.%7jnA˷#b̜ܹQq5|ݐrE% _8W G<~)W%>(=(y\Zt]r"8Mӂ뒣N.W$\u1_lv~]rڜ%@@ .W8~G ],w;:DJ+ysNJaGJoW<;>H&{!5XvC)@0ΌSUtȳa|8R~bȻ*̵w O%U9'@ޭvVԤޜH!=e<Ȼ r GhJt;zsֻqHM=u4;Jxʎ܁Lgpf!5g[R9YKRyzjvYY1vY+f&g[R?{yt`rY=Eh2LP"4g)D>yHeRy{)$A|8RȾ9 92ofpòJMdU/B>&He$įBx[Uh"T*z!5C W +o%ȷr G/qMw /HKRj+8ZA\48>-`X3nq./p<:r/oEGY;HNyYY*,2H "p ScH{[o HH;Y&ݐC6ˍ]jܥj]jܥv;Z ۺHpdJxz$G_J~01Q̛n?1xLE+l8I ò|b0GL1xL(3Jy'c?F1)`[1 Q08X@7|" q4>5RCr甁O!EcD5@\@.%&ꌄy/-k,XL%dlvi!hmo&QtE{Er.Tk^EGH)GU4*IOQm`Kvdi b9dpQl0ې&誹P0nxxeBݚ !DF;\tmz*̐* SYcZp5dOծ`% "A刘* W":3=Q(\Jլ%7DbH֒ ڷiBTRuۦa{aBta,`J(: +=STv!V|h8_H X U3 Ȫ:Hvj3{dP%f5Ʒck?!C9ʑ`#VsB&9fφпbyUM91tyKp3$$_ʱa2+%&$\WEUR|."Ҝy,I[E DH`r*odU_dV\P˱<(P5ٟtgyFeR\3µK!ҏ]?ijD/sǽ`/l%b&:ֽE- f>6Vfj,X.Ey%3 #T"W4tއӍe0|`p CW$t ;;A )ܦNf:H`B|wQxsRnꊔTwr :]r޾ f9B/ЀhwZN3g\S޴^!꒳TWNh Jb%7RHgĐ (0xݰYYWw-((]Ka. rz(m)Jq3XV2gkk͖\|p7A?@ z (jDuytg\hCk-(pF9 z W\^6aau#J"‹7"p'XjD%'0vE]r+R;Tέu't }a(Cҹ@Pv:$ۻj (Tpڢ-L( ]c[Ҁ`U[Hj`UBEHwt,> @q sضbD4HSa7H,J=Oks*'Н q.( 4.rLXs ]\&ا࿫8< <Gf5")2(6!u=&7r0v:K 2^C "=f==@s*DM :<0}H8gEU'o wym 5c^3$ys܋2Xs"G=I5h[Z D]28-2,q"O䬂 x +sq6+/Uw pel9g7cbHm{6ds+7aeIcZr~4U13@|9'DێƝ2f'wsui:6 -Lo;#3edpJdz;$/ |D[L~p~4hMCsX}5Mؖ`#rO1svH*2c@ˎꦣɕ _eu+#n##wUIcmC0l-U INk:1e Pp>C/SDEŴB0c"^ E0TNZ`!vQ^PfrxTʷmJWθ=SK$))s3|xS3K-;*3Cn|hnjFd'#E!;fs F2]ۋ $CSM.z 찦0CFa"g"fT{—:"eV~0VQ80ID֮ڧˍј>9xpĊ,[<5(X3I(#k(<_m:VunaXm pd\66};t.=ʐa׎oEG2׈,7 eC!\;6UKN^$دrfaqF7^D.ysʦ{Ebq'ÀYچ!yבǠ'HN/O_?)=tAz +M3keIi<)vrYS3k܁Zcq=Dš@$Tpk*#dpø-ģзO"_[!պk5GAd?ϵޥ=ZJcmkoz?{ ©cGX[[+Y^Q ں=3ױcRo^H O(y֩=5O=~^"^!ތ^Pr7pۄtM$nn1D܇|\endstream endobj 147 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1386 >> stream xkPWwCYKYPFiK:O$<#-E 8eEQ۪S[)jgij̥ވ}|{?.MEMb3cQK|t1#gDlQHfd'3 80 )1M&xцM]\\?ԥeMMO "36Y5;3(m:o_CS5]FSTFS Fʇj%HyPM)HG(1GK4<\#qiCb4@& l&~a~h!{R[چn4 RGO)1558ZN*f,PO"-[ʏ>8QxFs{(G%ec$K"x " IF8,C g{cLuMv3Vorh+C쮘8ݱr*t6s ^^i1['.uBo-SձfSE*xf'( fml3!8q+`S3?-#5~GXj(E1ΰ0RPS.X[qx^p*evu #G1wBp ݆g{/#OF+Cl.[ zu1 Mv*[BRe{Ў(y@1?!b@viQ)7MZ$ Al2kK[X蒂/|o=VUW!o0;Mșu|vTU"tG?aQcopnӞՙzTWJZ<>sxu50僃؉m^G;\g19~0Fu\eVW66UZuԐRZ`L{E P1{uυQ>LRW,kO:ի&5V191iQ4Jjc:p5W%.D&x'/a V>̴W: ٽc"φ:Fq1tȕū~ p5}*inIkSLQTEs1/.ba;PRe2.w#GMZ>LPG| C *@3gRCia62<4:F_n@H*8fy`nCQoVWo\ ?4+VzUV疤D`rsvgD{ռf+g5bbAYMM;))N$b> N JdPAmx 0OOs8lcXy-?gz=&^h) j[d.MEendstream endobj 148 0 obj << /Filter /FlateDecode /Length 2478 >> stream xYYo[~g#@/[fh xIt3"FRDF$RʯwfΜ\Μ;ˌE/Ϯg7qa&/gNJ5>GSfg9Έ^+l+Aٴ˪{kخwigz@k8bmZ\)Co\dJ HkX*JUqNL_drwv=v2XySn~r1ns 7H%v\Ͼb{Wჲݗ:vxe#dE B؝%D4{Xj{!հ;vi>j,z"LPQD{!EP}R!`F_aYAA: Yf';^HXZAwWu]N+jbRw|R&*:ӭ+ԦR+u]J=`2Z+|ªڤU+R/+RrBۣAU*KOlbpJRǕA7.!Yd?etRz*Ro*RGhJ̈́^*n+Tn'LPW63-T}@<9Gl0Y9Ac>< f"Q׻ĒcͼK|J}|܍|J)%~(q1QLѱX@a8|δq9YwM=UYݳŁjfQGL)>yaa;ݷ#mf !#JUd\`0n 4$b8-y`DzpؙQqE#W4)\DZiuwy(01h=}]IH/ 4Tl*)_Tbͅ%Y"/*1ٓN!8%5~XE24:9J12 hwAXeB*DM 2xF7dNJ%M눈2|G2R$s 1kؤN-;y@ۤq6Ed|<:*w%_6U#5RNAO%WbLdGZC3T@ %]ږ4'({st AIw[5@ xq.5Mz3C;5^{/՝a:sڠ\#3Y<S<&h ] g)]~`d|Co YޫT54|O~V<-`R);dQl?\|&TT><#e@RߣH97Z)fڣmk%I m}X)qS7r|GjCڗl 26l ǔ6hxk3kف KTDOq|XTL+d[4otE\cwf筄SKB߂9 *^ÌB.?n_t.Zr3S_Ng\dVfB3ޡ(0." Yߨ JTK,B~Q#ZBE:ʻ eEZ8T|eط;I/Mj +>X 3B9|0f-U#k&TN <*}C+BPeFIrhmˆecA)a #Jx9^4!w1h88qn*J h*B!jvB zqgaS&e}#y&K!N9ƕl*2G]یko1I#Mjs:/LvFI0 P#Y[gn>^a3HCsu[@2J+J{QJDXjm^՘o^J~p$R = j)idʼr޻&ﶡc_MVMgkI%E=I '87]!qr87\ }inU׀x?> stream xmSmlSpKCsݽ2(ukte RTR0؎l߱_qu$M@j Ӻ2ǤIiڤMpiNIۏs><խp_ں{[q,.xlɵ$PwzS$R>ڟ$8nFmo!<>Ӳ^?Q(>@gB`ٛ($m]gmQPm^.dNl~1 #85 `t@;ĸ,# DXxHr^;^TqYZ>`Mvȭ!sj%bfD%(/tmc4!6E5.݅^ŅQ`}q`!JQ z gDrD02&%۹c'0V=]~Fo=7J( @6ko\ Q 0]|fyɩ_T=l& e|r(fU MT7aP;p9`v D,;Sp\ԉ$|RIxe}(ABKJ7 #Pf#e\mq᭄RBq6ą @']OR-ʩV  gӣeb'ޯ39ԍ(KSρ'H:b^S]]S@('jO^o@To*zNWA" ]_Hڬq}ՇC7)fs95O9{\Q:kݨ#2NzűSZume Q,g=w.x9z,jzGW"f^!a!GD~惐I2f[U肗N E7݇y (UOE .&oD妽5O:ڛsQW9ݡ&h//l-S)&!Bd^иHo{ _֟g"\42=+ xon̽LB4> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 151 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 440 >> stream xRCMR7$,  ZUQmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern12Q͋oKL0bg͋§j~'eg #e'͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ !endstream endobj 152 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 280 >> stream xcd`ab`dddw 441H3a!"nn'~%Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SRx##sWmf;OUsvϟ_]%g#[Uewy9|ŋ/d-=}3fn9.zͳyxv^endstream endobj 153 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 396 >> stream x~CMMI7'+   ]ZWnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer ModerniJ(Ҫopnqnzv`~z\e~}t;_bdw揗cT(]z~ᷯpt|rMwCp`  7 [җ8endstream endobj 154 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4930 >> stream xXyTSg޾1KQKqjg]VVEEEV!MdKBr_%IA*.P\ZKvکL?7`93ߜ@r{=<96nߵeinIW¸ox[z< @ƄČ$ITty>KW|asK$  HD&g}1:99qճϦ-;8!)j>ih#R##|^NOy-4.gxw?6&%$G&lOL'b6&nMzprʖiafo;S;6n[ f~LŸE @&9.b7O, /E>b%^&bxXNl'^#IF&xbI8#ʄߍ|c[T8j̨"9:~̄1c珽3nSnx,x )&~u;I&]SO98bJzdD+U>SB yP!B4ZN :Z8j'43n*JP>ʀl (]dWy BznVh7A g݋EPQY k2!.Ρ3@,J-'cy!uG<>[~_2F0WgA_~룏b5Ri=]wӋcS(n1 ѽͱ1TQȳ+毈dr *ɂV="Q l2}&B3(4gto1'bh1 fj@E_3'g}膐3#' 7)_k@HRU)bܚlk1ݹOaYQӵ 3':,pmm֡\Jo0@OsݞG2 y^G E,D.KπV-h(BcA\ `StU@#{b4QڸM0幟b}A>|ujH`(S9eT,z0LU^o)%=jtV)f{BdG؅ P-gO*%'mǼ"#*cͮop`ltnV!>>]e%fjdxV<:*fmi Lb79:6#$K_#~l'Gˇt6<+;v8ilnxr77A%Bh7xQ] MJWJa:+Ϛ$ʜzGېg5a6sk[vZQ&3k:NlG-WԤ' %vUbn5 *?jQ+[P]uIH/X.EvF#lqбs9h.CIg~'P[f2K>Gl?Z/ i d$Ҵ8URKwg6/GwS}Y{VJq,窇 d()ozC!C |7bwZYVԋڪN_yK~*5osBn (kv!Q0ʆAug"GQ,ZL5>ءS<Ȑ[!rt@tEB*!m;Xz01Ñʁk,G􌐛^T T&+‡>tޥ-Y ~:DX%ur<$ZϖlOwdGNplu''%'XTf]s(.( { YI~9^4; ۡ@fO*gxN:q keך >F~J:ӥei/g/8n?C^@j?C)ݾj+{htIP._%B<)@F ERjXIwYNs:B(9mP)X6tAF* R7H4Gs܃4R*'S)[Q$b,5`(:a5LK\=l-;@Ss}(f:I73cȁgc$ ;xl:6]EK I~{p=6< >n7J~ Wn8m&=Ezi*2ZfȍPvHzql"~\UxU`gMq19TKvkST%evّGۙm8}[@>sIiWjt:ް9M&zoi՞.]0Iz?O8DVeD!D)ŨC 6}hb8pF?P$ʙQevUF@?&AFR0APNMq+eZͧpsx/W~|Ll=;{J3WfZ,9EJ iʊ[_=tFWJip|s-K=O o;ˏ3kNTIBamVu]A0= {ƦzZmhN"g~Ae*PCѻ?c?q3[Q?M9zgr=?ǟS.SYu4&.PEf]X#}JU%Hbei &'>BXs@-^EDdPq e,ZΏZxG[b]W+j_Qm؁!QЗw9'齐l Z ZҺ|?8W!:5Ѩ;h}@[hG ]|nFQlv`u_i|( ѪWTVJFIDl> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 156 0 obj << /BitsPerComponent 8 /ColorSpace 29 0 R /Filter /FlateDecode /Height 600 /Subtype /Image /Width 600 /Length 11245 >> stream x |:],FVC*JI.~~H"M+CCZHdc(d2Ɔ19s;<_/}rqh}oqd4y8^`xtpqGW+0MN:ZW +Lcu+ $za4(xsnocqP"Oa lEB"Nֳ&ܳSمA.ʤ xEkɬ#`xEm{.:*WIM\J w8/\8^Fϥ xE+= [XB6X@ xE%;XG4]^8Mtc=Xl0\W9RwM-1xEy;qP"̉5#Ƴ2u@W +\ )?WdYTu3 xE郪͟+Wuݼ~ xEV۫ފ~2zuL% xŀ1YG@ xE([>J7 W$woЎ6Il}?$i}F7W$Y2 A[F4@^(OXY)T^+^ֻawЯa* 0WL#g5mp[/1W2m8@̫_IE UB[y:~.#Jj_hF4`1koܨ"F_,hFBb^}~iR#f 1Wbg^f=gs-̯p_G`u!\tRkvrvBP>"'IT*aq^_9 kAnlm+VZq0WBI!?yVllҊ $M[x*fԑVL UFg#^G2{%9uD!U@AA^fJ"A!UbEզ#` 1]MU[uc҃In0A^d_D~KwO`]t Bl_z>oU-ļfj3)3'gմĈMEy5R+D/p2Nٷv0`j\Vxt{团]ЯW~֩HuQS|~U9+O 1%^*S2Z̝[?hDȽU/55++(qΫP~Vz}5j$L5#wCO֫y/Xʄ]<C5ZEۭ^ͫKލ{%iY_s5X _YpLؘ!O>6ͫAKF\E*=/!fĉRëվZۂZԷ𯳹AW5AޫC"}g(:«'8^.رcBf)u7r논r\gϜ㖸\kgO|U.. U?cn]ZXfPPds^+GYaNҸ Ű"课5_ß2KYn,]x5 M63g5wޏWs^9 ..6p{B.U9D߶Vʝ֪F«oQmm+԰~뽽WBd b?3AW7mm`2F+>^Z:>a+zozDM_?0+48'hhMŶwBXV}qoYoϗej4^BO8,kW5+6Q ϯ>#߶W"ٝc;f.zR9R>u0W++"9:ƀWD(IEq0"B,9A8 vW$(uqaHL^fd`xE{°m++|-NW +\`s+7[Q+d<,dHcG-9z,8b$fґk&.UWM<";L˫OlgVIUzHvӋ+&6Hn;+o6Pr *^ zeo(À^Y[۩:{/ضz/xG3or*ꕫ>M{UZ$ev Ɔfyj;?(tDwy4ᦷu땫žBI;'F=\mΧX[ *[z*go/{~J!٭c{GpόUb_Me |cye:rn;Gj;%pYǾ^[+cx~Iج`@Pw{W">-^ͱ{.Bpfa(9m;{}&{xu&|:Ն].n($TF{bDno]m=Ο^q5w77gKnu{.W(7fNUmmW"+[;-ʣսUWH^ϭM?{;Aj`'_c!ؽڟqS֓듔- ^!T[{(+Fn+ʓ5q~[j 7ە~>0^1W?'y w}Y@pTDy9---)q;#w 8^}vtүAﰈ[Sꕟt* ݙk*ʞnHzBY/=il:\W=6T-+v&ue M{eo߅] ʖnNB;*_R+[Vm@  j9&1WtWTځ+[6vmSc{E'݃prx+ 큵JAN$ܨWk š. Օ=hc =$| {W#߾VG+~'PI v }-yUMr9돰 av L:gK,8F> y\B!*/_QcW 1ε7t3m(b85.Neʐ{pv\C[Vp_JΫ{7n8P|.j>kg*M^aY#w0Oφz޾ Ѡ9}.w>z*tzD[\&a*7Ak?7CU X&{D@nx+Uxy;J8^)&uӫKuWա'ռw+rMhBeEJYХR^ߟryKuWZΞ[ 俫Oc*7}njnu΢rМCF{ʦ-|oVl{uW^<WN~_y`_,Ty7=p{#c帖qSjP3ϨY{*K^v /3%Dhu^YwioM ofjjļJtd4@ϯ2+#cݕ_}WQ}qxyo.E*zsn|æ.S;cݙ}c^!uJRYjޭ9yեy@W"؟/jzZmc?Y΅<9W+^Jͻ51LY5-1^>Ϸ~7=2]yٝc;f";+nT2wf P j )H>*ߜW"Xy2׻@KhyR* ŗO{S_CWF0Q=#^D,'pD zuco`H^O>[~ZAWvnY|`fY2Q>8..>qF w )گ",y iʺ+GbRY*5Z0jQs??Ey˝8MS'0{yqh^Ͱw%\|982Y{dhmShuȫ[qek[{:ҭŃB`he K n@W Q[kʽ0 }T-+ث%uo݄moteǫWYG5{3󪅍Z\]D}j{+.Qx^=Vs 3x+>Hx%1j8˪^,u{ ^I e/G곎@R^eK]fc^Ɯtꁕk\vJCxU uZ+q8L?»^I`*~_eD7W<; o3W$!ދxœ) d;"P^}dAU@#G2EbDz Z}/<(ՆDu޵Alk{N=hѽ%u` Yf^35Elk{ۣr #Teb[+Jt@gP6]l+x%x6߫C"N7K/8ڊGԫgK, hd1:O%b4WvR9I&;W-h[ѯˮK'.8iPQP͗,_^c (^Io F#$ЅW'øl u=DmU@«u; -9N+ taH+WŶWګ{#'A;[+x%BGE_p$еW]2X;΢.7Wګ:+HvY;MX+ t՟:.#YjjOU$еW蟡ޑ?@^׃W«8=xx͗γ'%lMWثrUPY_UJz'e]feY ^I[X8u2ZJzny?sb1+ yl|,C ^IO%59+ ut~߲dxۧVJ=zֿgT~Ț뾫JJzujLd ~VW«ӞKm;R9q˝-ϛSqt*Wx%W{Kt#"/FܰM@w^M>-C<=$НW_]̃;]+ tCv偁W˫m]{6ZW˫_:WYb ƏGEM>Ŏ7q`WɫWFnv߳O+ yoW@^ŜM/0@伪X5uz%4Ueq[hG!eWCļp7qmIs9"h׫ӎ6j;:p H@̫.[>WX|t^ZT3ېisZрW>i,r'rzEMPԓgsczCE-gl [ h׫S]>^XJ;kע۫9c ^5<@;4Zt{SN7P> oF1hcy__}$=%o~H5z.y}_-O9P*{"'Izk.o ӍΫS=*p}Us^}璏WQE&$M[x&*^ւWxU0@ UFg#~P -zQWTOp3e 2SBѢWg~YՖyCXիG|0Ws;ўW竬USO<<^5!UxPY꿳z,TʳH@.Qy@W"nաjE-/{, UP WLm&e䬚(8ĶW 2Ipkyu#6ٷv0ϯB%46֨zŀI:W=FJp{՗iW}sp@ ^zDc9iyl0WgIr{դ??I{U ګWetYH>Ytt Q4yWd\*;Սk:#xM.-G8J֫ByNLEp,׫f9Vzu}ܮ9^j.^"wڽ6ҋ@:!8D ~X;m^3m3RWz*6Nչ&֫S aُիN sɱ&ژ^. zxQglW}Gn^czv^4348.Fi3N(x^YL ::M-z,BwCx^} k]kz,Pz5+4ܻԘW<{2@?ǜd uw‹N%@hnƻCxeY> Ex{I7P!ᕕO`<īn/Ŷ/o‹&!2W(A?^~ @l;Xʛ 0=#Un1xU25ɟPËR4f$ҶHl/*֫B ԕUb(p5[,/ 12e 2SBTz5UּBWV C1;Fw(« 5"l^XFDh_Wsb؃j ҪJ&=yե#W<@^oG艨3)u):fu'QѴ 3oyfRfNΪi(jt:^CLsqD++ˇ\F8.ξլa}~*!9gй728op847лP{GF0WDJׇіN޻ ٚaO?wD NBy5z>jv:M2H#))EEK;#O?:*DU|WH{p(~l(xՍZ$o!V~bAsAC=u??70p7FW,22.,+22.,+22.,+22.,+22. xHԫc|Hڵƴ͓0ƴvԡu;L;Ы6iGB1_´L;P)=csyU10_(3C1v/}iGc!+Wd^)xJb+Wd^)xJbquӪڌUu q̳]ΆO uG,wOql46 %X:DF}B!p+tw{2p8}īOQ#W߫[rZ٣~Wxϭ"8"xwԈQ>}T14NMQaiЋ8rxOQp%d BG"?d`0ި{uhf`06AQcSHN):'D:p"$ux} tBGpr=endstream endobj 157 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1219 >> stream xMLSW7 bM12` : ЙZTJ Je fgŸF#̹md-?h=7s=$H H 4y#L)'H(mR *(R8+ ƂuXJP$i7X6zesfdsLzQ55Z7i9R/zV1 iӜNT>b[?;3K4 uޮשẐDkҫcM!mjef&"i^/!D>1XB,%ʉ b!MɲHBAT䥄T[1KJVV(Q˂6n|sG524БGC[9G;=#"-p; + E9(Zo-OƧYBr8`MEe >Lr$8T"et1oA.x͚R1-wƚ1, #?a"6ڕhƐ|)?$Xy;rF(!Ww(i4QhcX >E ~Sx<.E'8H|x +lB-yŃadFEs m"d?ml{X*Vѽsǐӟ`*mlmЛ5$Il$rڭH/Xe.޹+2)r.'7 7B̑`G}òb Wob^ifnm4Oz;Mhv7m:[+۲|~˟ 7?SZT '  N>[B>>kUAw>puGmk,SLO_ѣFG+f #< ![he_Zh5 i_9sdzzʅ>VC1M[] &$a3<vt<\ {ƈ7wl|Xi`Y.NƩ2 xoA~he Zfp>fZoG?/W˼wq]™0`MgV@qWpx-NGB2~@]:v.BC|T B-vtg $I66l>Yu];-8}`|Z+{trO*s}4޴G)&E$EEREUcEendstream endobj 158 0 obj << /BitsPerComponent 8 /ColorSpace 29 0 R /Filter /FlateDecode /Height 600 /Subtype /Image /Width 600 /Length 28050 >> stream x]|N[%ĝ ݽ8BP\S @BqN!gfgvnr q7w;供y{0#<^ j¨ȫ c~W/`bPW jA 0^1+5xŠ`bPW jA 0^1+5xŠ`bPW jA 0^1+5xŠn&>>cByڮ.?Cn*,_mFF6G?FfPWakCF6Gz@aի >{]3VuPWW)9}B?vIû7ZoTj:|dN+I]&s-x֤=PI1ه V.zsٚλbPu{ȠdH^^ #(M1 Um;4gn΢frBwmss x5J̝zMF3Ǵ&c+.nl yo]Jߨ3ʤZw_ xݿ`7vu¦\JX{o C5^>*.)g蔿F*t1ë.Lr{cPk nr ]LC 31Lx?v8)t1ͫv}DrхC@5^u.$nZmj*t1ɫ=ߛqPW xnĵm3PbWfA:5H;+0ūȠ >o$+A}=9M*52BC@%e,[m aMBJo%t!lu7 6y`[a14+]NKFw`KhW-wOja)4ɫ,D2Z;iJ6BZT?-W>"CC>-WU sڈR17`ShWeǗ)Ɏ4 1 )ĝ0=5  ꊗyu m@? S  jV{ы3DU8о7A{jLbL w>Cͤ7AsJu^ĹX`Ar1Յk ՉыCvݺ l0:94ǫvj~a^$]yD{5n!oIt 1c9@%bx x5FxQ}Y48={N#Gxu_h?N欗ser-!4sMnh''J<5^ !5u}'a_g'Sk Zwh4(n=˅-hW9fO-+c^e<ט>_o!&;S&CCc:X6ۛ{6GM1"A̰ULkj9T~bF}AxSj*݉Wb̫VO8:eyAi$ˋlRyy`Y.paxH,챼N\c{+%`FZ6[{_.|d;ƫo_C .Ƽ $V~xO}gr҈Tݙ}o2PW3ȑY-l;?'o=vo.,xJW[ f"ԭ1$8||' փgZ~ *޽1֓\}[ˈ;Pױe R9;|D=&>r[qchQœS(KZM zM%qLcpSkU--2WW$/p[iDC>ZyHҚS .w gu*yp2 2W$/d*xNhU@Fܲ3iMٲ$pDۣ|J͉s앻1ovlQ>^p*j)M5w`{Uo&G4 -3‹OzgFt_N#_QWڐzIW-)L(P8K$Wn3U@A`.&x /I1*:oMZ 1@x0)"BY◗\T<NAo &{ Zъ6}gM~H u]x9*$a9}:;A5^u.$¤mj*t1HaJ.le9r]Bn='zbO x8N\6z= wi%2TB:gfDe{)QZDi'ѫw.{"=9 ϘWEa' tjp j%\5§ 'qsD~6SO[4;jo̪I? pk̻+98=!VLJ/ZfW] /9=Zٸ v!TluQ\m*~*41gq@^PT $` U[lQn2ڰW\&I{a,w u|FȚ寋BSaZh(p⴯Bm m5Zֺz.4Nlyk:y)t R;ɡE 8Q wRV9pAؤFm׻"ֆg-^|jTwI^rE*>rq.#nv?6ֿsl9QxTcm*Asa}C\.4QWJ/ zJ^'F6rhOVt&n6,LsT+p.P!6h:C(CdEzh{D]E;K]%+K-Kn稪ق ޝY3MI"w{KjWU`0 Wd:=Pܨ!7n:] /OGjCa71,/[c=u&2wwaMvII1W񐳣 m%ђX'Uk叞o7}!iW[#o|Xy}&QƍU|O^`_a({Q۾U%hahas~Y486bxUSH?\$rj)^B Wl`03rͿVu cwu;9[-|!A?pT wȓG*w]RB1HLk;6J&h~QO1 @߮&-%^*2剴zޱѶvqvA.?HmL\t/H1))ƫBb" G !ිd:FfSzy˶3޷&QWUvFE*mjWQT,e?/< 0kb(ATKT+%R&3)L0!;Q;ޝJtJ@s-Ӂea!8>i<ȟ7 Ync~0E¯4G)Rv%s 3%I*5ǫ.ӄ<#i[ ݥmuOEJx$2]+9~? yōEdB$N'J4ǫpQ82=0 QmwWĢHOBtcN|WoJjvxsZ1d 9TD)xBsz 22=0ªUdFP1/)xΎEObpOW_צc0x%6J+G"Gb6KR~˜b M64sʞnMZ=f)k;hW=%F ]7Wݥ:&876w#N*}3\;"6Pdu%ξf3ݮBx4 .۰^ஐ^%$/`/^ZsDQie"|{|Z5˕]lJ/CM͋cN3 D HȫH+ ܦw9w2 BpEgBy኿Ì㷞BFRVz_ezYZU8hmZ630|NߺXQ[/LM Sz 5`Y^ӨQ{툝ݱ;yʵkWiO9'ORe 4<>sh) CV M`fἩ]U|pQuBKjEp>84PXër-F"Ny[d/ݠ+vmOY\"W4͏|]YW  (CNyդd }N>k1&$\KR{ Bkx SLTGuR:b;Nw}8b"ǾD+nN(d#oEo>Hmj qm*ªy0fNy;J &VނP}>iLQ{H-NK=rf7ָ{IM3a6J~*^w  ꆢT>m7bMiZovKd<jv_}mU gI=*x|O-<T׀`KN8?jHoFm!;wZ)2zO$a4 wBH Unnv2 Wa{,_aaW]-~i/80$P [߮!r<ʚpr7 N;޼? Ob+*OmZG8~ 1Yыq)}H[o^%nlWdMaU~4G(@g˔zP9d|NF`}X^Źj<.Y\j.8uƺ ؿJgFC(F˵ג)UBg7/NWH_A)^=plmґst3˖΄X5rsګMJJ/ 9Dxy 6$,Em WWIKX1hR ]L Veϟ&,~0Fj+`s n3JAz{9s3Z]Q1:;=,  *')I26+79}^@RX ]LJWg󩣇|f5uxexSa(|H _Vh]nZ=Xwjfum"CN)d Ԯmj` p￳tx%VvXrxLG|+WHmWY&5-t˙D*r/4a.$7soNj͘BH6I[5ͦbAsp"czO0umw* N+~>WN/8P9suC~Ǹl}GagaBwFo ٺz/t5QpU rU]E澕2ߣ1ޕ翪%87ĨEc4u{i2n-< v̓<%.K/tg y"c}' y!K:f$h_@ɨC_שKϜp]VdŮBQ";oAwK%7*/\Uxnr2&oa&2't-BFsދV"Yx545 vXpMx6HW1 B X^5 g/惏\!HuJʈXë#Nx;LNKWs"7%' w:GBگB{]lU[-,iep“vnY%>^>>E5h6,{OЀXE^U*v5ݝN=FOs$~Ǘ3^yp˾W˧R.9ڕ!)ֺb  'opU8 u 1b)Ea!kwD8N=F5\ػBh/U?AAs@XYG9 {K : 9j܀Rȱo"@c&#,w1)z`Ռ !17Zm J҆0g. \[uQ{3"N'k o#/ԧ)6URUMuJ!ԝ2ѾJd+%@U]w O7k'(krF~ 6qy 3\娽ͨ^ ңg`Ep-O87\%Wm[Q'N2"pŮ^mB 2qoV6Pu~ѧ9U+Hs6(_\H6lݸ[ k2Y#G. # ogVQ{o NaT m&˘l{흛R9F?$rCT[CwjsnJC=oT9-fC[pa<ԈB6(RMeaN&i?U+x,yYSzxnH Su\r笕@4WU@Gp~@`g1y=#GBl߬1dU(^esxerJ^8J5);*~XM9#=9nrfH",dnIJ8$DGּOf iȍ4cr+xj2^@W/r !I%:p.ámg@JqN1;qgTxZ@V>np택 d|)*a ~WfQ" $ӑ6dCGohG(t *Xq19Di@*\{-l#q^ut)2h(^Φ&1(\,xz+.߂v7}1ϹND\9/K@( L :3jHVG OX˫3^\ɊDBiMAxqC!Β\kMfF fD팮P )©]IpPsZGg$Vihg1`22 >4AjN "&G} 9u|^H8fhvՃVTS$|]+8@[B+ W7\Q.C~Wf1F,R'#:( ]|ex񗽁)Ȁ <x^\И4Q(#Lp^ 0:oO,~;Bg'b4Y/ү=}$Ds x/|hL!Z>nA^u兀#c| XrJ/j "0^E7qCWQEo) _~X9œ_gU'!j8CO7C؞?T:}{īew5}+shFB2?mVmNN[h3+`ɰp۷\R>s94P%1Y6^Î N$g6Q^H+cjZ +(/ ӉEf5WluΗCCE8E#LS'4B΢hٹE1 FӾ&3/0kƭ3iggcgJxeDw܅I? mLo=$ &|-}B[\8t!Ju_‚ΰs=^$Ʀ&nܺ|}IN70^(6*e Z79mд:ˡOwȠOPS${{=,[@DD^S)o %j,9%J:A.'N0?-As Zp'C+/?Y.{w~ |a t;z9HҖvqOZy ;5{Hr @\JJD"7Ye880& Aڜs*ƼWqh*(n*nF$iˊ[cp 4;瀓NV 7B<߾j`xmA( %x:f3xe[k ԬBB^iEWvb/;E_(TvAɋ~D\m2WNYpF[5,ݙ{XF6՜Fhs: ۞<; E}+~,"II7X\[.F V'ׇq:C|*Lƽ?67H0ΚhEv!|XRz8&xqXO)9 q.A<ÎCC7B.Euac]!&q)OTD>{.e9rm7!%PMD0Z qODZ\HJ5hYgUg}$A|M90^eƄY0/ϊ$gGC!P}g FCsɹ1`#i;u57pf7uLߠpNSd7%0nEinO>mTVjcmL= y%q5C ";GB蟨O}5Q~S+ q4 (mH+̙]@;Dwr!΂`Y~l&y;Lp4l(Պ[&Ah_B + #BY8K4ͫ8QLahAE;CTkhpG]7*[|j (܄Tps! r.7@]++W C( ~*ygr3N eV[虊<^$Un=8Ѻ.4Nܚ<{9pђ3&/X|٨Yh@Z݈?͂KO!z(t\Q WI;^)_^:psp>&zu>8 5%vR>6j FlD2I߄>oo ?ˁrFW+ V@VOe5?;0 +"5PzbnҊLtT1a/7L9ѮXD8-?w =ex'8 f^(=nm>Ql$"AE=HA *B% )$3傁ѭlB^Cjh`#w+/K{4n04)=y (0yQC8ExoJ2" LIt3{@%qfZSKcWI.20  $}т7  8q뫎F"l%?rCM^_=w L?v0 ~HI|·LQ&m[?46 kj =il=&R'nh 93݂c{@DwِKI8/d&kCQ, ^ԃ4 k:!&;tq?QJoepE=ou?yBu, ~W10 F/4%c}=qxe>Bsu˃qV~GaG{ynJI帙ԖX!o+p셶lŭ2@8ҝHkhy.W&[!xp-Itاa*Qc lM ]k/[X:cݠTG%xЎOc^W2jq^HkRB+8#ʱ=#{ W[}{A7C|bTB([+㈗a]M뉡ZWz|NhJU LbES]4"j4YEF yj!xJ뀋t3" C_~b0ܳ׆s;F($raq`cX| T vHTX0^БB[(GJL+7LCTUر ݃x IWE6qoNk:t|\ݤ_ܚ8\yi5쓩1W&H&!_f%Fׂ|0ު)PAQ|4Pb _A׿/eg(ۉ\Xqc \+w#&2^DK+MZ南Ju{CS?y#YbFϺHPa^yؽ)@B.@ ojx1cXë WI&Q ќE.K,v3؆_:-S{ rvk=ݡJ&m,ȒPIa^RF[ 3>:#"}׈ =EeJrzy|Gçչ n ΃`~: \!"5` UISWmv'wMvڠbt-0+zE&uQdryw4˳)oyr! 8 (X8\uBhygfV^ 8>[v|x06°!3&2{V9r'hJ9uyT%+(ڰ('\8Z*,#JyWbT#0^B=A-uHHV`5%̦j(6z8CZg!,{ ų댮SϸDsQyP Zbk8jݫ8Q+SIS֏5Ez(#1JrP3 up_04ݟ@=6]K+49"=gbWQ5J0-pd5xe?[[V m7tgJh !aTGb#3%D6rhc0UU5>0G.2WdYPH? M$ }id 3/R9TfY.lxe*$GG$d8V"[JZZٌRIuڣo+Zۂo 'rD3.Y0Ln[ë#f*Tٔ=WhcR91+ܛ6_e!cK'&0i=W#3 eM=d `?S 3}yyQY 5X] lrTyev"V+a2y-J^f%vG |ob?5v0,ZY&WG\7j!_?4)5 >x؞ ҀyX+|rv)ܲdlRr2^@- &ҡW]H1`.[ y^x!XЧh4θA?XWoiՈzݾ5 y.ٽRdMz2Iaٕ?WE=7nͺTzKUޅE,)X};%u썫T ߣ!]\ˠPX <9\&cXë)NîSqpx%Vvz08 ( "y佄v`[5ٲ^~\_~g9Q2 %RA :.d/v`Wn5e~a"ϩ FH2&s4?Ɨ0̎1%8˻nqם#=UJ5r!)3uda\-$i WhN3H <K+Ѽ.]&<lŪ&#W&,*E/f*KqCZWQ>vwgMeR kٜZ4h`Qmw-q8^@җ=́o2Q,ZEL*:i_iQl@(Z'YKhdƤIu6^n.KۥpT:ПpSqͦsIJ(ԌMZ;ǵ GIAh^C*Sza>kITz#XD^ (wQ\|0_ ɓ ZAMb31 ''7_ ñx\z2wdoAʳ.0B 9"'f?4]rqG0^ievf|ew', <ӧ+ bqFO\?]}naCAAT }%X|d ʫbT#0^) O}V( F:3$s+`>Ґ*RIrC}aGP4hN(L>^ 81CV^#mJ Q_&Uie Y=С=cfJ'&%/zB&E3P^ ^yЌR`у=ФGȴ~+D^Ї8z /) Kd8 W^"(\{YexA$QޏDd݄}d8$FcUV]Oσyu!wQy-~H\qO[N]HZ$WJKR0^i;9_bTud7aA~8_(gΥh^ծ3DCd RO ^ᢎqdL`aCIR=uxAޫ)#V UiQWH1 YWvs酨lhG4,ȝ!.-* TH+X<8*`k@d͐T`k=;>䳀`trA {0qH+EW =NT4 ]zyyWw5 "Ajz#̢\"",}ait*IP,FR~?DpYQh|lm{I'v*?Chv;;w4OWb9ՃNאwtZ?N*kޝY_6v$ 6C:&1j5bD;c _E7"RDEyCy.8*Gl#OGDpT jU`:d39 y05Si]c5U]BcO g0gProt*\d4蕐l5Ry) E NZDPeCNH:S& o5X+ڼX5 ߋׅiWxnٵIbUûld'v^pGXFJ (DR'> ;0^ldC`W|F^pZ 6*53%ҁ ~#{^]c692HCrӅn2' 3|{/d6tүDKmp B0زBih+%oM"VhBU}.l<ȁ tA|WX)%u;$wց {rS{tm2^)x=%66*@74H>~] <QѡzH(epHF{py2'"XTXNiMB?`w +ns=L->٠[,Vk{.)!zsJ( ƫϰN);uO#'Xs닓CgJ?&xpApl˳j'hAh' &2ɴ@5^}u&57''*u<;JB/sapVʉ^F3X/DCGw}pX&|~tx;g捡*>:qoΛ̣@r15j~etҝr}'x;M;֧| |~MZdUz'@e^}u썅~/VopeXu3tBźP{ESZǫON\b\omĖjU ܋NtkaS!z!ќ˽- \Ղ2j 46H""y{MP^!٣lj^X -/Ҟ)3]:)*'HdKuϳ\8TxL&{ }Km'yȎ"@϶,clrPT.[=aVO&L-zK}:A-<UkdxVAnJu^n|JYFNjTg0,Ew1][D84[h}>=zHli(cjj1++Ȟ5p?xӋ$4kBR+oa|ޏ0.4ԏb/7!<#o g;A㕀0>3|PK k O9v0B;TM/xD!3Fj*]Anj7xv)㕀z|.! y;T |W^Q;E^hw BqzRdi4gz&זvòrdWB3:{{*t5X̩@M]?5KߵW0 Py 5B+_eA Pzڂb&8ޗy`Xk#Kמ6q`Ay02DQiсi| KGwG-iE$2ױW3/"c R4mD;ЍiK=&ȓɣla wۮPdYʥ4Ρ4X+-C&v/zzUOAeu7 ˒;ĒEvsa x<$5+-& ;Y=ՇV#'WSC4N!hw\6gٷip$߉7NZ[ҿN҄%M-Jۆ H- " XQ|ka;*4JuT.zh?xE5i%_`-Cm~(ATv.`֑R%Q-)7!}C7g},۰z9GփNpC{1+emu0^i :I,в圠U8|eKrT%,*'$jOVnFU{u 8bM/|cJ;u KjCl:_H`wBKEG=胡o- 3^i#Hv)5}PUfRo]Y86qT179wxo7|CJ묨l+-7x2P r˥r>eO~qn$qVT)l [dܲ ~oS$^VҋlQ#dMwsNj[H#QznG)ОrA Gr )M-"bWØASu6m:&ϴeSFDZ(i8f6k:ojSU!Rש*'V.! 2=XIް /(՚WЂ(1"P0o]]C>W<&~P>GWAW㌑mV 0^iMI+QbHtjw,taJ$HjWoE1ZroWP8J0^i Hp̫ȫPBUJ6z#R֯#r=:dcb;`j j%Os#遫™;[*4q.8C9?=`j8+̫uh1B7?]IB+-هؓ jHO>ID/*70퉶>BxyC)Ǿ`z:'r_><' *-J};U}'3«Nd~ٚ6+u>lκ0z?ĵ+i8tpyn^ꨗ0ִJxִ 0^}j`hZ1LH;wP7'nHoOlsYKIJs£!KGnHqPv#6{czd >࠹K;TE/Fv1#iuÞ^=x7f~EetFs6AEwڿRG||k?ɛb2`Rg9̕2J3 !+IO,nJP.?_r${.Ds&|sBCnf0^DvhgI ;F#=}G3IoU=e1V@YB D …z&>8=Ux!Dr2=)Wy@_֮B-K=5l2[wOkdUMf[< њ_ܞc{w,$Hgq^/ה *L=bެ:zm`/W\làP*swt@mgלdt<ôuq W hpLٵdjCQ\l7XqUtXH@l5vzL^Dק*D zHlᡧPc09[j]117JDg˫+79Z.7sƁRgZɎ6cf|[۹/42} #[sXXvbQlxU:q*i?[^͇dx.1tRWs9OA24ޝaiLJvP{>NɃ6RL͆2^G895`5PW4='.-t4sށ1(8% "{818Xdɕ.V_ջNݑY[XT(j^_~z{(&.Avr8_u$Fׄ=~Lḋh%/Zgg.4~ۑ#QaP*n%vވj.D  zJͅ%#MyW,ϴ.35=~\4Mq~:% ,p]x'GJ= .yc(gj:xC&7~!Mk41 ^WQyQ zX n"^"~km󷫀E ͝ :#t% =o$dbQ!aBtKlRt#xt-rlƴnT9|ŕ6p%]j4F 9"H4@we52Wxw"p/ğU´4ϰjIut4>_#VHbD@(q7[ݕAjˇ>q\(IA ~dxז„ 7ݶ* ifonlo ^<mڬ8 }6X8‚~Z$dy8/ LC{bg)Ff8 =$9 9Ez6NT> ν'W̚N35ϝtq/Hm0ŇE%\v9gMY yNg˫ܿ+%%i>LUWFjmt8^+g(rUx.q@BԜ#o g;Ag+P5DAW=DS{08 oVe%M֖ܓPWI]o^O&_eeF RE%:AǛ?:Grq ?2-l[ G߮!LKs$Y/ur/bjV DyNQ+ + ፽2+P5t'-AyԷϿyJKh&r,:kn_}RTmE~Wb6T%YWZQk`7w2Z|h1@RTU0d̖TR$~ys+և*JcUp0A)eU2nx1w[ުm 91@nǞi؍TWZ ވl% ?ӷL.>V00^i O\*z3ڹi`{%e30^iubP5Kʗ5[;Yn wh+!Qb~gd}޼+;(\~_ipä;/{JnP7  hxAQ*$-?>G̤ >dWJQ UD||0^i[$Y?5"|+m" d+"Yb) LK9xY$64Ia&~l0^iu(V%9G6㕆_ugʉ +-#hwT93.o&M`6tjCw~ ,t~D0^i3 A2$L'Cmsv`l!ue@R44xŠ`bPW jA +eJ*`|[*% g|00uf(ta|*%0^}PWakBƫj ՆVR ]>_ǫo׫H >A xux%Vvz˃~T\3 U4H26GB𪶴VUUl >>wxB6 >g3|\&┵E\;;  }[P =W9џѡw8p-џѡwm=`Fgg3|t ?&fPq'M.>0)]>ȗKL5J5BJ˦e~OQAovΝ1#+kO%{.Ʒf,iՈ*c*MpꗕNd;ġ>8" H Mz $$p 갠D%"U'  y*D (jա\ "DD(i8뙝ݝ+Ggy]v5Fo%M'nj0 |%_J |"+*DWU_ W!Bī5/q:H_[}EPi<tAHqQflf'K3áqrbJCuz3|CoГpsBi)h(4Lo_VhLI5NY-4fݬ"D7f .yc$^p.z"a@FБZJI yy_cw$84$blFG(=]nDkVƶ:a(K)ajâv!uI5ZxYN]/rb碌6o5giFj){4㫮Cd5ݯ}@xNmI)+`yyJ%S$;ITKFJ8ު&SMcHm8QDU=zhɽ$RrJɭ˯]\/>UVM<ܜ(=i*S BkzACc9Pr ?bNc_AQC-b/r^4 X *eSetmHiџz3R!kT쥖Ұ6l Kh;4niAsz. G?*-]o #H^C)a5ÒM{`lMIph䥅$Vt ָݣw, 75>X1ӥR`N# ~ 36x{H|sZ?/Qk8~[-%[J04R ˖d{8K JWdj ~A 킗<fW BW‹9 cZvD!.ki 4aY +3xcW`~ ,mWrh[wdl9o|yRg[/o\< -Y5G)S~0U}ޮmzΈ؂+|tme%=!OLVY?-jFɼ͌H&#]Wyߒ3aTJ}:=}?Z=LUqGADWF9ˢ+d9!cw;c1+=Xu ?kX5x++@Kfv+kNGnoyS';:AD}䕓TWf[CگJ)7󫆣[zo^=@d:]ss1.8U "ZOl֑1Y_}9ClOg\9(;=ukm9Cn@Ktޒ3Y2Vbf 7U}N_i-:+T*ye.Fnڛ__̧xF#U]qU4VJyK{!(7G+*_+ ":^yњe|k]f)NS[z>iX^;.ΘmMhqX罂 UW "0>Y༶ Fwq7T4Uns/mՉCv|_2mynD~WK> stream xWYo7~?2-`"(yHίprh@vv8 gCN0͉"cXSFL bEfZ/י%+arjE4bAौR[XH e#Njl9^s H~}hȼ+${tdnULYTp9HQИ,st0l1lk =BcEzs_XCũ{҄Mr$tD€0 2mZekQr̘ ;2{a# C0S,/ƈ*@@P 2h֣w< v~ EOV ֣S^ztʣ|N bݛtY YxF+2i*GyxG҇cBHׄ!/ZrW<6HAb(Ug) {9lNv 0KF` |7p7qc\@p~,b Wi8@k0Ԓ+ W4("]UAL\7xց mZAXhipϴ3:YBbPOP~US V2Z 3c~K 脕8 {pa sM |i\jpI͘X6 ѮwvP|+5v] 4nڲPbyY̓qK$Zb .We[$:y6p?}e] VjY-v)F*osnoШL|FWf?_Lը5-u$Elk  #?x'YW ̬[Z@c3LF267/nqUGT(6[XBsGYOl^Nj[Rݲ6tlFaz+ endstream endobj 160 0 obj << /BitsPerComponent 8 /ColorSpace 29 0 R /Filter /FlateDecode /Height 600 /Subtype /Image /Width 600 /Length 53597 >> stream x\Gu;HW@,((b{Ċ Q#F{5~hc/[4Vf8D5q֙w웙W%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^b"Q4K9k׺K͝0adnZ7k\Z^^6VИh, K+x@j:>FOI 0{eZ]G(G/ Ç.>r][H7mBb||n5W-2<(b.Ӄݷ?.wOd^.oz 0Y o$ڞbKjD~yW>y䐌{V!q Ql XvXWjJ0!,(lyk O98>%pL!j'2.;O/~w{dqM-bKD>2o[_RR;F29*,!jx]g<0qq]%`)O%`wM;cx[SZI 􎓕54}M5$'?x՟`\y݆oJ>x3a\G=Jl zN33.] QpFl YqǂbK?-SNzΦTE r.(>ābKĬ=k9{* P)4MRFN[tI-ko06%ESD0W Q^#lz_5+{*ɡ/],6qEbKOkwF+3f"iZ#bB5kkZ=ŋ;Q] Vn8͊q3e@Ŷw&T932Mx$=1o?[DG& sωֶ{ő|rY^gyC%`?d\޶ oJtHJ&׸q%WL\l X}\ƶ-U9ϗ?[MvF˶O&{1ko~myk}9Ai /i4Ph R%`M%bKuu>@٭eU,!iW߲5Al X~ǫT}j#9O5m.\D5+1ĬN^߾Ӓ0<Qq;afl+4#Jۮg[Ҧy+ZK 0D Ƕ΍w{IĈY{:cEy]fAJkhQƱ? g-sR&8Ht4U/[1sag[.͌k:Ѻl= R{-q'_10'3l˛dc/O]i`*Uxqc[fbK1->`[p3X?VgalYaNm=Wl tHl 2{^G@u-g_r|=AJ/[Te+0m/H ;n }z୺ɶ1%`O1ੌٌ` +b(`qeO>x"+Ŗ=GX5c\=PAGuSNKͷ SRmO*8I=Ŗ!_`*(*WGT:}Q,{Φ%̋^bK`5[ؖ72>k~?iY#llʵ#%_ ?y, mqZ_ₘPm#=g#*HU&gbmZkŖ\ΚqOL<25Qd|hI.t(Ω-3>7778+1䷏'i&st9/8!'JT3V滑c(?9ү%6/IL,=k7g [Ww#oЀ;vQQhX`-fPvW,3h*Ϛ^4HG]jZmsk8SニD"lы.$%z#Aq9S%'A䱗?\C4d:ksECmYa&e^DTY!t8ب3>K6Fg!>T9w4И0iq_XObwglGTh'#PLezuvdmeDN. c4_M8(S[^[Rv7]AU :ҋU.x8 Px(^7M#`k#a#V LWTxCuGf4w%LWil2lK_wmq>?b/u!6@ZQ N)85h~6#-Takᳯ [EA02/g2yC0? Exk2 ਃ5{,M0.dtOo41FQȉE:']5m;#Nɒ"bo*y,Z, 0 |EsLm`HDgҞ4?GoˍgMH:ht% 6#13 % +!9YLJةc t,&-无^tGm:!x'L2180f!U xmH( b~vN^b'lgYصvTs-iH8~;bqK4]pVXb? 77|ɸT`ܓAkS[ܒh O͖Li"ڬ&8uQ&j}Eb"W׫.x]n x '+ur麮 E9>7;qV_tAdT1u/xub?,׎?@iѸQ.E,VY)um6t n'lH%Ⱥj|zAXȐ{fOȱb+c9hzݰ+:h@a3UuMbSzYƹY`!^Fus8Vn"IԆ7,SP&D<! #ߤxU5:%;x C8*w>RqE~Sy$m1:! cJP@z+Gj,xe]f=裾 MplS/>BbU:>6TmlDү:@.3rR~ ;r= u9آ-RLKD/u!#V2ēgi8xE?56u9VG(3Ƽ.6|Nfܺ'r1t4fG d8Fp%* {yI ePA1TqQs%>d6pTsƻ<{3m#2˗Y˯}H 4(QXϫ>̶eK!{RET-?:.|O/u˯ *x}c/g&ty[ 4L[}ўW5+#֚%ь[\F]YzK~/Qǟ M?FM_5b"O&Pbk#)^EnK+@X|*Pts[:mnڑ:л}C2e?-@֙ߡ =_N3ܦ!.*3y[W}Luؠ OAήjWZS@r|5~qR&%!_-Eq񲅾;*Kq$( ͷ ~%H_uE z@&u8S ?D-A%0- -DrQute99H>cOAjGE01unBxX?#'mS&dXܹifqōH ̟C ~t,ظ9l̰9vպB}PvgU .&Tx+"u\g';]kjOḂp dsԻ<1X:BIgXش [H*&MqʍAUE6o'DnQ.PEU꧓P4ϜpOɟW= [M}7lvky)vo(*VL؁<mW"jw"CQn#XK|_Hֽ) XOyժzt`&rzxΕ,H#1WiV欟$m1bgBն`8( +0kdf0t~,s]gT3 ?Sq&CoT<+WS$g˄YX9+>{5Egm((˼,5KRyUۛ=-{8o΅g'np"b(dI& Y׮%گBq;w{R,oqbsӻ]LeO^T]E1nج \ :a'~J T#7:o:O0ri^ׄtq؃UD+Y=_STٓ3QP>(op|07x,Jڮ Q,:A3&TӉBZfb/Cf ;^5$G-|d8(; Ð}&u^5-{'Wɫq6n<"&JA%5kO8[h?۴]F7.&8SЧ sڊ#P-N=pΛ[!6`=C<,LmU *$ ˷~3 69عO;şEq61mo y6eċ|1*ϰ+l%k8/[ӹ7G.,0L1j N̑[fb|_МCwĂj\AA=ʗ;#]jaff-D^mr_,nY52Sq;;$_St z-fkNXK$fhuxhEA}O l31 cA8.YW7ƎmrEl.A~j؟a7q$bH!pl}:̝"25ax,[ҚVI. W:deeD! <Wd,]^I\!ֲF3EAٕDEl ]ˌnv1ia4p{b;N|S ]JwjY3UIgEL2"B`  F5jRx+Pqfm6 p]KL{X>;v5Ϫє '8TYYV_!UqcDXgr~cqpPOF)<1̑L5uC.^Xl::@ ؀4Oh} ?k'Ed,]F>Xz'#j +BnQȏ sʏ̽ 5\兇dѾd !)q8Q!ʞoQS15 휪MS@ay7,q`|q\kpaDDI_PD_Q mBN¸A{(ܽz𜔖 **&lH\ec`熨rHs@@}T>+Z|z g>*Ɵ #G YFH@TMgM?Q*k%6'k'|Lg8:ڪbkp0p<[>vh@Ɔ?[bv::R\["ho*'1p4a$2@`Q,8T닲t8h [p&c׆ح͂>Zd tV[1#' 3e_M îRB/Pz6cŋE{xF?b8&ջg*mf bIhL3bW0^,XB_%8 [*/QU{|Pe0z^Q.J{U[j}bIzѸØuX(=dNNĐ!C' jy2XχAX&Kąx|nigYmn P vPʹx؉SpHxrOep"˚CD61Pg,3'ceunnC{Z#aOPnE)@7ŗJ6ogls'kNEXRvWޑSE or5nŚtWBуJ:#g_aMs b+5  ~oLs *?@Iٻ7V"I*hg9?ʏ븛4Wx< {S큛nF$@WCZ(g_*FyΙTtאmW@d1t?t8CX,/-#v"&tã!$(\GKGcE'L{).\F,I5ؿjxx|= RgW29&ZSėfg:U>i3em=$pD%~X+&#zaqZ;;Ѣ=6NY  #.?sC҃W&3ɕVrlzLD<uGCJPJ+0ZcNTGm&e7ե2M6CO()<;@1F㼒vT{z58bJ,6;J#hr {cY TyuU܈a_`tLPLI XtR+Py LeBM46V+]c/%Đ] ȠF}j*x˪ }q~d'j~INX+QqwpTi*FOSj Qs| sX)g0ECwCK-h<ۤY꽓Kaس;Λ< Rֈu{ % EXkp)<͎OnΈffl^he*A̼r8Rx 6asR|_јǭZpWeU)թ&VBI~Uɝ!Ɨƅ.غ+muy66RSa0/ggURUtnsQͶw2FGq}-[Bu9uzՊhTU26ܧBGsO zvj^)Y :"97, H7_Q́5hCaNz9ܡ-7"kiǷAuT+ENϯ_Z|Lzt wFtn4 9ްh8g8Qi81o-U-3{μzV/O.ʾ(;&{puR:\49!=RYf'6$`aw07,n3b/V%e#J9 mQۛˣ|?lݠ 킫LW P:^-t,;Hf!tQoQ7,^ʞdCfooZ% bgDm/>'b8墬I|+5P]zo4*"h>ro>`3vjxLYaeEI}Ef#3Cv~B82& j>-hZ0k +6? 9]bɍmZCa-}KӾ' b'vRiѐda/.B\rTf!oP#H}^rW39V.:Y'R+aH:U3bx"1HQaf+M> Nlh/> ^ UwuƶJ"r0.ݕ. >ɿmU=f,68D6ی7J)9]dx+AFx=Vשه8lV%saZ(?6w'l+T`[_D^AWQ_&G+h):S -`0OF(T|>方¬UI9]ՎmwN!WJbHGpTie 7V7e8: h"B /7n,2a1+r 7B`$,E Ŋr2t _*strKSt|%XpMRLTeOp? #uBuq-^Ftr_Sy#檆" SR*wZvH~r_T5}&k]̐.ch`%yҨ:4&0^Y{lpRQE₩F_sR)H.Z U?tTꟕnX|oH|n k2uD&IVC'[Ţow&3eI9:3pQIeǻnNdѯD"YDT+qWwd1ea{jзY>މՇRQY݃ެ_/cWor7sWOZ}|nŦΌ z ,:w 8azX3V88voЪ!z0zz1AlJ9{J:r\8߽t}v F7_SI3_,w}*Ư}x!yZlB@ P8]KD5BȏiZ%%MשJz%p ߋSnk4 oÆf1vNccbASrX\iAl*]bcG*^nue㫆1G-:?p">~@8=" \3;dx Bš ]֓Kw^+ݜ~ qy~mi&j9C8Bqma΄ \bCj ̦ ݤ+xm} <+(5G &6ؖV p?D%\_#{P086LYy ^egWFh:]bKT_~٬RIveމF#]C5c7p2lv? W!)nO ,vd=_~Ks4XѨU0J$ 6b7J ,aB ޕ?^/*-օDR2K!2my8:ݰ{ZS\ߣ˰Lߚ>UBƂf[vϕV-0KTOxcjR^-Z1 ү:Q! ;!WOהH2NtJ~ pR^Փ49}2]ͮN/+ ;T4y.C{#plh vh4:lqt$)ɒ8~c}QO;D++p0wm35ƲBMm rcl|n(Q_-rtt4Y .ӹ!u%q#1Jt@8 69cΙ۴FG:+k²#pN r#j:z҇3&b'dOqYy9g|hEϣ9d~ۄ6۵oZ}K܅>85p8lČ_Rf-sËl8g\{sPw+(51a2pwΕ1ܧv[Vz]hxmi[gʃP9@F 6!D!3i2,rN*?GXcð]z}H>.H`2 "߈^ Qld#ʇ . Sɹ_իYe˕/*Bg?rCIO_SlKUu_ty1fҡl{ 5LGl} ,fXX4t^et"+pn͚Z,pD{B<[\cIPwoƕEx;sJ0x]f(;[6G }?{Fޕ R'զ-:p,]9z]of1!X` 8!瞯GfCvejx6\!R!AJQ4[4&Hfum)oÕ |BsNf$@b P& |^(}cVv1US=Vhˇ"qT$a&)%U 3@SROBhGL2)3 q@4nx׳*Tj{<#ra/(KvyN3lB<@t1ΊNM5/]-yjYXx(l 8k.#WC.Y:"y>ߟ^ v-]vOgش#bﺤ ]^_ޓٹѨA\^ʙ%+lL`ușOdEq6~͟=I<}Boۍ,[C *s(cm\ L `u ܲ{t FDbZYtcf/!0kbY4L*4 Gp^DΣyLGFֶ3 wҺخv!zjI#}58,;A,>(v&7ӚJهV8(Qgz[`)4EÁOoxqw2Z(BYUhZxM87_$*P|'wXAee$Ag?3/tܕS  KD41ǶfWѮ!QGDGnօsފ՘UXyyxB6eujSU9q,|r߷q b Nyws&Ev7`% | _}Ŭ,wq?6m#ۘCpw47tEz}MGMΩ_\^ToxCWh`<-GMw)oydHVlȬLWSk JeMiJ`O+p\.x릟q2KيYA9UkX_ຨ*ygc6ଖ{+cҕ??n's8t\H0kԺe&ܝ\FXu/U nF>Țf]oe˚O|IE/CJsBK Er&j=H*cZ;7x*ܢFsT LTONQ`Fz1<lt8~180q6mOWۀeRc2K^x:['bBgt#3x2kOUg}ӖY<բdâroP12yVLոԄ%A||4_Xf/%ہӵvdc(Vvk^XM,僻/)pEژث*6wLGUaj5?vmNצW&1e:8{!V-NsN DkЍhХ@ܫ,>a5D;ֹvShQcqfX)]9wњeoks2v Σ{gњU=AM8(PӖ9fV툾m&:,D-(?:f1ߏ ~W$ G(3] Hmşi d-)ѡyiOb؋2ṋMG؀Y⿿OdoWKP]PuPY]_Z$`\r᤭DL_RM{،VȠ/r;rUMHsjW*_P/hxtQst h"y/L*k+Sǡwn$t%c8߉Q⇟lpZAfdtis'۹ ynviM.a⯲ ڴSu& s1`6cDwq0 Faɑ7gTqk҇Fp?>5~j[Q/p>"ÕAhc'F1Gqpr=:sq!6IC>굜捑_uL <bVmpz$dueu"j|\nI*a A-G1K:k<ex_yn\!ٺd`?'v?'-m&Or$жt["Qs4r~i>!aX]abtvi'5= EMjr?JO9_/_(){C `b"E2Ἇ/SoI_\?E pzO(fOL?9׸Q`"tl5@nVv~z s_mRE`猪vw#~)R%s)Zz)g ݡ%p{KLn7fL^SK#TI۾^h8~r]rYur;0f δm@.x\ P0];P+Q80;j)&o۠,GcLp!#M Nޟbz = A2F DXp爜#o '7^sM&{FӢӝlݴz {@tY>XDnr7M8ijh9' ;{fA4"ZocDcU-"P_<\~` 9Cفx|?V\܈>:KO}OqdP&~$U J7!DзO/JH@aUA-wu!xGZg\rm[br?TϵG "yu[躒?>)`}]I&e | c-FEaZobwY~=6@.9&5:-g}zV40{u+P!Pgo9/;䉋|kH)>7pRmRvMt$pΖ2=(Hc+(#Vǽ2w =UixA]OYPhl6k8 (R}<+~pbK1:uR>- u}-ZT'{ֈt'5r.u:DLmSFщ(WgR3҆zER\'b`pxօ 9:˚[53 C 6zF8MbU]9'vαϺ > E>t'=%bk#ɂH.i4.*FecB/`o."(Q% e=4TJ[>W Ea%Xӣ>j*{=__NOd;oW'+ 趽шcorcݯ :Ơl4~rxW,F1ZBΫg1UnҀ^[S dx/1F#z{ % `B; *\+ Dis܃sy_Hpɾ08IWfҙf Qg-yhDA9T<3b⼺zqFBbcSy'Q>(>K?s}`QfT[*/v͗!2O)ޏ'+O/7>nrc2V*>zp&gkmCteW+XHFx2[p>]Q$Cu@b_\ĺ #\pR4baΦojsDn4$8+ A3|ktb61.W!zxqh^C~bEV;p"vΚyՠ%<ܐɬ~JVK\;sBXf/Y$yR'QN=9A= z5⠘>8%x&qDr=o(gۀ5nؕ7nhw&*r 15ЁPW{YA6Vl3ߥVl585^r tw?$CSEl}m`pB4G1tX! JPS0o£V+X뱬}9Y KZO|Vf9x]bW*Rg}7`=l7yy?x7P!gI[C^6({-=`c>ޕ=c,kV,*E|vnG(OQ~OKYĂ+Z#A+V)d٦q29Qw6=ş֬?ބ]ψ&SOx 5 x@[>jWF,ʏާ ^|vlxcJ14Y5BeAF]+gt3^U>tNӞ 8Gg-R)}C eܔ?x7PaC"Z0&{ௐ'2[ahGȚ@BQusUȌ)xڒnqRɯNj%M齳r`kx4^0$ `zs,Z5ݗE;kf٘dM7NQ]Bh5?}nhCƭp.ꌮ4ÕTp?Pʹ|={سx.Ac2aÁ{.ym a͓v9/7Ĝ^ DlPsv1VP> ;1`F*%$((s:KCcաeYHOu4$^q>cnde]~4&qv$A2&Fpŷp7F )]w9TX<} ގl>mi*6b ji ;>:l3E,"Ob1&A$kˍ1T; {GtB駈GFר5Rs 1= yT< ɭ\ hSgĉ.)k[:xiM2@S}d͵l=PD/<Ǹt(x_Ha]&e~O1 +NlbnB ?%TX:%,<Yg,TȺH@2p\߼uc{ˍDG/ GpMeɽXǾ^ \YkO|{y R"Vڏp1G}8wk2P9c[0n\}wDeU̞D?AyZby;鿁A_pQd^] cD\\7 gյ[]:/@탷VzTU,ĐbI#+P|)j\|$^YBHC pN3ںTMAwV&ܻڞܩ'ҟ\m J+W4ZWpۨPʓ&Fj|P+1g>9^?JWԄj0nV2 )ŷ uB"0kCKj2,h77TԈ|F^$qΨS#NږSRw0;n{VN+ -:R*qv׷5p׷Ј +UT$%Z`9>RJ41_YqT__ F?:o'/]OϨ /1@q|pw.ddd5+ty!JFRfmW!֯[3HCgar]?hX|9hu=4ʠ/Sa bfr}YE vaVuh;qS(Zu5$wR2x~`J|WUmXtxo9~n*qGnm‰U*ST9A*U֖sO7o 6+5969Ծ|RI~=5רyS•~@\XG!n*O5󓝨@H 7 'U2뭛 6>JpK ._k_Om,s|_v^P`WhXۢ}!Wu DBW;*jZ悞X74~ⅺ5Jp2ߘL*OpAw7Ďv!k@uz:ZhYt8BX#ܰW$h?63'g5Uk܇wD| }-!Q4u[0BI9i\ $d7ZP8^P[BV4q6#+m Qj5GR84 =˛.u]۾5[N)H7(q(wB"f#\0x 2lPȴxXsn×#%jYU m|i3 Zn~[O|UʴTjH$%6{K5мô݌e#YD[{蔺)$i4W_qS;l5(f) qfUN=2nЇї%2-`{96$]|NS{G4Fw[Q*Bljȡc*e {fZBQR'3sdn?Lj1F :r4X8#t Vdp} o}N4˸}-dQUX <'4Rf6!i&Rù | C$j?쨗;NNlݻE$6%>um8UmXs ~z+&rt-Abl !5cܩnQc%N. M aq?ԟM&RuEG+W(Qmu4KKS'| z_M7S)=~ 9/[0QcL'j]UXjIކJB@~ >՝q >(}[ȅ}9nMrf$͋s ݶ\ާjzw1Wreef(k$ՙoREU@9 WyS,Oi͸!qfe ,*Vb8ӟ+M.|}*ff̌Em%#ɷ "Оe@ ߸{)?y(,dK_X<,O$TcւAMLȐdD>"w:Hʍp 됇[Tϕ/)G 1u:G ֥ *p\A:}Y:| H Π 9F^ϼzku YJ`Ȉx0SsI,'Zv<,C% i8ŵ&|ۍpWnǟ_M`D<% B{$;Tj9EFz*&$x=OF{)Ec\x qU/x0͍mowN@'K"pH3oRi0H"w1pO8)/´B{E{.q #G=s03ʞ`HMeER;'ou\KGM.$ƓsxHKx-?8rIH>NU$kk7VzRN'l.OM,)[crM4m \eS9h-8x6 .u>FjW\I[ hɏzyEڑ :^ϊޅ3U\-tc%2UŤW5nަ]!!Su>17ՅeS̴ 'Bp< Ί("Tki*qp1i8i>5V*pwβ]|u:e!z3e@}^VQtz`gA^rQǍJaݨ? =ڭQɫ\EjH骂|[w9Ev)?A75<5zeJ=q] 7h+LA͜5k Y5.MW94"=}!&vex(Ѝ8\u]-Yt D%?Ywq dv8tq*ڱSgAݧ] {\Eg-㕞'ޭ }'_j]ݐtX=rx+MB9^ZÅPckm V'(:r6X9Ǒgw[C^%Dr3l+/qPt4<(8ǣ aR%&zyr$ROs4 q; DoSRi?E QNES\֞z*Ḏ:w* sjktw bh? xvǚDceJ4׀wR6?^C: #lE6 ", /g+atqgzxMiV0vP'5Ԝ q`| 9~l|AY0e$laٲ2jY +1sV7X wF>1^9V E)]2̣.m8hy<ߥz'RXῺ?iۗ !Fߓ2-UΌ|;lvX-&?$ق@ŞR`qJ~ټ1;_ J$>dk&Z+52w8ן(ST4I`Ļ-YRN$ʮ[#S)a9wGUvYX%[g409+P/%wdl2sZ9)φe~o$2CJps801:k7SWxFrz|}-<ըO%Wes{CdZ:SSCXQS/QqA5< m4.g at8K i#!r%yjޢ$@7 KvdkjNYǫ|"UY! 4MO78N)#̱ɝu"mc#XNL4K)fCWvyL#fw;=_;SbEIDŽIV0ICpqfME2]ݏ腐Zݿ[M$w{xPv=U4bIY^]7RsEb.7|nc.~8Mv'wb%c[5QsxO0j8h/7*kwUgrVwjqFHLW1D}%bqr wKGcĀ<͠@3eo/˘J!,mc:v,3)*>T 穾Sr9>Brs u$WRm<d.|, cÒ }5jkj_$A/9[æ |K%xv=*0_Jxxd./$EH7ST+CA#b0™ytkᇴ[&ыğ$_CTTwKx1}:j> kb@>8DGv/`GMor;5 !HX}'fGbܱ^ W(J;M86W s՚ NQlK/tR-m䐽rצ OgtxsFMF4a3 twłMs@?*۝{Wvb .&$zds`uarF.".u\vu^ώm=11UL>'jh? qq0pI!4BOAA=tn}[{ S-9[ciS 5z:]sS{rp1l 1p|htwcV3f|5:-]'3_ ڛ -. 4k[8i c,,}Va>*:Otz8^>| GA6> W&+fpZ"Wۓ"a@d3Z9֢hS<5pQEѶ8BN!-5K@ 38hpe.&hyDַhP1.߰ ڱqEFY!&ss_<ȊA`S/;o̟CS8oų.ǪlUԈ~n,cѪltԀb7UV׸#l8\2ʿ;_WT$h2m;FnE]C-Od{50&{5(!4 1z8ݥOqBo<`?s \A] *lr4/VJ5VVeyVjVOmvx"tG4f gDMF"t\J7S3QCi+oTkɭG}bvRݹo ;_l?9q\ǝc/@L%B,}yC1VBT~n#hIIP5x"vё/nP=!AX]O!˟d]zjX +z>\6pKj9=i[ U#{"o$kU^'E׃H Rw8Cro!. VINu[4M5-ds{| _f`6:5T欩m }&83xTS:<#MWg5V"Z'V=-J| 艇ȗ\t9,wCE6AX C1@;%\MD\`k%TӞD1&ۇE#l_[[X>߫o#=~l߄|긣B 8ڡ%^IJ$69lncixH ^bI/(Stb/`]u~yJ$z,D,9GvJl ..)_jHoiY'sr2??OeWfS3}zuפ6?S6VImiWԄe`0*:itxךNݝg׷#w(o6Hϱ8P]̈^L^F慺z g yMƶ.j4o" H]:S_e t^l#lυتv"-\(D7՛4VJ[?D] #$WY@ujDz8I֕XX$T$tHEN[Xۤ9ӛ*@=0S^A3m,>WN/xeCbrt(WrgؿafVA: ݹ{[22UNxeTI !7Χ;QbӰ@Qmsf"5,üy:g!a<'BSNep%Xr*ys\cBj{Qr %NֺHfՕztoum|CV#V(VAֻ֕Э.֒4qg=yHzJbm5|d16x  "|p,t;^bOƿp8|77`Zb>#zf!IJ1iΑt~pO3V2El^) 2hf:GR[F5Γ f1߱T7U^c,Kq5jG&tWjd- q(lU)*6oW4VA=x 8t)<)npP}*ag}e_r/Bn2]+mxjJ85CVM;fZ|jɒ_|bNaX.>yMD@Sl xDb' 7wb8'k +JLL; bS@u0֙$.qHp*g+.r+UC}-iq.3,:E͟`}Jӝ,:Z#>RkwM^ +sҥ(e w!ݳHe,o 9?- ~wR<nɵQr{7zF~Im)G-+ XƲ&{Igہ0]笆6/&zHl1د:\!~¸͍ppђf;v%@"W𴭒xlHnH3Q$ꩱ}2uՑz c$12җ2mT6xL W×|rDO%22uBd ZPV˔_Q&&]NAt.7u1OZ>۹;K;ԽFZ,& zKI` 6'OtZ:5Pvtj,VH5hP/~#Km}v'!ƶGQ߼-3gz=ԂQ4g$4"gޖHGς$DJ}.0Pu%Dz|v~MT(=Sm[ Q3UV^. Un\nX iވ̝8KlqVW:fil~[y3bŻv&X2V*ҌS,|-q .\6UVIoݴMo[R#Z` Xշ#'ZN > Z_5>}ZeMT$}!%p4{ΫgU ߒomȽ)fa9w,s@3ψtf5Ɉl.ȀUgv%Ka߁`<">7 Gⷆie融yBE%U q}/&FYi:>qr_8DuoÝb"ta~ތ_JnL_eن??JqE`CCpuU0">wk/g6gjfWZ7 (pSUe7,UmɼXc+=UdKϲb\HzSX`x-Kb3^bJL+l84RFѺY>UFjDۦwC:pX wW<"F۪vH62V.TPofSzi,)8VYx9Yp*T5iB) \4p'n :[=2ro{)nU=L~r&:ʝQ`"g5Fu)t< ]eD]mj 'M !FgꇘNTNBrKns[±jPA]<DVh/>-!TGqIEIM2f;;Zw)iO/J-1s!Hjh[M;h4b8 +~P0`݅fTuUL>Nkœ kMI-s0Zr Eެd\fU+n>j:6JxԠ5Oesh#qVlH#Nm:M`n&UwRR.Adm"&SFoGrh7t;:4S5VtMS#}f.iSc:pn;M€'=냯޶Vq\)u9zG]N߶E0hn7:I$>z_z9>|3,vR5APɁE8$_V so`Dߐ`!{:m0 :JUcVдdkXXF(:i h&/uOv#G@NIg-Ty(j </iQm!X+DpZ/{W y^bьfk?jGkEDGcq~S;z;bBP;sUm$61Y5-p,bԔN1$*|"n%N %d Nbre-7#g]:ŴTDUg! l ao4+B5Z!Ik ;4z1q{9XCLvЭqnS̈́OVqMq7eD…H:rQ+ǻ`{*ҋ~S۹Uc嵎[d'5C~(Z,,G*{"q\ UȶY'YP{݁dDڒ}SGSl"3t5wA([%9v|0U^9T*u [Ǧdʿl?x `4!vC&tnVƙyj/pʳMQD/WdґH3G}r3A}[L.%ؗT'nWpDlۅ?XßJV F7 ٩ぅHUFY"$ pQ1қvj|d=#NDVF{j?p_oc a0XmNagk n "'=O!~&6E+6^Xw5CDCu쾴κ k ;P#/(W) J+7F$1A:`pSqܫEHcN(*, R/4ym%)g'DCb[%O}$f]pE%z /hX1M6ÏȦw#nEvX.]V_%-nIC|{{Ӯ(Ϭ:+eƓY .< @N#swFp^ఏ}b^(tG~(tdmO߀;T"~0EhG}Zc!Mƞh0|' G9aj;m/XՁ^$e 㳃yd[7!2WS9CDJ.Dz[ᾙ !oz8Pwαx/VVU{P>ZkmM+ghSFR =?ֻɁ{৿"q( C8 #̕vD.N> v]U>M+/m%SYGRi?!&TҘ Ѻo,B8Yј 8^Mr U\ ߗ:EuSZ,rDgӪ-s; 0P%|*1.96ߡcM"V?ʰBͬ0ρ\1Kp16 vF=hq, $:KeL7E۫g[ڐb AҙL*.?M kDJ_6A Z´Fߓ)z2bYXdϧWZ%] [:AJF.ܦMq-s2tS?eQ9"-SQPjON2Gj szsP0 7ɝ %WYBX"*V9d_k c vMIj=¶}w =9Jk?`ϬuWIm_HO5^tJIu%]lC0 Nx1?9H9ڱ0EG֦ 0SDc_t[0)1$''&Sf''bjrV/MX1U}[n{TUn`RXs6zqn/$5m1XDtp6'jq̲{+q˞rbͣiZGuĪ2*O{/$wpƞxUy!Jl.<2޴z]9ECmhhhoFݝi{p*Ҩd'Ke #ڛqcEygpF?rcol'XQ]B@a:u:l]Ǐ05f/ŞvM{ygarNKF]BϠ[8{R};/Xex^_ఖoFjꐪt騀y cV&WPH>ԏVSATmq>0kQBFhFAD Zo(yW1zJT%a) 7u$2]߲ 7#-1rH٦Ȗj ( 3EZƆ f8WAV~(!M*+l@D2`0Ղ<k_ MmoF3#uwp#ED4}X<>T&j+6Ey^i0:fIP*^9cg A'} FsH ->@$f쁭 Ջ:R}U5>|}e@) $eiWO7ѳE IK.ѐɶ'EdS"wv`['9?w|#V_#,='kgZ1i~nc'x9á)iQP,Ԅ 7d8wQxd0-1t!$qyyj-м "KObe'&vΐ4l=/Gr9ki}Xu?CAsdhso] bF]&!{}Tp H U3N=+zf~_`u_Jn &A7 qs$kd qҏ5kwؖn hd1K`o-]jaw޵p-GQמ Ru9c!}L(M#n0Zt&&w@"ʦHPijK"O]ʫJ1gz[t(mZƴ$G7U:lcEh(yt#$raL`yJ4D2Sem>-U5U}l/BQܯ)Rz}*YS'o=R{} 3T0BIh0Zanibq7[ ۜsPd,R?{կd( &KeF ! Rn490G\CRloך׋Nhլ*e@H\Mi`50T0K +U؂]熤D`kReǘr2N[ >`#}[ZV_dܫք_Y[qT?L:P3tI.qUq#YuV(L|!d@Ah{CeKs頻R/!g-Ya4*g ,RthCv|⌨NTM[,v;poYe)T",BnjcRb쐴-瘻l26XN".|^/}eߣ "e/c~OF3]C@C<ݛBdOmګG|A|1H2`>8 ѶE%LU3ba,N_Y-5^P͓ΫhL7 C"XMG=Z[ %\+;,~mXg5%N-g,{?iwww[~&E@:` U_q3tAwI3}?znc+힗٠IN͒6cZJ"Jkhk\q;ndGdnsNR쇴s GW(q$ c2 =y~Cxjz;T2~~Ӌ@4B&Ⱦũ80e򛠧7Qb GESW"?$\ZT1L]2}NH^S8M5d][Edۀl@A*f (o(({Eu߶{с$HUNE-ўзgNFlfu^${a'2 ;IGP{yI%D^lݪl+ïUe/pg;;Gϑs&G-:Ԣ:p#&.c |MpHOljV/JY&Zfymi5ZUۤSeVF1Tjj(Twܻ"Š&( 갵:` :hhيɺ;[|*8ةDOm2l7V5|НਏdbkFt4Mpw6I交ȩr<ƴු}$qT$A\g[L|kmEdΫlJ NÃ4DC,xnj"Nxw8Wm{KA;K9<0߮6,pi׈8|.#4VWէ&As Wb5ݴ}ME,.^; :АywW,,t_'SNRG0 ݵx 3tY*mfu9ғui?h*(J~FxC|8! Ց鹲;08B'[S=^gܲ9⿷1Ћ|GD*{Eגة++=rP]O4N0MD\:B>gE\O*Y*;ٞj;1z'iҗ}vXTJZ~v6N\J^7RY㴷iUK]B- DakƋkL K,i/"EZ~chaԴޥE Rqِ6؞V^Ih9d7^nMA,uz# #G[p1c8c4";p&(TMkMx њe?}đV&"65s':N#%54h?ZAT6yK߉T5mkzTi'= d-U_o/?dйM4~S;geqկtw$wh rC,tu^7KIE }2mTilW& 7Cǒ%LU9.Tt0tVhA1J&m sa7n4v_Qs L0Er : e} i`-F`L77"JfFgc?2}fsg5}n }|[?>Q2a}%<,U Kfr;#>(.2NF&0@(MW{Z* 3 .&7ud<]DյIY{ x)1vsI\u¡/ScKt 51|UL_0EE2_ͮLaoBE/2ēn=r'r@}=\)ysnb.)*ubt*لu~syCIz4Ձ+*hUv{-2~A#SZ1C@7 9j}T0BdIR+qm穧TĭFV&#Xƥ]mʁ,LԖrU'ս#&~5t w\.5;Vߔie R>:E왒h#qUD֎ݡ )!Z$,3<]6*NSaA,N=!ۖs+9IL\U|exSrܬ$nYm/4k9 Gӹ\os+pjl+녝82RϷ{dN[~Knq; Iap\&SE%Kܐ3Uz3*yeD@XODm$NC'Uf |T. =juE,ӪaKRu&Yo5F,h+p,'Y_;WPq;, &߇fQ1EZ=0U]rbwl>ߗ8)y<,s` q;PQs{bNgVD+J;zֈpF Q(Ut'H!}aYN1_5%묹 l!f dQ"ٚe.U>v:iV* Y&I <"s`N6HdغCͧ0Y m\HQ?yn@mH[ ߠ`>7z۷X긶!. c_58ޒI'mƦ%ZREu$7("h]郚 a-7 JCmOe$4)!XvʼnG3xҸL(ҵͩ>p6VSAWHz{ǚ~2:yV+[=p-ykx Kjo88v5G ]* $琅_S a]٧4J3V0l:6l! ޵G݆Sx C cԪs7=h^- `-u~8q30N#¥ӭ/V[C3"V|؛NR*`?zV,T-V[);&5/WIl .c hj=,vG4絪.şG-CMj`Oa̶Lӹ$AԉJ:~=8[Cz)R(tX9I%/c4JۥٗtKk FX} l Jq_┽!>dIiPNM$y TAxf(>s'f"H ;\Uo'8{E T޼EWv*iŬH ]b{_JpމD/z,ji mck/1_c4R[2A7q% IF~[Q|φzN4)Sk"H_!W{cz招s>zm xs;%ՙF~ sU#SNK,$ɀWR:'msGEV(I*ǭ!]uD4 ryw3%DQڪum&Vj|l+nE߳?[}<*>u[4{@\>: ~ZmfAr0aF %ay_gpmW{t"+z"ٻĚ?YcEʏmtFOp{V9,!*+ptUj= - Jf^V#Dk!A..㙡QeǎrW ͼ@j6pv/jn pe[Wh:N {7{ߙ*6$~A}sBP4Yj:&݂ux o ~ qcQRh# pRf [bYd Q߲CP{]T3޸[bԃ88wA?uU5Tnb6oxu,tV߃+)\׮$lg˖,$A#Ws p`wfV د.L[Lf6Z0. !Sx94y?o6Y"_ri|×nh"p7"`ҊSeޙ;DUN27Cs>b&g}%-t=,ǿĸ ѭ#kh3 )?$FC,C5MMG݄,DLdRne0uv+`{}F.c1*GY9I4cΗDwE4tc$;nj.$P4l㵨#Mp(Hc~a_w\ /k@4f"$a=TdmC5Ǣɂt" /c!no¨JHmQz%ٳ V9R,\Z^orwM r89Ҭ#sZoa5xݛ;E6.TN;{(򠨅[hMByS>g>K U pؐ|fzo?C}6uU%5ya l8_b-z}|8RG1fұޭ.mAdY@29u.#xAxC7Uyfj逖Дba&+{߃ #Eth#uG<7PrS;h'u6;$v\$/ŨK54('z1dp7ҧbcƭ⏺ m0I:+Ӌ m5sړk8м_ca|vhs[3]WwI?=~֋eԓͩ7j'ĭJj8{ ŧ5֙f.'K3sE9ϢloءդX8)-~4_S^e(g6xk8ҔcaKI)ZJoؠCGfmeb a½4MqS8--*;Czv`d!LN1o.:oLؖNb:3D*/tX9pV S!AeZSqG_W 5;Gb}5O=­mh-8h:Rќ'n*hxLًbQ$]n@E`msSI-{YXhe5f%E qY:z%%XL ˓G/?,..doy BỮT3V yd|8>Oh䃍-u>LduE):( &m- k<,D5)$%X5`=zVU{i㷙Ibg| ˼&M'<d<z*Њk0z'gWiɦva.9nha ;i b}d\i |zjGW Wl4ei֣J9OдѧB uCДx F\æ-if?h9 +F)q " vN8d*!Kk}aϼ-J~q^d,wU2 ұ(JNYJ֑wӝJAhHȍn K#n&Gpt/c!C.zDYJ~w\>?KyVz98Y4 o=" r`><C#A3ֹ2*\2=Z)+o轻VDuDOKH)UFX1t+6$iV9'<,Ɛn)?F)C& tXXv*k& %іzgMn7'H{MKHKI#W\v$[%/Ȩ+K[,Hk8>Qf%[ZL8Co#7x {SJx9Xo)1<\.ndqפc3{ &l*`I2V苉LpD`|CE)?$ot.KP>D2Ժ3Bj8Zۅ5!TgfbXZ~Ԛ*d>6eD{.n,1"rjypV?.c,$`:` m|t`fZߑiA`0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 ?1endstream endobj 161 0 obj << /Filter /FlateDecode /Length 3942 >> stream x[[o[3Ay8lӽ_@A$EEa;uI%ʱQ3{=\RE ?xg/sfvjF>g/z3glp>j.V>:3YFJ컙|ϭQlhtVdT顣QrdCq-c&y7Z]JSt2 QuTiF%v&_^x`C]UY"LZa {i5҄bp Ekvf?}2UTUT(NEXduՉ'XoeF=˴{P6ge6Exu~rзTӿ & ַi=C%"֏Ek´u\{7$ YjmFRdu\1_Zau"OMLJ5a:]S˜tQA$ UK /z0_ޱe,fsFP:_utSZ m=[]wם댫/ȭnwv\v_uf*-S$3}P[=:ە<sJM ,G2ynXn] u B;P7tY02@3قGR j[܍|q2m nm`eW7(`7Ӎ"9H??JvJ1(Fb9zrLڸN"T )yEћޣTrɳ4 k2Vzc岭XkĎCUS-x.nQzB`ߎC\eb>'6Ʉ)xL ޽-/$XB"R {d_,K?T#Va/b]}ӎt?(3cj6 tۼDaC/jq ynGnG(g/rSomզfqfR*BeSa,}74+IV.0%ȭѕ䔈dkBe[ԎkYZ, wM)&B 7?֫"a~zcFi㳩΀QZM]$²R]vʩVJ( AZ֨vRPR"Z#) ,8Z&=l0hNԺTN븦NO:zvSvojf@&-p)E$r1|⭓b'f̄5T5HXe[cR)ʴ0E{noJ!}El&v\.PB!У%px|WڌJkZXC@ٮvM a'C4_rݨ5^P.yWZFϫr;坎=jތ C:XPTrMvj߬WKQ'EBgn7$LKR{>$+26ȈnPGtsנ">n^)xEx '* DJ0E:5iuB`p{ [\RʋL1 i0Pr )!o:t-Gҫs1CdלO{w]5[ثdʡD<C!í}HE,&DоPE YOGONI?Y0M-h<$Kyu3٨ϐ+A<䗺 yMoLx:,UO~do.&iP؜U9{ķ Q|JaGH6~?qA/}QUdyٛpm+ uYZߧ7f36RV%yܴ)hqq|[+>eF\OI,O_W|Sн OYyݮ 탑0B~ ӍA;_zB7R$= 4dz¿N4endstream endobj 162 0 obj << /Filter /FlateDecode /Length 11753 >> stream x]Gr+8X.`cm Àgd /4GK4ooTUK-qvl ];UO<[~JO݋rko^6ouG*6>$o_N6z[-ꐬo{^s4 MKާ{^ju) }uؗ>{⟞^rۻz+OJm_|Uk\M^o35|ЉyIJXG>soZC=.uVQ_~h/M^oe=VuU/V>}9>}~|p6o)d=ǧ̓vO||̓O@vvy×/1n9v鳿{ٟ8Ļ~{_~~G{;~~lǿӟrGOWoLc`~y'lq{hݣw<^z^큧5l?;ǧ<>#݃^;1?;ySգ]lhqP7`=PyOudPhW[41o)Ӻ|2>1_=Ps?9ױ}Gy;+|T_ҵ]#)S6-e>=Yx|ytOCt1?W(_ɋ>_NӞTL_S<ŧǧ|GnI|jW:;[4-|.vR?@NM6ӿǧ[ԱX130?f>|_?|z1?\ޯO_z? ~<_}%r}*9囹pْ?~nR&40Rm/_d(ϟWO߼{??y_FymVxW^vOٓ>sKjv|*ӻ}9$f!Z9Rm(J ɵՄ|*$V5rVڪq*$VSw*$V6VɵF2^Vlݡ[We~k<.y.m6>׵n/9m49:w,z7y(Ud% ]F!kҸ}m%]4Jkּ|iV~k+IZ/.OPz[}pJmm.6&o[o38 U̘42nUWm:mMV/JW}#sY#oCF~ɀ]5ڄoTuyh~bnjt=nڀJ;-h̬;u{\vQޝpҏ>-[֥LFɬy֊oN4-Sp `CY\bWmH死t`ʤ43s4ǐTK*4FqΉdA!FA,lO]ڿ,lLFeEddpv]sU]PqiMJmy|_[jknQ2|4om]ej]e{wISoL׀`bV vuxŜ\  Y9lBq&{? puрl`"$\uIî-$Jڂf4dӉ.e9qķ4̊.&~FXm%:l:Q0.kn=]vZm 6_,mR6%Օm_Umϥ%_ FMJ*L(2ZMMIl2%"aR)mb-lcjg@>ʴmMI|11Z4tٖUxmBjJf }PHB$ |>ѭL#ۘVj ۘVllo@!fkj5AbZα2Uj~M>˙ds.@5ٿT *޶u)EAwh4޶GRWxfk%* /o $tP2qmuKbimIt$%(S0 F  , RX6Q&ءF][nݱeHЉIɄ[ߪa_7m֠izSꎨocW 4%iMPŌn1pAhy5c`D-pI Ti 5ɓZ15F]SUmiRj*a*FNIV y`6DkNbxZ+[V.R--|`i.Ԇzfڠ]z7[bmL'X6 ^%XI5e9FɈ6Ӊ M!ZC̶ٚ͘%EmApVf]k0ɒL,8wvBw~3ub*d3MRH̳0= ͔3coݷNْ0IiDdC1\{yqE{s U.PLW6mvS ZoKUj'nng4WcǴÖfsAjjutfi.;vdXAbtJl:eq%ӕ jqo>. M'}8wx([י1'C3 j図3SC?ʆӣM%gfIp$|b4kgjF;E]wS &jT!pu+r)4t8+4I%bk /em9SS^vujriEz^[9&Zw]_0%YFj o7]c귂 šĔXG ΐ':G&&IaJesX&7ٶXirρ\ED"wJ*4a37X |HꆍZ Sq o|a6INHjZ fu@tW8l|riz6gB@T6ж]gsVLlжŝo]"C/K:V\nl[/ |M՚= z\MANL#3f i*eBE˽]}e죓aKS7YY=#1OMZ6 +.ز,O 1'|Wxr^qbBײ͘jgw_O/sJAL4t{6TUy"M$ۆ5}ٚkP ݦeSTU6@j@ .M'jh|&ayp2-Tsr l-"͍WB:ks oc-YC;!֮ljFИV0*O~{ujۨ mFTlVxX~]Rnf|)z|e< So'yچLVw \AtwSLg<ڋ{$ƣ32/}ڌ̫>YϲLy8o jQs T,}5ɺ6nqh\3_%7FwUk@hFʭY5̝j!9˿*K_DD4U5 -6 p\M`{hlf$ea{v!yS1yezc]|1RƷ3w[fӆȀIq?"Kpsh8U 3@߬,rR23S$A  w]S6er&6ٌLnE/^gӰ6IX:fdDvGJ+,ybCsW?BT72Xd@oTl4ŀʍ^N[wEY` oSiиH[uDd2t b~s!m1;L_,L"AW@ .p[y#2v[5Iﺚ-6\#`M-p9HW}]t ;)b 3S[iK.ʎ`a|imS`KGJTI$.m=4«QHr,dIJKaEJ-Xi>&~hӒMQ}nL!Jf6~tG` l;4 &J fcdL[ Q)1`nmv1,nz6Fς\=ݷ{$]3^7/x$֐lN"wd,ŧ%pɍI:N&VMF .𓛆P;iu-x'7.Klm?p>4ǟ%paM&feئD78Wjܖ>,ٓ7iK(v<<9|tщh6&QPɂw~hpyj1v0\i2]̥kZkZȄΘ+NF!sԏڈdDSӤ4?rijlzMm47 hKL#jJMM|hݸFv!N+TlPfKMyҵ鉇6ۋD(C/SH3ݕE3oսL|6;OQdyk@aBRyjƖgJ+xPine*G !Ղf\".AypeN뫧x΃=i27E#f -IyIh MCŒGKYGM4Z3 8># \རKƒ4Wd-j i>vq0ʃO3DtT)$!AAk7S0b5HZX+w] ^rx,~Wd-Q߃9!Zo 3@e(hL\Ҫ!k:3AC dvfMbx /i2HZ&H$I2;*e"CeB6eQ3YB5B2mVpQz#$" /*S^!H-6$C%O\"mw]~j<\/ ^rH7C 6:bSc]ݏ*2cp oX?A\H\VJvS/g㓊* iX֕,B)H/of6 K4VF6lXߒniNJ: `U6%cl:2/ _9D^֚, ?;sl "svhF0Kܚ*jĭ%i6ȤO-t}K~3[Q`M9H\ 6V$mHU9 KԸ$t\7%mr7.`olUy\*%˭dÞV4-ˠuQ|M,Ա;eSlV6<¯CRyIchL] u6 $VTҐtU+ Mҽ 2)ˤِLWZh]pxX$S%ȰdQд!yVBt $k$_CB-I %<ė!2)0t3H2\لpP#oH\k[ңoxfst(TiH.lKN2xfjPx94c}E*h@8KxtlZeI~cNɖ5Cψ{AZ8%$%*]%[vHJ*]%[XА{o^ NCuB*]%[vHzW;>k]'Qǽ;ɖYc_$~tl!YEvJhNO@})s˾H"A!~VKg\ I;x~N2܇Jq="ӥ;>4ߢC$å`Fʡ_/?L#]KW^}f9MEO5s*Q}*柞p `]p'򔞾<])QXT; IH!Rl o[\D)Y2 ( H^I*R;R@Q,L'<6LN C1VA8SXX?8NNL)'P NP6tBJT@9$"juNߞoBkH?I(>I:IPER!jR= @"P߂S16`%0fa)jCNa-8e)@?SX+ S@j5J 6V@Na"vp kq@LP 6* `[IБBAٯcH*dAR$ BJNHkއBsAvc@". +xA;V!r2^FuLҢПIt(+\W+xK+x ͐`/U0 ^%.W$I&+p%H+8# ^#ƢY &i & \(W@jKP3/0|{ )P1ߞP`2,9Xa[BbMV` CAV8w@]UF@U >໪&WU*v i*sq =W@該| zfP&3P :̠f;Z52΂V#>>J6LhlT2B>]K1+xIO|$o#b! !0֍Pc'\硚K a&YoY.\'WR܀+ B,w [XB)W@<q| +!5,\ hV^$ZV@"+J V S  (Ga߄*T +A222@2O P M3T(s!PUDJX b8A*8>HbBD*`Oa5@yJ up ?(+\ (K*Mlp 8^B- 9 \>)K08T B58M… Pg!PNwb DLaE)xp*,rA/BKSFGqQ P?G28Cm*Tj!P?PſAT a `*4H*Q 0xOA6Tv E8Up+ Yv*%/T1*қT{R 8٦kBʊUq卅*t-ߡ 6 T IҠH*!`T8*RנT8 &}P*GY 'BgU/ B:K kQ,x"pXJH,\n#b( ވX8{VA,o9:"|xi pC >Qw,-`[0S'Xި_ +@T/^au,^.TŒL++`Q 0֦( XI pVS:)j؅+(8pWت?ho/NQ vO+X`i=V1fAZ 0تpY_D JW!AzF8WF -* 2%' 0XHChQh=:(^FGv& U1 !^YU<8 U[{0,#{B'R0\r Xpb/*`2ۓWp׍Hw0S;E>y/$^MB_YൻJO; ,WpKR[CUs.BpnW#x-pwzST*5 9WJ+xVn ,QB!`tY<X?gXSG7T5 K9=vV࿝*I+xX%s%?h *'ďni@VSlB;rp`A+{KV3h ~MhDɂVA78Fs4Qܳ- <EjWP=xh+w^A Y(٫YȁGB. $,4-2֯T`ց`VjE$Y @  N?N$j#O S NلԂ(D-8˿Ԃ7 Q $~-eQhSNj?لЂր B ~Wph`QxYV  jO}iD-0흨+.sY 4-o0 8cpͽ?z 0,Ĝns HpАF]@`OX@!bPP *ݹ,xfX@qP۠.j$wimVxOZj#Z+q ]iԓV+zBgnPX+?aNX s ѓU:V?YOWT!(U@:,OR"$"/w ]qu MA*`}RG|T MI*ОBOgBkP$Zq}%:m~_|zwӗcAf }+ҕ}ozϛ9>kF_ͳּҞ_]ϛ명g7T~b? ^&6Œ?kĘ(U5}lP{-e_endstream endobj 163 0 obj << /Filter /FlateDecode /Length 2670 >> stream xZo'gBHc+^vӦ8 j%Ea%ɐmُ۝HYrrvvv>}R>+{RR֯V^eHE\{eiRS\ԔJ:.4/@\qsq%JсR ^ZYF-mtYɤU+.2H)MRR*q5+-T< GW{ԙ_z_17QLGo{̴O TIUR^ hÊo14nW,FvM31*=rKBl[Mqn ̤^%0Q!Z@J=6D),3PPRF4Ui8IoـBZOd ["..2&RHՑZ(n(Q EN ԛ"o#UGjrqY{JNkH]E0N1,_'FVz3hcQҁH]Bk)D2"PXUk<!x bq[بB:3n ĢFVKsH䖍"B"b $${OЄ[a tːV{e :eѦ*jA[B\+0*l)N0 j3&8J* {GADtI Py]B[/EcCU˞#5g\^( A=E$`bI)W~T=J5ZXF1*@ES‡`JcU2J5E'0/ǮDL,#TkH4`䄓q 1D.q6չ[^gN XydH, L-gFk3^JCKwF-mپIYE%)(`&tYЊLdfmuVĸKHaLTO H šD p-Jtq:1C,aziq =В2V5Ԋ滌IQS?g9릗G.hei*]%%A:/NOG磳 !aKrto^:$?.Z=?9)<{ @7r䲑K {ȁXl֛r6כI译 '_)1 Yo<~h|_7h^Շrb\&{L痓i[Z7ջzNꐊ;@PGcFv0& [xMHQtBPYogfwQN;j:e4l<׳IbmhnV0p#hA(W U҂`:fƵ;$nnU\@4!i>8QmR_R}$̷h{~, 2܀bЈzo -a"8Μ` jqUGM|Gz}7aWEh:* \ 7 PFЈ!Ψ%mPXyt⨌ڠ<@* )jZٍswXI$:j? -uX L2WxSܧ?3f?%ao04᛭mA 5zD=B" v7~[j(8S}FX-uhVA(Ԩ'\v;ylڪbm~-d͟{ShdOY/<g4saɶO>q~FJ(5)MFрu'Uf@0a!(H+Y!)=/c%&Wc^?M]Qo μ pep{;)Fa@4̅9ArV! S ~nM [ٻ JQؠwќgMuRhįo9V~/޴8ʅ}odݢga{@6;JZoI dde -/p#2z獄t$ /M3*[ q>D ˀw!O=\띛AP:"{zqSukFd1$oEJH7Wu!$Dȳ(2 UXm_oo|S\zR^3/,~_#-VkKe oŠ7HT8;8_P%:Iagiy$$诼gZ_X6xg)cb2![.[B"%]O|_7̲|ݐ88~?Κd= (((gM9۳e)Aw{,wbysO.Zƛ}Jb)Un:l;ֹ{F blȵw$2G/|evLF[fd_)H{?ĵwJqcq1B[|9(endstream endobj 164 0 obj << /Filter /FlateDecode /Length 10138 >> stream x}K&q7<30aH2l"v7$Gֿ8q".o䕡{:++'Yt E|/k޾ۜO^MCoRՁyW/?0ﳕ\U]lamPZz7(9G{Ԫ_]n<{6IsRzJ^ o6: gsѢ>">J4ey|4[R꽌Yc5moe-6!Oǯǯ_~{;~}l ׿ǯ~*ǯ_aۻ|szlϳ>?9g?x_?T>,Yo__hmޟ>3,7ǯ,V{3ּ{v>fyfgo3;7s[s~Gv?Vʭ<Ƕz Y]CMT}Y۽·?û^`;oblˉ| S';~OSIHQCJJ S(Ldi6z"ڈT"518 FVHSYILDMDl 'St4yH펔|tqe'߾ppeK<2⑉aRdӟD*2*&_o1wjH'.B c@l6Dڐ\mщL,!slM҈4NBZ*@]iO;21/ -5!BrulF "cU(Ln6fMe# $)UH ځzo `c.ȼ@fě;1 zw22}m "V1B8`R9Y׎+GH*99cbeHi4$+@T6V=++##N|6VȾ3aN.hmU6VrϙHغ@{c 7 d+G9V F ~lxr  d|` ^HAN)(' B ʩ$8 sZorP6^8b3d.FlЀQTEr!P<Ypq !;S}Q(Gh퐵0~(r \lwǗ7RNms "K5RQ6G+$7RQ)_uTMG lIEyC;(|d t` pitk2N Hȕ1]1]]C?Ib~C+8JI`0GB9Lߑ"zToI~MTiH!mH@BQJ+L*wBSǨL\XU =f]2Ő%$rRBG8ADAzpAt-14S4[Ph9k 6KsdG&N#5b(4G5±&/jSqb_Ԇ*GfD=cmf%mfg%ħ*GH WrڬxJ%H-0Gg Z5z{j^6Ei䞚~=&Ka@@>Uö U`K8c0ju>zwP͚pPaIp?@̀RY*bVADZ8}g22l,}H;.өb/Xf A;VDZ&aVIi.ڏ8EjK"tۑm<,D62*BI$nrŝD-Q2ɧ5$}p;':1J6yi1J6v^k㪬?%@ Qy6f Kmc8+vڬ n!ӎ+]lefյB&BꙦj!qX= S W.QPCE; eR= NdWK ܷ&T/a`ǶT'V=g``_Ҋcd,[M FVh{{ ZlP1%m4DB-J9ّ(92‚Ӳ4|!^pVǀ%7}DȮ&DWZ&ǧ[5||iP3őNz5$,qIOVthl"A A0sJ0 9h”4 8 KHUl-肩 AIA0<hM1 Ȋa.ӲU#1eڨGfuMkaYf`F.Tð @l j -nSc(NwL F3)B0$-@@: dnwы6D"viep2Dט3Ȑ{8R8딁>1 &4‚PVӍcCt+" ROoِ U #Tk C2I=Z T7I۬aQ䖔!%rߓ6"g&ӆ,Mfnۤ Wq1f5; ~n,zs$mMB%&i#*aBO I&i6MfgF,n6#z؅掸I 02ɀIU¼x&0ǁ6i_mnۤ: 6iL_I?cO-xbenI?7y: &1, HCJ]Po!-7 FdǍ:Y5FhCڡ={);Gf^$ vό`E(@t<54HsMSf䤊Hk *-cH نa3pkԙF P&CpGV}>TRiQj',֩ + ;\̖гŦQXgCV5?l- OڕȥlvgU V rY(K'9gBV39@3U{du6|ldeAd[筶,BIA{Jg[!Q iziȥڿK@.K@.\IU VKcVּVJmx;a׾O [?0Snj>rre>1 3w|.,puh3e,CFx "=_"aoH =p, "˘L~Z=sE)W䤠Ď@1P<4<֢ 4m1PhC=H d1P Hr0-(q2PqgB'!8t~>Vx'ʾ3 ^5өa4iT 𰢛J<@2e%S/`'3Gtey6a  B@P*x8Ny'B|yJ@ǗxǑxc=tzLB7@+;عLj ]<3yǻa9xǁhxg0ϵOPz^QA悊2s+Qƌ-2Tf%r (s.EǓ$(!@: Og%AHF&<$$\ QIBR_I(Ke_<`\<҃̅& $!p*I(1T41dm83Q6dȿp(BM"0xkxŢbO;ߥ^^R bډ,2I5G|U%C&q y*[pL%Rnfleqċi;N;^u rS<Z: b,lnJXw^mbzfIyk{{aIy>"ޱ[)ȋ'AA^/%-SQnϭ0]jvN|x +9`Vd2Z#KHmP7Nhl_܋'CrGtNy1k7ןo+u̼;ф%8J;،s;ۭ[kF]7`%kjzkv?~˭ځ4 2 m2@LN x  97,CHsL2i=G27\=bQ{W(⪢TFyD(3c.do,#^G&z2s]'ZK+ack%+UG@.l7Zc=[3k9>_xZ˙q+uTsk9ϭOvJf?$^2Aagy@nagΗN\}?RCU ?S hR_S)~{>S:=Z>Lo MNzZzu 7窺</\[TYY메sN>;A)_Z͓G?>/ms=5bc_rG|Kxg݇bLm_c)[o9;w/0rspLvM&k%pDoˑI7Sͣr"hOd 69KŠ񝬺O;~tMy^EK[z)! d#} }\W/}elsӽ٬fhn*h=$|t6$#,߹v:e`NssN6λ|dHhQR>?m6s`'g7~3߈oWx_Vk|opd9ȣkضn=1̍9e}~.=N>so-}BC3{mĭ|# De|Rq$ZgEVGwhx1`t9O9"ˇ"SX/?TZdXnpŤjl<>\o ںMCgP -̎&JyL*_8f ͹S7.}Zr(F>N^v.:aya`A9*(P=;n?p"O)|ͅX.[n ur?G9fA4ק\|7=p̼;2>`%Pߟ qDžɑ/G+Z0;v{q1]fuH͉EC#hzk!sK׾f?o4o>7aƵOGmoHt/#CkPq<$ь^dV)ǛLL5>_pt8, 8R؊Vs\+";~ucc>w'd7ـb GH&H?dc9z2[2.NjV@_N_>n(|U9p]BHj6܍jdf o&q_²ͻ}`k>Q뛄>O׫^,+0~f0Rz͛߃[y)bs7'-eP$WQ"Sb z읯0 ϏvYכN:]2>|Uᕟ6> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xmLSwetSL_P6u SaPh/p[("S@+E@* _ƾh2,q[ܜ\[Ê/rNrNGa8/MH^=vήbYhA<duY -LKeR(thsjd))= -++EYbTk"\*I4()MTشIn+UtGEZF*ʑ%tLOԈktF#EY2 0P55J X>e`YAli$#NJ?cQQ.^4O˶Qv(ȇp;1q빝?Eq1ځV!~ *5xkv eUs|:Rȭ<Gx?wyVvP h!h띺;!+U|_t馫MPLX! E0PI:NOx21~ܩ+* W<:m|#p,Th{~_(}FBF'8Zk?x<0أ*#st}N§ sQ#Y@x`у ̉dђ9cUo$IL5͍!o,%X^~myc ¶nh;1v>.ha*@@ ᷻C9n! ^;Hg`9 6 -t%RO/O^%}{Yh#9V+m"n&';/D? IBe V.U $pX.r+e?AFih%宒rIO6? `L=puÎvv.|l9,NuD`Ͻ2 xQ09Nɩ۹5V>pw E8M-0=A=yy$BwnvA XZB",fϾ`ٰ?&2^0Aacp &ARG[t'>\YT Dyc+d&o cpowK`Jf +3NU}gNBs8 =}w:3v q/{(mgX&#k@m2!sv8-3hņ\l~>aԝ2ZT7nSpcuM t6ۉ$~O W\}GUѮx[Hpendstream endobj 167 0 obj << /Type /XRef /Length 188 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 168 /ID [<97f0c2179cc358e84e2b3f120b2e0928>] >> stream xcb&F~0 $8JҜ tf ѐ_+@1(̙wHAxDr<H9ɴDJ= >"ٸ&0xŹ@Vm|,.`vXW*H`v}27[`3p5"l! endstream endobj startxref 275786 %%EOF HSAUR3/inst/doc/Ch_multidimensional_scaling.R0000644000176200001440000001066714416277516020602 0ustar liggesusers### R code from vignette source 'Ch_multidimensional_scaling.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: MDS-setup ################################################### x <- library("ape") library("wordcloud") ################################################### ### code chunk number 4: MDS-voles-cmdscale ################################################### data("watervoles", package = "HSAUR3") voles_mds <- cmdscale(watervoles, k = 13, eig = TRUE) voles_mds$eig ################################################### ### code chunk number 5: MDS-voles-criterion1 ################################################### sum(abs(voles_mds$eig[1:2]))/sum(abs(voles_mds$eig)) ################################################### ### code chunk number 6: MDS-voles-criterion2 ################################################### sum((voles_mds$eig[1:2])^2)/sum((voles_mds$eig)^2) ################################################### ### code chunk number 7: MDS-watervoles-plot ################################################### x <- voles_mds$points[,1] y <- voles_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") textplot(x, y, words = colnames(watervoles), new = FALSE) ################################################### ### code chunk number 8: MDS-watervoles-mst ################################################### library("ape") st <- mst(watervoles) plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") for (i in 1:nrow(watervoles)) { w1 <- which(st[i, ] == 1) segments(x[i], y[i], x[w1], y[w1]) } textplot(x, y, words = colnames(watervoles), new = FALSE) ################################################### ### code chunk number 9: MDS-voting ################################################### library("MASS") data("voting", package = "HSAUR3") voting_mds <- isoMDS(voting) ################################################### ### code chunk number 10: MDS-voting-plot ################################################### x <- voting_mds$points[,1] y <- voting_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(voting_mds$points[,1])*1.2, type = "n") textplot(x, y, words = colnames(voting), new = FALSE) voting_sh <- Shepard(voting[lower.tri(voting)], voting_mds$points) ################################################### ### code chunk number 11: MDS-voting-Shepard ################################################### plot(voting_sh, pch = ".", xlab = "Dissimilarity", ylab = "Distance", xlim = range(voting_sh$x), ylim = range(voting_sh$x)) lines(voting_sh$x, voting_sh$yf, type = "S") HSAUR3/inst/doc/Ch_principal_components_analysis.Rnw0000644000176200001440000004132714416236370022211 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Principal Component Analysis} \setcounter{chapter}{18} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Principal Component Analysis]{Principal Component Analysis: The Olympic Heptathlon \label{PCA}} \section{Introduction} \section{Principal Component Analysis} \section{Analysis Using \R{}} To begin it will help to score all seven events in the same direction, so that `large' values are `good'. We will recode the running events to achieve this; <>=a data("heptathlon", package = "HSAUR3") heptathlon$hurdles <- max(heptathlon$hurdles) - heptathlon$hurdles heptathlon$run200m <- max(heptathlon$run200m) - heptathlon$run200m heptathlon$run800m <- max(heptathlon$run800m) - heptathlon$run800m @ \begin{figure} \begin{center} <>= score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) @ \caption{Scatterplot matrix for the \Robject{heptathlon} data (all countries). \label{PCA-heptathlon-scatter}} \end{center} \end{figure} Figure~\ref{PCA-heptathlon-scatter} shows a scatterplot matrix of the results from all $25$ competitors for the seven events. Most of the scatterplots in the diagram suggest that there is a positive relationship between the results for each pairs of events. The exception are the plots involving the javelin event which give little evidence of any relationship between the result for this event and the results from the other six events; we will suggest possible reasons for this below, but first we will examine the numerical values of the between pairs events correlations by applying the \Rcmd{cor} function <>= w <- options("width") options(width = 65) @ <>= round(cor(heptathlon[,-score]), 2) @ <>= options(width = w$width) @ Examination of these numerical values confirms that most pairs of events are positively correlated, some moderately (for example, high jump and shot) and others relatively highly (for example, high jump and hurdles). And we see that the correlations involving the javelin event are all close to zero. One possible explanation for the latter finding is perhaps that training for the other six events does not help much in the javelin because it is essentially a `technical' event. An alternative explanation is found if we examine the scatterplot matrix in Figure~\ref{PCA-heptathlon-scatter} a little more closely. It is very clear in this diagram that for all events except the javelin there is an outlier, the competitor from Papua New Guinea (PNG), who is much poorer than the other athletes at these six events and who finished last in the competition in terms of points scored. But surprisingly in the scatterplots involving the javelin it is this competitor who again stands out but because she has the third highest value for the event. It might be sensible to look again at both the correlation matrix and the scatterplot matrix after removing the competitor from PNG; the relevant \R{} code is <>= heptathlon <- heptathlon[-grep("PNG", rownames(heptathlon)),] @ Now, we again look at the scatterplot and correlation matrix; \begin{figure} \begin{center} <>= score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) @ \caption{Scatterplot matrix for the \Robject{heptathlon} data after removing observations of the PNG competitor. \label{PCA-heptathlon-scatter2}} \end{center} \end{figure} <>= w <- options("width") options(width = 65) @ <>= round(cor(heptathlon[,-score]), 2) @ <>= options(width = w$width) @ The correlations change quite substantially and the new scatterplot matrix in Figure~\ref{PCA-heptathlon-scatter2} does not point us to any further extreme observations. In the remainder of this chapter we analyze the \Robject{heptathlon} data with the observations of the competitor from Papua New Guinea removed. <>= w <- options("digits") options(digits = 4) @ Because the results for the seven heptathlon events are on different scales we shall extract the principal components from the correlation matrix. A principal component analysis of the data can be applied using the \Rcmd{prcomp} function with the \Rcmd{scale} argument set to \Robject{TRUE} to ensure the analysis is carried out on the correlation matrix. The result is a list containing the coefficients defining each component (sometimes referred to as \stress{loadings}), \index{Loadings} the principal component scores, etc. The required code is (omitting the \Robject{score} variable) <>= heptathlon_pca <- prcomp(heptathlon[, -score], scale = TRUE) print(heptathlon_pca) @ The \Rcmd{summary} method can be used for further inspection of the details: <>= summary(heptathlon_pca) @ <>= options(digits = w$digits) @ The linear combination for the first principal component is <>= a1 <- heptathlon_pca$rotation[,1] a1 @ We see that the hurdles and long jump competitions receive the highest weight but the javelin result is less important. For computing the first principal component, the data need to be rescaled appropriately. The center and the scaling used by \Rcmd{prcomp} internally can be extracted from the \Robject{heptathlon\_pca} via <>= center <- heptathlon_pca$center scale <- heptathlon_pca$scale @ Now, we can apply the \Rcmd{scale} function to the data and multiply with the loadings matrix in order to compute the first principal component score for each competitor <>= hm <- as.matrix(heptathlon[,-score]) drop(scale(hm, center = center, scale = scale) %*% heptathlon_pca$rotation[,1]) @ or, more conveniently, by extracting the first from all precomputed principal components <>= predict(heptathlon_pca)[,1] @ \begin{figure} \begin{center} <>= plot(heptathlon_pca) @ \caption{Barplot of the variances explained by the principal components (with observations for PNG removed). \label{PCA-heptathlon-pca-plot}} \end{center} \end{figure} <>= sdev <- heptathlon_pca$sdev prop12 <- round(sum(sdev[1:2]^2)/sum(sdev^2)*100, 0) @ The first two components account for $\Sexpr{prop12}\%$ of the variance. A barplot of each component's variance (see %%' Figure~\ref{PCA-heptathlon-pca-plot}) shows how the first two components dominate. A plot of the data in the space of the first two principal components, with the points labeled by the name of the corresponding competitor, can be produced as shown with Figure~\ref{PCA-heptathlon-biplot}. In addition, the first two loadings for the events are given in a second coordinate system, also illustrating the special role of the javelin event. This graphical representation is known as \stress{biplot} \citep{HSAUR:Gabriel1971}. \index{Biplot} A biplot is a graphical representation of the information in an $n \times p$ data matrix. The `bi' is a reflection that the technique produces a diagram that gives variance and covariance information about the variables and information about generalized distances between individuals. The coordinates used to produce the biplot can all be obtained directly from the principal components analysis of the covariance matrix of the data and so the plots can be viewed as an alternative representation of the results of such an analysis. Full details of the technical details of the biplot are given in \cite{HSAUR:Gabriel1981} and in \cite{HSAUR:GowerHand1996}. Here we simply construct the biplot for the heptathlon data (without PNG); the result is shown in Figure~\ref{PCA-heptathlon-biplot}. The plot clearly shows that the winner of the gold medal, Jackie Joyner-Kersee, accumulates the majority of her points from the three events long jump, hurdles, and 200m. \begin{figure} \begin{center} <>= biplot(heptathlon_pca, col = c("gray", "black")) @ <>= tmp <- heptathlon[, -score] rownames(tmp) <- abbreviate(gsub(" \\(.*", "", rownames(tmp))) biplot(prcomp(tmp, scale = TRUE), col = c("black", "lightgray"), xlim = c(-0.5, 0.7)) @ \caption{Biplot of the (scaled) first two principal components (with observations for PNG removed). \label{PCA-heptathlon-biplot}} \end{center} \end{figure} The correlation between the score given to each athlete by the standard scoring system used for the heptathlon and the first principal component score can be found from <>= cor(heptathlon$score, heptathlon_pca$x[,1]) @ This implies that the first principal component is in good agreement with the score assigned to the athletes by official Olympic rules; a scatterplot of the official score and the first principal component is given in Figure~\ref{PCA-heptathlonscore}. \begin{figure} \begin{center} <>= plot(heptathlon$score, heptathlon_pca$x[,1]) @ \caption{Scatterplot of the score assigned to each athlete in 1988 and the first principal component. \label{PCA-heptathlonscore}} \end{center} \end{figure} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_bayesian_inference.R0000644000176200001440000002605514416277455017336 0ustar liggesusers### R code from vignette source 'Ch_bayesian_inference.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: BI-Smoking_Mueller1940-tab ################################################### data("Smoking_Mueller1940", package = "HSAUR3") toLatex(HSAURtable(Smoking_Mueller1940), caption = paste("Smoking and lung cancer case-control study by M\\\"uller (1940).", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-15 (moderate), 16-25 (heavy), 26-35 (very heavy),", "and more than 35 (extreme)."), label = "BI-Smoking_Mueller1940-tab") ################################################### ### code chunk number 4: BI-Smoking_SchairerSchoeniger1944-tab ################################################### x <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) toLatex(HSAURtable(x, xname = "Smoking_SchairerSchoeniger1944"), caption = paste("Smoking and lung cancer case-control study by Schairer and Sch\\\"oniger (1944). Cancer other than lung cancer omitted.", "The smoking intensities were defined by the number of", "cigarettes smoked daily:", "1-5 (moderate), 6-10 (medium), 11-20 (heavy),", "and more than 20 (very heavy)."), label = "BI-Smoking_SchairerSchoeniger1944-tab") ################################################### ### code chunk number 5: BI-Smoking_Wassink1945-tab ################################################### data("Smoking_Wassink1945", package = "HSAUR3") toLatex(HSAURtable(Smoking_Wassink1945), caption = paste("Smoking and lung cancer case-control study by Wassink (1945).", "Smoking categories correspond to the categories used by M\\\"uller (1940)."), label = "BI-Smoking_Wassink1945-tab") ################################################### ### code chunk number 6: BI-Smoking_DollHill1950-tab ################################################### data("Smoking_DollHill1950", package = "HSAUR3") x <- as.table(Smoking_DollHill1950[,,"Male", drop = FALSE]) toLatex(HSAURtable(x, xname = "Smoking_DollHill1950"), caption = paste("Smoking and lung cancer case-control study (only males) by Doll and Hill (1950).", "The labels for the smoking categories give the number of cigarettes smoked every day."), label = "BI-Smoking_DollHill1950-tab") ################################################### ### code chunk number 7: BI-M-it ################################################### library("coin") set.seed(29) independence_test(Smoking_Mueller1940, teststat = "quad", distribution = approximate(100000)) ################################################### ### code chunk number 8: BI-M40-linit ################################################### ssc <- c(0, 1 + 14 / 2, 16 + 9 / 2, 26 + 9 / 2, 40) independence_test(Smoking_Mueller1940, teststat = "quad", scores = list(Smoking = ssc), distribution = approximate(100000)) ################################################### ### code chunk number 9: BI-expconfint ################################################### eci <- function(model) cbind("Odds (Ratio)" = exp(coef(model)), exp(confint(model))) ################################################### ### code chunk number 10: BI-M40-logreg ################################################### smoking <- ordered(rownames(Smoking_Mueller1940), levels = rownames(Smoking_Mueller1940)) contrasts(smoking) <- "contr.treatment" eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) ################################################### ### code chunk number 11: BI-M40-logreg-split ################################################### K <- diag(nlevels(smoking) - 1) K[lower.tri(K)] <- 1 contrasts(smoking) <- rbind(0, K) eci(glm(Smoking_Mueller1940 ~ smoking, family = binomial())) ################################################### ### code chunk number 12: BI-SS44-it ################################################### xSS44 <- as.table(Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")]) ap <- approximate(100000) pvalue(independence_test(xSS44, teststat = "quad", distribution = ap)) pvalue(independence_test(Smoking_Wassink1945, teststat = "quad", distribution = ap)) xDH50 <- as.table(Smoking_DollHill1950[,, "Male"]) pvalue(independence_test(xDH50, teststat = "quad", distribution = ap)) ################################################### ### code chunk number 13: BI-data-M ################################################### (M <- rbind(Smoking_Mueller1940[1:2,], colSums(Smoking_Mueller1940[3:5,]))) ################################################### ### code chunk number 14: BI-data-SS ################################################### SS <- Smoking_SchairerSchoeniger1944[, c("Lung cancer", "Healthy control")] (SS <- rbind(SS[1,], colSums(SS[2:3,]), colSums(SS[4:5,]))) ################################################### ### code chunk number 15: BI-data-WDH ################################################### (W <- rbind(Smoking_Wassink1945[1:2,], colSums(Smoking_Wassink1945[3:4,]))) DH <- Smoking_DollHill1950[,, "Male"] (DH <- rbind(DH[1,], colSums(DH[2:3,]), colSums(DH[4:6,]))) ################################################### ### code chunk number 16: BI-data-all ################################################### smk <- c("Nonsmoker", "Moderate smoker", "Heavy smoker") x <- expand.grid(Smoking = ordered(smk, levels = smk), Diagnosis = factor(c("Lung cancer", "Control")), Study = c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945", "DollHill1950")) x$weights <- c(as.vector(M), as.vector(SS), as.vector(W), as.vector(DH)) ################################################### ### code chunk number 17: BI-data-contrasts ################################################### contrasts(x$Smoking) <- "contr.treatment" x <- x[rep(1:nrow(x), x$weights),] ################################################### ### code chunk number 18: BI-models ################################################### models <- lapply(levels(x$Study), function(s) glm(Diagnosis ~ Smoking, data = x, family = binomial(), subset = Study == s)) names(models) <- levels(x$Study) ################################################### ### code chunk number 19: BI-M40 ################################################### eci(models[["Mueller1940"]]) ################################################### ### code chunk number 20: BI-SS44 ################################################### eci(models[["SchairerSchoeniger1944"]]) ################################################### ### code chunk number 21: BI-M40-SS44 ################################################### mM40_SS44 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944")) eci(mM40_SS44) ################################################### ### code chunk number 22: BI-M40-SS44-W45-ML ################################################### eci(models[["Wassink1945"]]) ################################################### ### code chunk number 23: BI-M40-SS44-W45 ################################################### mM40_SS44_W45 <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial(), subset = Study %in% c("Mueller1940", "SchairerSchoeniger1944", "Wassink1945")) eci(mM40_SS44_W45) ################################################### ### code chunk number 24: BI-DH50 ################################################### eci(models[["DollHill1950"]]) ################################################### ### code chunk number 25: BI-all ################################################### m_all <- glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial()) eci(m_all) ################################################### ### code chunk number 26: BI-all-round ################################################### r <- eci(m_all) xM <- round(r["SmokingModerate smoker", 2:3], 1) xH <- round(r["SmokingHeavy smoker", 2:3], 1) ################################################### ### code chunk number 27: BI-results ################################################### K <- diag(nlevels(x$Smoking) - 1) K[lower.tri(K)] <- 1 contrasts(x$Smoking) <- rbind(0, K) eci(glm(Diagnosis ~ 0 + Study + Smoking, data = x, family = binomial())) ################################################### ### code chunk number 28: BI-meta-data ################################################### y <- xtabs(~ Study + Smoking + Diagnosis, data = x) ntrtM <- margin.table(y, 1:2)[,"Moderate smoker"] nctrl <- margin.table(y, 1:2)[,"Nonsmoker"] ptrtM <- y[,"Moderate smoker","Lung cancer"] pctrl <- y[,"Nonsmoker","Lung cancer"] ntrtH <- margin.table(y, 1:2)[,"Heavy smoker"] ptrtH <- y[,"Heavy smoker","Lung cancer"] ################################################### ### code chunk number 29: BI-meta-data ################################################### library("rmeta") meta.MH(ntrt = ntrtM, nctrl = nctrl, ptrt = ptrtM, pctrl = pctrl) meta.MH(ntrt = ntrtH, nctrl = nctrl, ptrt = ptrtH, pctrl = pctrl) HSAUR3/inst/doc/Ch_gam.Rnw0000644000176200001440000006234514416236367014635 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Generalized Additive Models} %%\VignetteDepends{mgcv,rpart,wordcloud,mboost} \setcounter{chapter}{9} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("mgcv") library("mboost") library("rpart") library("wordcloud") @ \chapter[Scatterplot Smoothers and Additive Models]{Scatterplot Smoothers and Generalized Additive Models: The Men's Olympic 1500m, Air Pollution in the US, Risk Factors for Kyphosis, and Women's Role in %' Society \label{GAM}} \section{Introduction} \section{Scatterplot Smoothers and Generalized Additive Models} \section{Analysis Using \R{}} \subsection{Olympic 1500m Times} To begin we will construct a scatterplot of winning time against the year the games were held. The \R{} code and the resulting plot are shown in Figure~\ref{GAM-men1500m-plot}. There is a very clear downward trend in the times over the years, and, in addition there is a very clear outlier namely the winning time for 1896. We shall remove this time from the data set and now concentrate on the remaining times. First we will fit a simple linear regression to the data and plot the fit onto the scatterplot. The code and the resulting plot are shown in Figure~\ref{GAM-men1500m-lm}. Clearly the linear regression model captures in general terms the downward trend in the times. Now we can add the fits given by the lowess smoother and by a cubic spline smoother; the resulting graph and the extra \R{} code needed are shown in Figure~\ref{GAM-men1500m-smooth}. Both non-parametric fits suggest some distinct departure from linearity, and clearly point to a quadratic model being more sensible than a linear model here. And fitting a parametric model that includes both a linear and a quadratic effect for the year gives a prediction curve very similar to the non-parametric curves; see Figure~\ref{GAM-men1500m-quad}. Here use of the non-parametric smoothers has effectively diagnosed our linear model and pointed the way to using a more suitable parametric model; this is often how such non-parametric models can be used most effectively. For these data, of course, it is clear that the simple linear model cannot be suitable if the investigator is interested in predicting future times since even the most basic knowledge of human physiology will tell us that times cannot continue to go down. There must be some lower limit to the time man can run 1500m. But in other situations use of the non-parametric smoothers may point to a parametric model that could not have been identified \emph{a priori}. \begin{figure} \begin{center} <>= plot(time ~ year, data = men1500m, xlab = "Year", ylab = "Winning time (sec)") @ \caption{Scatterplot of year and winning time. \label{GAM-men1500m-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= men1500m1900 <- subset(men1500m, year >= 1900) men1500m_lm <- lm(time ~ year, data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") abline(men1500m_lm) @ \caption{Scatterplot of year and winning time with fitted values from a simple linear model. \label{GAM-men1500m-lm}} \end{center} \end{figure} \begin{figure} \begin{center} <>= x <- men1500m1900$year y <- men1500m1900$time men1500m_lowess <- lowess(x, y) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m_lowess, lty = 2) men1500m_cubic <- gam(y ~ s(x, bs = "cr")) lines(x, predict(men1500m_cubic), lty = 3) @ \caption{Scatterplot of year and winning time with fitted values from a smooth non-parametric model. \label{GAM-men1500m-smooth}} \end{center} \end{figure} \begin{figure} \begin{center} <>= men1500m_lm2 <- lm(time ~ year + I(year^2), data = men1500m1900) plot(time ~ year, data = men1500m1900, xlab = "Year", ylab = "Winning time (sec)") lines(men1500m1900$year, predict(men1500m_lm2)) @ \caption{Scatterplot of year and winning time with fitted values from a quadratic model. \label{GAM-men1500m-quad}} \end{center} \end{figure} It is of some interest to look at the predictions of winning times in future Olympics from both the linear and quadratic models. For example, for 2008 and 2012 the predicted times and their $95\%$ confidence intervals can be found using the following code \newpage <>= predict(men1500m_lm, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") predict(men1500m_lm2, newdata = data.frame(year = c(2008, 2012)), interval = "confidence") @ \newpage For predictions far into the future both the quadratic and the linear model fail; we leave readers to get some more predictions to see what happens. We can compare the first prediction with the time actually recorded by the winner of the men's 1500m in Beijing 2008, Rashid Ramzi from Brunei, who won the event in $212.94$ seconds. The confidence interval obtained from the simple linear model does not include this value but the confidence interval for the prediction derived from the quadratic model does. \subsection{Air Pollution in US Cities} Unfortunately, we cannot fit an additive model for describing the $\text{SO}_2$ concentration based on all six covariates because this leads to more parameters than cities, i.e., more parameters than observations when using the default parameterization of \Rpackage{mgcv}. Thus, before we can apply the \Rcmd{gam} function from package \Rpackage{mgcv}, we have to decide which covariates should enter the model and which subset of these covariates should be allowed to deviate from a linear regression relationship. As briefly discussed in Section~\ref{GAM:VS}, we can fit an additive model using the iterative boosting algorithm as described by \cite{HSAUR:BuehlmannHothorn2007}. The complexity of the model is determined by an AIC criterion, which can also be used to determine an appropriate number of boosting iterations to choose. The methodology is available from package \Rpackage{mboost} \citep{PKG:mboost}. We start with a small number of boosting iterations ($100$ by default) and compute the AIC of the corresponding $100$ models: <>= library("mboost") USair_boost <- gamboost(SO2 ~ ., data = USairpollution) USair_aic <- AIC(USair_boost) USair_aic @ The AIC suggests that the boosting algorithm should be stopped after $\Sexpr{mstop(USair_aic)}$ iterations. The partial contributions of each covariate to the predicted $\text{SO}_2$ concentration are given in Figure~\ref{GAM-USairpollution-boostplot}. The plot indicates that all six covariates enter the model and the selection of a subset of covariates for modeling isn't appropriate in this case. However, the number of manufacturing enterprises seems to add linearly to the $\text{SO}_2$ concentration, which simplifies the model. Moreover, the average annual precipitation contribution seems to deviate from zero only for some extreme observations and one might refrain from using the covariate at all. \begin{figure} \begin{center} <>= USair_gam <- USair_boost[mstop(USair_aic)] layout(matrix(1:6, ncol = 3)) plot(USair_gam, ask = FALSE) @ \caption{Partial contributions of six exploratory covariates to the predicted $\text{SO}_2$ concentration. \label{GAM-USairpollution-boostplot}} \end{center} \end{figure} As always, an inspection of the model fit via a residual plot is worth the effort. Here, we plot the fitted values against the residuals and label the points with the name of the corresponding city using the \Rcmd{textplot} function from package \Rpackage{wordcloud}. Figure~\ref{GAM-USairpollution-residplot} shows at least two extreme observations. Chicago has a very large observed and fitted $\text{SO}_2$ concentration, which is due to the huge number of inhabitants and manufacturing plants (see Figure~\ref{GAM-USairpollution-boostplot} also). One smaller city, Providence, is associated with a rather large positive residual indicating that the actual $\text{SO}_2$ concentration is underestimated by the model. In fact, this small town has a rather high $\text{SO}_2$ concentration which is hardly explained by our model. Overall, the model doesn't fit the data very well, so we should avoid overinterpreting the model structure too much. In addition, since each of the six covariates contributes to the model, we aren't able to select a smaller subset of the covariates for modeling and thus fitting a model using \Rcmd{gam} is still complicated (and will not add much knowledge anyway). \begin{figure} \begin{center} <>= SO2hat <- predict(USair_gam) SO2 <- USairpollution$SO2 plot(SO2hat, SO2 - SO2hat, type = "n", xlim = c(-20, max(SO2hat) * 1.1), ylim = range(SO2 - SO2hat) * c(2, 1)) textplot(SO2hat, SO2 - SO2hat, rownames(USairpollution), show.lines = FALSE, new = FALSE) abline(h = 0, lty = 2, col = "grey") @ \caption{Residual plot of $\text{SO}_2$ concentration. \label{GAM-USairpollution-residplot}} \end{center} \end{figure} \subsection{Risk Factors for Kyphosis} \index{Spinogram} Before modeling the relationship between kyphosis and the three exploratory variables age, starting vertebral level of the surgery, and number of vertebrae involved, we investigate the partial associations by so-called \stress{spinograms}, as introduced in \Sexpr{ch("DAGD")}. The numeric exploratory covariates are discretized and their empirical relative frequencies are plotted against the conditional frequency of kyphosis in the corresponding group. Figure~\ref{GAM-kyphosis-plot} shows that kyphosis is absent in very young or very old children, children with a small starting vertebral level, and high number of vertebrae involved. \begin{figure} \begin{center} <>= layout(matrix(1:3, nrow = 1)) spineplot(Kyphosis ~ Age, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Number, data = kyphosis, ylevels = c("present", "absent")) spineplot(Kyphosis ~ Start, data = kyphosis, ylevels = c("present", "absent")) @ \caption{Spinograms of the three exploratory variables and response variable \Robject{kyphosis}. \label{GAM-kyphosis-plot}} \end{center} \end{figure} The logistic additive model needed to describe the conditional probability of kyphosis given the exploratory variables can be fitted using function \Rcmd{gam}. Here, the dimension of the basis ($k$) has to be modified for \Robject{Number} and \Robject{Start} since these variables are heavily tied. As for generalized linear models, the \Robject{family} argument determines the type of model to be fitted, a logistic model in our case: <>= (kyphosis_gam <- gam(Kyphosis ~ s(Age, bs = "cr") + s(Number, bs = "cr", k = 3) + s(Start, bs = "cr", k = 3), family = binomial, data = kyphosis)) @ The partial contributions of each covariate to the conditional probability of kyphosis with confidence bands are shown in Figure~\ref{GAM-kyphosis-gamplot}. In essence, the same conclusions as drawn from Figure~\ref{GAM-kyphosis-plot} can be stated here. The risk of kyphosis being present decreases with higher starting vertebral level and lower number of vertebrae involved. Children about $100$ months old are under higher risk compared to younger or older children. \begin{figure} \begin{center} <>= trans <- function(x) binomial()$linkinv(x) layout(matrix(1:3, nrow = 1)) plot(kyphosis_gam, select = 1, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 2, shade = TRUE, trans = trans) plot(kyphosis_gam, select = 3, shade = TRUE, trans = trans) @ \caption{Partial contributions of three exploratory variables with confidence bands. \label{GAM-kyphosis-gamplot}} \end{center} \end{figure} \subsection{Women's Role in Society} %' In Chapter~\ref{GLM}, we saw that a logistic regression with an interaction between gender and level of education described the data better than a main-effects only model. Using an additive logistic regression model, we can fit separate, possibly nonlinear, functions of levels of education to both genders: <>= data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ s(education, by = gender) womensrole_gam <- gam(fm1, data = womensrole, family = binomial()) @ The resulting model is best inspected by a plot (Figure~\ref{GAM-womensrole-gamplot}). For males, the log-odds of agreement decreases linearly with each additional year of education. For females, the log-odds is more or less constant up to five years of education and only then begins to decrease. After 15 years, there seems to be no further impact on the log-odds. When we plot the resulting fitted probabilities in a way similar to Figure~\ref{GLM-role2plot}, we see that the interaction is even more pronounced in the additive compared to the linear model. The flat curve for women with less than five years of education can be explained by the rather large variability of the answers in this area but the plateau to the right is due to two groups of highly educated women with a rather large proportion of agreement. \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 1)) plot(womensrole_gam, select = 1, shade = TRUE) plot(womensrole_gam, select = 1, shade = TRUE) @ \caption{Effects of level of education for males (right) and females (left) on the log-odds scale derived from an additive logistic regression model. The shaded area denotes confidence bands. \label{GAM-womensrole-gamplot}} \end{center} \end{figure} <>= myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } @ \begin{figure} \begin{center} <>= myplot(predict(womensrole_gam, type = "response")) @ \caption{Effects of level of education for males (right) and females (left) on the log-odds scale derived from an additive logistic regression model. The shaded area denotes confidence bands. \label{GAM-womensrole-probplot}} \end{center} \end{figure} \section{Summary of Findings} \begin{description} \item[Olympic 1500m times] Here the use of a generalized additive model suggested that a quadratic model might best describe the data. When such a model was fitted it made reasonable predictions of the winner's times in the Olympic Games of 2008 and 2012. \item[Air pollution data] Finding a suitable model for these data was problematic because of the outliers in the data and the high correlations between some pairs of explanatory variables. Except for wind, the fitted partial contributions are well approximated by a linear function for most of the observations and it might be questioned if the more complex additive model is really needed. \item[Kyphosis] The risk of kyphosis being present decreases with higher starting vertebral level and lower number of vertebrae involved. Children about 100 months old are under higher risk compared to younger or older children. \item[Women's role in society] For males, the log-odds of agreement decreases linearly with each additional year of education. For females, the log-odds is more or less constant up to five years of education and only then begins to decrease. After $15$ years, there seems to be no further impact on the log-odds. \end{description} \section{Final Comments} Additive models offer flexible modeling tools for regression problems. They stand between generalized linear models, where the regression relationship is assumed to be linear, and more complex models like random forests (see \Sexpr{ch("RP")}) where the regression relationship remains unspecified. Smooth functions describing the influence of covariates on the response can be easily interpreted. Variable selection is a technically difficult problem in this class of models; boosting methods are one possibility to deal with this problem. \section*{Exercises} \begin{description} \exercise Consider the body fat data introduced in \Sexpr{ch("RP")}, Table~\ref{RP-bodyfat-tab}. First fit a generalized additive model assuming normal errors using function \Rcmd{gam}. Are all potential covariates informative? Check the results against a generalized additive model that underwent AIC-based variable selection (fitted using function \Rcmd{gamboost}). \exercise Again fit an additive model to the body fat data, but this time for a log-transformed response. Compare the two models, which one is more appropriate? \exercise Try to fit a logistic additive model to the glaucoma data discussed in \Sexpr{ch("RP")}. Which covariates should enter the model and how is their influence on the probability of suffering from glaucoma? \exercise Investigate the use of different types of scatterplot smoothers on the Hubble data in Table~\ref{MLR-hubble-tab} in Chapter~\ref{MLR-hubble-tab}. \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_analysing_longitudinal_dataI.R0000644000176200001440000001237514416277444021363 0ustar liggesusers### R code from vignette source 'Ch_analysing_longitudinal_dataI.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: ALDI-setup ################################################### library("lme4") library("multcomp") residuals <- function(object) { y <- getME(object, 'y') y - fitted(object) } ################################################### ### code chunk number 4: ALDI-plot-BtheB ################################################### data("BtheB", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) ylim <- range(BtheB[,grep("bdi", names(BtheB))], na.rm = TRUE) tau <- subset(BtheB, treatment == "TAU")[, grep("bdi", names(BtheB))] boxplot(tau, main = "Treated as Usual", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) btheb <- subset(BtheB, treatment == "BtheB")[, grep("bdi", names(BtheB))] boxplot(btheb, main = "Beat the Blues", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) ################################################### ### code chunk number 5: ALDI-long-BtheB ################################################### data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) ################################################### ### code chunk number 6: ALDI-showlong-BtheB ################################################### subset(BtheB_long, subject %in% c("1", "2", "3")) ################################################### ### code chunk number 7: ALDI-fit-BtheB ################################################### library("lme4") BtheB_lmer1 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (1 | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) BtheB_lmer2 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (time | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) anova(BtheB_lmer1, BtheB_lmer2) ################################################### ### code chunk number 8: ALDI-summary-BtheB ################################################### summary(BtheB_lmer1) ################################################### ### code chunk number 9: ALDI-summary-BtheB-p ################################################### cftest(BtheB_lmer1) ################################################### ### code chunk number 10: ALDI-qqnorm-BtheB ################################################### layout(matrix(1:2, ncol = 2)) qint <- ranef(BtheB_lmer1)$subject[["(Intercept)"]] qres <- residuals(BtheB_lmer1) qqnorm(qint, ylab = "Estimated random intercepts", xlim = c(-3, 3), ylim = c(-20, 20), main = "Random intercepts") qqline(qint) qqnorm(qres, xlim = c(-3, 3), ylim = c(-20, 20), ylab = "Estimated residuals", main = "Residuals") qqline(qres) ################################################### ### code chunk number 11: ALDI-dropout ################################################### bdi <- BtheB[, grep("bdi", names(BtheB))] plot(1:4, rep(-0.5, 4), type = "n", axes = FALSE, ylim = c(0, 50), xlab = "Months", ylab = "BDI") axis(1, at = 1:4, labels = c(0, 2, 3, 5)) axis(2) for (i in 1:4) { dropout <- is.na(bdi[,i + 1]) points(rep(i, nrow(bdi)) + ifelse(dropout, 0.05, -0.05), jitter(bdi[,i]), pch = ifelse(dropout, 20, 1)) } HSAUR3/inst/doc/Ch_quantile_regression.pdf0000644000176200001440000061733214416277547020165 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4014 /Filter /FlateDecode /N 53 /First 424 >> stream x:g{V`YQN ! :818v!l{=flyi$ѩP 8B"\GC."C|D".6#9!J <3D9pD]1 % &.be2xq:qN A\J Ȑ T ʐA &@d).<&q0CP$OG>s8b0!kUD`!wTKUsGTTU|h8(\UuW;tXuL@>FӰr9AR9[A+a] Hf?2K)gC䧄H90d:7Ȅ1J74Lz?Gᭈ.|Ҽ&Q[x"|;js,jSSRh/x}$~7 SwZ My`.0JF#`F(AtAM5f4#cR3tO,Fc.K"yGR1 04PͧJjHA8Iyzc$]b *j93^yRf,ttؔ&(J̺`^7Ի5Ď`wY'}?E>ZBsH[ v4P([Xp#&lZ`,a1,8w+~qL)/N)juOJ@um(WD'TӒxv3|6ҩ4CǨw.pΥI“Ԫ|!5ܞc8.v׆x6t(j8Qj|/h6'zC > Pf7i?߃G•wn܋G^<{$44 5^8,NPRY2ى`fH8<DyG!llkAAJPk65MȵӖXl%wZ`44wzbS`SLgI7Mf{GF6uoFUI!h,ɟ)4FA;柀8u&6~mgV)}8)-@\ǚ\toWZ)tFt+$VEIHPlkԸU[ S#*@e$.SLx[5+cu5'Y&pE^MžSy(==ޔx~ 捵_u<] )u>&I4^B7ԳgJi `ҍۋ 2a\JUvmjzUMZ*yLބƛHso)ֈqPԾ<_MGWN=녺kn:()[E^~!ȅV֨dQ@) =0~0c*S fJ0Wa >R=5hpB`k&LڣF%l; v F-7G 4v![)~a u5dtOa:)uq!=3MǢڴqEMnimޭ]0xq"; mnN'ێē44$--K_u\, 0Mu6`8]|9S10_`'e*S;/#)ו2Y墨)Lq_]l])Oਮȃ⾘V}tMĂd qxN0-F2y͚5T c A2 d[J ɇy]SNYn;::N=N;Æ 7nܴi͛GFFl2:::666>>um۶m߾}bbbǎ;wܵkngϞO?383d&fAr|>w} "w4;;r\T0Vsss?xC:묳>s9sw׭YZ, ncZ, n@R@,0 i[: n@Zpy\p^xE]|ŗ\rɥ^ze]~W\qŕW^yUW]}\s͵^{u]7pÍ7xM7|ͷr˭zm~wqǝwy]w}sϽ{}<>C=Ï<ȣ>c=O<ēO>SO=<̳>s=/‹/K/˯ʫkoƛo[oλ{|~G}ǟ|ɧ~g}_|ŗ_~W_}|ͷ~w}?Ï?O?Ͽ˯oǟ_Ͽ I;z7ݓ|}r2E &cSO~kwcRW#G:H*hL'b(zf&W_aG=SBwFTcxpwptI")x:!jmkvjBG5 ]pu'0# }Ҩ:aԷ;}ᵈ2p?κ1aV}w4L&Զ{N8Y{Nl!žlBtS#N;)t"Ud'CH1)K;*ܔ!J@[U *AqB*+lL.qrjĕ4S. $SK]׳߉EɂZKtK>%RS_I',8"\"SK"BS. Yi׺GlͯŲi7VS!ut(4ٵwvF̖K gT#0_Mr0JOi"!"wS )/kODJ@XV߃HmYh/0 B:S_}BR%1ӹ`/21Ϲ`Ky s޲}jo%LRP>G;R(DIr@!89M9oCwh'`GإŬխ,P<5tG4'L RZh|c>vX.T2a>lfendstream endobj 55 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:27+02:00 2023-04-14T18:29:27+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 56 0 obj << /Type /ObjStm /Length 2084 /Filter /FlateDecode /N 53 /First 426 >> stream xYks6wgg~d2c;:뤩WUmveɕ=$%Ri&A{qvI"S&0QylT+a^4)Z;gQ?0婏b'RH,H64/atp&B`: Q2cSh53`-Z|=33 Ȭ~bV֢@}oVSxY{z  _ ZI˶8$W qz0ő6)JIH,DyV_=['hZԩSw2OgwQo<#IF>OoIݞ.~b }0z]uP5ٳ QV"Qt@^5\oߟ*?aP֭X3cp߸t1j "lDz0uKS*$-/ۤQU^zD2hWOZp]5Un+4-:?-x@ʫZGjUM](.'ӊQpj(endstream endobj 110 0 obj << /Filter /FlateDecode /Length 4416 >> stream x[K>$I`N ,[Aqլ]K~{X|{k)S6X7bR/WY{9UPnv1֙o3aVgg*alآ2?ZFZ^*0{˘'l\d< $-ݚSVXbL s0go .ՏW2I}s}QqۼxuE7"7 q^zӟ;1+!ӗ}Q;`?|:kvtTP~U$ tvڂy^i[~a ˍp~z +@50ai t64q:>40ϸD2V눜~#*OLv2 !L) q:b'9F\ô#N}:pW8B* tZ),bA][|DⅰI v2̰E yH]v,M-|! ggB "t Kt–-@jNX۝a%BH?$ k RbOne.ZK-wH:&TW/~`SU6?2z{X:uPcu @`|@`E8l z%"dHJ ǯсH}Γ&x`w{P]:SC vF(v1kc1;E1 QiwG;+w"m+@) n!xҫ#]hb W3LzyZz\T TRt dqᒏjo2p[HX.AKHZ &l$4ېXUS9#«|Q %V Ezlv=Te5Lsf7DڀL0폅dk2廓ʧ2]+2fib^Rk-I_nlG <7N9Z˷ g[י)<&ALPzLaIʤh+,a$dMA 7yj A›vȥĶ`v^C>F]re.M\|bl_̱H|, |6h,QKe%uQD&p\|crߠCQBb;\iD aHl19+Beށ`i%m2w!Dge=D^\- `;0rU6p Oh%dx&:HR=p2<bs~&-G>V9NDfo Z-$ܙ> %S;4ĀJp{Vԛ_æ<O$+H ʂ:ZH|ziԬB- (xo(DK F]r:KPg)荀Ou"@"җgQE`S~fWkOwK@W 33tSh@ Kv0ϸAhhwrIK`yxpVg*B.oZԧb/Jc0qUZbꮋ?f|JM0F*dA,?rEgk'[ uIp i+g]Xd:H08N4wLLfܙr|mq + j9ge0Z3$ yEJ[9 vnG|̘uaኇe1 S&nWㅼ  Knmċrcr 2ނY#Fw|'0X)} 3X B#!* S#]Pq^w}PQ1p zr_Ba}HT&"#Wy;g V[3䡲H *'a!+dv{ ܩL>`:zWG`7Pel 8 ,)eޠs+AQJov`@H_̎Y; @ N[֍ri :'g#w?*go#~usx^x7'VϢ8GH큫*_`5M^?cXvȟ1@Y-j TxQrva;BAXLbO P'_ut=urW&`pՏh_G:g^am}ǿxT#q4Vjym vt%/0:wA۰Cܛ䃩0U Uf(:FD,̐׈ۼXMvNVqRu훁9:=#h;+1‚YPTX V[p =go 4Q!R] T#($b9/7^ӭb~ N|@ UoŒK*9Sk0"ĸ*Ԑp Kw5FD:dl3-2Y)$dް"+3mò"D~iy:;6(cux5tD,eզ٩)H&",qhd֟Յ , ߏ"KQ0Y'fA|%s@e-T\+=} "+U.Q`[$juDž& gy<]4y쾙$.Vp~{yVp80 r+\_V ϊnEf[xײX|E봛5\zcenݒ^(1Mr:'RwR[džBF|a9{[,zAR+e7xZ'?'ՈR=Ĵ(挏eI+]!5ǚXxS[xDT"Ü:“6$ʮc d;roROF><u&::h_u"@w|btBR'mrO1D;Ƞ(";,ȯZle"^^-Ay,vZadW=l+s#'85{vn{ĥ}"" @2TUɌPў d K(ob|\e]:Թkc=^Dsa@aGrޔ?zbCkl)2#x PƤW{пu,UGF5l5Qv55qԲ9Ϡ~tz=~%, m츁 YTM key~_;k,zWoScEocH>˂\J.F ]g-龀ZrٻMHw1`VKR^CpPbwS;NUY4oW%o~c[({KŶ񇏥9(֚q_*z(G3k3"V:V"JuHDS4)Q3udt guOT>(OR5yDyBvb' Nao k4E:j+)~Nqdɡ6|F`˷ln1a[Ɖ󀟷C23ԟ?4ڤf&ܢ`O9;#{)țϯ1endstream endobj 111 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4030 >> stream xWyTS?1sT՞PZRUqFD!H$;ET$*S,Vi޷~Pmx뭷ZYIwηoo>0d esؿMˤ C@>N[Nrprh09+f঑\&d{S""nB^vhnY46,!*$(;H?mPDiSݦ/=;99yVPf:!g%Gi#ևiBݼqZAanP'jܼաa q ü4n#~gF^A!a"Gm;W7o /05df-3YǬg2wf#ülb3f .x1˙y|f*yfV31f3L1#2U\+a)GG S*,6:wXް_4b҈Wc[Ϲ;rΑ]#]޹D/J>4U>.˔ Id:>NlЂ8{an.Pk<4Yds2܅O'ɫ_wwjN/ Mz%-$D4C-/;ugp8?+>߉Ўpe7K< *\K[z;ձ7M[iH[u3v RVzw7+M^!3-!eM6%#氄&2 9:Rɣe .vxuJ7*vL¡CJDON7ՊE˔" gCā0ϱJKy2ߡ}0o Fcj:qMG4Uu|okDxWAs+XM=cF5\R4+ҩ7!Cx Ú %/'a΀$٤Ms9ޒ`ZNrfnW' 8 ^SӖs,#N=Oӄ}4UPvPUdWa S޸]~~[retsDq^pxTyk$`ҙ ,®ʇ:ł".n(DGdnP) D1Dъt#W.gU>Ozd?\j)n"S}7/*"s!^s!BOH>ݱ k-C!;`x&c>i;,m%33ji}X+WO %++A&+szBRbK'Rzݦi`5M㑨ς`z͂`ߞFtMO0gk(γ<q&c s)+&h ~˕,'c`;=UBl+t),ePk2gB(*( V$k;p-7 ẳIO ~P;p=.Vk:8ktǙӮ_.>J{3ݾlР) + F~EքC8Xsv-Q٤sY) +ŗC1b`9d5L0*_# kpvN͸DEq!9j`a/'$jVLI,0 LwWYSK UU x-.r6 ]4L-OֿI.Cȴoeѡtwɉ+BlNmOm7qp佃վh ֲB pddp ;(Y\%6"\Oqhlt^u2NhP7f\d (c_Wl:|;ұϝO3z/ H~窃)fߑԬ^Bqt=lv0*Dp?U:9گo|N~V"0 Y;`;hMoh=%(T/lጟ>SVOHC~o7oVSj2RSr>WYʲ=EzC>dq 5:k.B&HM3ʐ#Z}8Sc6ja=s?xgI@8W zOWa_uFov؅PAgU6ل3:$cPr \;3!Y%A"$lc*M)#MjH)N텃:CFQOI߸78 _\nZU' MjRXdĊf> 7@@29 XKj,5U {OlV F"pn!Ӗ b (1'`,3J'%^Ϲ_CN3ModG^a Āa'Y,J{L-M7* Ի~sI_wXȍe^ mPͿ78EJJ𿞽sd?"#(-A.[Q"?s.)m Yo>bI{h~ =FcVmZ&WamUhe-VbM~{nÉĊ ے| ƃ+ _10KLsr۩(?O8Bʱeǡ%UdEǵY~n!v ]Ϧy`[şf}_)ƉVKUOU`]A>/`TR6vֳʐVhў=/ښS17.K ;;l͵sz8joK3 e3vZ7Zj0VVA1pQnT"$#bUPe(6\H2=pAZaK&<ᬛa)hOZ w<^3KBʭ7 c6ǭY֓4?Y*-A !3\4 &'g{cendstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 114 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 115 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xytSWx ɔދ{͸7ܛp"[ґޫl S!@h!!@h}:WM2d&ߚ5b--,{9A &N0}~ԃW莵I[- ŚU6A`XН>#GO>a  h535o>}gx>3Ə6.(c#vد a((0~kpLឡ+<7p^ B. [DtWHQ+=VyZg6o E%v0-R5q y^F=3WN2XBԨn@5{y%28,A+_.p>o:nPPfz)ķ|-GKY_flXul!YC Hr~6﹍G|MV+5N۴|J'.]̃w;\g*u[YE_z+eqa {o_|J|Dʬ Fk[-Yy0 :A]C,?F=Q~@b`G+Dա#VTZo(u:9nTA泟c`5ɞ?}82B&OKt\SrAvÜVpjWqA)dˊCo5i/Ф0%HO6V^RCX_cF$hV!1/yKCc0=M" {" rNB`A[!At d !:׫i˱`'~Wx2v!nǛ hk [ڈ9|o"q9K,ujMG8Τs茘_"Dl:GH-.bQ]v +g'cKg\w PC9)NzWqc6_Ew#O=Dh&D<[fϚ 5\-8&g*,\-"x G#ʭEŤn}ϲx񿏔?%='Xƻp f~G ӗp࠮"/*H̼U[-S6^Iz5A6=h ;Ϋg* 9`)D?&ѣPT(n"JPK(I-;tw?n^]|uF|}aQK6Oݪ MEU5I8ҴҀJ)T UJu.<^B*jOl5#07P1<,*޴JiU|1P(A;$榢̮{(Я/ ؊d:~Zu>cFyM.N gr>M$(P')QlKGCJ^Z]Vi4)-;zXUAL%ٮل7-)8=}#cS'b` LR)nKgdOqPT"~XR+*G/5$P=iγy@vͣg|FHKA0 Fҩie^崸[`qR2^pK ~O; OÓ+vESdN"|JzVGQ}P.@P:Ƣ<؏Lc:4r ܩ 4U^Kq g hBm] "\BԞ0|LQu5=(oN ?W נф0#`P;.oB-ALH~Mv"YYGI{ Do/l_-_e5ڢ ޵򼀬ȩ8v *O'L^a>glR{W|Eƿfidfl2[v5 ]M|rDgr}p tV`*ޖ ]O |gpȑokv`/r\P]][Z^ڰC-iAHUP ,JjU6'A$QZ_)}i|̠~ٴshΚͤ&Y 6̋\6|q~.qB~i׶TVt_.6//j;~do!S}dS7.:ؿR%=z[O>'f ?yF?Vn,WE3~ g%gqғ~- RH4r-G*й͓dQߠF3;'4e̜:Nw٘O\r!OJNTI]\B]`7V&>EwYΫ=e.`סv5#jk^(Jis5uP#d[6tڹ gQVXVWWUUGt 4YФGQ^1c:ۉDXJk!ZԀFC)e" dL세!g8B&LCpq@F"B֢0@E<{Rgxe\CD\-DccVҌaQqĽhK7чƃ#)prȁ B7a VmWخ 65B0-XQgou\=`+:)۱]!ﰅ5u_nr^Mn"d\);wF^hu@o]DB.'(f=Qlk۬ E&#xgo(8߼of܃yNoo?j.|sK_ _& ,=u0w (Uď~*H+IGu)|*]I\PmJb:\4n5u ms.TZ"Ѵ =5 9vvj@ꓕ^hFgM;F/uB]aV-;^ a^8EC>3Duš/e܀ WXX^vp.f(Co]y1lDz +˖ǎYd?V4 PU!jV&[|2qQLg 3a"gTCԐ=Qlu-]5؈3a]|CBJ s3Hרj`42JIB9IHȻ5šM'LT}x쑍٢lMtQߦNNU98"Y Y'=r%b;pF^ QQXiJ` Qakwd@\v]pR!̿bs Na+P1"_F&8|A~V ( tbfbw"%)ӑ#p8k''+ :g)TBb>~U ?f́؝J\rauWpXpy2Ԅ3掋88ry ͡z^ ~Ā?/y,kg Y|?3ܕEoϪl Uvsl>u/|jNӓ{0c=AˬXQ';]Wb+$y,9 bOH_Lڰ-Ʌss w9 Hd= Z*O3Gl Qp |Z\sloA#> ;KW惝&s %Dx+T'J +J" ⧑BY$ȯn!Nyuc734VsY> stream x%olw:FݒKhd5VҴ3UG%]SmӸPup"i ٢E}!/:jLL~o9'|Zt V7CBݥS?҃61`lYm<O}ع g;p8yzx'g/}>a㌗dx'aq' ?O>y_߾}p8s/q6CzlY?=Y 3nsL!dHBȊCDBB͞ M$u_e{YV"6UoI*/ge(@,ȯEsd>@ ŸUU4us":X>ńW2>EEOKԺ7+|sBqn!gI$IRSGC.U'jKGR@ JZTg V,+Ķ}o#uz>7]8紌<ݜ,dy=WW} Owcxg8VGkAjǴ>*2-$0E9C8Mx/Ywn_.:!IA2܄%iCvKRÁ#>zql,WqFyb#tԯ&e*՘7]O`r4ٹyq)^~P͡h$.e&΋+_v5Et]^^ D*‡ pIV3O IlG䦡S{6C0!_PjOKi)|=Ac?xײdl[>xendstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5299 >> stream xX XS׶>!prTGPΡZj-jhS H#!B<< &àZ*A{P[[JmC;vw_ֿ׿"lm(@ Z=$8%ӱ| ޶qyHT6mA idR,0@"wsyޜEuTj=*H-6QK2j9:zzrfSJjIFR[)j%|Q/R)GʉC 8ʎxj5Z@SC0j5ZLPE*gj0UxVb{n]"H׋^iIyа63 w00aDȩ#F;%[:;9{|KGw;r s<戝:mq9q;fz7"M>s7٤XM zXCjfBjj"1P=+kI|\f]BBkBWC޴<>5'HVCMv؉uL(7b|'VAPŝ+4.#6@kmΔIpXKԳoekGp/hܝjD_L$4bSH,a:A6?8n'_2sOH0 C&E9|B]2-1%L8Yan#%x%"h4bnw?ɧL9W;t_X|~TwYX %CQHdV[?rF6`=TsASc8>q@ fՈfʉV9(@ΓcDYC'[ܠbjfX~]7 j{%$.V p@c躝w;^H#_=(o3]LHhh B6 zF(y,M]^w,RFI*&Df\ɢ7Sv,F"ΕCSTi)˩f4tކV<(74JrLfΚw#O(M3[r" C51Qjļd>_5~eDXWՖZ5j42^(毧CxyizuC4x΁OѠhEA )>h}IGȈ^а-'y1' j9:Nw8+N- a&۫?F;!ݩʔ1YtZU>jJq,lx,72!k d¼2Y+LR'Fw`gȩ${0PDм XC3)\j\V7`.8k$U+Nx ~i6~"r@*̓hz C5'f`ZO_>Cm.\>ܾ֛{A ;PTy9{yNJ-h.eW/)+z/ 4p*Ӄ;Boiì>8}ShҋvjoꭅO q$+`I=@y;{mp>B (-c?sN^6'M̽Wb 6w&OMJ105 5M6gnU%mlAѼS б )Ż;yBv~Ӫf--+buR3r-j>jɞH>8\镮c?[;F?<׮rٹx8W:6Z'Gg=xP7s ;gG7d+UkU i)\4\KxrQ\i^>T%Q"AɨUڒP-bµ{>0hk*t Pǻ7=:ؿ񁍰gf5RX-Q>[\5!BB$p-45BkaUnCKADOj7&&CC>}miWb{8[ "ShAeU 'u[С7f=-)[ULMt*)#+)÷ΤԸdq )6w*K" *"rʆ[]6e7C:v7H$GOt< xJ'D/ E{`orIbb24I&)h,Aڢu,*K񈯷1lQ%Pv섋c3[6qg\_KZK}8 igOighȶo%'_],U.I+9D,Oލy{O[MӭBÒ,]G\so"SIix:99b|MA)K/˒!7T$_؝kaz!yl8[2 Ed:.o+RTYc1ܰ"qi7V)d7'"qendstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5457 >> stream xXyXS׶?TQ[jsy G&Ej+B(BddI 9 %:YmZO}zݧ `m aZk @ ,ߵ=-emR⚷eqi!?7J ՛$>>޵GjW0᫽8)"|_@KYTٳgKgIHRq G,!IKtL&MIc 2钐ȕAIA Y,9*A-GSd~ؤdiB?y<)1mi`4JE"YfLxS%Ry4.9*1U#MMbxlRbT_VI))rEtyQ)rYg$Ey-5J"MelIc),|.J,w"Os4Y Kqˣ⾟Q EBkmk֋)ط{=+ŮMMJޝ&{[?1701ibeSRVfDen_6F._>"a)S͛6}Y?oI~1!B70b<NL D'6Hb xXF,'Tb%.FL'fk`5—ÉA$D1MP넄`WA<‡B, Èy7& 18!bFyA4\Td9Eqܓ)a(ӈ& |eNESɔ^VeWXjWGNG4Wǵ+L~b "S.OnR( l֥UR3++*V=ͨɶA pk}XUV6xr}nЙuN 8ݎt |愾`'b=[}_m*+),-Ӳ;gnW=!9XQnvLe)hK5m :LaQgYA|!yX_AN|H4JwUb^21hԶ]ڬ7Y%Ӵ@&zW%nX1PoGg]@Rn}G:mI JnYa7yQ~`:6 kM.7s_#( +9̍k+Ң :Iҽim6v5nase H" g'cyݘTe5)aǍ?;:f?`ql4b Ave-dTz͋ B?8 =f3 ~ :1@`#xy*_c_Fp%\s*"&MB?{h3-6d®2 P=6 MF+P8\ C2nUZSąfUި%oZXH + kG5#5ef3.sTfeqqV#R<ҧhaf"͸kT:)٩2!ksg#1>gb) %}sqQ)*^Qꁻro%/9 mչLJhJVC}\ e:tJ ޒ76afcsڰ9`4 AwoǦ7GC ݽL һ7\L _3lE]>-b 㙀{<({yK(8˄Riȋj8`'_>m퀖r4Wt~PI9pܻIlcZS#&"ѳ,}#fkEm$,0;EƨƮ.,,JEޢR5ÄB|r.ǚπHvsjMr¶",نd/M—w^qi`{IwŃ\Z;r"9|zsXxj"N3kąy!"NBUn#Tm%c=9E=5-48=n$=GYtEm ɱu}SdiUZS*DwVaz7#k[KԦbsΤO a q~'y a #p~(qfS䤀\Pdݐ[ @)!&Ӛvm1I|\/g16ɹv~PRGƩ upf6ZdQp'|ϛK&V;8lr=x9 9BzD[Hxɠ ~z+Kg ԸKz#ーhAX4 L sO쭘oۖG羟Ƅ >]m)k!sdIc[}!|؇G(ױt G%6MȄSGO]|:P[jnQ)lRvM F/,z ~g *QG0MUխ-형kL{JWj(i僰9'6)+.*wRTm+d+TBuF}H:ZGNVs-4UUU57 >? ~Jӳ.1I$6pi6;~u>ZVΙ`Ȏ><h(U+7+B wA&6(F_=ٝ}tϱovయ&#o)ό!ܺAF EýG>kٹ549ѸѱQ GrԽ;3 x%7  ZuWVXYa5UIVXKiu10cǐp0/Xu/no c2y )f1I?>s6,\0uxa3UɘIx,52T-V#Eіj$=hM:Qd} |‘PIk*1 XF 2&`ʄH7F`ЕK ƨ/QkytapA!W h7~ ؔ/1hZ UF]ibk-xEzƠZka|xD$Io6Lyxыssڶy[@FLaqU56+*:6~p gh,˱D mSY ]h]?7/U IE34b*jkϵI7 8U@/f|ޗW ړ_כz $?P] 8nI[_.J$Zˏ^]AmC/]/qnߐMf}rQH(ί $63{2w{xxK닑 7}t|LJ  :xendstream endobj 120 0 obj << /Filter /FlateDecode /Length 2439 >> stream xYKo7ϯX4{p$e%&Hq,ybx+nb>D#uVR?\J_F>hrL!rz*:5V2[ȎmK>irhUIFόM&Bf6%eR7 =M$v9!dYXp)drb2B|u%ΐ7G:qޭV5%zm93YGo6JMTQ(i3ډ_!ڜ₶ĜMmcÖhB Nm:eԕߎVWY ƻq}Wפ*Tz|6dbLƋYć\E]%}ls`$9PNlߗ8[peDP_Bvo[,1riXl8Qvl̎cQ68aJ[|mO]& OI&t{n' EiQB"@r^ `;d_cT>cV`/ur"c8PE夌˜ma %o#r[ľ'n1iɄ]a})е? 8#!9qU[`]U]N ĻCVL,e8AY-tp@K-VX[TqluU4W@nPG(M>u9 ^9yDZ4Fsřq e킑@ !ue{g#zU9@^NwhFyb4VWpĖ]Cf!Rd۞NIX ]h2 ޗb('q E?q+#s{ΧT=aC0~M4fϐD9@/  xW;ͰԜo{U tSo&u]`~8_X`Kn%~SO,Y1l{:u`NaKwy;(aR`>#u.TC])F|89rzϠ\׾:*aܕH9;b(·ؕ cH"I5Js8g8)wI n,K C{:ٳIWpEg3ЯἙ&]N3,-i|*:"-j!J?ްܔ#T&Ncr(g:U#U6}2c猍@8> stream xkoG?ℐX{#D!~"U΃NwN6B_gP f:+Q?,7 kg,poY^GĴzSyyՂ+D!pk*#FgTS)@c+VϝIZus\ې)q/`CDlPuJEqk2y>*h\YwFA uJ[P4Z/izt/6Wm'/R#X/ n&X:K?^{ 77)@ 5p:]Jvi1($qo+6ȃݍ(BZÏ"`uwUY: #tIAv@e:CG%eIb(!Jz%k$BM ~ w #G. l2d|]dCwmȏ:4B,P(#4P8),.ŦTOSY bKPȠf |3O|}6;IB upy…vFi i'%pŜ&ؼK:J7L(%d0 w#(L^\SsԸ M՘1{ e 9iMx3.H)a:RhH *'78 v^K⣂3* [Q)_֠Ȗ+ {:Nwzw*Οl<]Li Tw<_Oh }W+;?>h`9Ye Q…pgyR=]LOF'jӻG`˵)lo&+UY:qQ \) [ǥJYɽ~y\-mT67 Ws xSվ-AC+7rFo5S6 \P4֨ OcKz2NbشUl͂5=+$"d E$T7C4,$Y M31L^|Z4X]b|į8&2Ly=xsē&x'ї^pF=c|޺F&zNfNSLu\XA遥KᚁҐ8G %;%kPk'r1C2^Ĩobڵ 5aNu@vNu6/Cvد%:Haq&n׼*[o(pike'B{%7tGt򈽟ΫۏqdG z`̯|r]endstream endobj 122 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3238 >> stream xV TSg=19"BON((**R_< 1$H !^!ɗ7ND"RRmujhqz۱^?߻=w]J{`x3of3PtEDx \"X'X/VĊ R**2N(VLx)U*W/[R|>rd%UR*'⃂M]aXป_+AbEALB$v=D('ˆ Fb@l&o ]b1xJrND1}1ea58.]n9j>Ԍ7\ \G\ܶ=0yzv*X,L4bƼ<ϠwQ/Vmgp&-06Yι͵BH'm}6e)͇$v燱ڢ~^n/2|{ܧ{.YxSo<?F VPzMz'a1t F'1Eh!E<"B%ﱢ%&֌P]/pݣm4urL`7VG'#`*ɜd;1Phgf.ޗ-f=;/҂s?s q^>;q}Өa71:ZF)S.hz y`Yo`S2<:\Wfc]X6nb5@_7(+)! DE2O_*h ES EP4l5+LAM8ʬruӨASf/A܄ϱ s:^=+b'q"U"8$(j9 ,)VœZ((bR@S7'L3n֌]oܯF^K>Lk?cߗ"հO"u '9װEtʍ­ Ug-@ `fb8i^Q~23>6*EGG}<.0^n0Nw:[`]7d| q^'I- nM>Ίrw֨s ޏ[@41Of4m/J?Q .0Rf4qTz!GK 4ъlEpʞ@j((sZRs}2h}MqAf' @.)[sgm kz_ө,HUfs1G L?]\{M/RV FigR(P[sN :&g k9\éȈ4QkRoR"a=aSqU&!*֔FY`!ikJ;L/n M|hz[n-_^y#g-em~BwCEi;4.G>`. x&72xڃ{|4hSp?P^v=5Ui RU45dYE jIl>Xm%ovH:\ ['fb ]<2|'tL+X9MJ,Wu% xl1ڎ6"-gZ8ЯYtẁﲓagBI壭R+d¤\2rGz"fF:N64ʕn5\p8ej'z>.wɭ2"!EahmpXMuܷ7zݹG*5IW4u•/}~(͠OM,M6|>;9^Q}hoFsK9O];%LTMI+u]cPzdbsXTA^UPUT<9chHde`-58!b>Kl(*q<',"n4Rp/3ԟ_ Kh;t2UT&ɾ(Z k lojyG_K)&ީKSjJoD}vo'G-ۤY oCqQߛZz> 4sr]5xJ Ცr Vbu9 GL0Mz ںޔl႙z^Ch}8KW=^kBqDm缡Vs=A]s=zg}$2GBaA' P+˚R*qO~y2%R#;r#]W]^P@ˆE 9o<ѐSLʆ GƦ i=G\JEeFf@upy+"(41o7q<`׋zn|J^CFS"~0˓9<ƨ-g?؋WwW:ma!h(1uĻs@nl|>U" u #l "W t{)>>Yߚ19)vc(GWVױiFR7:?֑bendstream endobj 123 0 obj << /BitsPerComponent 8 /ColorSpace 28 0 R /Filter /FlateDecode /Height 320 /Subtype /Image /Width 480 /Length 26619 >> stream xw@S۾{{}RFI!{""*bl4QHKBh^fKt Zk|afdfco'x'x'x'x'x'x'x'x'~+}T ߑǹ_;{PނR;'ߜxȲR~E<_Oo۔ UK~A v/wh }A3'K~|<u|AuZpuoc?|cyK~R=(d_Z4rـ0rޚYg__BJ}}edGc&~?|G>_*MuK8տ`~`?ond632/}L.Sֻ`}C-G7oѾx2V<_:L*sΟ/+w%]n%loΟt:}v3\L͵%ݭ{2?om.#̜ϭ;2477HȻNwkޞ1}?^y}L~~I7}s'[&~|zw;߉wwQ;g|;fQ}WK%=k_/x|u~M<_.߯5~U!ڶ8NzCqo(LX)g,H(<;jE~U9943: ;{+$*-NZzq$+suݡ*ARaXu@x3;?>k Vk 0# 3Kksu]mĝ,On|rw 9kTn%|I,{fDiI/cGLN)&;Z&tx> Ĥ,tG|yR+۩sO΁Om3sm}Q'&D&jeGLgѝ.#$y |sKMWc;y:;"dlC P nýR\?o7>,E}<~N5G⻱y߁:w,ec2=3̢S_wHKlOkpZ6lSM{u-O#3{' P/5>M?3ƷFQ!YͩdxzG%7fƅ{GFWw?|s#(GW/I9^@|6aoo!k}񝧍2Ȼ֦H&k}LȌ0O˒e|,ȧ65"nXd#j\{x_g8p&Y$gc߲~gv978O:>~KG_N2uťY_/˯.-LΊ&4v1=<ˌ IN M$*$3%_xAidZdNR\ҋ;v.Mݣr_--Ȋ2qQ[0K>-]2Y{ `%_֗4@.J/+;f=j'AOSyˇ~]zr徿kNC|":Z^4٣n9/_Q j+&~a%mÉ)o/gaf;vw6y}?܎4A.hn&)7|73(˯CNߊHL y|mGϼn?p쪫Gx\w`xxz7χb_fԷ[GO0/vi_-LM<܌Zg H!z[7k#wTԐZ;o=wTYW"Kn^7b"SVZgiv {rkU*ym95#kMM&|RD1EXwu9r3;%YrR{àO35<|78IkCGMS}fj'#?z1/^uE'~Y{_?*?(߷Qӷ4;*3t\'~6Cr3^ܼAYfи[Ǐ=8G\v4΋"Ky\\l5%$lLԕ/ŽxuFDLxpv؇뤰h?|WN݌E9iK316g' Ч["Ȕ`!ѥ7+ԑNߐ=dEEik}ӗ>:'aQ-cu C%)-Y5I؛n'-NzPD 7XS}~kUPp6"7.m%N-mui.7#ʇ7^|Jh`md^[K;7_5x NV#gxW=:Zrr7\֕w[C X:$f,{WC]>9ȠrlޮsHJkx wPGyt;>I=EqqON]t=fjjdfhdltQWk:`lt5Ue`}X_+K-9.ΐg]S޴1ʇ=qWiArgv _цI42wH펎-@GUcuLRvG!Rc*4tiG kx_qRR䒽' /8^=yEj;mA*z4BUlF |ڻR,csQ~A3#,6 3݌ւ̔$7wW߶46xE7YHa,2RS14=u팶 5ݫFzʆrGO[޸Դhj%WcO{QNjwnGQn+2v YД+c=}="/je2 RhC  u+IT,D0*(Mu ~咚:JZ)$QS7ӕq(C*a-BnNg!O~M_㻱8.-pǖqT(.IuZij:..B<޾pi$ !el*u" 8F%'@+"`RCS#e$dTH5:j*&hRX|}+&*̶¼ɯ $}~K$弦[֖6F# 摘e>Eym_Qi|"|U_wy︓N<:S34og VaIա1/8=>ub&'ʥv篞2tICDG]SҪ*F'.57Ei[YQEH@! T8DTGFR`om5ԳS540:etcng{Ю2l#W]lF3 B[pf7*"Ym}16ZZ8,(?𖭾a]R ic:ǧ q(H.!RVj҂ >>| a!J( * G ]u \RIHZ^tnwk}){ݧe| ul.I7\[GmMS㪉xç?v9`kr2}#.YˊCeUNKCI D%e0L %䬴!Aa0&tO&!*$KK@$$A"h-s5%B$LN'cݚz7/_8~a6 _5-)U |\S9>qHT[]RyJbLMy'σ\]PzQC>GC*!a1$TMZ,*ApcEcrHǍi ApVIJj:z>M^XۣD޿O7Iz3suL4#1>->EqsviΝ2$*((+a" Q!A+i+``@8$$j=M 5O޳5P4WU7.o!RLec|ǥK>haVS=Qwf9)1.5#33%>#6:g.&g|TK^EVAM -.RL",%-*,a %$jDE$('aTͮ)(奐zFRZGVF~"Q&w[׭LvZ\m~MML*:q-wi|lx1⥃r'Դ O_t-[\]$QW("@ @E "b0HTLDABU1?E"%B æzZy-%31NrRz*zhW_ZS|؀kکM(+6.MUFetl*`+Q!8u=9+WUR6;q;am"Ai``( ,$Fm!!D E12H5ELJBbpMy-Y0 *()!d 4m^pMOEAQݘd{SBλ:v9nvƽ._:av★)o(I( D…%!rh8B\R x>00&S5TDC"($_Q X%Z: nGeUQ rjzF^)/w_4ir}O>Y/"VAaUWF )ådD 04LG~j0P~Aqy={EYc-c{碆wQ+$&ro$nM!6R?As3>tM%o{2~n8s' Ht&%:7CwmޝWAnndv\GMe+k;#f(0T!U% % ud!b0 qqm!#dU45Pu'攵E+]19hnp}_;3;G*ڻc,i'q| ^32b'~m 1So>p&c# 5Xl;=Kj |䆉s`egKML+M^0Գ;r\LZL<#4MMlյrhIiY%5 )1i4"&*9kfyҹӊC#"n;h;Z8ˠաh#\_|,<.&-J@~OGvUڞ犓ԅ>?y6;ߍoC?7>t[AO3hm]X2K;ԅYf;{mcN6GEF>w1{;|]q񨽅.canw\^}찳(V""0acmuY UiuE8JA@"P93KS{m+ϸX?Fϻ8k)J9|EguY+_̪~g^mQH'A_k.gu6oݩ R;[igLf7ì1|KS [W'7SK@mdRXm6cQ}M1jTՍM ΝixR&*, 0JMC]DeeőЃ"`R,,ǨIaH|Pa[ƆV}\_`kh"*k e* 80(E- .+Ahm- 94. x@+DBJtG~!" "r% Li`ccnofum[7lu-xuXKqQ/34Vqkwo=mĿ_tyžO Hx떶_~wyFs]Z%1F_I~;I"q3FE$75W᫹CSݸ6JJgUғAAedUut0I*.BjI@Rm5$* ,pP_%D Bʁ@Y.QU!$ *,l4.Ꙝyxʱ3!.6WOs~^RZJ2^ }Nhc~qdk]m'b8Lڭv]_Z-2HckyUn\m˧G%`Ԃ6u K*qܚlHl`0QKɊ|~6V;nfK)a4Qp,ZA$TDC$H-q(LXBBdl C{G(A=$HP(Y-FcTP߻v%#bkro [VX4eaawڗu;ln?74޷E)4Cu|KWCY]5?frЄX畅xB_4.)%7i603sO>8>!ڶf0Ymt00PǪZ)˜Q<<͏GpMlLwv4pe~x[HYgWD>l3 'rJr*0T${T_XThq4RAJYILXA *! @"040ŔN[;iWUP78|l`LahHqS yc[+s߀8[f. X\7SYM& !!;YqՕ>K3lj_'΂߽nBWѨO/linEofrcf'FĦ!5zCߊ)Qz Ҋ;h[???18e̵P)UU=]Yye 8BYR]QFIB(!H$ KCrPPDG$aƖ&9eyE$ %Vsw?㼉/|O]|TPUYV9;kN'438wp~BXGy6? #Ա ۹52ZNb9-,Z8piv{&DS+e/Ow_wʳ )ܶamnDYYlp@hdd_b&PA)ĤPpcflFŤE4 <~  Ea`4!d1ҊJڪ)g\}.8X?z-496݄tlPTYQPvuzF0`0McrJ:p_q[ X͠p 50ye yxĦ|K>R2ZRbwv[,`; vUrkY*[?Ϣ7ئ- ~<6,+{'3l RUV:$) H I)j*C%EJ B `8ZRǿ 8 rH*,$  Jee0.ofijk{_V6g:؜y _XW[y/(7=N*k.)jM$TZqNFr8{Hߍr?XY18n-"ܼ'ebihM5) ;_s-w} WS}&f^WgH7$rBHJs~8 .FIZY6%ctTx庋0kc# 510HK^>$C!1zbC aa $>dkP6UtIoDVlseXarjjX~CK^RjZq X+nQ_]IJz,[7H/R:&#M->b~MF5G]ig5Q aQ4LDH\L&%B+E,@B0aJ & "D"0qe8 ,#+AbpQ8RM]whd}'W2ݟ?P|ٛ M%qU%D|D=%e,bC +#xx5\_>֌\!]%1G,WI$ Mi`M]eϮPǙcSҀВ>&Xj/$,'=19L޶A2. S rcbcۛF M(]mC$juれ'QeOt~m37CC""2B| AAQIqu`D x@@CH \PXP0 1( .).P!Ҫ*H}а'Wo{\t?>),9;3ޏ b= ;;zٹYu z#aӋoq`.*={Hʼ&|>23\3@~HM~RPHfs'GG;H]גyׯҳmԦX6\4Q@mIQ!a!@MCEZD?C" 4DFIn-*ZHRPR1׵ҐS1WSѵbsiЀBuws⊋.GŤ4U>SQL&Qrr;Fz7D#rͶ4wwMjWI኱zk#v9Ӵ䤨&f:` ȕ /c,:F^y"ԷsYׯ#K$?8E 8߯–HIC@%NK<xky=(ä|Z.hhI!PY hiA~C|`(RU!&`" )eЧO;8h]v5qIw숪2bJ+*cmJfzf6ߙl2md|tz3[M?͂?מzЮ~w6 =>XYڊ)j#^OKCE 9D fjvXiC$vfp1e@b^>1 s)rlS_igM/;_3=; zl˖:HiszV퀨#{Y⯲j@0LJ Tbp0 .&F B"`0L tul DAD*Pj2VN ՎyppWp;YI祦T%xaLBAT^vH"/Yn,I)lz84&;η_~J6?ve3ҏjI).mJI, M, mih&TE=zB&v4 bS=u8(yfLlp6« qE7OoF{J^%&"A]noN&S&9kzWoa =-7aUG=}x716ڶ]E)!AA0CRBP)qA)i)ICAR*0EjJzjpJ{m_s$ɩRn?H&De%'Pg_KMe$karb qnrbnh.}_>}Kw-rFJ^ľJNO |YY(_^z7RI,l@jN{JĦzgZGd|n5uߊN\DigvhbuycN?1xKo1-OuԩGq}uOV 0okv׻_G!  0€$   .h@PXhY9 9Y i>fjy]G7 ̮9ξƾf3)e fؽto|mLS(_ȳem~IwO-RX̼֘8ZTb倛7|rCeC+ڭ_!-+egߏ) xWd#erSe m7Lh:%5uœ'=\$S)m2..떷wLyII L "ࢇDD!|¢h2.  BRjFZ6g\Q4uNGnL|@DYWkHMQzoYC6ugs,F7<%;eDhŧv5UԵUʚ".e3^7. )ȏΈKNgPp[\Wsgsgy뺫_PC5~ϚAX_7Q^⭯msy葆d觔I~n>iv3#rH$ΊI)X%%.$!!+TE dbP%S I+]t8_1=x(\e}4k2&s0Yy]843~o-j ݢzC-m+]M I9+"Țr\VxBqk Gvu? )Krlosܵ躾wZoog 6rꬳYp ޞ y1IP[߀([pV\KgO7m YCz+[J ѻ: [ʱ#=~͚{EM%Us;"T>d>$ SV֑JI%""B`:g,lOj)ZxǓ+^oUV5I7')HunXR_݃`&`a홯瑡o߽UFWqA%_ĶeJOJcK[~]׭Zފ>sn88>4g&?n" sKKҫ3]̱F(00A162樌A t%1Heۋo^?}nѹtFRy֐pbKDmB Էl͸n^^fvo%6{˵g&?*6+;IwY;'<"#/2:֐V:Du>mQPQ~+"7\XkS2+Ͽ^HzM O PK#"E*л\-7{ yqɭ󜍷õW쥉<>xl?Ⱥ@ A J(qS}}+CMRJ{C35Y H& ic}Q/z޶ 6%{SǔԼ&J7ܕ_Fl93@#0V6)c#no*d|[-1nl.:x@MMԸ|~]c}fyTEeQ5R&حPO`Q ]8涉5\r1]/֢ؤ򜾉ō7#!xtj`+:-5DܹJ vl86ɝ bn}榖:BAǎ>f##R<|5ᨲu{]h~~;(A')a-Iyuyc$@NEĖ9y[i `ri/ V\uyKQ$F&ʻ:HSJ2e|s#{ttw)/J*AI&kL{y!OEw]}vE!y)2\㴋qO/8VV潌u/#x-䕇ze]쵍ѡ^|k}/]ww+!䚃BLIevG,4痥TL{v局,>{bzX0w%v6F܌_ُ7wstGE>gtՌ􎜒VD $`Jn? ~Tq QS91?5Y~} ĬZoGNW<)"t"okC ]#W]m|cqIM)7t1A9k3@?N z{r-PCIi]숎1ژ_tgF빓oz=漬)+HH(*ƏRSCHI*ixBea;2n((I#D$TϩʀE$O\:r "ӎ;KJ+ʪ[<ёɵ -zhUqR}=6~dZ=%,6++@ˢd'?/"P~7#*'T<|+ICBË q^s-3;rx><­Y;`:#fcߖe;2ѓu\U밅4\o8=={=cS֪uK]֥Z˩qq[ՊZ*\ADEŅ !f&{B!  ; dIh^U`FRl|/՗y\&-rrcR"rs0;ˈwQXDrDXm$ e*AīavcPMKo\2ŋX`U>Wo8x40ܳ;w2V>WT3o{Pdq3.g-P9,kĢVԤWJ:n~(.᷍gXs-˖bܘa=g9aFO]t?ZY_Ol*], /HK˄+AR(Ѯ9c9̰(v娼x 䗲F4>:5!L߽NjM0Ph̀ؐB;L'7nޛ~ݹs]W+[řOBC"'畴Tq39n>3/grO8I RE^nRmjd-*;f,JE%WxvtϡeG_NYS t^kk_>Y积[^gN*O*1*.P 5hFfľ ^<gsrxtS EՆP&_(*WC9u=-ji@ 8(cjF edYG4 Oxʵ9a5^? j~R K2:OT"o0KW*e @WC^,BNxn ]ESrO}Odݹ`y,Xr?fog=f:wpבqm [{ѓٌ&ߋi[zx±\B./R4^Jz=(Yt 6 Jk!1 JT -5bezRzZ4O5d(`KQ[8s$N>j}?c<֢ĴŒb X7h*żxDILO% Vwj7:3zY ؋G99Q?o5A&zSv7Λ*A#G\_O$K`Xg..t~!ޜtR_5:i'=0#[Hf8Ӭ3G ܅ 6[pf'9iyÇKzZ2g'-B(`XЪ[ϝ`$13BZ T"5<L+R)BNۗJ/e){ӓ%"HoŨ)@|-^h|Li-I/UmBMIPU%GDѲĘ7S"t-zۮ1/GAzj7WQv1@߮k+|Xh BD09G>̓٪/qAc̻d^1IF[a+2Cd_ڲcӯ;l9y mƬ -in(QAB#r .eeǥ?6t eTK*^_ըePqF6BrM~`sI_2URlnM@qy#j4L[cx*qب@ Ɂ;{atTvJÖ9ƍK9nշt÷c' q_f͞3w[^ ϼVyܱ[rϑt9S&WQʍ`?LslP.fc"X\J!b*a~^@oҠC[I/D T,N[5a*9 tQC?y{8}>/<&ajh$+]}isr=ڽa3Ѡd3raHZva~s1W`fe݈m5Vt&ȫ$> ? ,<,YJ56kEe\F|uUzB5>Immۓ~w֝9uI+?s`7ғn] {ŠzZ$^HMQNAޣi mlgӁ`nBKJ <=e[b@6S1)QzcE_x(y'g^Oю߹j@L yPScbb'Dj>X+7u%Bkrr%vƦ%&vc%yL2e>.Z?*zb->mҪ=Gb#/qw{+U?|^RXrl[5`.&@ʉbdBR˘E["TXN LjOQ`ר5EZPKqDyffڰ1l ܿnלW>Lz{?N`1 Ob}DXm s,,n!vμX*ۯeTJΝ#:_t#* jL"N36toq<XV=t'Kw>x̗T\?͹%f42U ۓkvuVCT KJJc]M#b& w_ c:wWП ZA  7ѸCH'My.D\;wbi|9?ϮHZ;SV%=WʡFPp7ښ 0>e܊bXhL5BHö:?gb^b䵶A4jH_{!/\D\<@ YY|jh Hsmi QoMjuV09Yr6[وEZ#weh5V<FmL=.WoɲEKvފ a&r ܏||_P4zqVsډP7SVr V[>yy(4fEVKk 黾[Y }oeJ Р4Z}/ފ&V@Tdg )ڮi¼Ry&L籀lPN, cԪov{NTsgŜ~ms%N{fOH&F8?ñcHF5&jpf}xz1X)"ZT=vƒt< Kej"Y|߁D]"~/->rۍu0Ӥ#bqZA 5qgpl]^rm ^"Ob۟٥V}[\ks  0I=1+=QZQ!`6 6q9Nsq7WhgAZaKp&vTP,=Wgfqnȼw3kR[57NܿSlu@KruAT2z {!Υ}g/h". 'NErAV#? ~W;h`Lh}sOXF,G"&}m5:@~|X _r:(-s+AL `jjlUeyyvh rFv!9ǣYz8}e /+)))-հ?NnOӢe'dvT*0(K69~IB;.2߷ke*¢wB&l9HEudIxrTA8ئNGӍ ҟ$F y5ԷOj|)U< "5:*%U ʚ`TVo0j,YNiih2>qw6;\1*<)jM`:ѷsi}{WG!\*KW8M'3s8Lnz}x> k wb+E:BFG woq,A_ŋg+PS4,psJ$|O,KAbį MZߔ޼s¥ yI9> %%ե w9֕I|I=D=s})k%hZ\"=vV˳XBbl\X=)I:R8/ ̞!ZQB͉NϷ&,ʅĀ>2Y|8_I6lsI{}u,[D/HòHpճBrIg"}~.%X*8״ABGL5Pchm䔔rۢWkyJ%Ե^0DKe5ZfX g: TJ@x r+ߍez/ 9^C}r;>z-5 z% \K*,x E q":5%,Qt Y d@1x(n5A2Q_{NpEQ_OYYjZ6tVΠu`u׻˒\D=H02Zfe;Q詼oV"޵@js8AţG4b hknD\Ѝ\QwaY ٽ:ay<Ex?{虻8KkG_Qtm+իtӋB%}cGhzNJ{P:Ŧ)RWaUMp^ثKmگFν}" Zэniǥ6jc4n37uӗ$Ff7$]2(}BԷVW! z6hP:J`¦WJ_7@.-8(}Bᕻ%uB}|] SBP:ҷۡuS(}J_gP:ҷۡuS(}J_gP:ҷۡuS(}J_gP:ҷ6kwNy~}\%~wJ_<",\7`J_<rP:5%ry_NyXW(}`su;nD'`9ҷqck;[ϔݎ{59|Aօ,rw#fP%xC~Ցn+̬\ ܅ T~Fۯ|HcE?ݎEdsҷ=J_Pv;/UVz G#y+.a_TU .{dH0r}y)U4}W.(}_(} u[E|Q'L"/g`ٯRhW.6k&Ȑ^ zF=C>8D )?#S~>J/b|q/v#cdf`&30[~ t|ΰƪ\cs꒹g`UtIU6 f[nF$2nտC@w*Ngg`UtIUL{V?Ȕ'Ct~*8UŏsI=nIJ4˧ |L3sVAI }p^KI=nIA~&؁VS30*:$~C_*ǽO!~++?sOH|V0q:;s>N7}lS>}:Տz"蜏bWAAAAAAAAAAAAAAAAAAAAAAAAAљ_{spM:拡p;wIkq3OvP}hsL+vKp#{g NsǼt~"gMDŖc{{x/9a)<|&E73 AߺhWfc~ i9X\E?#YVxA YؽOᦜ^e~mSo -''YHȷp<3{~З#+7٘-?{}gL]:X x~(ݵi̋p^{Co;R/}č~PsP[zWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa>endstream endobj 124 0 obj << /Filter /FlateDecode /Length 2937 >> stream xZo .npr4PAG-YM33HN\\?xv?rHnǬcj$Gl(HV83^0>,GG(7FF J3@%!&(bRr5V *QcʔډM+SڭƗf7^ ?7ŒO/FQ|̕lłP\jzV]ö^i%Øz]OiH¼cB2|{B["j'@9l*{眉=3+](@V:yX#OncC{Ε={syhWP{Pv{lh%1Uk\|•s{@=W)Dѝ6M.!:5ϓx;Ѭ=ZGAT6UYp`Md V 3?`;Rg=2"ȠIp[ I!{,x@4XgNH P*ig UQk!:0P>Q9,7Xo;bQd[$ܭZSm.ɔUaqyI!{q$0Zf?6_G Z u=k6boՇịESmHj `Z,wL0 >uWd82aK@D{'wNfL9*vKBeJM}|- F3], EH+Ar>KD-B2K_>'B6?Tn[z?f5m);I/9fxn-n`DKׇpqa߼zz\8H!^s"۲vصZ{񀦺WSK!Rn?f}[nrBϿ}x"H?<>ЄKBΊs8S"γG)'gq}jĉa 7i2gۏvỗSm һGߎO{\t;`X Aaqp,I}'9#UI[`BlvIc,W.?A;ݿm{pA~l| ]d )JBGS;ϝ w*LJ+e}ܴM48TSMD֩bz-wzlmӯsIƺO@kEzu>.0jnî6}u:p>vhOڑ|cV(r.$Cɋ7loRLU!1Pn{F<ޖnY,?HsS?a) xRQq3`)St'r1rnT7G 񞴼Ḫop[ӒI|2d}Og y/">ϗ>k=BvqpیRxgK(=]ܧѪ0Z`٬[V=--8][+X}f5·](8S 7mF%v/5ї#\UMm<1#?;mBXZ`MJO?uO2? bendstream endobj 125 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 126 0 obj << /Filter /FlateDecode /Length 3940 >> stream x]oЇC{o# i"HGEXNI'$~o %{ܓ}hp83Y/KOW~n_/ bi3˫w*O\.~X8{z)`QqFUZ8kEVJ+GZaGw"e)m*ƙjUB*7Dcś\?W/N~{oY-"3s'WYSZw߯sƫdf`+}cw~ZK)zM~ & ap^{륇1 y<3P8w߭~:p˓o'xٽ[ ۮ֊1^0 1fKxwe ύ~K0G~x.viEu]:p- B6dwZ7o2>!n8\^nzmۯM*ѥ;X}+w۔)"xi@ 䮧d-Aw20՝*RgPEHOíVjxiˁVHˍ]8ـ䓓 ^>X@q*UC!xytYh0ZƜy`2Zj F]`%vq. l@X8WKM&@eŶVVOlYanN%8j/kVe ygNp"OT̆xahg݈s{J[0# L4"Q hf%w܎k縴p`FafUl=Y4PJ٫$񤻸| @_[1.B"lh5rׅ˧ FXE%BvoW@PL> y[L* )+T=Ϥ~=*jZc<ȣ<я]ͻ!n}K7Zlpx!ǹ|w_n0937ځ/!o~vWCbaS|#[! +6P~eWqU5"k>QGTpk0>e@p5]/OTDu !ABu_ggWnÉ'U9%FvD]u6Lws3 |h D<~KA\ 3ahET. UfT,/i{)-xshc@;qSpkQ-v^Ӹp.z}Zri蘶1aGRd@ .' ץT)ؑiOxqȸ*$8&c r)` 2sr1)|o"pL]^ cfL!}7Ԣv$%OI|Q'1 4LBn+`>ʡ$ e/_\D3IiqHT8/76w+R-hh*y2 Faz'9/8 2iH6MC܀*P C]dȳb>YOGSyM)DE^1V2 !w m3WZ9o*JsvqJv_tB{Jb,@RR AYJ2hi+&P% \:AjIo^bOPS'YV OрPbSox(Lp^;'AnF 8+"#j:+DфuӮwY\.񬒬{R4;]fu<0,UE{ Gr tWUEz@hu66iʵ 4Xhn&~-D\.806us ]0,& EhvTbXKC\Ǵe,fStz *`uE"X#ƁVZJd]CBBb&  1vm. (Mgh#hR7ȨP`":rp6wFT,IՂs{Z=U4}q<`sT}53=);B8EVD3!5\t)dEWoWZdMm|RIvzrDҕFb=^J4njV-u c?F|*&dKIfV!!Yd^"l*h[J [:oH>UXj>?N}X8Sm#.=@̤2l5SLy0=ÃOkuBϥ*ȣ9TT|>}$W  =ceDN}|Sk|VGtޠl6gS@'6 Fʫ{ot8nݸ 銼C$&:>4&r<ُ/u]ýNӨ4Ɔ3_2Y[}Q01d _u/ dŶ$$NY /͚]δa&x^+="'4'&e4X/pN;X$6&pS6ԓ3,t=)Ԗ1XGr26ZqDvB"qw KadI7q+DCǦ7DaZ,[FPƏ50oA wUc@TMqm]["X)`>m<"Kq/0FE$V}L 9^}Rʋ7 { g@L7!0Lwd\CL!'"El2mDV$OT5/c#i~՗sN՗D9 DV}xUjF;w۸c0c <1<ʌUduX04+S[p󲲏lTlZ%m¢в_!2đtrA8j*$׾7噘T$@aLX?QeXVo271D0sr  frob="?m~5&<B,ch㌰PR>-ԳJF4y&R>ke]7T_]>8{nݑy#fEuYahue跍1qC82?W@#2w?Dgx(ayVsA[#Ke&ͷHei &e7LL-8˲Yޭͭw_v@^ at3!@Z𾱙vVM*۲QQ VACB6_zl=@*=Ѽ:WtW'yendstream endobj 127 0 obj << /Filter /FlateDecode /Length 2442 >> stream x[k$>Xy:. #8]ì_q?vOIꖪښ9;f?lI]_$t/PK],aZ畈~y Pg7 Ax[)F:23H[4MP+#x|ޤU(#JT'oNQ:5q:UI%&g ;Xp k<<]'FEvËqa‚uV]1>R`71FxY$D5 ?FAͯC%\ JDE# 1F_ڢߥ-CX9^@01q>RhkXZ{qpZqj;)<9!W b ,Z(2iM kedD ӚHab0䫎{d LZcPhpqBpjA×XH(]b\RG)5jl،qT* 4F̻ib>HFDFKi~Y=UB hh'?$@"1|L 1 AK+șW=2 #i***KbMF ASVEr}avl`WIuՈ0W9ӅpSn 97r^+Hs.F'uʘYQJRgl1Mf14'eaG$*!(Ui68h7=\N ~?-k 6|~7ǮchuHڝ_zNbh-1!rC?%Wz.i|邫wMw:j+PJLPJUce[JJJAOˎ_:l::l?6@m0ca$0)YP|.ߊeǬN>ww?$UG˪o&j])U_靳K.v EN*uSZ`+m;bjl%gR^x{xmEx9a,|9ܱ;RKP{=4+%*w^?| Nyv/GD42ˌKGZ֎+uzG5q[v|$7agw/ڹxN<6ۧJѶH/q}7eOU @TO૸N~)H3 Ix˯+>wG,?>ciWx*= n ^MbV\MkJAE<ia5st1IFP;lԻmVepcU/b_puZh/uF2ºySTȫi:}><nOjц"ʊI~jpɥ -?SDMy s5[d-/^缄۫;z%ƚ+/Dn;AsI m sAt[{,eGd]RMH+[,qd%f6lu6*Tv0K !aWE>[eݧzF& *7)&U4*PһqԦ}&Rkql^v1Ag }lE:E@3,gwi:rjuķ$"xo1q}Tsli @37(%h'‘m#eE #l6ک8HSn#U·8JNQj2,McȡQI(: D%K`MW&5)fEGq4qh,kyFѦiIݶpSڱbyj[3-3ό"#^bEʭ]X2FldHy$X2 ײvs[̛tFإ]rx|t۞2Lx/'% Ӈ,<l5f%CͰ,Yiz;1`u 60XJQay vYhޮ,YVdXBo(İ?3)&0$vrL:aY(o;\7WLfn#fzEE)x=0e J2z$z Qls10+7_?Z5Zendstream endobj 128 0 obj << /Filter /FlateDecode /Length 4217 >> stream xn$ Q'0=S_8Æm9xsՌVHX]֛Mj6E*˅B_őM\>/j᭓}pG>>2quQA.3 Lw6AYto *3J;ӛqB ̉r:EFTB6DUaDzbq~H&V./<9*.br#b\H`4{{я]X0v-m.}s\^ ±A(XVPK`Dot8o:֒BEeoOvuH} _NFvp5}\={6OBI=^$2`Y*ZubOc7ͺY5ڼVwJ遌-A$Pm+#bCN6h]i'Cw nA5t{xQw$URMqMj\%meR! 2^$!wJ8ww"i6]S4֨nS$U|+{@2ȃ[C :7 9y >8Q?̒WmiHsJ]T$~EEذUaeC`MHrDXmw`7|-l#OlB.'nf*V-Ӊ{{Jjb\{i`UGYxk"~ps=,(ҁqӲR FU#L.*HAs PZ!5zDM*Y躌etUF}\Fet3ŮRw|W +tC\Pn=AbHAw?5 %>hJD [{FZ|sL՛ [B+kSUYkwIMݸ8 񅏭>΃% J|0jMDMTȨ X3[ۜ! H ]:wɣoUc|\@,Ԁpp×gUw4pW(C% 0$M:7K4*ͭiR _:*9!_z֗Ix2Gs("=%"]~+h&?'{H߸h)J(I'hp@W0.f2W|7Uִ@)r3!XCLaym<ıxs 12̽qh=;8P1h@`:˴DNCpرd!33$o #uNAQ )۠ݪ()7\zMͲҰ&A*&SPc'B:F=i2 6Ht&+Xp^z'k.V1GR:$' lq i]xU"a'Z>(9ΨJͤ͵G,02p9VL}Nk31Bh!_AYL= *ԽEXVr ̀P&uZ^9W=m,ICXPjcvmD_JB3ٝ.>),_gU*c=me+82;5A|z 3eAWxޝd/H>.T}2#yud?=*9dF tGՇ$i @6feB;3npEqA3\9E4aigBF?fo  Et?WV2ω;iոuUð&gb/slgaKL3<2W1y O$h4i#Yd{ZQÞس A9jIZ䫥$I P)-e1'Rr$F, &$+LghL۳cl7t 8W;-[}ˆyr+D,T#}yTHj6혈 )I:nDI"P⠆3nMT)ɇ Wzo!(96](BEC4>E:SALLEӾ.n\3A__]}`ܦsYw}quҕlXzSn~/ ;/ s b['yNP~{7IEJ'c@l `'?Kihn!BYLOxրO*ogSGjgWw֯TD>N[2&WH0dѦMGuo.$. xOZ 1#glfFrX=nY-=6Ň՝܂mhwj4eu_n>kӛXn!齊c2YpjpTO8 %3ޙ$?YD62^H?4sCӷ^yO<`=f2}Oj\N5~e4: >$$"ײb ?Z=Hs$ :b}Z8 vO#[`#T(n rƏ]g-Er-;~[_䜴L3(6X)5S̅bo5&8WHssd'Ehh&IlzdQH<^Ï;m`T[Gp>!^T>2Ð]5P`?1ׅ`\E*&6YhG;{~VVR'V2a3!ً#opղ\UcX0K!'JA?#w#^qSBE{_2f}KFiG9X n,`aLNZ~xZv1nc 5pqr=> stream xYKoG X=j2iiAprpdV!ٲ%#6V3\](BǏrQKLyJ/+gjoy.ƬUU^8jZUj 1(zz6B [SPLNa\$x$PLŨSl:L&ꢂȺ3_{*QD\=TkH,eѼ:h~j|7b~4^7Z8P&2Tl^LwDhmPdtnZBpkbewiM~B B9UfV@`hFtItV e(c3ݘ$eiUY:gFmx7"+9X eiy({p]o|׾ZsUoZC@߮}UPU @:+TLO_!<N N7) t ?nNQ*9D} ri %iM$~jؼ i+H >(dm\Hu+ӫ(J>X r" #JZGD:^x<"'(Agd='E<^(Y;Dh70AhV|o(' %l`{[n4<ȄĠB3I#]sI8QA%L-X(imT9=yQ!8bR &PܜQ}LQA8\02FkK##pZRb3&P8mRi!D%t*dr3R1dqA椵Sn}0Vm$4 9K`FTx#Ik/݇ĚS&g$oL0-I^\Tendstream endobj 130 0 obj << /Filter /FlateDecode /Length 5743 >> stream x\o$qNMQ?<e渼E.ECt=GuOu8C0<7쩮գss;3]?FAiuɫwgn47Nnh`^Jo(;]Ąi#[λn2WߒѺ`sJLQM1*0<3M<wuwg_0w~4g,f}A իf8ywF~6Ÿ}߾^(i{|V)c曯֚nWQ@ ̸^~3l7kK+M#Rj_^KƝ~jЍnwf́'z6vpގf?8i$b͎G _3eXf_z6|fy&@w~ LyϾ^z~s4&6`^^ώwݤg+6 Poog׼^rC&ˣI^~䄔<e'F(>p6zIN[蔝v O 9^w״tIHzsGwg5M+5?ⅵ4᱃E4IAuzڥ7*=2Z߹HWO=e+GngPmJ:]zX0v` &7 "18SvO/H9/+Y-O?l.RԛɏwoӡE|^OOszڧx~+?6ɺ})/ Cc&>u' uKOIo7O/ғmirhq:u(/mCZy(Ϗ£@$ QJy jV5](CIF띟[›LcR%L4zDޮ74Zىx`p8+1ۑL2dIh) AC8zpbI?-*!dظ{;RvXE3~ `PY,L)+UƂפXV 1Ӽ#/ Z u`P;8v0%\ [CQ,^bP]^vz#q@icŢ6 .H(Ybp#`G2'rhj$i ZQ,D0QIʬ8փ AYZ>xcFLb۠zcDջɟeu*M"249q+gX1CMa(sJDi2d̤ (yx)[ ~Jrx{H@$Sag [4Lff3N&G0B}2Zce99oA ) qp$7/q d_Չ`Dm%6ù&/"$FȬZ:=٦i`6M5@ԴB[}clyoò{áCSfgպ cۆbHxps^e'(oc~8qk.BpBYi\\ Q B<E3%{?mV"JɪyBL ~ ]^ ]9.B0eJ@@L4N6mL5Պ4+>牧vp%ɌĝٳHDF9C]u1+^IѴFIly}-6&U)ͤ]XHfw6i'{a̢ ”2٦ IQv \oN,]0Zq4P$_*t1:z=ki㲋3xj<.ہ`E@ (uѱ(iSF`d0=h~:XSı|EV\j;PpܰS F" %˝p%Y25*sa1\~|q?,xu=g\1x7M= _Z4AŒY+mDX kDu1?(^mY , e{Muaκğ wͯYǚ]i;W^~̢дԇzw]'Ծzveڋ-?׸Vvw)`p4auyjmӚUc3pqmm.@S`Bv%yQ$%(>_:U8܃QOǙ2y2v1e^HɽX.$Y`VѢТ"}w %mLЌS<&^DyYo+AEEw%a-m \0=3px^"Ƀd':FHIvN;H_?nH$~S [f*1L .?Wy*s1aQYEzMcGFL|rސrS"w 9Ci﷈ZA嗢A2H1ԁ#tEryCB/D.2*ѯ>EeN2B]ME4 V0XLUI6Uy_s*ձ3;H󄨟|u4֌诞Qg39$(.~8*y(3+eHa60FKv3/ ޘ32)[srihX W.PBô6{B jOx"b@s*Sx^0 Bܒ!@QVjXkM+9轆JaN$_~^63ЯH<( ]&-(*9\1kH`BhZf0zҒ:qɁwL("W10r7^ +[_nfp^UK2^n8lljdr 67kgŮzs懟LH,U2ZZqi1옛1V+Ӽp)i|+~'CvRD˼mm.lx'*jKtQ86d4|w*O!®`oM^Squ2&Jc;G5FJצu;4>馏+V@zXE9Sy [WXtowxDPKijR&?y@[j sS_"sѦKEna;]&S?;DWɑEYB\_mbkMVS]XO^O7‚T/+ԜvuFl=R ]^CY\?c3}.,646MxYtAA3|> stream xZIo\h rxp_,p23Y0#YW_)Q+gj4q~&濟9G['׳b3٫Y~t&̽3b Vՙ lZe5 Y4M5FGKYkMZFoRetD :Ee[St&41yo}=˗*rYvKGTv~r={=|( \,a,zj1 Jh\0n3 1z /Dpzt;!;_-JK^p'SkC0og'?=\4rbihpS'辎m/M=љG:ZѾh~ul'nrE[$)h  R(q4: #۔ c7j6< nrfΌN MG DAT[1ϘՓ{8u.g\peǟ{FWb-[x8>{Qđf9x)gDwZ?fjmHtuOdŸG3O{Y3G$'8Ə?9߆-/*Y'C|#h_G%Z8<|oi3_mȃ~=SF8T.Á;6?' 9_fl$5HBX\C#:8 uOCIygL?6Lah}`é^7$sҎ8Ѩ G>?VW[b>}u+ًٻdpңsik˗RW;r!8!F ?jC.qh=C|{ yd.|qRm)+&֌j~r ^B eĨʃ{G_ Vno)"HAK鵎Dz=;\Tv"/,/P"ۢv2|6d {ﶒk\o%?IBzw-9010AJ#pK}\A#o2My8>"3B ^xYl hb梼-;7`y_6SEۄGv*52`ʬVQ!/QgR`9صk,k( Uw""σ~G91VWaVE@K 2l†0S?ˊr`YC?e 7 ct vF S3Wʾp^vKw-XDDӈQU%RhbbV\]M%r \.k;NFHA䁧re߁i7ǘC*vQO>QYy꿔;8T0RtPvޓĽl+(NyeWSt[Q. ].Ԭܗd?h[UGrǒ$}fXK=Psg=4$uP?:` z]y=!0ozal+^0|K~?; : ^뱾@Q"{REduO.7|x4bH.5OPDĀ C^KR27 N{l3qcE\Az~9괒S^%/#*p_ q]"}iCoHJ,,v K<&CȰ́ہ{$?U)<Œ]V$GT*O7|ed$уGi. ص.Ao?Hr^fU\OI{M|@TT}Aeinr:-"+ޓ_/$Vg$FgبI.O I dRč[TrRShC4#+˚-YGz3|!}o. 8!AO GH=.ʫz]cBkpKޒzEZ_V?d)X:qmRKwl]陔pJg$Q1$¤>!ve-1]r -Ç $#cՀFLtU6[X 1A9$C ])Dgdjb.S/!]qQ*YR;sE9t ДR+UϚʴǐI3d} U.SCM)h2Ame atFm\w܁ Ƃ_ ۅE?[ RE'~Tf3d>4,BxmEJf++*"!)ᦹV^MV!i'!|pV(zI'0Mj_eCE` W5fr|Pͥ*HO?'}`m8nv.?؋^P}t ]{,т˲|/;Zi.P+,6RV>vw-4 SaI @^Kn{>#$L*]4N{Uc<6=_|'-%endstream endobj 132 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 133 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 333 >> stream xcd`ab`ddds4H3a!]gnnw }O=Z19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU;OL:)槤$200000v1012~_۴ݛvW>ϖםWQ?ZOr.^MVɂ%m7NZ?O|S/;a*j;r\,y8W00l)yendstream endobj 134 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 368 >> stream x%KKQueһ+!LkF![Ԫ0Rh fR):iNQѦںl@vP,qp ּZ({,mCswiv:ŒhprLE%1"2Z hGJZ2(!Kt iL hi3EHvceEUՐ Br\Fj>a ]9CО a/_1Y VPB>J]|U?w^ dY^5ccͬ%꽾.eN^ҲW/޷ 4؉hFEf5h {EY皭LJfn4n[h[]o;FƏxa _( iendstream endobj 135 0 obj << /BitsPerComponent 8 /ColorSpace 28 0 R /Filter /FlateDecode /Height 320 /Subtype /Image /Width 480 /Length 29442 >> stream x}TS|3^^ !@Io4+X@EEEE (K$z#(=E899%t,` X,` X,` X,` X_ϽsxZ+ٷBGo,`iﴘ_~ְ,_{:Io67KcQan2^,17.|:+~cxO9Ǯ~F^b۶ww#ujx[=u$zƁy<;'n_wZ/G?M F7TGW+bߟ~bߟ~bߟ~bߟ~/M~ï@g5gN\w:*vhUsXw:*i4Z WwD7 с}q;g,;G͕Ng[zgRbߟy -e? Nq)1/Geܿv$i1/:jӓx\lSFkNyQOo(1a`b<_F7?74s;5ؘDA\# }߯VM~SiWܩ1/ {XxeHdߍ\Uv55h1?'ە~ߋu/<2G_\HjW{i;xc\=~oo=̑)?YwZN|\YwZv{O'~ MS<" ws(^~#~#iI+*뜚o{;%~O{ },s]N/q>{n_^J-eYtz"%M:?vKPI~_f %yUKfw/u |c{H 3l.bfmM~GcUKߌ_QR4M^@cP3w@z)\dr;Lnn%3^c yoio㷯atLyӏ<}C#%NrpЮ)̚_YsU}noN9?aR]#o,3ڙyI:5~%/Q_rc9&s uFk%HS0;v$$wG-!9{k3j+.5w_"YZhoDrǗߥ a ӹ5U>~7g`Fm:13㾉c1Xx,هw:S"w_R䑯BH9mm2#1xc?:OߒHTޖ aܐs^a3 h G^Tw~Bρ_ ̨Owr<;?. -㻣Zjei5u>~~}_J_~G:9,n5g# & =L}O_ ~BbXŠ9i2]Uspf1bfgax˩YZ\$5:̈R (]ßF1㿃NIU5<2gOӍ| &Zs'zy.w J UI}KM/M~R[T3:)Re[#}sZ/3[U'_̲)CÝTjPPƟLVW)g0ZH"w2o;eURV|lƯ:txL`Κ_A'ƯQ۟]U9biSg-=a5_70}L;421x2@IxIng{δvir2.54~ROv z{g`{lFmu~<觋"w0FAPƐL wۊ*I׷r)nȋ}FnkI=LmYO$Ꞧvv5S  4._ܘ5B F';vȃ=/M-sXa;c@u,RgzGxwp.+L`h)ԧM}otd1n22^vY:im|";¿{ (Al(FF-2&T 3@b\ +'4g{ݾ{'("\;:u,RX{_Dꫢ8Sܶ/=nb'@fůG1ixt:=]UPo%~GіWoiUR'0^հ[Wݣ}xI.v7RjK2 2\STa}kV2ܛ5<#l91^kC:+~k%P^-y<&8ܤNn;3WHg]=yn3]뙻M yB$,͊K ЄDX89HqE }.787?$*㮗orzE;lLArƷ3#"\~n0~CMöJ"s1D=^7<3rU6h-r~?cfR[36ʆI]ʼЊM8yd5sfI!g/?/Iw˅ا#.qU&=nd܎kO :@wmy19_xj9>~|3Lΰ_{?:śwmIO\ M|,KCo]s=$8#M_+Nsd=`di]oTw#/< G ûc ~N3 *%.mtkV'n8eeum(=)6U79w^%&((3:"m|6cm07~G@ ?Y:H~J ffP[1>wL a:*N Ы6.<)xLq?}?7lo9uֹ3ZpkWxߖkw줭ۃ،{)g%N}LCU5Oog_uZweRtcKH- %5$OGdm w]>I,aѶGfJfG}<G9Xo*!ơw3m޽-qs4=}PC%o脩:GZ'}4͘Lz?VVA#$ŝQa7at0|ZXauhߑη3ܹflw[9A:vqn瓑RLwq6W0{~ckfG:Yo]y}D ~:N7v -}m}frJpgyAXAqA{Sugȣ#5'MMw>:+5^77>tVkZҪ/_4\=_zN8ή~?ާϖ-778Ϩw$Fؘ<}J~9U"]41lnڬڪ5wl](w4Q(; Y zr ;Xp={'Hg;L! /đw[+!f86:Nfsтyk:ELQo{&&S;Nl5]lbQ1jNԮLhzrG#;Mog>p@iۙvWm%`~a Y %edUUq"|8,;SuDwm)dozT;^ "xS^2}bFmɪ uGpSZ_f:[WɓЕXL(ip7@"ngGv{`eg|;qN}'$YS 1z^; x5˓'D%DQHdmC_߯}BUr=q޸Q?f5g~gK  CNHg}sT.3fh`NjP6|3yJK Unw7a`8=q>{!~gqwcs褱} V #S {Vrj4>zDkΨ=7ַV6w4TD{GF?wk@lRTt|aez]u5l(ZA6rh$: 5KKj1?e]v/F65e) U]ᭆ{um)bEL"ˊӊC~4~ZS<`?YcǬ`zөI巃 L}Z_T88ť|)  mmXħ#RX,/)Cۅ,ca$$^BXFKID丙WwTE ȭ47ylk|'OW@ڢ;ǘwuιaH~<@ʕB- i'P[Z˓rTJzzmƵVVw=sas~,'Yd-'TTXAXF#Eq¼ A1 cV bIA6EiI]]% AzAlPlY@.tbJ]_?U熴~)oWo{FG;k(RxTA~>,(>9֜q1^R\x'_2uDi.$/ Crr`07 - S / /ĂX4J/"Uq׊-9v2.fޠ[ʰ_?_<rM᪚SUKJy0-`;w3IUNݑIJ-**/s/PrW}wiȀ@0SQB0AIE a<|˗nABbrJh// Iw) iAVH ʉhW }paF3'x9/1zrtULCjJ 1nlc<#$ie$dVTp:^rЁN:]אQP7ܥ*ehU80/[h3@GP>,7@x$H,_ κj-9%W{<%ކnC/N:955ިb~'/_﹪Ve99M1r37 5Li#0F}UWtɫFt^cn^ 0:xd*y_#dU-u0h0+/MXQDzj='0N@q:fCc"UO 79OCo8=+[)1ԲŠr[d\j^5U47:LiUY5]7U$n߸q'ǴnG-ѓFmƛ604nhdsj2²R:;UդY._sJɪb VX\/ WTW3؎eY&iS}CZ{w8vI\t|I+f 80;D }(mxYČΝKgiW8^RUg?Q[l@AMs]c}Z)#NjZUGcjbf G28v=%\g_JGVRm3J*B8I qH d@bU( &(0z12USRU3 _ҟc)qg{f1ȯ:] ̨\]:lGq0Dt) aX؆fBIMcDevĜ[#=aԖx.Ol5ٮdfqcl(9Es-ue Hieq  Z(g& agggeBA\[a `Ӻqx60UQxAJ_IxteFjby.y۹0! 14֙h(ԔL︪I%E!F>UTE="%?NJNyr/,;덋^7,L 4;nbSw9M#$KEƉB Jβ򯕜0,''Aܜ@(dA W/[ʂ煡DQ 'Tג͏lLswt/0~?eU4~' 7r[sx$F;*h6~)'6]W=%-$ 9oI`7nv;guࠔ|qZwh  .)  /^A\(:"8ؙ9n.8%[x8N rx_+bxΚmO0ϴ4(=?dW@U bnV=1uoߝ[Bd|Nί 3ޗ4*Sr2Ҟ߹rk3ʺ&{Zq/,/] 0G@8XP bXI|

s*U!u35WA㏥Kd}]o> Iv4Q_8.""4𮝓]]U+6 1y.My ]ɭ&&K7s ܬ`0 /r@kXar"h7-es˪^k.=.3֢%+({uhۏ0mk"Ww'6eS>sR+ ߴQߊa }KÇL$44Զ j3ٴKtɏoٲB1rb2"0eK7Dexq ~ FinV=|`0d%H儷K}Y3V&8َVGsl=vTEKgGo;/2LKO]U}oիWxi[@qGhGSs^s?Ř>LjꘂU3fxʑ*ᆲsrY͇ܩ\7?ohhҐ2΂0_+Vxmm/\#4fna||O}Uy1ByЕU6!좂g̎=YE~1ڗShI$~[|on\j^XYJF]CE[z0xe[hA1Q$NZVʲ($&Xe80,/ॄ, tՅ86,)KYPW58|v1vJ**pp3'Μs዇Bc,\z& /پjO15stU*hmcQaJ{|"͇ ĸ9A.%o~32ZX(8^T+6,YÎŊ PpE(Ǻe.]m ưl9(<ǏWŢ7.]%k5 4$n3XVm3Ϟ☙06645&!YNAm;և%%MaUB\#|_y J#VOX/4F%o&*0߬|UiLLțsõDbarVItdBF8ܝBȡvM RtpjJnoqi!\H\OGܸx&0g`~1qc *$ù/ưб 6vV.6! 'ёIJk5˃PsrN !aa1mcucI,8} 1!.Scò |~YCR Z}o>KL~(31/+;G:%㯓 F'UN+Wi5MvU 0} 5OnkU#ŏ iPF_UWde%=)Iͪa8HM5LUs$RȘԕx= 0jlKWX\XWBc╬VeѤ)DO;D!g7feO,7Ljh$  6}KCi瓑zW54Rט 1cFZ[vz1z[ELm)=Y=LAc#UMvsOe[CThl@@\>19U 8 sùV-^efE N"ܼH$fFv0/ EHi)ys45PmBkﲵMʎ͉ ~sUI qFCӓfS q/PׇNE0PJ eEt vnM5}K@_ ^mA~Wk^2-3FK|#%;޼|C"&C TK23 if1J8;fmRQk+R&Uy֭¡?VFxeU~$ pmZh9 9XA\`nV6nA86X!"C -K]mS{.؞q; YtrV툽g^~U~lyMQ%?.'ڞZC)ԩ̐&m 3j;HԊpܔAn'L,2^/ƂE;Q{Cg4m$lO*嶋Sq,ka0|x|Fcdhch\`76t7:TM|{nۑǹOWxHk \@0^ |<8AqA0'זU-Z  80{A 8DH@x.^WAxvKdy2'nݾb{e0/BAݴ„bbw 湋]hļF+Ńã'vp/f3~23K[ Ou|G"QJJQۮ#Um[95=|ۛ?|(&G;OH8ƘMt3BcNn^-}o=(i/#U?~7ZXd1~FjzFp8$*#`psQ<28,%._͠x47P`@pmXtRKIb儥t촥:zxzl"q R}ϐާ\1wfѳǏzNjn$1HnrbrKr⊉QO\È4J Mo5L4g&wjkvrӒ| ͎nꩡW\RoE:Zx|WBaNtK(fe -$RHjQ: U XX;R5@̫ϊ<562$B>3yWǛu)t5GƾgB3+JioJ, {㙫!IW `hsZd#; B`D`8hܼ@(%1RW6>wAKM՛m/]>7Ĥ%ݹsPoc`By΀KF+KR;j{;i_|I[^Gw#C'y'xFgF#m|_ />K'ԓB5r(-ѱqxgѾ8ج®OoZҟ%̉ 9 ;]@lnc.oN&S:Y)ǥ3Y<`t%aԣkB~sM 5Q'G7KƎQtIb|n{?Wl`|<||(4?C`P Ш-K ЂbhNًG vxXJ 17O$ *#|jZZ;gy'qlo NOΏ51,)}2uEŷXZsnuN͠k)I $+Y+s.ܝ,t'+>!P CbP, A 7B‚b FxwXCVgxfֱ{nv )ίNNRiryko"B҃^u{z[mn궺Rڤ^6BDY[U[oo0qwlBI?b ̬,bCVJ]L,61U[ QNwR.9xf3ƂƯ2DbznߥK1;7o9瓟wI n|umF¢W %,#qaiQ4eY`Brb |2jgċiۜ3Dl\)exmޣι~WHe4Rpy4f`O=nY=eLn0+l髥њQvޚί2IJ*K(-AEa'a)99i$;Xr9gG#6.nb k< 4 T֌/ڟ>iwڅ;]LoTw-&%?)̫omN`i DZ ,ks~OKC@ %H|f뮏}Ou |fN^E !hn0FxBVsK}t^DyA"<OeUg%߳<_"py[yw1)eļg T |I7򶡶d<08 B!(}%Ee%h mm"B[5{-Vs4mnn|="#zۑkc祾Q1N! ,><;ӗ== r|En'1Lr״~ IZ{X)18LYlN1<+E{Ք\tRp~B~A{Jk'me'8f&(/-_s]jOOy"V[qYyS##v OzK ]kļ%umY ZBқN]>Ib"CB䗓EnZ !!$ãqHmye! >SMVNjKHk;%GfDf] zaJYs Jkzt5Қ;F~j@EXtm׫Cڳw><vIk6b:~!+.]|mP(DW~V!ɵo)?2ix+6 Z_wIM*i{Wo*^X@L-_`O)3Ԁ.TZaCkbbRzNZ~݅)Sm#VvNQa ˖lH kn 0^ ؚ5< &2ۏJKz|#<Iom5 =MNf|m) `횑GZwǬnjNwܞyA(]]<7Q)-ϋ )!jBҊ{D8ܪ!(Փqqy7תrg6%dUT4PS""CUsHL$<3=iLN9ͥt2O7$f~C;I>4GAl\m N> _Xq3 AF NJb1Pr'lGyA{88- HnPC'. A^Iﻺ0+̚_MMM ?fvgae˽~N3/qgb)r^TDHJT\bHudrE)i2{in('ԴH.,rѐ+gO2/5]h3,ʇW=:_~昳/"4-aK_*Z}]iFNUlbz|@ͳĔ$국 ?+Y8P;+( D 2P/ؼl-ZF[GvZW{f>z?%_,o~_yV t4{YYN4iN617fO}J9Y +yeDWF#!bEE^"/Z B x_Fɏ'67a;Ij<)ܡCF]7j ]rbOi7.ٚ:|?bftki5{D}ݶUZ4M;\25XuW:l/p;=jvfZZ܋@ãS K">që\!Cӟ:J?J_D [϶zӻfgi,2?vbN{_&?Dy{=;vnr >AY2uܦ%~ bMyn5ǰҒDs7N&7wS/cHc£_&81i 76#*ULvcۄ~ԭl6 IpF TvPB|ϻ:6tͫhFkB2b}o=~|2#>aC+h/fI>,Wd'dc\o^*dC ={< Av DҊ)99^L{ߦ\cC{eh̷nXrn[/[mCm9uY˷Ylpa=]t??)?*?37ajG/ ~"7Dq7nE7m÷Zj$=--j}A}Iolف @ڹxޜygιMqwrrfM\fsNm9|,#:/(ilDdl:Sk }4{љ`x\Gr63NSZ3]?ɋ Mw.[:w,-S+ϝyϿZعۿYgን+WmQ7 sX=tIC$?t?ƿŮC1Y%r68QV^l'% $6(CnYeGZ`IpW~wo[>.n?>|AxE'\_e@,Ҁ njn0Z{qq) SFB?m2ظy:Cͺ3k/\jٚKVZ͌ }oi{МCTT>Mt;n٣v l\tiLrnv\ZMmedcCrx<|\y^lszol v!lnl+G TASy{-62۷)wcAnY19؇zMN Qz[d뙈(ڶœړIXnCQg'ZYl6#˟Xfʵ;-mZf uذo45-۲s/YcnaA]@/s4+7tө.$+:/vȂ&, vq"BlTC ,Jk[׮<{e705vwX;N4pD̝+ 6Z {yF|̶)3y:+5 r zb"K\=O񪊪˘":!*=1,;LK;0u˳Иtv+niwKS`&e> ,LO t`bϡ;gL2;-(0yJaUo3YEĆD<+Jb=k/9iɉy՜גr74B3"V4{ok#_W#_7) qw,Y;[{;1Ԝ;mW+,dw-i\ej/]VoⲗLRwvQ~ב-@HH(s~32 ԦhfaCQP>W^I&p˳&y=z0/[ N SU5 MB9if.Zn:u|HcN^ZeZEq=DWaa+B~^hQᱬuKv! _(Bgӛ6KVydm޾5\ `f'_hmu^hEw2yȃoRFluO{s،fɬ@~=PabBZZ0f"NŗAve@mD*QRa0x|^UۓsWn^?>1MN۷I"&V},l9+b8.85D|B%QNI$CAhg.׌P %/4r\DÃ\g7ژ^rkWg̘jljsm?ti3Sۃ;v?YiagRiijD_>{xzp _o3e򊪖\2 %gpSc>%=XDh݀H'Tdgz%0ROpuu+.z=6:)!j"Rhl ^^we sQ(Hr-~S ܦ^f"n!F^~',BKW9usZ3dA}+Lj׭;_w |7y¥;.8tHžƖ9]c:@.IH͇,IN>)'1{E-cLdb~h4ԯ>JHxf1v}R~V52,WB9h# xTFH,B>okl|Ez]̻u'+~sK)ɫV2+%w^fUvG/D8HF sw 5y}K-񯤑sF7,\1M{r 5t47,2ѝ;u:yWjLv:J\ ||iy+d¡yĬ{vxw̗yɷxxi6S"TㅯмimjhiY9\Je Θx\ >oD6!g= /ATLTk\dz'$z-ICәpb2MǷ5Ҩl&i{mZ8˝"5AS$Z_I#\GBG-m53l=jB-M#o1[h]ZZ6X:U}u1os`InS|XKFd+~=D5$~=X"p8 {Ě\̈"JI qxJ2yD$05x1dpWX,R@$oy .8ȍ5oW*5AsM4Y)QB9_I#8j鏜qv}>a̹zھp/4֛o4WWo*c&&]m/#Qթ ouwNl5ۅ_X(?+455/ٌlQ8RZjE屙2n )̏S}BrIhMu),vK-3A٪R(~Hz餜4$3]%!i?;0YlZsOts_]rt5ݼ7[kQR.;bwAs=kyٜ~BJor.'TtluFd0(X@$(!{4+)T̅%!'7q8GrS#Sq Hb[{[iyֻUS͐#5wwԷbtF}d9> &_"E4r[aLZ̊*n= [ue"Ϡ"ū.gF7{AOz+jFr=Ieג*k%Īȴwygo!TKWUJw7 h/-YNI"u+P Y"EQ2}N9'Էv%>Aƛ~rK4~w_7>_.=&s_w pVKU8((^gE$v=,2C}CE h^,#ՕW`ˊ%oY͇gNςWHbx| K'HC=#]HeTxDMfq?n_`]znڰ%o3ٳl{4ho `m=pƣ\hQT4>(1KkKㄠPjR\~ND=Y2uz;E⒠G&q⼚R\~Q2ȚG;{s3DX,G:b֖[J:)B|Ɓq?*[=u Nu muW^tי3kPHL]E;kk{<9}h32+8G" b29|U"`` ΉxQ52LJdJ$LzQM'r&)5Hмu7ڨ⊁hѽ|CXI &1NGM O<;`ͮ./nݾ\gKl+R!5um}}zz>}l^k 7M^PPW H-ʬH)-꩔"ZV:7E,6HnHz, D僮̃r1K}E=M5KF~2}mXˣf.)3O糨O.irwL]gS;׬^%.ş41z.5>#9:"30ԯs-&GfPY;̷&b872/S-_lsz.zVJzQ/3pKy4j ]BӐU&?l8&H]qD gyG g~'D8j/3|;>%A4Z2Z5ƀY!n7 e$3q2j8B62}UU2iKqIDKLJ23\z F, }j٬Ff߮"f_Dw!'w9RӐ{UǀӍ_ЪŠb 5Bk{̷LIMk1sp=*+ j{H"QۻyHB(rPK<-pdvbY"hen"zqeM;`f#^.珜=JaWx],I J 0z֮ k[~ؖu>-ϮIfsB~6ɾ'}[}zi24mаG`+P&i[ZX J$+H ,6Ǩ!BkSFzՠ}"A=jNNNGwi_S8>}\<'Tʫq>0"K;QtYY^drVvINbT5@;mZ`¸RdZB|XRQQ gG+p{)RA}vыrJ-9#!ރ{AFzEGᐥv!n7iP$*;#Ef|_Hjs2Cǟ_}RA}7NZ;!( &qi%$\f狌i=%-qDYJoLk},O4a+l!/`%_@#b}U* o)M8sۃkws|Ѐ*U d>Z>?ɲȨ.8[y ` ?<40 D7}qo78^0}{HoLj@@ 4lHlRaQ$q 6h`Gߵ$'!*Et@5#owdme3B^QlAgR ^P \ye<;/4eɱ 2J C}=! >h5q2Þb`sMZ@X$ԍ _+mv7A4~nձu@oZSՊonTrߺ]^Jrʭ# aPyh3 Rw<E>bj*!b"uHdGc(⃖hᬆ A TW?Om+u&ˌ^9̻=l=C!"%T֯# {4*oOKkW[kShFH)-J%YU<Z>RWTW)0}nlEQrۼ5&/7P}!@Pc R|=::%E8T_ F3B0qW)Cm?*GW)tj :T_=pA8Yr禇'#UAU|gm6A:AUh/,Y*e R[JtJuJZ2T_ W.bW)H̠c@U 2}+FUP}D!KU=M| T_P1ͭQ%؂"ErW)*+Ej1W)*~{ð| װJC JyMW݈Zރy0P2ߡ︸ T~9usZ3dL4|+E? lIDrR$s.#!.!4*(_-Uϯ%RGuigPrLcF}Ɵ__#[!ggIzQ}8W]g5xkWNT@}ŋeWnT_0 RBь !*o 0}&Q33e),)/KL%4jP_8}#@Θ\߅@U%P}VP} T_%=#]Vr/@Θ\gB] ҃tGeh/%PPPPPPPPPKhNqFvdq̂)H_n/* %D.Gn`v63 [}z]_ FTK3@10K lj]{p( [,k}q g10K lj]4[\:'$'0@q#<H(BB]jqyO_Lț5v8pc^9:ʻP}{H-nq~AF/~3%D.GVħ Tׯg"p] 8Í_bx>NH(B}פI!:HG}ǦMM;%D@] n) mMvQ͠y9izw%RCo #~v n E_ ̽,X垭@u~=?ӯ/Ra>5$/(01pA|#ߞY&K̋E@nOo5`>)ngGbX?QW^wGdNW%; }l,U} R?} A~UA-,dZ7icpokO|j>m#&=?/|? M GW 9Q `~T8!~o{1k:pH7qb٤Jۗ@_d7M$?f;EF];S?ځ=5eLt ?QP)CZ`Gkg4cyS(joa-^NftTOPqLo E}/fC졞_UzRQ J?ގ-endstream endobj 136 0 obj << /Filter /FlateDecode /Length 6188 >> stream x\o%7rr 6?l E8ɣXқ;6Y#ٱO.b}XoOդOK_ܜiӿx'⼞?9YœO; O?[w˙`'7^E~ tn#lߒ)o4( zSRJLVx퉦Λgj2Jy>1qg֚EV% h}4k%ϰAѨy,L4?V7ߜO`5'M^+&w4x=mW?^6{cfV5`7e5*yqvnx/M }6[,U&A}Aکh7Z⒩oi"v#ޞȳ'ma=aw6b6ExqveQ"l-oX" 48`|[aL?!hH~]f{)I(ysWj Xq*Eq\0 z%_~SVtޡD8_E,H8?jq28y/.])_lnizacT6i3Pa=#|讋_), 7ml^Zi:H=CѷM3/Sj~M. <]ySpȕ\ bWFl5>@ΛU~#y#wG?¦:$:%hRDa;CӔL~ghE6:T6$R dq=b^;fLvvb_[/XG]21a+|}yQf"#48Ks{A^ul<0ʏZ]]pL-DTاZk 0Yr9/rL]iۤ-rH[' ;1MXY;Á97Y1a_ק"?w 8e_N,U }ZlU$p7ɡnֲS>keC[,Iz &x=ŧ~׬jqYQ.1܋ܻ95Wnp pd#dVO> :6l(y{_0[lʕ@.fSTX$ XuHQ(M&!R|q}-e{VQ6-v#`ˤP htc؉Vbs!R^!%^QLc? ;Yue?<^4::2 kyy}_qN&[`gq0MXö&dZb8#GԎ :y?]mCEy: cPJƗ;nxS[&)RV( f„sWgPDu eO5Fy#/RCan"w "񦜘mu6Ib՛ ,sVFaY |x!Mpsy"e @JI(Zl˳[|Ν0Fy_INRKk-x|=W9UVfN=3%nE|^]_%arFV̯MO=3i io(1n*H`R*Xưj(T!TYjb( 0w!$lBFfDY$r*:-F‚^mS]u Xɭ Z KV4؇{ ^qZe\L[?4T!qJKawB\^lk<׉.a誡q+hJδ?$3osqF}Brn.*6; ]yN @b*mY'24mH k5j΄UeR.db!r"O C#Jpħ 2F _g'C4",(e"CXrZ c#˻:zf:e~ ثO*!nUa00bZ㜀>{.J#x,,y-H4H^@v'4oXL kDCG ԇGpiOrR/ez 7<_)R#>K-]Ur <-J{ngB@MipU4[MMR(OMnEuA`q팺֯+/ԨJ\9׋]c 국#U9ܕ]݄p/6Wfʃ5j|nEwu*W'~B.AК?wLVLZvߤ/g0DBUm_"pA^ŗROTm qC}SE>'8Z]e (eFeȹpvv'IG]^ce7|dR#CW9,lrյ۪жR[/#+ (~,n0ci᤿sB*zݖɺX Gi |u[HHΈ4ەuod$Vn#N$>H@ô_,EJ3ʰOm\6$4t5o)pPy)hySqm#"#.j >!69%T}0WQ n,KT$`m 5J%f% _AHRxSnf%c{$ ќj>Q7`0F5oo*ϭ8*XF/"~]xm[a-A3+н~ `jb-M(>[COmQJ@p=(ol^t:yЀNـc`AS>/fW[rmW|<]~|Z`VdcwQQzx)H D)~)w(o<+d;3(eW2|Jjo=Pi]̍/?OWGv΂?2/zp(Y +#w4$.smi,,}\.((0Po^ec(ʳscWg:˸,f[&~!ٓîվ,^ p {"#=AA=Y-NnTxM޻[KB ŵɞ`8]z;OW(ѷW"I߬T4?ZCdYE^Q,{AZ ӧ5JDc4oZUR<2O7HLFDF{['e4EY,3bЗ:]%+OsM?,Gtm eE]WP_?195Ig5VTI*D Z=9WGrhg>磲D,~׽H w?[:&u:pSCCh"DenQXZVnd8H#PQJU~R'Pl g,{_2|C6|2ЗA23&qCbUa[MxVFQzE5ռtfU_PYmV`-ez{chRJ5PBsQZ2;E- 번D‹*z ?{}م,A O4bzg`Xt*t?X^Gv*Sd3?.97n _FU2kb~}W-$Iu & &'֥&385ԟޫE㔌k'M~^_w"}-d%.?03ą[~FyJ`T̯[Y8=DګRj>,ޕ܊Ɓ,M <+IcoNƝtd".̕5P$})H.:yHc%7Ͼ*ZVSAM/ endstream endobj 137 0 obj << /Filter /FlateDecode /Length 1607 >> stream xYKo7X=ڊM -"m"X=NWaɲ 6Ye,;Q iCƳÙ<+R@-ӿR]%맕3^hDp c֜T;U^8jZUj 1Z+Вxz|֨B [WPLNa\$x$PLŨW lzL9&ꬂȺo:T_XGrH^# 'jyQP"FwF6kThxZk@5mRy4 N ' @&3 5!+DPq0&ZVVP+`~4 wtʃ,Ң>qQvk3$-4Etʬxd2K߮As)EVrҫQsZ'Ϫ׻7|{&N[@.tlvF]!3E 2IeHv1$x|1m*=p+YCMiW)s~-zpF0kWC&!x #×0 (|7KO߅umee:nIZ ݭh{2]&w fS9duu7Yy!][,#-z6~pߡKwЅgg( rBJhrr;$̔qIfOtZiw0XEywOHrH?]fUJ,]dq&m)"__C #kˁs ?}EYA[J< I FHR{=ٌK1KblLn@rXR |zG%x#%uc$ߖOy\02A"wH45XC| G{K4Y)g;erIA&<sb@al тUc;8[h"ʁ6LՓCSiOcXoiFSFTfUƈ⪳42 U1ZP-%V:c nSQaݨXC~Pz);0 ]9ԯR`_w.Hks~aI*bZD 'dCD%"p^U.xJuB*v1/R:^yMBu{q`o7swtZ $tgW||R6YGTO,n1qPCfsGՈ6:n6v)!JUoT6 ܖ9ƫN$|6Zendstream endobj 138 0 obj << /BitsPerComponent 8 /ColorSpace 28 0 R /Filter /FlateDecode /Height 320 /Subtype /Image /Width 480 /Length 31376 >> stream x]u\SBE,5cl`XXX & (() m0:# H Ec;=s`3 f0`3 f0`3 f0`3 f0`#zp;gOnϯ W ~&? Wlw;!Jͥg7㓧4t7c>=|;jW16-u~V3_K]gM ?ߴ=t&c l;5i<0_K(!`9ٴğ/x9ؼ ^clE/z+O*W~.i`oOC[ 󵌭~d5(tz,ˮyiԯF/yFm9RMA!t~޽{o5 ?$\trZ#%^Ѝ|[sw=CÛ52t$.u@= SNsNL<|#g?&~eeeͮUGkN }o΢K{/%HkPKҡğï_ n,Ѫ޿{a_ӻU2uO9%pBğpl;i7vE;O<ʪ~ěgD~-l+_!3 Wb 1/ a 1/ a 1/ a 1/ w~'owS r߉TGPN wL*~(n߉;~~ITJr߉K;~~3N~I󰳳3rL 6.g?bZ}xN/Qz `4,&Ĵ{~0==Zua~AGV2¯}<Ї 8\bp~h?0OyNH.[$Tw|LK߿g_c:vOѯ>R(?:>r ޤw-Ujџ#o covؿhxg (qwBwۛ ƭ0Jrl~o ?>$-.4:9M߉ qh:`!`嗸A[+FS(z[1.967F%>3R(.[]6`+QNڿZތ_X1v=%Ԟ74/ˠ> veVS///HNVO / Kg@[-tz.^xim:NЄ{1ֿ'Q;K'Hi(;oY@Pڡs Z?%~JzgVS17QvBá`~dUr}{8O LMf[۔7~ۯ"?NAn$xT }\n&8MqoχqPCKS2͙`Rm'~돿;~5uԶxܹ Sws~~wߎ iR4Z=I|MNeɫQpnQz 1ۃT߁7k&M1Uǖ/?hu_2ۊsDr;cclÔ}s]uSI%OKo_buPi/W&0͗|֏rzVkVP\Vje?e\b~nf"Mٿm$Ҩ*^4|eʪsxUeUĸ>z„ܦoC ~Ce;I&Nv @)B؟Bf~~$񹯙Bn~;Wccws -@+w3iϐl_Vc11^~eZjh5%9?@)ԌZY'<69Vm6 aRmgɶ-=(4V*l2WLafYƖgM%1Nbgp܋D#YQ*%ThܘAC^XcyVoɞFz$G*~nOP pk0#}5|N/e u_"C]_tjZM Y|7}S[]פvzOYBeYu5p+0õoUΔe'/ᷮi883b7cSM7 _̲qC}MTjRJrB&O}y?;AjC̬j^)#i 74ZYb=،hV-BtOYtRmUjb7A5t&Ӭ_-LǑ u%÷cH)~i nKS#*) @ kF* (q X+餺L?tlz"Ʊ"~zGNe/ju m FvzM 5\fX@)$5_+y2}zrMy]csG/HЦ3*hEdZyrlYSSy % jʿ j_bcW-2>IM|l!v5پ>z? 7=MԒMcXJT὞yD\uMH3>I݀6]K~Gi(Khoא/ hkzO]\ 2to%3ا摤7Cs䂿W9]s.NFjk|N<9~۩5I\k!5wӛғ 3o^_8⍛Օg,-"/mΎaO<.utu>vӻ]~^TH/1|Ho|Cs~zwJq5 )G/> ϋ.>k}I3/Fy>"6gƃNfV lB^>9=7ͱ+z|3McD;1oMAԑbZc@Y03uIK=o>ڄۇ璳WdZeMﲽp+Gmn9im}#X8Z17]n_ndi\,Wb[>m00scvl~N.6hv4>v$tzn.39~?Q3>|LV6QMPw%M@Fc_f=t{teC_ߋ]qgNknQx\ݓuֿ;|^[OĮ=$6m09'92J댈݁M)>=Hc{6Ia0Gj,+*D-wlӶYfoiqw3]G:og^ SgXSLq8?`\o䲪ZGFݾbqv*nQo[#L-///(ψ?w* bFEakWSu6[=˩zd}lnxoںa^wc<6ٞ]:[C,v>$1;1%6z^`8?oZك5y&N.Y}x7-/ ĿowsSD%~{hKhHk* ʧs jRJ# 0bsD/=kն޺| ,W]|+J:<]uuWw9ug^n|o\w;"s "*[^uܤ#UӖPKcQUPGNn7qZHXei%Lk+c 9c VSIM 7Q+>'AsBZbHgk&# Qͥ.([@~vǯzT ioS]="/ǬN=q ey1z'M֨KZwB`.(#&/#"+hOlg{ZC&d&Րs%&/Ǝ'6+Y>eaa`m g%M5U!l ._.ë~.뇉.Ax7\4 E,~CP~N38W]ι=%R)^0=~mC~;`Φm-LՕY޾w"qYEqxmtEq2:ggWg%4>B0?~;pșߦzdhvX'%un3\֬d(ͮ 꺿?`~/ɟ$mTn v-KF?&jwi&| ohG3o#9u=rvōwdҫĠHYA^q{[< [,ȈaG0P6"`b8RRA, i/WT(*HK)jJZlrB=?yU0V:_UA?+'GNfE VL[+0& [Z2N2`qlo\Yi~i`2,{IE\+W97DDdjR=M|Ajȍ->xmQ@ ` #1 rDA(jVp)JL\MGA 8XiE- Eqy+_KMک:f>lV{OʬLzI.#xGNM]\F-IrW%Q6T tƄ`bq\딂3 swwv'yD_~ɫ^q!pܳosw;h`JQSTS+]7b(F*+#%"S1\gY?kr1#vY>~}*wag}ǚSq'vgdNf~pEQlJ}e]Wۮ;q7ǽ.ݧB-;G ӊ3SJ$>W\?'Oo:D\gl?,hUGWNur-/C@EqRr85 =m;KDl_f{; W~Xie0Ѐ6e~;<30 g.|wuKvFXkxYUo7e(.sz{ 8t*ͫkʫ*I }DЊ⢒fs<:;w<bF* \-WW/X EQ<||("-"h/*B0432RJXܻS;P'h*}ҡwvm&G]b rDCb1k6G;Ic T{һLNoT<1Ӏ:dVE޺)3 Zz5k״{s; ?+;LXUPOKF@(Te+XBIL+(  q Ex{J0DU4%1"{CkD("M1Q~Yf?o hu[h6Vҳ iTN3boj@,ǔllPy/oQRV4/~@jꕛϹ_kQ-ؖ]o"! Pئ--CAB`a lsAR&jk0BPA Eyh,l9KV"2"P!iiZ%G P2z{MS!KTa~{/Dc إӽ)r[t>RP um?`o e|b;jt)Y1׮x=wƝ[gS\Cg7xA #* G((KB ~!0 !]2kւUp( !E`$/#)`Bx%+CdT5T$H!^Υ9,G(1D|~^|)~^u7|g!P1bw jfy"#+l-ZIo(:-5SљWM+MK{{CgǓ7_8e[H&7#cd*Cx8ya >nWqP>NAA -B C%+ + ͟x)&FX`$$e*Zn"A ¹l 6۞Oխ"%+w( kP Ibd]f-~q{:\ߒE;$wAOi#!%#'*0(9{.w팷pc``vXs+0:[[ٿɝfxXűpA$Cyy!y-$?)-%s{BN~^>0r K㥰hiu% B%ϛU0t/{f(9˷a f1UtgxŌuB]˦o̵'~yIFfI*3|xro!=aI)C A!pQ4 X+^O>Ub!!!^u >eZEe19\JF^3Q46Mߟ_t2ĥ]Q]#PJ0{+KvT oKi5cW~^oKrs킂9z_;f}:|KA*[@MxšZ[+,p‘!&!1p@h 9Hh (DHG X8RR𐮜jŊ WI^}d,ic6zKblJ~]¿Dy,rNN__ 5nÙ.зi&gD0u )Y;[Zm|yLvcgcZWdQ~{4ZY\1壗L7Yiu ֥ k6j*npzu,/bY( C0 \0? #0.5БE ` \ F\FUZMF #XFHJh1ݴ-YIpʒ8tׅĄROuDjmZ/GeE ;7v\?ov`+WEٖ+SٷDIMhj؆MAlppq EiyG`|'ƈIJ Hy1LBuY9sb`p=ee(.5ޫECVBC]}žΡ%uHͽ#+M/*2]ӗ_Lߏcu"sB̤'sDt(&׷ƚ<ڿ\Ri赥P/7Q)I>[U1rsU)xd*h29#5j=o%%+8cMSY}񱰰"h$CPWS"@1 0Љ=kJ.>(?- @8y)Q9I 7#bl.c%cG{Oۨid~~zĒsN\u?e:J;qY뾙CşڻV,fSbZ+OF . a~βqtХӫ"/D+fUJŘ/ՐjG"_\wПD"15g[3ʫ#2H&0CQJn^"w7(f9رHђ3PJ*Jp欂0(e"H B%PQ J#-\`HHOTMEO]w%s6[n6be𢭟 oȨ(rSqM2J?n8Tt~hRˁb}Mb uYX\Wxܵg/OJ {3(42MZVY֗%ِ%&/;~D.CwIeT2(vr]~)TA4@9 |:\y5@":T7ysrhhiƸ]/#sKlFqhjXC++fQ!$䔱$ e6 ' +" #,DXLV@5喳`cBx8yx0Q6g]0/-,z㑽[%fך#Ybc;qaucS?8 6>>|;b]d䥭Wcs`5 2ZCf3e"j>R4_Hϭt;Jkw'H_wATde=PrXP%+%%evh\J)C%UT2T>ȁ8W_>L;{h.m<'V.Ħ5ZF%F&dLP`~!(dr @B|pB j@iT h.w] su j"N^p)݆:ַ$&$2jiEN..E5tT4 ?"U5lsҦ?ٹ r~e3ecj2MJJ)kakDi#3|7e&40r 3Yɧ;ݟ^γqpxmEӈWԡԟ]W9n~:=%{uHɭUG 2`٬bhJ%p0( 5o x%`A!!8 %B#%U,9"x8N]|S^22KOݱj1A >kk-m~r154U N,ë+~OZіF&Q>O.~tR'hg<,'1澇º4jA}jueu;ۘ16h>DD&/"<Ϩ"B\Z -_~@ctˮ/F $&~fFk,^-1PAIPO  8N ˽x<(T&_D $*!)&+-+(9jkoy1 ,םt}s샀Dgp U RSp'0A1FYyuN7B.H}PSRQ>ReUnN*R3&%<_v311嶑/6ӆ_6{(F5it0;1NmW rlb֧A{a[VEPvG8)xbaZPUՑG@A'sZǰ[H Y4eL- 0T Le5,Μ_-Idn԰АO<9_;r6mYqatvdxS H^V]1 M_O:w wUJ'E]Dof Fj{1!/m*U VK3$дNԬ$>/=pW:Fe[Fv(Ke- u5D^%}$g,'%-3V2! 6C3*V":jtyfҟ"ϝt?&-#x @Λ`%?' rD0(a!lyK8@Ҫ(Rв%5n=trSRK/PvvӺ33 Js\/x^ysb*1"<>>0efce`@6RC/W|j/Ĥogcsw7ZX74SR aLJڃ+4yG>UP}P3K32*j8_ &0wV.A70K"|Sbv*" ;o^khU_&z}Nqn߮KPfx"" Xa5w7k<u5WuIC }ت=oS7\zTwH\b^6c@SjD̗S΢cQN}|}jz>yx/UKnA^ekRq³롁7o^ .0[kbF@ uAPAA2^籯b$F,fB l,,+X .#J)٭U4]sV<|v9=r{%K1龷C_~[ҞԔefT0 X72J{@%QTz ,ЖޢY/k҈9oޔ{>Gғ2j韛8(E@q%1&G8\G*|Sbד/_{{=eqR@Z ϗhtFYя4Z|~Luo:B৓W5{{no},zJ*8RTLT]BX!NVs AEb<`.ssjH)UW4=djsf |1cwn H zkVB 1wͤ:JpH֫yՅ5e$+B1|[:_510SS"S҉)yĂO7vy}$&lplPsr\Shq&j]#O5#}$[#s!/oi2Mjv!{M+ZHe>m.'ݲ^ZIUP/9z>o]4_z7apaΚE8EaQ7kR~9) 8aÎ-j7[xmYʭjsG\ u9sAׂ2l3Zug. 3j1)ל&v EqQyČc=aQ./)4|bTJ*ZYK"5V(Ma~z bI1+%FH膺Ǐ)?0oF@ZSׯҼ.9}>(ٖ`SD5TGe<{zSvNybe1_=IU.A X,B`ؗC0(0`P0RBR AXMJ\ Y/p8Y<^I^d)3=g:(|I燎vO<{t'rs޽~A׋.3qK e,Iz2/64P_7j+/qo?ayI.MyK raOH̤5"i^WP$: O,}B%wԐDR]e{BXJxvV=3DOJ q"z6XSSXޜL4+RbE=< \ xJ`FFfMi)5CN/*pn>EGc/$ł`<ֿYcA V +B( AW̚cJrZJ8^~s7o=bremr/Ą g_>I|h{WaԬ#&ڟ^ r:J+OM;>e~'i20o/3symeQ@ZAQɠO\ݏ|x?2P(Ma`z}Fm 3%59dNOЋ>I))ʔruʆ'$;s t߯&:k\j1=,8*ޕqݮ |B3޸}gfJo~ʽO3Ss>ueEmSm@bd$YXSGL pL+.'P8qLHQ~[}j V,!@!8 !Ȉ 02X4ʅ,X9Q UYuU$eBPw֮;]*r@0߰ڲxRI+ O7nD ^ӛAX9zQFU>ؔC;H$_6oF #O ^MO'?B*$S9Yucηބ{PC9~YYpNؠXpYug?۟ɿoaVnzz>;=bR?ͪ geo>*,x~%JƦ=G^]vfvj{ |sz.+]spAJ5s#)#Uzj`d>'=87%澕qAUjgo[.4akbO1;=A13xU9y,+WSGLE"D\-X%$ _NFZb+X=srӵAQWzݸ9>L* ֔&4 -\C'+}RD-X_S:ڏz) Qy?@s ;֔P?FDx{64-jJ*9i~FG5R-EB GϽ /V?1+<%=y\pTOHTГ25WYf9^M <->yMA.6YB'#QGES|H]/ ]2_^_^B/PFkմ$[N.YʉW4]k}Oc_ה|_VMsС 4nF7amOw>A3'|Q\m(+fd8DŽKxgOZLrA*)Ԃ%?r3.:sAZfZR\kHRdls?Tk>t;{ʅ{]Y4u&ZΥ׎9_I^)rsK!y `0ii%)} J2pq(^AZC4wBmz[44t/(%>~}N rxJo(T]@ib]iv3<S}jo!w]BơH]{6ڱnr+c%HH)il <:Bd&0h"殻]QQ:HbWP,AQQQ(*"PT@*EK)$$$JI$Derg2wn;s""3,gWℵ4:OjՒj #b_E䦥WBϝ=((r'oʓ|x /kqT=uw0qtP_٫)7̹b'>n3+k+,VR_sG/QQVQX/&hOSWjztM &֙[y2^6;y4$# Fꈸ<:1@tc|ra&̜2SLnK׮SP^z}˗l~ݦ}6Ks+;k7o{'?N߮ UlXάćݳYko* NkNˌGss]\?Oi΋U@̊DI j螊_ļ55=nyi\xx}oQ~jvlqv! ;kZf";[^|}IL:Z`Qʚ7.U-3_%5WIKI\ ,˯:zR_q[60v.u\dmN~N~PZWSLg&Lв +/kp"Ta}Щo؟}p*iM9't\mծ^y+౥sv0pHh}nZc3sAǑkΊJVeݴ(ȏJxxiz'g;`pv47i(y:QNL*!BMk>/`y71M,_LQ]oށfg6nۤaۑӢ[o{Y㫖W̟ -z~Gz)FַiV{h4vt,.~@D^ UvX߂t{X-hfm1IiSui_/;ǭ{%~TsQx7T*\IʐA:]zu2l7Ų8Tk):J_K2pp(J޻a6eKWUy]<2yɴUL1Wt}B6R#۸ra e &8mN]*R 4]v?v˷lT:d𢡄8gHlhK-D'fy;' ߹k|CLJ?$&)+(&r[ Е(f$GMar#[iwnu -l9_sf{WiJ9i`bwW&ɡl&JHI 2,(8,E3_l:eG8>ZBaN0_(J[ uZjj5%~i*ĥ6唖P]w ^SHTz6˨D 1!'==)= {{S{/oi4?!%?-L. zvSAzb%&=82Kg5Yz\3Nۯ -Ћ&~,q=]> ^#o^yg$_t|Ⅺ´6$x2Xi?g." hyy(pA!BS1ar7n޹VMlYbJj;-ORT2پ?gpL4:<)̰53Ƥue.;at1Ge^Js e!Qy1H7=lHfFj$-)^T!V<1F*S&JMep ' t=8}_GIjWЫ؜Ҿ \r)I:3Y☨2{xi3"R++{_[#u,W4߳a̟g,l V+.Y,\sjM9oG?rο5 m]Z;:)ڥK+|[Pki |pla#r0B4岸_RIc%GM+D~p=k7RRR#cچϏ08jvh<2C͔QBpTV- $" ,%`"LX{RF( } l`k8B%{ ф' m*;̻7]x>}n[l~f uI5fl]88Lgs$[<ܒ [SJOaD|I+Vs O=+I̕U[vjz?1nEsL/ /ą=oih(=Z.lۏEm H)Λ;Vrޑ䘻.^Q^%jДK_554quĔؒn:1NvUm] s/gn2i!!ƒ|_*jpQ}M+Dp4w3awH֮je_{)ӱ\yL_"\{M` ω4X>oܶSڊJOYVCMk=OshcqpLE&p$*O,Ϝ@׺?cEfA,qqx)O|X)'d KֲL@wr5uPn{۹\9㷗zܴ/kP1!i]r 2@bC<\|]K2*T+ b)^N;XVP!ɱN֓ 3pòR;)V)/>ݦR-T":b6p[V {a6b\bfgRa/GBr>40j%Cb`+y:h@nXpfE!Kv7ꘇNlR_p9i ]ΦWv`'I#ѭt9}3 ԑ OoWi} Uz}5m39r (KˍH~[QUn՗45Ƒ(j~K >C# M5xT^i ~`J꺡A&|ώTfz*ihT-k`<@a9&9=|4zf2UH] 5,#縫pַdYY-\a6< -}^~ 87{>Rc@]F*so+K b%/߬`,#2C$1W[Gj  o`,ԭ3rKǑq`uwZ3 5pXA'TgcA_"&3Ɯ/~WM%ݴ~zҊwۅ>:hOZ}en-@i~P LPs~g::H7N:W3.!쨨ˬ-H*2w=KȂU]VQ=0W~zk۰ ;lt笼VPŚB&l"|U1/U'pY.5U /nhn,=.:Nw_:!ə+,nCpvdJah8]E$0n cUhNTBÒ*baBl sԆ5ȟbO4hmW^ΙcD#B4$hkEQLzc :jL/Z? \*5ߖm8{V-ջo\=eeMqY9a5Rɝps}smyɁ-CAoIM9tZnf6/(.7,(. NΖ8S5qw71H7>Z8VdO;aS=e\m>$)il٘.90)/2_hofS\q Z+ܲzvj˶ޟ[.~/y^y靎jE% 651U1N[2=o%EҘ bu`SyZv찝 P{wa1I^')'W#Eѕ mUIG5BGsfTXDžt}w',w)|[?YB\ D:靬ECvưQe jWw4*".qzh?"·g^G|7mU2J,̞Y۶}ǗZki{Eɕ.IM UJ/$t!s3trm{nV:JKVf%pp<J^NT 2<]$+3*+- if ɰ5m{g.uݰ88 -H!a^+7=326$袣Wj9._gHxkx|!< V618Z8=?~ѐ*iɫAi|VZ_j0}"DŽN">o} "Ta}iA30s+/$-_\T^O xwFvg@ȳ-O*y^Wi,=R kF(8(ۥ"c`|7 U_[;p1lgDw UvX~>SCGϟJmD7Iܧ?p3ܳ_ы/ӊY ${ی1Lɰ*i,̷E4t6VZDW TV[ bΝKvS4JCxx{wZ|W\ X@آbMf+pˆUr#5o|roƷBrۋ umάe4!bnGs\.'K(KSy x,٫0f]ۀD6Rga6V}x~ot@Ϗp6.׎^ҷ"/.caFOw?L~[۫ 2Q$^ $끊^ýl-Õ<9=b?,At}bbbB& UC_Z7Q>4}M1 k @І޴k"Eimg6B fm4V%]vC>C?1Y?+;oY3_x=kEUZ\Hqy-4:b${kd:VWP`IN~l'gUm> B}&n]*ˡ/eĐj>T:4D>2F/%Zܥmy/:hzF`"@߮7︆sPe9p|fgW[+Q;f[l(oҙ{.FOzw岽DJ"׷@!LH!J տ UCߪ]4@Cݲbtvy{liF eZv.kwYHzգ)jQWH;rW"0ϩ*˱!*'&<Ғ^E1沲z\g;:X\j!`֪B3g5MⅺMZH/{77^Fp%s=meښ(/#亴<"{Wߌ% 4Nf+acpbrAzE?kcs!aT(G GAmlUcPWSv"ߥXm]hl]c4inlN2V ɺ'}/W/ߘJvGoMBb|%<~itɳa&n7m@C` @4LUiUBh GT0mPe9.f;u`)Bh~W{^b~Y1 Lo(h%Atkkq:*:[J4xro퉭YH,K04@].2B;8:%Fb#[%9DȿPֽS+*;w? Sn}VwmmPvF'3d 7f |pNѳXum1h1syרM2P΂5K0 l[? =AхE.};0y ZDlVbб$kUk& b4؏5>Ձ@S?AjQ7ˋV vN8kRR;VO9xȖƭ]E1c>dsгC3b)m} ƅEŅ0bEګСA!d2t:z 2?/?__U•p)ˊ:B1 .Ӆxnjln\&g#l g*!sw#-: dvE8gopNKdZ)F _r;WPeE<ȩo3|:R-Ywcz>Se;/;YeA9 7aZ;nI ceJY~m?7`~ q̙lf ko7;WP9Œ/oF`FDjkWgG FN'XUg3VFf:PŹMa8t=7hQgn%R7:c /M_Ob: ùtY+BK+𖵄/,hs؁+N}{[@M>xHUGXy4Yf %J8fX/VI0LcUNޥ}¡Dl;d Jc@8ZeDjbᤢPacUR9> {'ZFXcUԗf!&LUf'+n};n &9o$+@Ya|GBn7W {oz,}?N"e D4}{d\Q D}͠a'+X@FO^eR2 DH}suV;uW9zFP(M(0W B[t^ j dT}Sś{فVa\>3sIFqE_Znz .lǵ9PMx˂?nJ,@wnҧ3,sc~Wa$)28?__5L%>"9Nl:r> lnc*i+r9nAPW(JVI_;Vg%r9hԷGb.;k?DA }Aw#$7 @m v7@8.\5 @ ID) hgL\eƉeb_Bft)˿U#PD.Ds>%z]c D_ )c D_ ) "& "F 8.p!Y.ѫw1V+j`gQI?cm\^rhg"8IV纉ty8~8E@?.Ǝ.P9=nEu~}"r!et7N> ש{@"_bd>N`=O1$ǭx"DVqn@t#q~]-M`z܊m23lD9D)A $3G^3=O1pt`y܊{DU0 ,3G^30'ѿ}HY"dEx#A7r/`qF:|8E@?.m""Z%H??GvR4g3ȗSXb81~ԩ""b̏Mw3ȗSa$v h\Asmڝ;j_>8H]%O4ZQw7 0\\. 4q6Wju/''@Dql qs@4 ~7h s=@+lw ߧLc~" ^생6$K:e&2#|-z2Ãԡfwk^8p`Z `/1PGLw8ΦOUoS\/~YǩkOjMgdܓ:x6Nv|Z5a>~ZIKgBYm'g`t `䟐v8O7 QƋ+mtn7Oc9TSx샾Sk:]ٴ>{Qd |i0'[/ ~ }x[6 a}O>Qj pySh<)1ᧀ'tM8cq{N> stream xX tSպ>!4= Vh G@IdPJs6i:7I$Ф:єҁEfZPQdu}{ݷۡﮬLG Fx E~ˆdm0给:k/4)rk@cfux V\T n/3UVAL~h5.Ceag<&D kuj:{U?+zn{^>A˅6)9抽]} aˎ;(e4+6C14Ҁ6F& SYiYVDáٶY)!3Mt l%fT^: C^.:SDj G !|׃:\tr¢VpL|ǰH/D >c jR8'Ty F]iVNsSOWY^`|E[]f;{%gR~ pv_sv~x xsk?Ec jaL|m=Ɲ"ҧJֳɡ[wl:``gw`?pb`\hC!m19g^]qacy8ptxhQW贠1["<@?Y4:4*}@itJ \QȐ-^4ޮㄚD!Djmз@B..<וim'  ][&ٱ;}x; 8ʨ"&<ښ my1nF Vsj+XGD c‹(u/^rݧ*+ﱸ]Jޖ& vX#|ir!S2)( S4`Hӟ41Xg-xkS1h*g4}hizP?QȋWƼG%TaM yA^X jrly bB1)g9?)`9>`>-Kl ZM@ˠFB}D/\Dnvk2# wd1?W%MN z}Y:klPE単놨c)-dކov )y2e "e)Ow'>TTn>6+VwR[ɔc!YNҟ*{sHl]uO|z6" Q(dٹnK\Ϙk2x`fWf2![0:p ppwçd d 2t;qJ/|x@SjX"vvN=|.qbA=>f1K`܄%V&i:-& i,0lW>돾3Ec|n zA2@IoYJN_^gU?E8) S\,2T3_t,ނM7u9pޯ&rZMJ %s$Q2{[[? {uʒK&b>giYt8FFvQ#Y0D5=MǽhDAN"TZos=|hu hאԄ\]Hkc]TS<~#D^1Lst *!KH4 :l#N]=V=O-;;>Kwf6fk+nrFVB:gn_8l~A&ko0#-)_ |n%0\GenŞZOW~{Voe6[74Os,>CQzeQtqC{ݱGt#/rX{1LfFeR KvAQ6`"NAc?.2{-uχ8aRR! &Qwt=OP\@|A ag=Zu}$x4bg}רhwu9XGxQvGzrY^4O~MMi/^V]tOKITȤ+5Ck ~*5e ٚ*Mg٫5FLñ?}~8:wPp^[Dlmc&4 .*zNĆ=/EU5%n+SX֌q4zEfKesusުD2%{ȬvʃNzy\6|k&$.49-h*u97Ii+&@d,2l{p_K!X KwPO*+ V],zi܍;Nўk*P$I"Izk8ppk%IC3] Dξq& @ST)Y6TI47ԗ+icϣŮ*љغb$ v4r:1˖XT`4C'}W.M1iIy?vrA&mi;^PWT/=OR[w˴|v .15\k+wLb4ªvzضKL$L^ =dWҮʜ&&DGQ-'J3[^̋5wCȬ68bE|]MEުScx W'P EV׭:h{a/95_CkH\ ޢH|Џ%gëʸu_;PzF %VwT?~rVSp\DJ~ϞRMeKׯ:65*9 Vޓ+Y,ʮF@.\=粏ߋVuF0: 6 c-P*M&0Bݍɟ3hZE#,3d7zaZl=DyaL0>ר+\8 Hp(RHwd(fGMQcy0endstream endobj 140 0 obj << /BitsPerComponent 8 /ColorSpace 28 0 R /Filter /FlateDecode /Height 320 /Subtype /Image /Width 480 /Length 28768 >> stream xw\S}{NzBH $ޤ *MPĆ,( ЅI RTt&.ݽ899yf#8#8#8#8#8#8#8#8#z7? ] D$g_+\Og_+SZ\.ONVȮ¾XsGw%d$h}kɗfۘmxhκ䙌5߇oQ&{7XËc3Z<.y&# >$d_Zks\{d;d-y6C0ο\vrκ䙌 ЙL}9UJ| C4ͯ{Pk1oκd22_4'f{H[mgMl}`df,>f?2mg>^oaNRē!c̡^&82)-5w Fǧr/'gk#w]fT:=/n0KsJ 7ïK_}~v#G㭃2BʎUTZC볥ì-BΓy]9 SŔh/*힉4RvR.53'Tg7_'攖kM/$yJc}wS_3!}=Bg3X4ߝ7w5Ih{rAcNP|ba9Mcß62ں{_ݶRMHyx]Oc^ tWvwكq5U8Fc ^"3]̅͟6s0:_5|6HsMgq847;Ӟ'_)ίx3b_yu=nw^ f;;&nWRb߿p=d*kuo_$< %oxU0sQicwho2w=7cWA;Orm=yZ^Ha4=D^}+o\iwa;+>u鸷C6>g%AP=uC=::˱ڋ83@B"%.~ZwO-SSo Oc&DbN3.KۨoCۇ\u u݋66VOxO 1乳6>^s>),{9^"GGFoR|9W=>I5CJ ۛ,%We1sB.$ZDGPSKO:hdg7Rfg?UxY>dcN"]0O?XZ}2(ڡΚjbc~-wDpw&m'g;in~q죃,ML;k7ތ3?p'N{P8b37"sTi/~ MLZ*盠hnI[tJ[d_SnzFxwUIS E^2RɉsV&gE&$6nM~wDyX5mm=kimz7 \ {#,W޿kj>RZ$,0z\b|Cni1|(tO2?4U>{%>K~r)/Vڇ2hoiv[>=:cmbb|Ny;I\|c\LUd[k)݋4M)zpLw:+\Hy-9/;pi}hoavI0}*(^nRO~mr>nit/io;D5T%-l]TueTX)1C:5ִ1a yEahGkS\doǧe}jNiK߉HROj9>AJ@JkqA~Leƨ;dz[>OM+]8c`/ֵ?rq655s8c5qiq9iNQyQEY0 56xeiQ& Y:}uƼg -̛ sJ_w[.;fldInRs=̀8،-*+҉.<u-H g5 *k;p@$z/6fIuErbtvγ^]`~nOHEɋ99PB.|T$I䳰lwT 'Зܴl?FK[YPi +`0 VEʋ[j=7&V'I*hH[Z cd}sy\/Cl8DmkȲ&ĉ~wNq#e.RXUY@'; a4jvvCMw;+QNw\>v@ͷq)\TTحAH4VRD % [t"2rX1((FH0f;卌4p ~whay[zW#Ʀ&WƉc_ONv74Sgj1rS* ,9іKR<^Q^r=.vV{L.]٫ h, ![x׮\GPcp F)T7RTWՑAKtn/)y lz736'~G6ߞrF{9UOM٢'򙿽%ײ삔XRmf˼҇ S[J%$yr|#L^p-?0RB0:Z˿q_sm#Hx I 4VDb$Td {4%uv[X1ضś-GNGzLM/?#}hW8=~<t4yz=SZH`֔ԑ ~!&8-۞:vhp-DJjf{eQ", \z=$1J(8% RaAATTVuw`‹ 5Q}/&8)|MA+)3>oH`/2670,ƭs73Ÿv9|KUD[w䂋{ $uk7BEđ0 URն5ETd%QUiFե3%iĎ7:ra a\}>O 㭿U%~{o;9|YZN="9T֚76IaL2?Ԓ߼wuqSܲN\?ljf܊u$ U\umy) QR!IY5QqCey=ǜ5@Kmߡcn c0"(Q4LB_]%!$cN yTꕛxDp~ѡwK6,O<4q g/(~c=,)w8RQz]S9Ċ^whѩd[=MYҰq F'"* t5E$D c+lVƉV @A~nA!($n\f%nh(( 0:tzP{df_+euAkev7qqu-/ jHEEEdz3?Ͽy疫-;+S#N0VvN<ђ %k@"B@;TEA! A zeKmBJ ))vE+ADu:D^ȹKa o%&[`׏:N~0?ͽcw7T?4QHJ=nyVG?uWEG .3ILѢH\^@|p0.B"Da@?@kՒ_]ÃC )"-&AUԕ Z0$203vzqObXj XhF?3H-'-8aGlT#:>0Xn#Dp0/BJa%D!Bad 9 (@B>;cX!Ӌ=7ou̧28Nh!DoU5khw%z.%l[T]4uёܼdr)7'/}ef!߻aSx/,~o_7Yw!1>y+2~z`KoU+ןz[iK+/t }x1$ݹSw)7 ,Oڣ*gd!TJQ' X 2x`\/hi*J]JB A)h`|p8 AP08#(/57mҐS59UNL]/4%TvaIz;vJNޏk7\RXMg2k?W_1兹!~9E,Nyݼu}'c+s3{}DVq4?v!v%)8AIZM ǿ׵|@ TH A00 CKm(cqhHUztah( #CwQWXQ:r&+i<#${P k&{-koy{}xt\TpK)(+VޕS4:UYy4!kVf=l8`aCuQP!gR]j KK.]%P0NU.a uE(HEP`A !%UT oڍ+Wn䃀ŵT=rJS^ZFq$mZk2DhS9\(߿E|dgQ(8a)ʷG^Hc69<''-7ZfxzphʋOmWő>6|lwY;zq cM5)i73=wYuYEiQ8 ̳|  `@A$-*$_R8Im*$b B[, EyV/Yq#8.〃.^NJ+-s12/' L>\8߿N|ܧ/pe_4~] O$&e>vl^$^(.$6gگzjT{:g~lׅG,]v(J(Z11۩,)%/*qْ 00RPLW 7-]/A`$Z\RWFRC  ~n^>60 (L[WI !2v62xu]FU5-aA+LMPITdLzQ>%8RеUS=΁YwpV߷h*ȝ %>?w׽.nom~Αs޷J8W3evR]Q^`; Mv/ۼ(˲0֖SݴlVSʼnJaEqa.FhŒU ^Nv*H)ݡA zvև[u=& ظb~|f$. ;)Len+ZvNU<],淋*E{^>˄6R>JtfS{>WѳkyM̬.p}F܅-hё%ۡseA| -'g* YFCeń r0a0jzN k>ζֆ,$RJptxRx-_UܲS.]>g޼k׮0E;9J Oe6~U CmhS9e0k)mm)/?N>z}eج>Y|Kާٲ}ęfv}ۥuqj&z*+Eıp!p2Z5!jzJxeq%-4VAC@ 8\Vf.K} 79=j or@g>Ǭs'[}"{fJ5 ݼÐ/ZlɵdzISXT]LKP7VZ,CRUCg)[e%e9whw-}|IS//o\]J28|F0RE]UN P0+XEe% ?/V>[xI\[ ( # HAoµl*AWTG^F^WdTLihIkK aeT HA5+p4NMUYA X,޼q-n~DDBY̤ >߉4n!TzgN~^lVwf-m CڒĔ̼JvIF bP l?}~WR?1 O>Yٶ&J,AZ+"P\KWp(8FKU GEDPY]] erxY"E`a[oF8]6虛Kkimk`ز ~69Škn9QwbZS_4s`}\Wc>9yOog|G 4O?s5 ΄H=@ZMbEc;+iEBBՕI"U?s9TY&.etf {ho}ݤ8KZK4iS[Mcs8^VILC@h?,!F B[ "r:X%˷l,>>0w+ / EHȋ lZ. ,`9""H5S6rxIIq%Fk( jB|brՠGn2J:h݃>|\JcY+k}Dbz;FgT40uqz^,B!?a׬#:l s(Y5Ldۚ( `OevGO##̉@7/>,HJyWr=h&AFBZaw xA\_t= ~L2d6 ,xi9mNN񎵵W!6F:_7жz('&?'*RClg{'$xT&\xgt- 193觕&w#j:lg_!gj3አ ce,Eh(ΦcZ?Г##EդG^gLd`m. J.*ML3`&?=%8e6:$eb 6P, IȊ0( @[, r @00#@!x]#=1Ъ@1I9) )[0k9+4,zv~QY!1aaQ}׃{} ۘL2qKkhf}/+MnYEl+O)#JIeb"&7GڎIX8sJCtr[sA̯*gDž }I6DvDW=u?{]Kr3bS*}Zv0?6ٕu' Ka2/)Pe |,?-,EC8Eu]-(aq ϻi?C|@(!$ # V/ZZ 2R2j 1i-RAnDm4;'"$G9iIϲdLҌK7/U>" d5^_r,}zoA|oRM -dB/,x;Bii!ZK3њ0 ''w$?*2ؒfdU;pm{.,.g}zFCQ4S?mцYtK ]}~NMSþВ7|f8  dT(/X ,A8~  p Y%! C"H2URU7Q7;Y8ng rzzy_=uCmuZiJRyԃwdvrUaN c7&3dɿwrS9:\2财jg^G[/ŇHkb}K3FZIndG1Aª߲ہ5p3މ6^:~]~ ߓ)#KWwR*r^W3:ٓQgdMLN8qjGwKD Ny'S>?S"\+x@(?*%B,-. !@ p^a3 H,+UE #W-Y G˫!i%EPߥcya(^S.yA縓oQqmqbU}Yϕ [w<d:K[`!@0AY bH,N`ۼvɒ|H1@p@A[/AD80LBb4v]8Fk=Qs޽{7#^;xxP$AViJj9)?x;)i RQvsS['-Sxգ֪sӓL4q 49鹕muĴ`G n2J$P˺&z&Fj;;z^So< l}Zh֙^<«.&1smմZJe &zdW_<~$ejus/},jW܌; :\o]g9$|!!0 gV.u 4!B@ C˹Ebh4L\AST0tܮx@%%a}I{[ieWB}#wvҭ/ǠU/j{,i㶆bbSu=;V-zؚS|hyQu7 iy;ZwDxKuc^&%(CFFܮ,J;AABaEAR9)9hZM1TQ> ^rC}RsRRׯ_)x} o*U"sbyfߍu3:yecfoQSceU( #`hPܼfM>(P֑!Kmģ%p/WRR=ne*f|{3YR3[2/zw+ys#4cPhHI@eP /\Ҝ1 d^ٔZTA"ֽ~<',(#6DePuRIv2vf0:nZ}[ݗC':ޓꈤἸqyTFMMzNIؖ=ec MEq^nu+Α9[SKFssx#?5+ꙇLbb0-W,a`8 (d`8!n%&Ȼt`dXE9uw_6ȧhuiEpW/= wp+qtHBVXGyYn?JF,e߫ UaW$zit:;mw &dC fNT\WQ$WyOF&= K  K+-!,t*ys?Y@|k99؜䗝Tm۳W)s i -)%ւYn rX Z갳A{GkQqOo>!iفwnun7O6#9eB Vd:..CApBT @^e1sHy6zcRgO9, $xOf~/%He#a{\ N &ݿ}ԅ;d@nۉEYeXusS{w{tN1Eii%{;Z8\IʋAm=xtiMXHDyY㏊-Y͇AhX ((RC +lTdĔuT\8vRE %%2=t98OxxJn$OL I,!67d>0ǫR&;'4M/#9gh|{w~;/]?#FyE>.}<:> ҖK -=)۲kvU'"ۨyeTuiUi$s$%N]My{ Xi3W_Ϋ|WXN,K^ZT;:QWЖ65-3/[<2‘e ݯj7s!tL{5~|zL @AX B-X1$@D/Yt7 ֗"vݱvJh5A', L{{z\qoY6}_uQy[PEއŸj^pzRөF,2o!{|cOTTv0I["r=J./i^TWE h:sS'ް*k_W&=Gk:nctӣİV.2EaQFpgYQ^my^C['5֗++n^4W[w_~kSpԷanƲr(1UU ap8$,`,{<-]Ii~ aNn8`{=&'=,g AQ +S :/TxfT5`}g {ڳuҐQRIfԖOʣwdћ~ɰY=yK&'}k|c%qw[ D5^O w}3WRj^QB" Z:)kkjj޴Jtwߩvd"W\׸䒔/9HqF!w(C0I%C5E5u)޴+yp&յe24޾X[ͷjSN8]b EV\EIhkȦO/褌Mx\Cf +}ÿ(>;=7Y]mȻQgIq1+{F)WNV 䭮=K76;I|C{RQf/$_RgպP>>!-/,۲l,^K@cqU5rbV-8k-9csb2sF޸ʆa6F[Xᰩh]  =o _|wVG;#l dU m"H.y > ٰj>C }TZoCO6œg׼_{z@fZEǪ'>q)=me&U9~?= O)W©98''ܭ'2uI1IE.A]#YyqjGk̤4kNvtY96&i;+u9ឡA~s ;;ݬ'20ۡSs?O!3}㵭, ^v:~NI)&.hj}N+!"`0 u(ç\s?{τSFhEk`$פGxJ -~~&ޜ[Ujn|#Z75f=Vi2615;9vsFDA KeŪMP$ Amm[WM]B +#399mՂJNwuv;otpX{,9wݽ6W|"ξ(cb.x~nw wq9bvvIz5[0p\_u}N2|nյo=kaҥbp:[tl;no㤴7ݤu` '\.8.!{yc. Tј{:D >f5 j[@N'H 8#b}o뛟 UIGw۴bL%)S~EqZvމ^^w=lxXOkۏ৯^xwMW%k蟴 [-J MJI }ʝAx = GhC"1ɹ ei7ܺr30: 2-.nKtAv5CKO󽤾 w~Waݺ.Yeǹ;G@u*V޺Cvq|lcuN"5(3),\^*%7111-{5 m X_0~}Yo&,XN{ËՖ 2:;TWir%{ gmS\uσWNo߳tc7_imJ)&dz8&J Jܹ{g0t =܂")S_S燥b^ZټLa1<]w8" nd߱9uaF)'4mb{"eĝZi?OXlhu KO^["4 04è}|,.TDU+CU`N<#?)ZT8I2s.W8gӚgv>`|꺫C-[pB)&n +#2hVVqN96Bf#^%tM缎pv|ukȡl* SH8m'=]i G d:t:ÃC=*)O?K. v߻BUsʒYjNiܜ ڻNr)c37X,=J?.4<4ȅPFOq|t-l,::=%,.ތԶSpXlX]kdo6$(:94 =8WVT ^;>* R voX8u/{ޞ#g_e&NgjHlV-xe-LNX:taë\U0΅ .wMYj %8R݌~蘌$"T:.R Uo>yV3|lwJ)7?ou5Eu-.WQRRޱmoMީ˴X:oE@|mS3,37"/11~Wiw._jrWH:6;>4> q`vDQew],!2, %_+/=/I J/Mӱ6/3KY簕G mɏ9o-6;zg_طQ铤w]-)q^~1%]BR ,&[ndfb3㊢#3Jr W^GDFAZ$f>}[xRv^3ܷjTi8eԔ8NQuƸ#fǖظaV{;*z[2 [_Ajkf?8#dpطOߡ!lJ=&+QXL1 _=tiV \WKvuY9]'/OYEXZz:z𨕽փG?S2qqϞu<5A}xLefrUѪjpL&IйrK>(5t6&Q"?m}hWYI2.z+UhھstL^5xSg~h|6-#0=3@Ή j]}}dWochNmY w^ N(dbwU1R1TR....F績x\xAaoYsלȿp]<Qg_`sl 86/Y޿skVztF:#S̯y6<6N35u$*^K:B9"?˟""+)rdj@ϫBݱW=x9S'X>_KzcH͖.5CeŎ~9Z[6ץyi|m-*??א]ܬ:}&)k>rĤ7E%MDx[!:1#3A -bc2Cz@¼0cKe5ye~i?MW[ꅭGO/:3ٺn~\-nY8{L5Uzͯ]~_v< H~8#>02P L#Aj Rz\JJq~bUx$j:O{j/$~ --ggn7mQ,xDZz"&Cqt.I6؂9r`l%W9& n^*7CYcr|;UkrUdO,his_ox;%[@ SSo+3 V?{K 53;?=OllDTfy=*r7‰e vPo' mSv6 )yx?(ѫX l-{0R$X![I}kB^]'.1MF2r+3A97Ll] .29gN7Fy{n=kthxdxSԐI7<F!E"" 7&ta)-1A>An>7NUWYi>#kd[\+]ޗ͂7!7GV ֗JxLSWK96!iYr X{9 ø>1:AXq"d'@ r]fHl@ 8^Kgmyk7И>q upʓ59sYgkЯζf5 SMs+[4I)m9yUj-pYTl-YPf+ ŕNU3DDy,6ZhWXߺJ"&_;p-Od FCc*aeB!4dy(C]d 5UDDqUW9~Π)5\5ydK]Eͳ *+7W{ܼ Ϝlmo^~|줕[ڜC fL$=oSsxopv}ڊ0BUa 7/๳"XlrtB[NVa9-[e8"K4Lw}mg0fvw+묵Y?}rM gRTz(?'ŽpvO9U23%ێ_6y#ˇP T YK ?2~\BBfWf㻎2Q^[K'd9crHX$?\K?bPc1a>`$֏&[&OͣeI_x} ̖ЕL3޸jd~uRl##k5f)0wNuG,)bfE$Na 2ɤ>p*ڍPI-(c c&7v.O\6QVXvDl*v%7uteXۺi(T|mY9q@R 0=/72ib?ݮSW?քǧ˲YPDρ3pp7Mz?y}޽EJቡWVL_{|X^?m^kM:eR}j[vn\v=@= xcvy4>6  rZΪ ,QX-l8URT0ʉ}1 13 ^;[U=3J7綪i9)o34fHO!>Q'U iNWU+2 xx]}mեu"k`GϤ|vDJȀw)ᨹ)1e[`eSj.I^A~D~Uշ^tD `GC`*kӰ]);nWo]ՐD'[KUu0%p }Irr)LB McA'b Dg`w? dA(,.#^ce~dŠC֞)uַ)ZGvȊtJc mg|h0i5S[@syOd<x*it'շJi&]/`b[aK)F{,*RMEjCy}Y\)^@.jAA;.x9M)4q - 3Z@N4|uB4#/Ha)m{x>} YfC7b"925 u մVvm^{]]϶LyXO_meqنʛk_X±C/<*Ĥ@!v B`T786ϑЗuj|׾.<̌ɋO2ى4wsΚ>}<++V*_1V?VYNM$sKD" v\w@>UַI9,?rzË6/ #﨩rX4&!1͇R҄n%?z!o8jza:VtMg%[dIIa;`dQR_n6'wGL_ SZ}~U7w̋._U gɠeu#Rc.ٛyBqtڇH, Ղ#[ԢFHreS#-gȸDJ Z+WT(lQ}DqyXexi_v[:VȘ/,$&F>v{/Z|߿Uqu&KKs +N )M2ɮ- ,G&Op뷿|=qw,vK0`&1.&1B04TI۫8{y!iۇ+TkP+6N_WW6[rrɨzBvA婱AEeUu$N('ҫZ]~mt>Lv9ZB9i`;.H;1D|d7WzAFSచ 1`TZ9\vO>:OJX՝CpLA4 D4V1<X15ܹ`԰ʞ*} wIlb2ҋ)F*T=%2]=[y_` hַĠ!USAf:ߩyҤ̒"lVY;|IzؖKxynFJ7(H-FLhƏ!?qˉ̎K@atz4Ih4XSnuq8-CDw} [;yXүoKΛXF\#E8^KX8inD! (98}щ~n"W%S\PՔ+*TӃ0PA(Y \9Rrˀ I®R}*! /B: ТK>rjsFp|0VY!}K+zkZ 5p Ңj h'VUF +w~VYlv*`cfc__Z9[F8cĬ"p.1B|\^>3X'e݌ +ԗ*3`?|eo!ӗʆ];Ȃ V&Uj7" K !B}ANU ݣ(:ˆۂe0eGfw^h :J(_ѸQOa SJ[3.,3Nv65}X9NSh 66}O!z|_ţ(:._: F5[uK: /+1 9{DaSaNiV=n/_a|%8g307 ny {gy/__ B@WEG`n/}d>T^ }{ѣ/*P@t<ַmjw1_V{9Wɚeӱ/n㐻V"_Vq;cjkw](6N'~k!<r'k#XGM5t2=bJMC_bwk$XkE?X-|# X6YP}2XP}GT_qwAXP}GT_qwAXP}GT_qwAXP}GU:#X\bSr^Q}p_{A?ח*ĆVP}3C"+)r:S5BJds #9& N$3#}sGaJȗjuAKHߞ<w7_s9ASܘ |mGIP˷;HP_U]=Z o|wH3F Gx31d'_BIꨏAay?K',D9D@|KtP}% /+T_2akOX02^I \SBR m։4!}B}@AAAAAAAA,)?-U8 )y DO 830K lj*mY)H΀=n(l}7Jc F][A_b`>N݅ | GE4dFy'Ke6 q:#|<Џ B (E }?-vH # /!=Џ {(Wޱ_>A!CF ;KD~]H{x"8O"F@?r3%D~]H}ħ $w盧_VlD_?8_b`>NGޅ8ĉ_!:L$3L;%D@@AAAAAAAAAAAAAAAAAAAAAAAAoCF[KfP$̡6i5XI߄oS99u P$ȥՠ-wؽ`<L?fXkx~M"&(0<zs̕wɓC( \S`똻5|{SHcl]5toE<:ҿ!OAɝ h{ȝ 9IqK~cB:ڠB }c ^w!VpjO~9Ȼ7x1Fv|y6wݡ@%i _t q 4`xHp9H_Ⱥ YAA? )[?nצM8L &V>W_ߧYvc#ٓ25RweIX4{{'~h{viů]''@嗀ڭ S҅*B>x)o EbǷ4cqb7?MHp?uDu=%OxG((((((((((((((((((((((((((((((((=?bendstream endobj 141 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xkLSgO)Qj%guhA\bcs2'[VJ K9O\ r-R$Y8ܲLdN}Y{dܖ}x<<xk#c?{bJc0oM]>||n2mD@xy:s2WeIբݢaa EHT B#VK%9b5WE DչiqN~Rut^V$F)V*Ԣ腾HeNnZ(3%*a<@!ɒ1 c 98Ecba1xxW},|c}ebea6yx >E^:8C@Rx& ԥRe*%(g/1tU)/woe䲻iء#}.iɆdPɌ<1b;Z,}V6q xդ.6U(rUTCe:UsN AQ2|gf:Ku֢JAffņـ?;=N]`i2Z@QYktPnrcpU R,F*5eWZP`z `92զ.ԍξSHG_o;@3ҝ -V95×#ӟ$xKKIpFOtw:yh|tFw8`CTTj6GT%%d/_mmّ*CEЩ"Z%+дDte%!g.cψAL Q5Ph%d4UJePQe<۽sфIzב6W 7NS"((#!%]xtJ >5i_љOӪrtQwLxINod̺U'z2d>8{hG;Q]fڔ'. AYoY&Df&I:mcy]5s\6m%swBg H}m#vjw\R>C5)E\Dlb_6ߨuR/mS xbFuM5z֫MC#+=;CpZYT 0V&Vl#ڡjVm---+#MYGa,FmN7S$@P.kKjV.4K;Od :flʇ>ַQKC0bhIÅ6> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 144 /ID [<5921934032bcc5921b9f1fadbcdcb54d>] >> stream xcb&F~0 $8JLgP>dɂBѐ$?$如BR ̻A$d< "9A| X)"րH ] D2Iƌ) 6aɴD"l7@Nɽ\&O $'jM) /p4c endstream endobj startxref 204065 %%EOF HSAUR3/inst/doc/Ch_analysing_longitudinal_dataI.Rnw0000644000176200001440000003373214416236367021727 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analyzing Longitudinal Data I} %%\VignetteDepends{lme4,multcomp} \setcounter{chapter}{12} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("lme4") library("multcomp") residuals <- function(object) { y <- getME(object, 'y') y - fitted(object) } @ \chapter[Analyzing Longitudinal Data I]{Analyzing Longitudinal Data I: Computerized Delivery of Cognitive Behavioral Therapy -- Beat the Blues \label{ALDI}} \section{Introduction} \section{Analyzing Longitudinal Data} \section{Analysis Using \R{}} \begin{figure} \begin{center} <>= data("BtheB", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) ylim <- range(BtheB[,grep("bdi", names(BtheB))], na.rm = TRUE) tau <- subset(BtheB, treatment == "TAU")[, grep("bdi", names(BtheB))] boxplot(tau, main = "Treated as Usual", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) btheb <- subset(BtheB, treatment == "BtheB")[, grep("bdi", names(BtheB))] boxplot(btheb, main = "Beat the Blues", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 3, 5, 8), ylim = ylim) @ \caption{Boxplots for the repeated measures by treatment group for the \Robject{BtheB} data. \label{ALDI:boxplots}} \end{center} \end{figure} We shall fit both random intercept and random intercept and slope models to the data including the baseline BDI values (\Robject{pre.bdi}), \Robject{treatment} group, \Robject{drug}, and \Robject{length} as fixed effect covariates. Linear mixed effects models are fitted in \R{} by using the \Rcmd{lmer} function contained in the \Rpackage{lme4} package \citep{PKG:lme4,HSAUR:PinheiroBates2000,HSAUR:Bates2005}, but an essential first step is to rearrange the data from the `wide form' in which they appear in the \Robject{BtheB} data frame %%' into the `long form' in which each separate repeated measurement %%' and associated covariate values appear as a separate row in a \Rclass{data.frame}. This rearrangement can be made using the following code: <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) @ such that the data are now in the form (here shown for the first three subjects) <>= subset(BtheB_long, subject %in% c("1", "2", "3")) @ The resulting \Rclass{data.frame} \Robject{BtheB\_long} contains a number of missing values \index{Missing values} and in applying the \Rcmd{lmer} function these will be dropped. But notice it is only the missing values that are removed, \stress{not} participants that have at least one missing value. All the available data is used in the model fitting process. The \Rcmd{lmer} function is used in a similar way to the \Rcmd{lm} function met in \Sexpr{ch("MLR")} with the addition of a random term to identify the source of the repeated measurements, here \Robject{subject}. We can fit the two models (\ref{ALDI:ModelA}) and (\ref{ALDI:ModelB}) and test which is most appropriate using <>= library("lme4") BtheB_lmer1 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (1 | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) BtheB_lmer2 <- lmer(bdi ~ bdi.pre + time + treatment + drug + length + (time | subject), data = BtheB_long, REML = FALSE, na.action = na.omit) anova(BtheB_lmer1, BtheB_lmer2) @ \renewcommand{\nextcaption}{\R{} output of the linear mixed-effects model fit for the \Robject{BtheB} data. \label{ALDI-BtheB-summary}} \SchunkLabel <>= summary(BtheB_lmer1) @ \SchunkRaw The \Rcmd{summary} method for \Rclass{lmer} objects doesn't print $p$-values for Gaussian mixed models because the degrees of freedom of the $t$ reference distribution are not obvious. However, one can rely on the asymptotic normal distribution for computing univariate $p$-values for the fixed effects using the \Rcmd{cftest} function from package \Rpackage{multcomp}. The asymptotic $p$-values are given in Figure~\ref{ALDI-BtheB-summary-p}. \renewcommand{\nextcaption}{\R{} output of the asymptotic $p$-values for linear mixed-effects model fit for the \Robject{BtheB} data. \label{ALDI-BtheB-summary-p}} \SchunkLabel <>= cftest(BtheB_lmer1) @ \SchunkRaw We can check the assumptions of the final model fitted to the \Robject{BtheB} data, i.e., the normality of the random effect terms and the residuals, by first using the \Rcmd{ranef} method to \stress{predict} the former and the \Rcmd{residuals} method to calculate the differences between the observed data values and the fitted values, and then using normal probability plots on each. How the random effects are predicted is explained briefly in Section~\ref{ALDI:predictrandom}. The necessary \R{} code to obtain the effects, residuals, and plots is shown with Figure~\ref{ALDI:qqplots}. There appear to be no large departures from linearity in either plot. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) qint <- ranef(BtheB_lmer1)$subject[["(Intercept)"]] qres <- residuals(BtheB_lmer1) qqnorm(qint, ylab = "Estimated random intercepts", xlim = c(-3, 3), ylim = c(-20, 20), main = "Random intercepts") qqline(qint) qqnorm(qres, xlim = c(-3, 3), ylim = c(-20, 20), ylab = "Estimated residuals", main = "Residuals") qqline(qres) @ \caption{Quantile-quantile plots of predicted random intercepts and residuals for the random intercept model \Robject{BtheB\_lmer1} fitted to the \Robject{BtheB} data. \label{ALDI:qqplots}} \end{center} \end{figure} \begin{figure} \begin{center} <>= bdi <- BtheB[, grep("bdi", names(BtheB))] plot(1:4, rep(-0.5, 4), type = "n", axes = FALSE, ylim = c(0, 50), xlab = "Months", ylab = "BDI") axis(1, at = 1:4, labels = c(0, 2, 3, 5)) axis(2) for (i in 1:4) { dropout <- is.na(bdi[,i + 1]) points(rep(i, nrow(bdi)) + ifelse(dropout, 0.05, -0.05), jitter(bdi[,i]), pch = ifelse(dropout, 20, 1)) } @ \caption{Distribution of BDI values for patients that do (circles) and do not (bullets) attend the next scheduled visit. \label{ALDI-dropout}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_analysing_longitudinal_dataI.pdf0000644000176200001440000033203414416277543021730 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4057 /Filter /FlateDecode /N 76 /First 626 >> stream xis۶t2&eGIlwAh[,: eGۑi\ rA!h"kb'8NHBPB0S # PGX +K•ƊpyMh$-mL8 obhĈs" zI6p(1DK$0y yK ,&@8'Il /H¡tMI5I4 I&` S2+%Npc4X YaRABK(ѐ% e K RB86!v oqA3#  [43@B8@B&( VD4@1]d4/ @T K ˂LX$nrq/9KJ3D8&Ȁ 5Y1јH 53~Ѓt9CɀУr: =?^CF_w)~]7o&ҫ8Eކk4Wq ELz,Oʶ^3[)du{:ZJNӴeUpkrbZxrfVq*rx~íaiۚ79 ,Hro\߫|?@Lj(|O׿tCǗr/S˸м{&HSq ,["pQ ɽ<galLg)'í;CpʪU"Y="[G0ɻ k$]zf~_7o|$~ztX}k6;ˤg("F l5 Ieזhئ9* ޭKS% _" }Ŷӵ|n^ECHͣT"p/!ς$5ؾk_TFΓIB<ɒ'p/^olҷQ6̮Q:os4Q܀Y@0Q2kֈK7 hwQ~/4(  g X| yͱI_pc`++ xqO&ڵ`73BS _, j /Q<_Lh t}1rTe`N6,`7ݤ[tзݥ{tS%Q6ftLSގ^M ^:)3l; $?W$`n9]%]Ӕ.etEҿ~tlc5Z[n3Ѻ: q t&go&q6mή {0Y,8ѓez*UC#Eo`u6gIYPyttmzykϑk{.{>`=.Pdn~]9o⼅hnz p.ibXf J?mkPZ`Z82E; 0Dvon[g !X:ge_k[0,Bkp-ZO܍S' $eX<ȴ@9ycx i<tK+І|X[~tiKԖYK[\(ՓۚT${AuNjc9 8u1H%acNh"v(:u<<䠵;N-4j*jaWԀqJ[uiiU>۩;= hzH1:3BEMw[pEpƿIgU:R4Z+|LǗSW2˕" #-&[7tդ*U]l2QMA5Mzzz&mWfmT5R}3{oȔhS(&@Тj`ϨFVp1L8N|8q>__i)|.GxJۍU`` ƃ~x Um^zaM B*X wSȒ@ \-E݄D4AdM/o~y}8\- ^]N'U: idrVH/iz̘~-˫5|l^̂>GQ\2Mk ZKt`k| ?Wwm*o/mu5} J[!rs\ePV8%W## K`W"PKe" HF^FFlXH0UkEGI3g}C&_B/5&ydUdëń~h{Y$$g Gily0$u}<ڊ( >FE,8an{pi9V6vrZ~P ߏb.rt%/X]Z)KZ źlbwuTD/KAVk-H8TB0$nRKsHO.v]1Uyd#[O%2sr4EhuWp U(,tCyMS0_*B"{(h@]ԣq?}Q=GK^B*V̶"g5ķ}oy6i:ƝE(?cm뮷TÉo%ǢuwtYnt;wH-j/}=lG1usp7S pO*^G,_Hh,9pvzxmF_9ImW(ْ֖2e] dD%ڇ-M}iQNw?Ǘs﮳2R T,DuRB54j'-# #"fDl*:(UD!#%MˉM |Dn{L,/s / H["X=*,/+V[[a8ptVimڂNW.O}/?DݹRvZu๗6 Sc֐-GkC e- YHOBƌ_fa4ظg%iͯ8,?:\eaՈ.vGH+h]}?;Mc͹b'zLZXFIR;i=|3JAРdq_ҫԢS-O^MԪmvWڪt\ނ> &( B+Kο$6endstream endobj 78 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:23+02:00 2023-04-14T18:29:23+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 79 0 obj << /Filter /FlateDecode /Length 3732 >> stream x[[o\~G,=fOxi+ F8 )ҵHZEZu;Gj@\\_lKG 1*|`?-|i3ˋf4ޗw h[Z(*3JK+(O5¯ᗥrލVH7*L1NeD&Te75z*Jd.UѪ2d˂/_G˃Gτ^a/"|)Kc5ВË߆Vk6 Ƽ×OYQ1/_J+1<[#fr?7.QBvkg`,r-5D8>OepκacΘq~8_!?%^Ð{m+,UƱcX[s0gb/,~x/산ݢ`L*! XN:&c۹򠉰9\$'B#KJX`c%]{M־Ef-Dc*L#-cHFK㴁 h< 'q\$,^S.@"?D j#j'4͊ 7Edb <9KΛ iU91EZH("+vĤmh,47$P&0GٔOBn'ȄE-)bfV PǑ i&J` 50A U>u9GBbC(.پ {I4:PC jw\O N1MMH㑀 iP[t1hnEV-H3lk|)tNJ|F<]w#2`6Sx+enЀji55V1v6MۜDYهi=PAI¬Z+tIlc=ILWL?Z'(S#$"9N\pۄ$Hs49HRU=Aj^!;Gky0lשOLH8S͇p ӮhD]d  ?)FkZ8ɥhp%c,o Z< !t((CpIا](fĚ,Mot?y[G튖԰Ȥy¨e#ZWј4H?-¡a\C uB`n'眢+@E9nIT1*nv~ "pMCbrq]p܌Ͱ!d(P _z qBu輁Äڣqz% ,A$etک3x F1%m7nO/m #%ަaP R$-&C(= _1Ka"0NCp۸EMx0EmW 4GZLޓWmCG (0 E8r`J>Gz(N|$^Usm%5/kU*X@{I,Er/y?$6+u^i#/=7a8 4>*"Nȫ3ZwaֆzoBQ8q(4'wG/=SrR4"GcX˨LYnT.'endstream endobj 80 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xWytS?!mJK#=)AE2HiRtйIvRIGSH9eV&EE'ʺ(ԯ^㭷:ku%o}2e#>u~&MIHsFzWpKQnmO#Lfhcct^ßx^],>216m7MnߌQ=Qqg~d\O_HW"NLZ"]eN4Ȅ]$|ɠ6uN3[N@'3֘θM_(3-e]QחU /mp/T w!{ \ gk:`bC\SGW,tƣGa$3m RJ:=6+F+{_ Mہ GLa,4E~S2sS+@fy@/G@yL}G{wK ?U's*=%ZOT.hRĕ@*ؒEeϢ%7l17Gذy{֪0l%shLqC-ל'M\2vƚ6D]wx̍˻KNY2:NIa#EFPNy?U׶m޳VG)XIJlPj4@pEOkk;۾x-y"<2,n*T)/WجR,/+$ NT<W4K};.LoB^dJ5֘rXuCo& bV`HxEz\Kg^+WXҦ;A2 +}aK_6_HǪ{ e!4|wIsHeM'r+6=BH|$NVl15Tv{սϭ҅&k*pZ)M#(;"+"\T1 ^)кX&-j@QCQc1VZ2CRF'=Zv-%mO /*SXט KV Cͣ Q`^@"Wυ6M'=iQ4 i<цF=T>ph:]]S`F2i4/:l- &զD`ns9[|ҔiSAEZ]jjc<-؁8]0 KSKs`pr Pxf%ⱃ1 nIohw6&Ûp8pWW(Y2@dq7vtۅd|_TʠƖe4+UV(;GaVc,`G;p_)o??Uve#8kM" '*M]mǵee;`#@ lGcwh lh(mlTr€rS՝J0t;-L'D.Jd咯4/[4[ a> {M`RD57᜜q!"'$iWM I,0 ̇A3פըS#TA?;sCM[@ H*w+k7$x\=/+\g StJwD7oc8ZB!+ww:BZR7;:c}L # a%?lwo?qCVGC@}쪂Pl.u]~&d*,4%VUTT[цH!ۅшT)wO̴IoqN}qއWol2'3gVX&]A;N5N ߪLxW>6x׋8W 2rΟn it4C9v)`>mp_v>5g蒽-ΧdJ M+6P{黀P:r&UeO'U aܶK n+W0}IO몁Zb6WU G^ 8 ٳ~îJlVQ]S?0\JkOͻ7F&E}TLؾUc 9ȾE|gў,!_hNAƫ=<}~A1^/\B^f[Lx/~ƉZ5OHmA!/hR%*+'̢A9~8u4#c o\v N[j c$IC%rjP@2?>/-CkUV;gQ&1J@%z 6kTk$q#YŒDiZ,\ocVI)/ș^#eb5Ϳ\Y>5}WGlIRb^?]Wm"hByIp9~'!VXz28us/%.*z=Apz,q X;=/z8!TjtfDqklN*Op!nIKV,Zߣil:ӱ6H?޺^^N ۘl'۲ْ:.MrqՈеQhu2z]p0DjИKn+N/M< gm7/}Kjt&/U5iݵ'ٝBuIL \si9imQ&JNS\3qXQk*d>K WWpzm]Je.28:2y|iHfpA.x ]ꊍ{ FQnOݞk!,bÞ %`S`OuixPzp9*ΌWIv9o^չ>sm2<5<8Rs/ bZBmWKK@:\~?wi']{^=NgV>j~c%P!O@QlX&DFmcCUGS=Xh:i9uߴ97S\7?5I_]E5ph=x+ȥ'o D$,,֗`@l/fa , m/vsCm͝ar^Yendstream endobj 82 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 83 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 84 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xY TS׺>1sx*=uℶZ<82"3D@ y $ cm֪uZmV7$`]-"9gG@thU =z ͮC:Q}PYomJ(D& 4{ԩ.Ə7ifoVoQQMkVߨX>豞cC#?1)zkT*H߈>NBCy:Y67:;48L47"y3Cfnq܈yHn_${2~+Vmu \mMuO8id)s>^cƾEQj!5ZI}DGORèpj 5ZKQ,j5CmPcNsmuƦP{v+yM6YnïYWFZDaY*5@#FsXRB`6VZKA88 G|VrFz*!+f(V&fb&4Ѩ<-l,kVo+!{CF.ŜmfFᯨnN?r,57J~ m;?AH]Ԩ!(iu!'I$aZ 7!6j{nahޞLe#,ذAl&q۰ x'ogQH'k0 }$_D4;e)ڴdf,Ehp#; |׷!sp.| C-& wh6?E 㧟AjM&8ٯakqt_+|L6j}.DPOD}?w%_%*aQu'B`F7 |`W%Zuv%J+h֕6ĿPO+5EIv~e^`°0IJRT7B:T ݧ,х W#*%M2J̓.2E IŹeY%I>r/OγS'fy} %)*5E/߱OV#;㷣֬eD< U-} M ;NIkl!Xh)7!w6w2kXtWf"؇ƭ!"k%7k2!/Qɩj|N@ll o8Ğذ:xzr~Gh.N̑!w^s\[E䨱+M {$_l}DEh4,$z;iiq8ϯxʖLN#y^<6[T:) X\o<X.M96Z$Oq4Quj]j_Ex.Q(fΆ.!32VWS7sS@5Y,6/Np̴=2u &_ o&G>Ғm/7Ϝ\1[ 'zKiQPB5c- _w2ԕ/= }MmdUHHddHHUdmmUU-H֧V͂&ʾ S$bIE hX* (`b+$ 漃Dt{,C.s#+,M#.B<2%[= oLMf_#?{*ca/B &@GHT!2_I`~f!B(m_ľ*K:57TżAĸo lasuך΃C~}pئ'&E)Wؕ -#Y)0X6G4[7_!+&CY%($m?[Wpwfޖק߿>]>l-|kK_E _ " ,=?wd] J]HFZ2$pd'Ud; FK[s * _?K:fIL#NG/i~ȭAY>Yh*>ȴ~h, 'G?c@}L\_{ 9M;!uNR woڪP#UNUNF!eA w@ty5 7g%+gxLVBd0X)BJ%tDݲ?d #_6譩O1#.CryCj=|yPHU@&Nas[ENE2섔8 >LBJaV79;O+#=#}7:3! %͓.D6y3K*A/PO4Þ<^T^IVŶKJLj"#w־f?փ0E;zhU|-AU⺜=g?d _ry?'3r>zW%|F^ 7V~!XjJ`=1e`囉ᧇB>Ţ Ub/bt9g 2AH7 x@ {[QNNdO,s +SWP Hd<u \%_\tnU>pxmpy8Ըa%5G{2d-xl{o Sx/3̓EĴ2Ǚ:iNן37ޗ(K!M;%|8("]cMإhY/[Ud7U`xZ.xrZnT*oC+4k7z>Q;c n=NýN`3Ed$>őg  djdN` \ X/O }s>њ4y"3HwuGBtPm ڏ{MߙВf|⇲$vPqjsŷ*$ =ɝ_5*TPceun9 8,i/5x55ݭqװ"yw8?3;jm5uenJaL"Fr%^c^L]r[ Pkm^3u'HRCs!KVp͎/;r-?-CBTqJ`e+epJcwv kz21 _h) #izLu" ivf4fa!˓\om7[<\NMPE&:ɐ`%($/S/^Dž6.=szP޳E'Q5endstream endobj 86 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5732 >> stream xX XSֽ!psU ^ֱY֪8XDDaL '2cà:jPW_uZ[ݱ?aL_}N}^g27h?F &ÁR,Gs C0:%!ˤ2o/n$3n=evNr 6H==vJӦMu*y-4.[.[) mR [iԞ_ˤ!rOt,K ku5{$78n󟮘5{μ1 E'mkSݦQCj,zZGS ʙHM6Qj)ZFMmSS4j%>@͢*jK9QkʊrĔ+FʖR( BqO S )K5j5F-^VPT @bƙ=Z,(9BUf'hЦA3' 4rC/ ;_/>vxVRV q o4ؚFdX[XXlvV71|QSFyR:0J?1T 5T :|7fc[Tj?(֥Q!9JHIH؋T=KP}C+tX 0_JtI /H̍B1x!UWݛBYgDzkۈ }~kgd||j~dǩ?bsl>u"ŏ=8N7}{kOuZbo\"Fg BC[#'r)I(%Ju)Bgɺ##^7^7QLB9dt΋\iiBrfXi:7Q۰J ^q~V8xO$Ǜv?ۈn ׿ fowH)#9"9wjh0 t]m|{ǎov迼ylCuf?A@퉎rNQOaJ\.wAXv!ETQ=}akpMt8 9`Lw]Ԑu FJW7VV޷a=ƩKªSQ^\[-"V;/, FPH<ca49+c >؇ Kc٩@o5DtgpYyzX,# |SB4N/zv'S87 '9~W>kڋȇ*^5˨M#cC-XcF"V)ZB홍_Ϙf0=}\`{&AfY7>wO="UM'o}u#H#I R#f:S͛$DM2j%ǧͪT %#%2l>H>Y":]\ꃐw;twZ Dg,]7rP)-}uN~m2 LЯe@u0e2n1G#O:7u*CаAXobܴaF?`4|rAe7ƙ{=ubCbACFD`~%*[E*TujFiL_fwvIY;ڂm Q{3x]5~s8_*49V+Tr^|Hö5r%8gh`b#" twW+CӮkq|g-C cھ<? IPoA?D`<Xx | z{0Q|$)aϜʤP(ѱjN~Q&U+#o?o5.S)`@ + L1k\uޢ^J 1%u czAwq|`lj8X Snckճ"A/'Wt"iGnn:g_2:[|~SEGҊPܑ#/-* Rէ-k!?K)E^Bٱ\t\gVt%F=v _,p;~fZ̐b JCBҊBu\Vg@+[&|f3w](ݖ^&}ZZZk M,ld=qtP`{قR|&ttɫ0mL.-$/ĂMMv5mw%.Vd;|L\lzya2_&';~(f FtMH$ #;ESSJf1ZyI<$2`0;9#ODGj`>f ?ᗊ.f_lh !af, EϛjRKi<O=:bkj5.ݦAnߴ Xޯuz!n#9^}ܓY G9l޼̯|W/"˼j֏4vӧ0_gUA|.k2c"#Lm01v86> E Ʒgw :vWhesP"qk+ #9)?LSszRNy@Zm_ a^G8šq`ͰkN ̟H Hp6# 0^<~(tpîEPZvi˃}M,Ϭ" EY|jڊ BJ/rk*iRsT$"\|,?1ē7Ա<Pua{ L$q\}'yH M!{JgL b@B9ORNV z9GM Ds/E#ISj%!晛P~vKHD*z=N r8pG]j;~}ɀx(p=ژMe6? 6+:~b|2kŶuί5%$\*K"R> & yoMفRD$ KFXrq"^N!-`[t`IuUO{`56ۗCwh燝 lA'o̍a\}Ox„4᪱RRR') `?E;Nxuk6(DʙrO1}Z|gŊĄx_PF/.'*? LT! SFQ(5Ņ(肨i+Kʋ*PioytA傺 [ "=ɉo SN&:9uk`g{sR:%F1.[ Yց ɲ AXۙܖc=֊>a̽`w.X|?8OKBW]2rY0>xr񂽆[ymzK>d TERI.i'HVlʴP-QRuy1odw.0\ loO}PcKuC/n58ݮPnuλol-]ǡ4+ڂXì"]ә٨z%;nы4ԣbECNCU#Wˈ,O:*޲7.1E1jprEZQp&`a>wAt#}EޔDo^(*%]&֭{7=u nr6:Ѳ@7ho$b{kwm떼ц-o=\Z_PP-\mrV.h3Ll^VA6*c*ɩ* Qq(Ee=iSJԣ,|C`a$;OiI}WA~ <-l&O|7:ڇ> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 88 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4093 >> stream xW TSgھ1"^zZjWmmjj7DEvH d#{$d! H@YU, XeLSvst|Ogr,b4bܼskV?. -b/I#s0wzC_DP+l 33,^nݳ+׮^.zSN03%)7zghZNɎޗ&*^QH'b񪤜UyŒgFM+HF+ޕ=t6 Eiyi\ ܼ͂8IZ]i3fyjUs"M,&K}~"8HL+-*b+ XCxN d;tZ(iJ~9h)ZϘ132sipG PׂTG_q/}}$3'w&n=-l8DQqNKH5[`& 0(M&Qngdavjg!hL\F-H nz ›Q^"-%")\z29v\i$M9[F6LeỸ\^kVk@ EXaP@/'ՙZ6I QT@5*ԁuzt#/>eclF\q?@)jU݃YdJ)P/?xӂB&Z5z?-4ÿ[uV _\6 lp,O^Y$+I5>Zޅ"|66Ϟ<`cNUPJ{IcMsLr̬㨨;UY@phsf;lTZ̽ũqcڕ~ӉWlJ*<9Nw`lfzLzdܕ T))jT;Z0Vm5#heG/p5y"l*>~B9|6/sYUG)-U30n!@%Ctf 5NTx{8~h7ZC E0W$]C5[@)GJ o/=YantO~Wj8W#PӢ:"FK# n\uNok<&0 lL j Q=pL;%W1lf6Y̙Q7:t}YQJPY:L6oH=(VgEx@].eojUj=Xw<Xltr'Uo VhjgYB١B_s+N]t6ɐdM KV_J `hfDO#Ǐ^s܍e kAa2H4m"C2sO"BJ?oʋnCBkFR647&vΚ^|hndRM+K 5;;n3zɈ;͝w"C! d}Vfs 1bK ~#8پ4EV ǭp?5z4fb n/FPB3gd+K hg៙'.N7XNvA:wuVj@fp{ldM5 ;t~| wJ UmPLjZaR@SߢQ r0acIC=/5݈vI8T璺rAވq\zA(113ikz[ YiSV*AS̨1i;21mɌi9΃FfN4wO,D۶R x69EW=ʹt]lFRn+k}WAIfgynWs4v?z+ ȞA:Ȣ#E&Y1t h+vO85Z}H+9:YZUuSS݉S ˄60FbL/},NUΔe $VVu% GNu~݋;pl+]t9l.EOp<hض+ f~i~azcb[ӻ.Ky;[v ?7C\,}45^<> m(bhL0 !nѳxmQ^&/p Aszꡆ,gRS:Ǿ> B˽,'B!Rꩨ/-Lf)3onfxȫlWwmfkoEߤΟg؍s !? Bňuaɝ:Z䕿J~Ul,/1kL$b`{nt^E399(,3zHM#c:F\n) Tɾ~69涀 PdƒH¾wX5cX53`X@ ~WVpi)v܅Aڍ;n5[X2* 4dSkfI=6WegA qуh1Mo~- *+Z$ %['7tv˶M&2f|or*ßX+\˄ëW_62d ya+tk,: ԟ'PTEv6zp}xz,vyx88trV' N&fen{{?ich cx*$"fLsvbN"6|4$&%KdMaqіjg R!'57ތ<_/Ʀ煮6_2@wIU^#>|Zr=J@26+٦N A\^Z`ir@T?8,6|O5{\CdD?ٍ ,~=:=ٺs»9endstream endobj 89 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6094 >> stream xYyXڟ3LjKLf*.ZZwPTT*}$$!pB K]pWV^ޫU{p$`bo<_9sλ}µ!7ON\7&Ht}>p{q\\INNwZ;pǫw_=|ǾQ`UG5jxEz<:&I:nԩ7yDyt#E$KPL&&ȤQXtҀ>>RY,!.R$KP:;Q.MT"#YZL-U6o$󉏈1% Eb11#&KɄ?.AB?`Ob!"{1!$KE& /яEbpDU5׏.a.\\Kɛvnt$}ފ}_{ϲ>/6x}oj#(9\Vxou[EᨁfЛ:v5dă~x;2*.-G eh DofCB/gv^r= B.CP~g$ty {6dNwhd`6FPY*dQ/*'V FCa*ya_=m!99)Ŷe veԼ{]㊙ /X9xMڰSDڬ,I#>sdg hڐ_'Yy?ͳʢj}[uO`/ nGw$ꣀ6_&2(KPJKU+ѕ"Z8֬2f+|T~d׎-| `v8A^]dEs5G:;:-<C)·ο |%U0 ꍨIKO{ $2nuqF B=pHIQq]QАs $H\]3.Cp A8Z`KQ`$?x;{ 2/ h4GH {H3]v$F.Q 1;eL%eyS KmD#l[ ĨsOj-lug\ tfж>JY_F ؙng~wRREԪڅ^h0@bDƢaEdYp뵍M~nwaa |w B r @8[U%+̠.U4BM$,if2@>o.uFK^ <( YŔg'wwF:$#0;|M R-uXLbgG_p{c79us'CnQQ%Vx |6i1"{ mLp+*^"|%Ɲ1kYI9aIu:-e_Sb Np1QCr(+uY>H&{9ٴu(fei1iYђVU&^+tn}E^ 0*جy˪7bKGB#~S Kۘ~Asy۵A6Ggj848yA;"Г<}hJ@ H0P0z~ț\BXK-DaU{)+ې_kKWL=$m Zp7ޟq"g[:!Bܦ^BGx0X~qr-v`TɭZ`p9M QeПsǪ3 n--8^c+-UwӭQL` |@sZ樷j[9k &ǷmW;4[${/vZ8l`B1)**_' X;g,@OXr~c qiu Zse+6 j1EٺȱTuTY%in=6ǽ{*g8))9ž\>v;#r7۶z^0u7*eTĮ Kq^4e}C2p9<&3ضWmPLu@1m? t2'\iq'16e)4 >c?0F`)'RNU: #e»+t`G:(.}spU1.)i׃J^G4å/ {3!}vOdOui)YmTj 4Jɚ3=b`ҕf+O?O 椞0$cH@'sG7^ݡ=8teyYQcP `<"kNcsmޢdz`&,:T ũ"z~jv4,q?mMG&=sq @wvs,-> `NLF} Շ6k?p#ឫ` #F^,?q?7k㓛mH)%p` Eaޛ"_'*(Wy\X+|U~l7hچ\ZXL[)5V2( Itj*dUQ)7ŷj2 T$EX)y,tcVR83ɽ=a'P\GSEՋjNq ãu) B}u")>3TgŠGO&/0(qu5fq4>` I9 3sTЉ 3$3H8x,,xH?óaoD_Np}jjY f;x{ޥG3j$f XZ»rPZȓ2-Jdb׈->bTL R㟹@jtt9E Ǽ˒fk;}Fe),[AX£YCJԵJ@VaN~bK; K̉/;-ЃLP4%pm cv >!;Ņ6Z`>~~6n@"o;tY|h 2~/B[pFm_[Bl6ϓڷ%omޥj 75{߸_<7D0?/$nKJtHS];6obVf}5rZ ޳=aA7" 3@IgF/VG+vp O [_`oΏmZ]9cܫvup̦7HR6i781r= F 3Sqqûm>Ph5l-7,Lc>ݥYRoǦ[q LW@8ϘgL-HUGbgeدȗd 1_,bc?>r'fY_~ í/1 +V$lNY neFCQ܍뀾xlM`PR6eKE㘬BMՃSںxy9pptBJt$%S(\lWH8Vw W˂[:q=j䫀#~ &~PHmz$H 999[s>bǷf hn{SGX;pN%& ъDJ6gU_ZV\fJ@|VXd"7~|(bYrTi'5ԣ+r}`!ks90Ӧ<[[K|X܍+P7G9 PNqYSpr'!'SB(w- YI/p?޷xg=,5R@4MJ* }Uތ "별H62`BvDE@gf[R%M !~pàS#)XGRM0bҠ)gAhͼvfCl2y髐@ tRgg[15@f[jkZ1*-kFM7qiԾKf{/B gŧZ4?@46JM9W]yzʜCb ۺ#iiZ\C[ZarK)%2XU]ZWr|Ej HGyٶ#V2&2|JO3ijwI` s-| ',Zc=q~51a M1v~HzA9D܌Old)+c2JO3ѝ<"W)KܸC#_.5/rg6.fKRtHY if]DTx쎔lthOҶ q؁462 *і聸 EzC^U.7 F`=EM )@,Z@es+k̒'O'[$? %րp`ZI%蟱$8t$_vTN#/uHs7k%a(D q'eg0_* X7uk Ta Z5F][Qi2UI`(%)H&EB^ŒT|ٯ6ʰyaS?x#Y8Epf1$C^TT 7=, e}ݝ Nendstream endobj 90 0 obj << /Filter /FlateDecode /Length 1506 >> stream xWKoEbĩGʶ]8$! E06;ULO2A7Cʵj>J^HGcoࢴQ-Sod Dsݝt .18%T$M2,-hMV){GM^%J2Ʃl.PSQ&[f'3TM.5֜igҥ\AD2aaoYogZ?+%ѽ FR`HӛglX)LTQ\ JvW4kDɦQBۘn{7aTH$nvD9uӗ݋uGBo0ޕNNS߳PRFChBJib0p(O sV<VV]T_]L 9q8#ag+MwZ9/ξaAAl$+sCƵUTJ)\Di-v)hو]6Alʻ@I0P҈*qvEy;8I솕RUP2(e$Oij}QYg\\WA(\Xc ՟^xj4Ax%E|)))tѻ0֡ TZ |0/olIAntF 1b+h;hTB1JWhz^uf }tLԺRaJ*{.+u^}JUb_+u߼]Ndkʹ;Yx, t (ND#WGɳIFqB'ubyJϨVg\ FoIyFŴ(c^C4j?Zc4Y0St:BA !W sGwqXWcu°: ΡCb+Akdy|ISb |UJjT\4*V 0XW@h [5Nt:r+aC K7o(' U@7itP9"m&P5XdI)Ec.d&*<_ |I*{0j\Ri zפ=DctӾ$>},35#Nlw¯_un"V ShԼɷY|y> 3`i gqJ{WbW!$q7O VIxZ -MI(!bGw?P#%FJ}wQ^S&VĎG?Ny3ӣ;s*-p1ф|attgW}Կ=ֆzA> .C2#O.eDw@B2ƍP @iHF1qQ40_pQeFW<17n%4I٫&ԑ445ܷ5z@ַ0#wb>Іڞ}d? "Hî.7'yz<)6w,P($-_ ޥI3JJPQ;g=Av%iendstream endobj 91 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 92 0 obj << /Filter /FlateDecode /Length 4209 >> stream x\Y$q~oG4TmKylcהe C֒3=r3'g &1_Yſ,ׂ+^lJrRVN/V>9F8_} ^>ȵwFZQ˪gkWp.l[ZgVjfoV7W0RA9PsUʂ(Ֆ:+\N//OVRuSn}fak %8N.V&Jcc^l,bJs!0^Of]Tڀ0.N u |02!FC#Eh$43}Qi;!|4uJEe==9<'_NFP7[h%=5⮍o6eLyF4>~Uuu#贍k׷mb2F_ы6l#=P͆Gk哀FWmt?|]H6zFwm6m6R#\d_ч!ʒsգt,:Rٶoqۉ7Њ]u0v$ tW ^&FG^`۟fKSL F?nA<#]^C:DchO F_`Q3B}?A1+q0FirGQRc%P%`6e d|=09 š#t.t@/?QNwg]fć[SΟ6cv>.<*ӻ'{pmS-']??,6O{|p6ۻ:1ZgؤюaCGfB,T=!5krzƸv\ԶߝE%c̨ͬ[Jf˕2`j6fmkÌZ1z@c6M ?;X))If#W:SfZ볕&yX)a$!Y#JJFs!ʌK[?G]V+(-Z@4JU)uD%':bJ5&`hq2H2X(f<]U(EB3^2&JK%'B D.&23q؀I˄x1 0`q`bueClgCr[Q)a RB2 j$r`i,3s1RΏL&Jm@#&gFB}"}0S==B(ڤmd Bg;p@,\\d1id㜙[VeDA쁙 ֳs|¼Ќ5aVq-FŘ=tؕ\BXU)U@&-NRJ*MBKZV J(d /R"1J\-Wp܍8ρLw{2L s0^*L 9{B4b=(԰[iƥlޠCC[]NiW)Ϲ sW6. ڂ)'Gw !N=1< k ]"b9#p&r8KvQ)Ǘaj04G(" ,E"{*KL9 0yɔOyX3Gj0:e`E,Bo}Z"nҝ_2-nd"ROtlbX/++*:>+O\8ErUZ@bV1pψY2|ׇ>|9mc ]>!gE!e%,,.T\/o3o:|t> HG# Z%@&w<$Un2Y\Yg:fQу+ն<f2WBV ob4}W!c"ӮMj?DQ؎4v2RpCq8, 1V ROk^ݫԛ&1|&]uy"?$CG%.wvnЫiTE !'g(BXLTj X njED2Dd_i~ B)ג*8h"% WYMd'acgXrg(!NAi-eR.@4#g*.I_EeB4es Fd#j ꯿DygA dOWAlnwwwR8|ɸb8gԧqfKEeŬ{[_|#'Uō\'i9=9)]*pRKU8)AN4%ˀy@5brGgP]wʬt^w3n%;b0[EKykMg1BS,Y ;xH;\]t/xj-墈,췻u G{:>#]|1ibc}NcjbnlQ=(۪қT~9<2=). c -2 ug̍zGP*/7u!7]vs .$-D Kb:=+k)=vJmVݼ*~$b:CgyM.IM(@IN밬9+hAr#"ϺW&'޶guc|Lȡ1wr },8qpx:Xޟ_ҽe d-_Eq$?Wha w "@Dju"RD~ 8Qdt i#4-c\[qyW!9տ"Uփ)aG;~:t|Zfa~&Vc4Ї04Y7ë[wq0s<x.hj/UW<ʂSxMd9"(?,Hg˺ 5lQ_vZ><ƌa<@ڈendstream endobj 93 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2431 >> stream xU{TVN&I-NPE1VCA "-/€bj\ֳkmQD ZVGy[@^H-t/spv3`w=''Mr{A䔠̼UzRiېo+B8Pb(s,d!BS $4L鄈$uܰ`B'-9i*b<@?%7=5K>_KޢLR+%dwE,-9mBS"ң2En b-aOě|bED G—'\bF&D(F $KApA׈N0&ԓD ̲̪~63JD3 MO0+1{H8g!5ّw Bɀ5{/pf[hlzp5)D5RVb|mipEZ8BW05 T՗Ե \xB]lTCʅ䋱_ k(=~A!ѵS+T$S5?g{ GAxÐO/ޱqKeUݼS7Y= u"8Ws=,'/a/~d>ܳFlGDv lS~w71p{ؚmY TRע5[ dEf$24C-#{zg_[pi0Ұi{Z򉞷ՋX B@ RȇaܩxjkX9k{۟y}U T3KևYQpN;DpDb(ZN|}*i;E;Fx6 cO2VtY<+ߢu/iOѲRֿiNk_ZX jr5+ɫpt@~z}U.9mɩ-{n`#t1dȶE)2vm܄kPWQ,2O|J[Wer&$ttu[;ni9xjkX?XNV&Ršo^N] `w"h\(N*.5G'9m?ͫ:QiQ-yIӋ [8GYoƩx.vx;.fK1Nܦu}=4  Ea &3&f!%E-!#M YUP-=YP63I ixsejM M3бzp,i,_ J%vBO%Kl8ا5-6zj¤i՗+9&'kه޻$զ!?~] !/ }]f`+ q_P5/=QQ 8˄t(M9QЖ6*$g:4ge ӗualv>(Qʵ nAfYaEDKBPqO~/{`w7]hp9Ӥ+a\IKc!3QV~F> stream xTkPW 3=i1ӣFJQF#)KC!HVEA@@ǀ K0ƨ\4Td"; /|LR슛[ƭ-]RQf/;Cw~tUG|;}$sC LIO6%&2[~#qc9>8Kj%Jw5Q{]8fuE[b/Y]C)'-%ըycnMPrnZJƗ'gəMiyȄ\ֿ6h+\c^BbRrꖴ 6HVF7*6! T$C3IL|87{#r yZng}X54yJ2ȴz 7qK 6Q#ۆ S u.p[D5 *L?tx͛6:W-v e5]/}ylٸ7x[e7,ٻV$YA0?b{" f)o#)șʪ4/]Z_-эoA -zA։eD.h7{"ʅ)=L \P.`h~*;-셈.`˻#)!B}̴kv 9;I}yKm KFOU|CQ S3<7~EHna`WTt="6_-1_)cfWذ+RȽRK'#r[p#} ppDeV[~0M)&sQY,(XWY2Kc~`Ӂ3Wzhl8ZR{|YzĸgmuOX:I !#f̡CXly/~t*f H%z~DgMh9dk1ĹoSXyE♠S*3 i;{ ˧[9>L'-n~:5|Wd?/ ebʓد/%2yӞ h-Oʉʼn8f>y,boos/gV*c\/w%͎[MyuhNW~`kOSFXՕ"V**4D&vlvW`.ƺOOrf#k2W惐~2hֽ,ᘛdX ݨ39X[txNéf1 Mi۴DOqCE&;O(9IH}z=1F+64feʨ$fʝ ;%3kns#C<^wrY3̅(;g˸T 72v8Z4y.+^M&\;wZ%/ųvF&{υ`98q_\$p4KR^Œ zBR9 ʙendstream endobj 95 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3370 >> stream xW TSg1D U|N^*jqڿZ[.C@6 {K"6hP(RTZթN;ڣ:sΙhΜ3rryDJ$ 3IĿ<q WpG`pSb(*V秎ID*#2߰ sΞ,9}\ق(&2L-[%F(ZB%[TheoFh1oL8U7UQΟ0Y(NuVZ96㧎*4U M4EQE8myRhrNEr]D*w(j CQj=Hm&RʏJ-SK(j)5ZF-VQEyP"7 ʅ/iD8$dHm..\Koӟ2әTenar~y{c^_;jO@> uW^xt)ItLON)(5N@Ѐ>&uQQŽ%j(z&t*RQVT[Gty< vȆG# xLu'۶_d GfHРcTr[>#'Nrդ |V%+~uk#:`vphu42&c9XOn⑛b> #YOopqK|:|&N/fD'Xd/y e?3\cbpY J0㯢A#@NI;BăśV:=ScEX'#v`M"w8lG={9 DzYHܽ1ݛY"s:l8gB?薓K0m+WQ"5cJ115{jʛE5WiNd̿k4xa`7B}QUt6~zэx 9ZUab95;;R_8Ӗ fxH3iR}0 TLHzdX Jvm<;\<_EV,,^P]HhLҼ4. U>}b{qN>(kXNJ5m1v|IhbˇRnb3-0WgKmE'xcgnY7'$'xWA?#iXΈĶ.t5gHзNg8ğl%?Sv[{fa!4_HF0)UI5*I[%%h;S,Gt5h7q)"/4?UR;à5@Dr1}<.L9/"8`2WwMw%Q`0TyjӀUr/Bѐ!N)%t6ڶ;8J(m:w-7);](SouESRpVً+T5{;B \C&`{]W=v~!{?Txz=;!~S !*KƳYE',ӵ{FcHB Rn(̈́DHdxYE_Ki0A߃й{znZٲ&U~4!8d<4Xښ|}%C>m{W βA/(y±a -kx ۅG= +ptvU 8W/aZ a{ذݡM k*&ck9>}HGqH_IdN#8 ^+b\?eP&5r 2Xbp[6~SrxQ{Jy'Uh5)1~YJ}hzN֫`4rA9dۮk#_7 Hn1OarS!Nu9IF!w+@Þlv@`V}Wo<_zƠqݠ0vYݝߛ J 4ax_ž㵇=0B;60-A=eKe<DGA4NHO FXq@_r6dj_OS|dzt=3fr\丙 B]]Y"zyyx@&]/J=b9 ]鯻NtrB0UɶUޚU)T]'\yFf5ޫsb-ž{W.]R;qǏ 3s љ*kRa:e4vg0]L3YY3ʆp,z#󇞫mI[[dwC)0AUEAyQ)].;m09*\yuCy#0aV gpd>{=o2aɳ&dw45z,} wCO aM#I d&ni5҃Gwe_Vnv|?;6BBCģ g0$&뤉UU3($)f6zodvp3XO|C)78X4ĸrx$}@^ [#T[\kGwF\GjPOwp%%c[([Cj~vTT5(s q^V9j4fY:Ib1|Vxp*]0"Tt~Gyu  vك;?+AU?җиh5~Uޔ~ؑ0nNb>3~+oN1@1%,̈́EpZ0㾂7Ccٟ6Ï6JM dY>`)Ϙ&,) lFZ0å29&9{o3!/iKq%>7r)r HO}c| wm"w_¦HDHֵf٤;sUDY5T5n81UQ&% G:G|>Y/#~B{=\؊H*I6Dc)5:ݯYud.gY=te+ä zF1iW؇7[?8) }\: =?.]&QG|-W%jn}än.݇ *ܟ)endstream endobj 96 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 950 >> stream xR}le~W(?D.!Q}0 ~l 1 ]`NҔr]?YulnL^8뺹$dQ$p.9B0bF^ׅ_7oߛ}^M ڱo={Z%MCdMt1+${jDD(Q7ev{E_^Zj竂BvxK Adް'HM|^IbW0V6<$/_+Ą!~G8$5/tWW, Q>$DCۢm 9Z:=JgCfA3DEL7IRZ + *_!~TAR+00Int^Pw+血t#V7;z&,j͜Nz~ȧ5 S6n>kvgˉM+T$1s'}[N&7sg;OXݼ>uY7Rg8$e@F+I#ꂂH Emt1<Ժo_Gp{K;v׻eT.\U ,m=L2'̯:=W]wF'#Xb;q;ރ+>b9vr xJK.&Y*mI'/h ,՚s>}4/;*ش UoSSݬ Э!΢lPԂ&>Ѿdrao`4yY_3"3@e93&\R=~ KuXPq܄-] s4㿓c.$ZLwM^_=J G 3 f;;tOE-޶ 燒|I9Yl /-Ϛ}C|Z&> stream xZeD 5 l80N{wryslKre-?x{~޻9%lN_q"?ii0lnfy?\\Z^5DK;7ZR"8ps),ƅGRQ2 BiH ,3RVڔ„'ڔ&rn| ~~r:%WsGz~z1 Afs&1 F18g?6{8'MëuRI0l*|*gUY|Eƾظ{4yhq\y7Cn{&M<\EU?_Rmw~(?PϟuNq6_⹱nŒ >P«hNfwtsVޯy7rz.«\:̃΢xBf:ܾ bnvf <4T G ?RPl}h6^7w}l xvWx'.p+;v^ً[l1ܒ3i#F|ٗ斗 b /HO7 񐨏G,H#F>]o;l|Э2f/֡ú3Vl?wnEWlٯ~zfӎ(ZRn?,1 "NÖ@`w" ~ `UduAFA(K`4>0*~X! 7%:o7XMcqy{nZ~GN$Xgj4EI5'FM-|hgCnHqtRrQ3 Y#@8K^X kx %Z8m l̂,iH8 QȫFƀCBm̭Zb˨vړ)\"0r3֮5[&!KlqӬЫ$)`ߟTiCsw6(`Vs\GLK! 9aRU ,l,!0, ffI 8u!0-`CT7nRډl7%Phw8,U y Z@ !,c ,GݩI&t?Ջ][52&^`ğhmɫLvppyYGBWPEJR5j ?92KT)kiRg^TV\srBL¹yHncCWM-Bendstream endobj 98 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 99 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 557 >> stream x%oHaǟvXET,S9E1 |2ÑX䵝ޭvI[5i˲ WIo}oz^=GA(2?<:QM`փR]:Bru)Jv!9,nvu8r ^6ݬsVړ8IxI Fv68*H<"\xbP cA.$!t !d@]YT< YSjznGQX3@'Sg:ͭ:ν (4<T&Є&-vixdg[/|S,$CN _lʧ KNʥqf;e-ϟi@_Iʈ ďBsIԣ RzrO=e5*m2k '(d)g)Om2FK.48;nҶP@vj&zdmD'ӕ|ILTW\!Qc˦FA[O1X)endstream endobj 100 0 obj << /Filter /FlateDecode /Length 3549 >> stream xio;V}H qMFEWG+ I9q9ߐKRG3ヌ?Y K^D93Նgֳީq7{3s5Rp׊*;4W Za,]ou*M2xBw7DSy9*2M_~ y~|kF,9+ٞÉY,wϿyjDbzw_1ee͗7^t}o2a1gdo!ws༗x;Dz2 XYŃ^fn~jv5 mp6oYѽ 0ƹn O?E/H]@}AsW ٍ;D"t 1Y1mS%8w4F}&#tQwEVw cgn uaЙYE )-PzYY{WxĵCwj > |!y = !*:RmQ#vDg8Kt@KSp?p8\,?/%< SMFqh[R%FbW mM_]Jg& -FOIj x3^uX2k#IlfdzMd܊|xY5(*!OL;~&5 Pikl棢_PYųV@준;FA@#V0*  xM ?(^hNѪCXs:r{0*e5Վ|PqU Wz MD>) ~"Ѹ?U+!_P.1H k7N ؠ`EQЏJ Р\؀*9'qoB>c#ABeAXi%J{_6׿;>V:vk9J 2yTkpu$X5Npه҅C::xy>v" rTksBLY -;XU_s:+R ,duܼ*}Yezѕ勉7!EYXVweu?qc[V.)H9* .bp%4sѮ?y[>q }9- B0}u1ۅzߌqi:="vIF%q{(Piۈ?^+!cqߏ}|]m'ݍMQRx| %G.@ o^ "$ n> ~Wx˳[9 _7d *HdV'4HxrEݛ$n~4o`oil"O?gj]:_,,Rw74{;s Ko\AiG1Q+h CB(T +,rſTЫj)ݸdE`p3@>70E1Rd^CX8%9'Ʃ h+}UĨ跟{8E @1YU'+ᙒSq}}7lo d{|80]v|l*yx9iV+S*0DA[4ꔗ@.l`ٚk9;} mHs4%x^,c8 ҲbӴT&jJzR&nBQ%oƙ<ph) EswʊU&ZU>v0P n[ 0=qEm 5RqæRo4&y7zuS$FpS=6")*kD20u 4Qcy #l,A^82(,Y\)*msG( P$)Q(bϖCiUAPrc:aRLǰ4% "K#!c!|/] -GGby;!T$yjvhF0b$7'd4I/Р=ĭM]ub1aIПi]  B@t}UD#2`qKDj!X Mj ChoH_g t(C $mp 6dm8Td15CULq'{T ''-C0HeY} {*E;}oU{j|[Vz,ab´2 qƒ89!@˓Vl?yN[Vqm%{'3gdpw#"١3@ĩhE^#茛]D e;N#lIo6!rKҞz6"& +U.q`mv>}:Yh15lD i|h68@2fk$KK[-bC,g먄| &H%bA?*q` 99GB􉅘¦<#?1>u ar4J5ҫugXqF栠Z hz=%SF\UnR\4T6oҍ xB5.|'TX*@^֋DW)ÁgT2/ºwǛIė5f6m]I_7ɭ ~""d=T=H_aț%Rz ?!A8у9&OXe1 O_-ԯ)uW՗JTS4U"PX6aȏR-:Zxƞny 6ƓT5k;Ch.t1r0$e>VI/EqYpZ]UA1CR eXT#]Gh}[- 3GǁdYS̄!tO/NT-3&P> 8Aըw=t[5{!I~'ZqI*Ə5 M ![r[BP4W/E ~"OG)ɩ{2o~mAhKjN FJ7 q"Groc\xv_&Dendstream endobj 101 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 452 >> stream xFCMMI9(nVN   -^[XnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI9.CMMI9Computer ModernpQV,'@n`y #z\)vbċ !*L@vYGN|]iavl}pzh}Rڠk||l\\^olViRamfJ{ڒuCoa  7 Éendstream endobj 102 0 obj << /Filter /FlateDecode /Length 27193 >> stream x}oIr&}bmړymXX$YVٚԢkFa[kosVqMoK}myj/?~.9O_ϏOl^Ih&1?/?S?_9v@_~ڄs3Oߝ%Nn-~_oK1qY ׍`_=⯿uo\ԿMC}|coq_~믿J7WߚE_cm~e?!MCC7.~9~1ɇe@?߸{Y9֚\.߸[̏߸dZeW9Ȟ:.7u}sA7ͷx~_[r#7L=oM+q<"; ׇKޔ|K¢OQ矵F%xgQ_K⿽XfOv -Q?9k~Ks$|^Qo~xzxuE^Ϋfgy9_:#V1ع R머 6w}ru Q >}x#,\g .-R[E+&|s}R5lit mTTc>< f\--yb+C&Ӟ~P$7K1sM.9z2TB5|lmYtU.WXPP`[_sePP?c2) _OHnVH\#\(w`y=(W!L9س[$/ϡϪ/Z{i6980ۓ{Lzoi_[xk7(C{W6u׻eBRkNaD6緔p=V{|B<(t`Ĕ́hȈu6$|^iv7ţl/Zfr^=+mNy]ֶ 6@M[gԔ9,|fm[VՒlfYn__{Ş+A؞Tf9(r+ !zDڵ %,Zwپ~#޳-) u%*zkV֣5AqwԂx×$8% I HG1xoYMf_l{_3aj}ߖ{iwFß]a#Yχ8%2C`!-D!-9ܵucmvlE޹T{=r]r䮧kE !1Ꮻ,- iXB|rkc`^Qٍ /xyS`?^C?om i)y`?ִb[2mq`cl׹f꼾o5lKZ8(ֳeC  6BI9uR>d~~\|2|i l+l'^֎w#˖M^1!GV:@!! dvzzk0k5Zwu] 1ߺ]~;@.kb}\ $=K1|7_*ߥ?ge6k9YlY>÷s=fvl jDk!7@;X_nJ` D!9 6v.u\lcS4sx"̺ǣnk[g8*! (Yl}?Lǹ/=MzdA[r~X@0DyQnC`@D 99׵6+efD>0im֨k_ֵ=ue=:  '{*e+f *U*B_7vRM>O\xnۢUOEqĤM2a.^:wI`X+[}a6|\7*voiK,&oserCڻ&?CZ8dݵ+mC/ai)Gds<ܯf?k~O?i]V7AkJd@m%Ġul%PDPHIqx؆d r>̤313A$$0ה;^ `t%`mz'*@*b9p^^u) mkؘ0*s%}s2|bĬ]ulط7TBR L7NY=/5M9`8("0dF͡~WZ"$OŤr=}Wumky~V;RW kp ~!f}{VȡtQ$[ǩ(8<灯=e_G0f[c|7OEki ֦Пu*ܰ YNx)*9a7Aw֊`Ĭ/^N-D!-9|o'?t?:_.cCi~8$!Fc|$b٫2)ZBZs]p #Y* z Y*Ap#9(l i)yl $0&ޙycd&feb-X%'AsC DT"($K(8M.ND`擏3> 9=ſ_ςXշH $I o UT$`&@dO,0땾:=]ūkd]n~  B/Ŀf# i%:}80ַ=;`wfjUPoξu"CQHAfSOron )a5EMcj–qpX`9T7Jyߥ?' ?gX>?^ٜ[țXwWq#\[2^7tӅU7qO#52RGY% X z8 ` "M .y1G>$Kv)X hQ F[r,JA1k&_uڗ i4`k}\q`3/wlS%70AbPy/v:tc e ֭#94* z,e_yY̸+-_?!I9>}Ū3l!hlf;b<(zY j!#ZBZs3nk`ADYԃA!%*1&4.$N_ LThwAD 9 1lLo 5bIM/δN y\" |"f-cvb!VBQ`7]ƸdA`w.{9|wYc8d]HaˠBPHEr4 L`퓊0 rX -=es]N6a#Yz]<@23 EhIocr$0t]߆szK<?,y + ''f-og._|QH? ΀ZKW?Ŧ.nk O'a)3ýA0dx(1;9X4!A_JCŸEp0:C楛Eq)KZ^"(<&ʭ]u*0|aq8d%s2 /$\qPd/,]YYo_qt~ HY_=C>8X,fvfMmkч q`f?;r+"B%Bv8 n!_rsh E87:w&A G*cEz[1bUO+MRR C爹xVqw^H :"t$OqyT46N<\%z}K0peO? (  _%0p~$[^S w?A>%xBU.MIJh )()0c"ZJۤd |Gd.|1y q8%vUT$T:<|1;B|0]÷ՂP9b-!`@NąL3 Bo_B<=b^_npo®-xJ~ )Dp O0s6-W*q;oƦea. sgH\&D74( fnEEC 1  ~b wstGFl54$X6dž`Z-.uŧK-p`w CﮗI)G@i\o콊S|gkߋ E瀹*$ {d༐ZBZsp^<. oׅjVSK?#`!dBm ۹Ճ`ȰtxnBpнԁKE N7t4d|1m!Z!1{ֈx[0tclWv<@pM&ǐRlBDd"b]ߊ KYHwWAѮF$9zmj9M5lZ6k-J }lxx=]&Մ+] ';2ذ D4/fA!KDh `Ḑ[-!TX sCyAQC [<{< +b <1Eo#,3߱7Ï(ze9 :zo9e -y0E_ñ`d~K~,#&K9̌hwn ,A/@%OS)y@2*vYg8{/^Qs.n06E̓yUD;'Uʸfؖ~G朻zDn_:GY/u2I`wS QHKqx΃I#?0`,!,3=(\6ai6" (Ypg?ls_ZD{Bq0A¾ %Sax90yD|Ox-"&D8h99 XfFrrK8X%A~,61{]FB[wV] dS)Zস܍<0*|)i>tUd61":YQ OJL8`ׅ0v^&_.}1f}iNB`nTAP 3wjzͲPk`b xdrԡ 1P00 {xpRLWk♜lwt.ש6^n@0DbGAH- bޥue& 07Ҕ\zl o{Da5A0db<^~, m i)y5SKDF+exNsg0 n9 `X.k\+~W,zZ|] $ _>>8 {l3`iWk 1>S/UHb8Ha 2|1-a J[ QHKqxkbEu G;}M&u,js*=#-ZrnAHpzG"6l @jz9 4;{d7f2쇊QXN;8 m)Jk#G-D!-9;X>>cy".F*(l z$!ec:zĝ"T:w&UMILG:0V~ݖUl[`Њ0q ;#Mf\&qn@ VE!-9"6fxP:'o8qM3066-V⤅(8{ aaDBMP@0Dbj&Bo't,̝۫OXOO;3J5`VTVk!%rl!mnYv훧`@P>M 2`&9bBOXqkr#@b(LG/i~ }0$m -n8Џc/o+'\,n Z jª`p1-Uf)\\ bfV3kTDnL0Z.ySx5*i'a#/ 6Z yu{`1롷YI+Уd0-ФC;, 8$RARQڈi4nFDѸ]/ۊ D\K=(,d>8 AL󲈛Cl}9w-? "Celi<4j*BsXez]ciE"U  E0UhRAD=,owS@?f[kװ,fn]Ȥ>!`enU&[2Zb>#801Rjgr'>aXfw"Ӿ"KZ\pp@t-+Q noiȬ 3ʼ(8<0 ]0+F̼wg!Úy<( ki\P A$BR`(ccCV&n^ ]C%Ai yS3P<6DnD 9 ntAV<^D*ayM .7B8ػcwO2̮u xn O@/wl&&+5/֤uo+GB*c70(&T>6ωe!>1W!vq Zçy`x謏aP#U͜_k՜[!(2lb3*|-iRQ?M;6^ ;aga9 ;Z ρn*f!oȺI 4fש2XP?(,!=73;C=#a&xIiSyQVFXes#[ (a=jCsrMĠS{8t (Y̦,ź%4foE-WyMS# `jc<ƠWWt`?SNd 8!\ 8XBA7VH 9 oXoN]aNe ((q'L.8xBF/VBR -Ӈ}x_Ϗ3[spӝ(gIW`W͎DP+}Q){vA=cQ i 2hB䆪4`!BR`vffq`,!+˟Y)2uߗ+?3:o _BHA1xNfM0k(3)3 *H;r8s*H;ɕLAUs4O_=4\/h!{hvO,*+ /o R7⥛[ QHKqx΃G$Ysb/6ozG}CeK";~,Xr̓s C'?5nqWś (I঱{GSQmx9݀"#'(,vC &y*C`!-D!-9.ݷ !x1Ƃkl˒پ.-P Yp Lm Ʋ9kpCӊߥ?'͡\C<0*/H5V&| 5AQ|:8 '+b+s$C<:wI0b)^(@aL +Q1F>a Na55ApQ0W:8XCDbJ~NW,kO<΍qV6`cm`n  nl$zB WlD!9 NVa2x-Ħk00}-q Lcv}`ۼCL!]*js8TޖxqRY&/j؆~QhJح_`m 2< ip(m3|n#ow{rQ4`7@֬ucڽvMц(+{@ɉ{]:Y92 2VTu߁Gfs o0L:CmgD)^ԋefW*]7S_@aPCCƤ@XrPy#dv&$O`ʻ#DW#7vx<5nIoD9Z%T&" =~4\Y0K;)ie`,a]~`RP.59 >!@HpS:J~GIpf0DgwRPgw-H!%9 ~"6q{u(Z%b9n|1 oQKH Q`v*GJB̌- EOa&AQZ~dř3=T1_k:w)I` 1waAalxix;D[f1s @0Eb&k085ؓtFMJc9؜PP NyKŅjL,\,*go6ō EyfP;XXA!%1 F v6ft:\E+MU6掺JEu'7rXE/DPHI2x΂"%""zcPD_ \vk_b FgN'` JEL4Pz, KMb)BR0N S`T"CaDX'lfsUI}5*Ӌ +C>b.X8df1!Zçyp1_;07+'uU¾>`pQ7 -`NC>A,1X]MyTfqb#PlaAYp( %D!9 bҒP9`csЫW-P9`7w&")) /Bf*]o%H:çY0VPxzwQ(fPXa oˆY d((F-P<`PWgyVp;ۏk,fMY] > rflޟA .xNB%J (I+/\Q-,?]aQ_vJo2x6P R[1Ov7RZczf`ƚMn2炋WEܒ<`Sd!Fc_7 9!oW)BI04 {A(Xꌥ`:Qꮌ5hss+o-0f  =JBJsXAtb53?V<TZ$Q" s71í͝3p?π2Yx)C,7nAjA4  C Oh&ܐQ%֔~zПeyW)#҆/x?%_qgz(GAU{Hx:X9J3)sWJR1 & vѾ#03-p2lj|PX~I UQbQ1Dtu& %:vf) Ɍ uqS9SlH9xL8 ~ ?>8}82l-HZG1oDU7iq`u2(Թ6ȁU׃bӟ8n1c9d #<_PTV=)Oz[}[QXaߒC*b܀`eiU ¾A!-<`&6`jlu׳ k*`°]H^x(w3Ӗu0xK 5cx[`䩂(8<'AyzlWr-k=+c4W IC$ wPͽI=z|E4&o%D!,]3^4aYmemcX;yN(X8+ALCHph)ϓ1XW R!"_V X J@Hx żf;؅AOfu YL7ĚFDfH7aJ_\ Ƚ\4y?QP?*q3V07֢/KŜ5AQ&s$`8tT]GZBZsxːՒry681@-1Sv+xɭ"?C$lrCVlo EhIZ< ǁaZ5^&yԏ[1H H_djUhF-@o@8&_eu~ș]!`+?d` K1hU 58͂Xˆ80#'{*O";˝e 2MTjJQHEqxN{*Q(mD"" ճ,?T(-? ޅ҈BidY8*ҨdJ;gرb :tOO0֝h6^8s3"| !{9\jؗIr(YyPof8 _622Sѯa:AmQYc$vT"$DG;;֪S4Y2jcLz!9 |ȋBzsLߌ ϴ5l"{=N1e7}SQ08(R2vɭfQ'0kLWLq"EQ5r t:|*gHDflVBԑS.B}/YD}1bKBn/ȋ"(8< ~"o3i$8L Mmof< =l)!G9X eoMQ@` no}<7:img ҪoÂE GE$6a#w]XH2A%9 &&ĦXuZpwL6ȬKCƠ0@CPئ"i!S$Or?𭴐H6fQƋzt #Չ0J , 2mXJ /[ Q2QpŠ%d /L)hp+BF֥D߼/1:- n ?C2ui9 F>#jҊ\Ws:UD\2#AuHN %Œ"N%G[i ldT178C^,KA)5]̢F[Œ*e/ !T!(8ȨpDVF~rp?C2A!-s=']ftfYka,ːC,_B QHKq4n 7N ݠ6 4 3'u\D/aa$ dH 'C6%_1VG,*^,?d IC`A Пa+.'d m\ou&;]@ 2EoTPK1A#EPP gAŝ#D_C9-sHpACR!6C{"l^=g]F@΀z^k#r:#w1\p7!0>#. qFD!9 :ox].KuS(m{#%X)r@-(V%H:F1 1 jwy*kE*pOh3ş h6-LEΉԬN B s Dj7Ajvy@=DžrA(! u#)]uC(8<dr۫$'F`ϴpeIQP).Ybu!yԖJ t$OQ£0W>̓j{6wtNEZ')R@ lL͠ 8DJ*c LeLSj,8MytT6IQςȒUհk.z˶髰¦[*` hfOqH\)#lt,t_a80ZF\F(]Ԋwl1A\{ ׃`"7vVpQpːpk! i)y]cM/l}iª8֫Q d$ kI7 !%<^T6t AHfN փbI śxĪ`qGPaLk-N)[gdoLB ip0/8df kA )II\z3[܍ϰv,J d+ؑ⦣@' UPl~-0F>(8ƌ #ދ?w&3 &j"_f4T,6@:B:s܌\^(DTd8DIxqΒ,,t EIGITvIvIhk@(rNx~2]N-kv4I2*+}MK%s0n  CM čW*r'U!EA6 xE3PwU^-+ߩF?f$5 L LBɶMB(nTXΉAq_L!QZCGNeWft?-9 z}QۣЌ7 M-ξI#o=G$G$V$rI['IhD-uc $&WH}y0N‡3㤀II|̀;h;b31{fYo^zj#lfG^bz ԭv^jnT?OZXo10u6`-/yRztGT83T>``ߏ.59 `^uaPr]>k xgj7ٮ͚}v$Ed4 m#|ʑ--HZçyоXT%L`A%ݧOsďTrp >7:]0`ʬ;#[Z ypסRD-2~l|ǂe&X_ʬN, z&SP"($̓N3unlL鞚XrѡOft.@UQU`@dshek[%'nE )SFڹ28072+궙97Vh$E1:Cwih, 2I-D!-9VVFǁ vx#EGP_9d:j! i)y0vV a}1/ݺ:O4&Aό V aʍdPut,: F9ti2+(MIԲ>ϽRVv% YK5,~b |6 X E^"q9 V%̈z_00jIzZZ50" 2|HLgڈ82KI-Zypn*7gۋO"ɓY"(!E1}pUf`2OaR+a5dKUTr)uEvNOv g VEdxN=fXr'$E&~f_O1& { <ePHE/,JJc-?ִ<_|ՋﵚG~^va3t]xBOSD1ի$VO"!KnAMoN sPy˩|R277U`O>æ^.j?_ZM^{b]_'y-G-qf~g_Zzgׄ/Z&%ݨ|~ѱδ<촵~AUQ17VT<`b"rU*aT:]t_ʛozab/{Z=6_dW;[{5M_߽|<-ƹ oo~XR*#Wq=^Q*ǨWG}(8[PL,~#OZyփbG\<lU\'_; H\ˏg[/ӗw_y}7>~ữ2z(ۦPt5x+&}]?Ҿm|z]Z__}gu(49gjP/?Zl{e%]S?zxku-x7FCvv% @yHr 0 #9vSJbo h $ίj\Aߪ15u ]ǘ<މbd1!f1v q\js-5 a`ѺXj2dd@dbCLIn{Xd-i+!C6QHmSS=GJׂIڣa3k@ZE͜C+Sc{bᵞ-K=|R-XA!ፏ^qK'OeSl}{ K&v0 z{m\K; Нg#H1@*S'[!sX8lֽ8+ݘv\#endstream endobj 103 0 obj << /Filter /FlateDecode /Length 19138 >> stream xݽ].qx\=yn, 8> }aI }Y߇ŪTŹ }W[,V5b}o+]_ηr/=WKm^wŗ1]Ͽ{׸zɝ櫷]^?aakyF;\LrjԝR``I2;D]o¦*~o?mf۟|לz .J _|79?|ko5+몣R'|z{hBwMwy(?sp>.o?ꬴ?˕Z_$_c{=SYUշNd,s}kx/g_kV7G~skc__2oo>ik/G>~'=,_ٟUiZޑ?O޼1)&__C~_g~&6~y c|F>ψ?#PQF_X+Ԥ3S}ίk= 7_}?/CC?p8|Fw 9:'Sai/;_}}J'ߜ&h_?V!oXi#W7O-)IßѨi4߿K|~gs*>_ޠ~F2|:G7tpX%6~g<>ym٧5Pryoe|cq]/{;]ˀ}O^>ǟyu~O?U΁? g/ u\Z;ջϑ,JB?{˗˽$o\[eym]_%jjZaMh? ?.K^vHeIҖ8`'K9 O%r?!'aŴ5oʭ.;6ǚg N p~D^el>iF OVcƪz m6=I[~UO ,{g^Z;)/^']{/X{+ ^wx6Y5[֔xՕ_CGORKZ`͊/U/^tkl|J]p,sMb;KxI,ֹcsN!D{REjyʐL"97!R48b-oKa1(DH6$RnkU#Rkӯ$c|J"5F="4L&́Bd?tiYʠQe &CPk#ҵ*d0`"qdm)bRYRDZᅰHNCGA3Ul8>uT8aQߡim]mnOq0 o@CEF̐ 0 }奠 MAexϧ18G@!-`- /`65]gSMh)wViy~uK3̺* ͺ6^)s~Yfmum>ٖK'V0(DރW 4czPPw0/$pc- "YKYwc0cys(iW+<`&94߉Fi4q\(􎳀(97߀R(_8e,iNQr 0 0Jcm5HҪЎ4\H'L2|J4R}UڑƵ|kZ(9~z;K &CP/חMv$c9P?\*zpUիp3 uJz1#KhI?78xzឞ?.nMpLŸ0N ?OW7~C鎻$-)//oF!xfaK[be_*4kAMn=`C0<d"H 9p0 M34W{S?w~ Kb`dcop;Gp\kY)(Z%RZر+4߀Rڮ,{I$sُщJPvWщUG)ߊS-]#^0.(D.,tHt CG 7{Q݀-v:ӑ/92q p !%$xZKxM0y (u8II̘Q$fN%  0 Ůa~Bn9ų`-4{R-v͙J1kRy~u}jKdu]BCaw!˛o@cI)hwe.= 0 0Je!=PJIϾP/s(,0ƃP)]l/ē}7 0w=6)tpň(*+pyDߢD(*+pqD"qҍKO5U)ĵvƞXhMq-∝sُ"- ؒ\E]Yjm.¶gu)w0xO4 Ǵ\[%% Y2:wHK;洄l2́BdC(w;3Doާ9G'S?ީ!~[?G>"1pk[3{mgOC>zOhe%Q7yGFKehr;eFNx 04Fb5B"݃Wr`Ba!A"! P IHП\1I :$N!ߍKDa9~[LYBͱl1C#$c Q%C7s`"QV_n)!GeG0\9.Ȝ$Pȯ<+!J^)j-/l s*=})k J.q;~ْ9B޵]E2`pz7]gKn;e0l`9PG"ȳL- #{n08”VJ|Zllf |k 5jZjpol\[ 56TZP8̷6Tُ# `rrI_X`6= h1YȒ` 3c ;-u YYQ,(7&)YA p~a9L>ݢr}^ds P|5(Dv `Dҟ*IP4?5 F\SEBS 5x10|PdRʕ?WdKIjWdS'0dFysyB'}i&HTg O8ݧŵZNgZ)Nt 20 | ό2`sPg0;3@dA i4-uo r80PJFZb^[5/ Mao 71NYss4́Bd?@pj`V7A1SCFBlj`6rNxT%Ҭ԰Ȃ͑MUFI܅ ?5(D(-QHQ*)D QD(I>Fⴓl'+LD d;qYP!.G;oq#5=Sz  ]\~:%2yKs|D RAs pZr{`x@ģ`Kp;l-kˡ0;,4x- @yRn#>ԬVpHSU>/,9^^^ُa ki0#UhRw0&'T́fYBd?߭NJmJ6G mom Tν +K B=*sDW{r00)U9GT:Jf>@!g-Î4in.g,0tMu#8z780:`^=z넗}^4 ~koP>nkJr[ۋQ0JOvre wY f `rؚ 7]ɩ.^Z [~fvӛ3?LoO~{s5C&NM>=L08ކw q {FwF풢R׉kR u%T7hE(B`-!Ej;|!88|'x÷\7V z{BP4!^K풅 L80v7=.Y bDWdC :!icnrA 9`p}b#e^:di-"b xB'rꡎI@:vciƦwfaTm4߀Rw;AʭNXd;Aa@!2{^!K Uf#D"T70uײR2gПa8/:&1εMSp`Fgs&R{%Th7*|D:`"}p!ԤW D51ө&/tØkƵ՜kVcs% $0.(D?dJ}fQds~d7Gɜ5ds~d$>U9jU)g8'5q9k U9jUC8S?*JE!dr{X_s5 H6SSre2\CM W8~ l /;Ul7[]{`kt,4`RvA!p*eV <\-_}yYέ%[zUC9``7'˕C K Sͣ}36UuŎ*L;P5t,j7:D9סZ ֬B,T`@!f]6ϓ{Q>dO^D0/ ]u1 A8h9݆-v-곴q,~`@7l{yrm?Psl#:\\B#k5Gr#ZӪ>ﶡs c)]dK[K*odaL:  Ϊ'-6U~V#Pm)Ca h\B# \4F6rFMﴗL6(Npmg<)U(Mi\B#VB$jD՜ Eq4Y6HwL64ln9r690a6ʚةD>QF3`as)>h6ʲG٩lt p QcpZD7w S Z=eOLJ`em:.[L54`k WDGeL6NpkaΓ5h_La2ʑ&ZIIN683 )"d9}3ds p QjTZTZTD0\5Wvy88F刲'xC*C fـAezI I[J}(̲}P%!Z%kKSr7qofgMF7)D!_kN ¬@!0*ya+cX)̆0`H`ƪ &1%(D9c55y˞x7i?i  >jVFöOҰM}ئg Ç05vg'i--`^b25˗-ɮ21E2&]&]r rD{(K ݄٦ v(}7CO cZ>ڣG}o"QˡKZG `탆l^}QK9m*G B#,vhZu0Sej `Zn aLJW' p QYo<DOpemAa;Aa0QpN 30Ⱦ vk A q#+M;Ŗ|A<'Y5UpE8V^+TG5*̪`DX5J+wه\)z S]jG5inzHs\Ø Da]t<-@$f0ԇcrp RRsR1I`R.A!>&q+@!R D@pl1rU9`;N58vwxkIَᶣQpZGud;ahxc~l-Qan8_B];8v-xO1y8=;(GMmWєbgNa1@J2ɩVdhC4"[oaz~}%&ӻT~Xk о>B~%bӷrk$c`a:)8,~q A A ~v'Gw>}*u& ` ( ;nπaz[1]#l4qɋٗ߉ fUK6dYw39`OL!ӃdX9X6AhXɹVdYɩif|8^~!JD!a0uA! TLU7kB|R?073 ٝU8fY0Ԋ$md3ny>7i`@od7[ i#a68ld3lN!Β*59[Q־T)ffp~sVX!m1'= }zԆ+'wߟY+%q NvAZnPч¤E\ DRM. |g˜N` xFn͵a`e q2hAX@"ci<cKg&ʇky+3`!~gԏT9{nN(`x QLyV?2+ 0IB<%4h+<1F(ew(0=POj\k0K,(XՃKgjVۥ^4`a<я r4'iØ ,?'Y:ϒ$;k{,וP+&0Gp >CDKy+AԬ. j<<P]srԇØ DR?Czu>|% 6ݜ`&|V6]tuz ӄt p QE}.9Uxf- Pp;9"]r<T]!@4KVxdZ\v(lg뎻7fvEfְWl7jb0{ A-gY7$N-ą T<:ǙML&ߜ@-3(G 7Px FIqͲDHh>؇ Ҿ c{q@ҿK+wŠbl_P}O.kS9m p Q٢f,kY3.'fƚPpE͸ƦzΚpp;;kC!z-Tkw,3;2ȧvԭSjKƭE'_9;%sR&7!u\##sP`fSf2''#ǥ`#^r1*'iyGK!ip w0I rsq` !xG+d^-UtlR5`,'m`&j_q~̪V'80=;:(?ohW"0zr~}ZDu8(Hu8yZ(G$:J܅rp#XZ$>V@I (Bܠ&R)QU}0hY-^s/X(BTr\,d\YMl|2YK0sHZ`S>S d0*Tͺo9JCH\%S~7+}R+hb;0iF HC:UQ{ UVuԐ58kH:OgV7RJPeepHװ;(G4q&K}3Yr)\㬪œ(>89F8% V=r QYJAW.640@8(L9$l?kxNh^ |M;?MgcGSGԴ A>;qNJZE=erK9Ep+($⍷|e^2NIe' CwluJu b .)7u0T(.6fG$5dOt;")|#z{eYJaU0~ L LcE#ex %;}j(6JՆWzXή}N,jQwTjQweN8kc ka~iPGےbxR=ƇZ7d(H[4~7:H{>Tg"~ΧF00V(xpNɝwtIQ|tmr(d4eKu .k~^Sԫ eI|RqI{Q:ʽel^ԯ,0nFX z|mUw  p QE/νޔ{q  +}V!k2Edj[Qd@E-ҷ9Zd?'-E õQp-pεHvE62if-bEB#4 0Nja0ƹSެ}n=ig l v Qg (t®P|t aMH^&4!԰N6n 1}+p}*PC#P(x8?ҷxԽxԽQw`x 83Ux^"w>#8e 5e N7e FBG"Na `|:OpŻyjJ=m_xw:u 8=Zn/xwC!WRrz-N$`7M%U2}h8ɛ90I`oPrUj/)W\ 027}^]ƛ1 {+`֞R_[v/yhxڏT{ko;\ p AYFgp+X>Ћt}nR,6j$cNA]uIְ$cKPr<^[{!^X GR3^Ȼbܽa .A!{a AJם -MAX.'48 Ã9yxgƚaMzBՂ7/d+* >Gk3c͠or `9XdnstA Ly8S}Voݝ@̠ f7 ~¤/^ ՠx%xkȕwL9(x. ZѓeZ;kY?HΚhJXkc7|10G8&+z-oz(ȦGI[41ع})=uu0LS0-ɽ?Cއ¸mrlsKOU9uiyYQ{?.KK[݇zڇ'Iou ia`ia\8q:p(DR.T= P~JoA̩9Ogܖị]_I60Νdyr+9I6I6ٙ'M8^3W&ΙcN`dK H3lA![/qd|_s6u-L1l59N'(076DqrQvN vk4nvd[nQY`7s2w{ϓ<̀P0q8uBtI֛$cKPr9)kr߽I{@L !`d3Z=``崴Pr[3\|Ri] lCCp =$}(aӇgv÷Rx7o~0pW8iÆ)>h3p# }LQ]DĠ nȝ_&Up )>XȝIG7Oَr..A!d+=6R%2^&A&Ei0ƹS\c+zԡc0+`KPr'DYpR?`Zpa)"z@S(2E0J!GXp;?eaIMg0[&e Uɝ'@!`La4AT&(`e"kL &e*`탔ɾ$\BކL\B#,k<Ϡr f#(Q.^^ZT,Ja(`-Pa̼#:չ $cNAM91"70b˽6%ز;eN.b;9NA.кŖ\l[)<0aG_?7D1pa;{Iݷ. rxR pp.C\5s]ܲT!x]3NCq&cfvlivs҇gJ p Q=5|KEcScOlc0Aeg]5/[~fim7I6ǀ QV?"r !a&[ hR UK1 W %G>-ȧQbg|*ʧ4]lYq3!V([QrcD`H$ocD  ÓxR71v~<(pAL۶cؾks p *$`ڹ.A!G<5Fqb>PO8}XcS1, k'"y So#%Uwf_[Pq*Ɔa#d g Q6-lax(D9¬8\}p1cNs1l9g*4Y|qVJfr(l3+ ɀiV:9XY)G/10J`C8+7o6Y:)z`0ozrǝ{qP ;CsbCggg&aP{#vSH{jnڳe.i#vSr|H $/FOyq A6I^V7fg#q Q-p3 4TXHVZࡰ(G#L1.E@dkf\lk# [kJ`mA!H[ߒi;"X iTS܍j'O[J_ʠw_axzZhOxK>viώ hFరyph;*|u`M J|D|p]`^g* _z%ElDy0y6@$FKST?d9ץ0Ӏ'eLBI'YhΥQxb;l~9>濦5a_cm|@~1cr d_wCXtE-'*ﺂ <5a#COW!< v6کk_9 O$sDo^;3uA~hx!=e5`1sX P  &\B#~lؙ>~H|,b5~nRdI^1wسwlhM4x]CP)ZQb(xA>TP;ZUVEtax}A 1=r#3P9 DA 3&;CBCHgN$3ղ ᜉNds%N![˱QT*QYx̋ X\]z"r* W<>XIHTY`֑4VH7 0kH`E#eŻ#/f=r)@~s  T_Ptp.CGX¥&R OM?mCZpМ'K6 Zm4  Qe>%lRigWig3QÖS2v6)aKR]U>%X?"sD )Bf !0c hxTG%]/+z͡` +鬇?H\Iׯ^lC)ޱ H.8ɡjYNs,{b~:s=ſ?0EE)*0 AC#fqƔ?^+Ea?3#WX`r,Űur3}kDj^։ls yFt}k(,I !Ōe 1ZwN!-D>mf{P^q (<u)J,[/X̩v)J_I60Ν`db[#:I2Y!`9W$X,K^$cNp^5t{6 iWއ$0K#VD,xvK95~ &8w ;RfЇ$0K#.ƖD׵O׀h32~(`e.xI֞$tTߝekE`ѻJo7[yxC0\ Gw%*i&:,oD՜ђN `/`8J!CKrj$7iL9k綐^vG1*̚0\a22',Bq \1cls % WV?}\C. ù4 9>hqmH\m|7àq=hq=]9nw6S͢@(VKZ :(`>xK3[rAC?rUݙ!`uaB{B+xZP`Aɧ Z>qhpC3%"l6uKqMHÖS}bݗ$hH0-6`8F!GT O79UAM2y܀q JXl  >xC?MͲ-8(gg7eCiβmӥY0oچ\[6谬 ='ϓ޷O.QQsB x:c<5t\:@ANaf\8M rIjd'I)2 a#n'4Kb_) }qӛ7(v-qb ǎ cFc cU.ڤ,tUZqJ!Gr=Mvj C+PX`M99n9\١Zt14n2KFP XMsw 31 CHPvMMY(BHP}_3JBU5wgњ?/ "\yK*0 cؐ8CEVTdMwPiЀ.A!G4H<ђ#[kr~Ȧ0  Mf95ч$0K#Qɚ֥9/IE viyRvPXja{CaR.CUHvW'^m?Xh` PpXOj;.U=]t~!Dl͉'lܧj: fo_u?@5C `KMQt`!MI`#m܋pݏK^lct)0qafrVȰTWa .KX,[ur2j:lqN9@)mlo{_WO!'S wI!}MYy0 (Ʌ2dmrĐd($s  n38ً' Gf0K#FSuNeW07j9+N6dGh\QE{2e+fـA='s0KQJrG:Ü{xNjI0' G%%sPM2Q6j40\B1n3-YBhpC7&)']BԍzA+`vIѓd#38}<2SyLLQ_Iכ/l 2KRT,]}'~9/o_ᝮ>oW7|ޣȻy׿߭~%k]ohCRg}_5R%PRJ4?(p3"wJY^_s%G`"OE?ظ?ryo[Bx^υ|]Ə[%H׽{:%=_~'ch\h|^a)TNjK>f}1_ɟi,15}4 VU}\/*q+/aȗ|6"4CW[q: ~fلYX>Yɒ$ I\R /؏|%}W/G._07endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 861 >> stream x5PmLu5ř4B6Af8Q1"Y`9熫pezp k׮]ysv6n c&~_11}Ԙ?v~,ϗIy! w[rLyA'o: 贋ۏö}w=4BZ/Z8}h }n1l̜Mn+ tu㜯<_kkŷмНaav֫}J6g?ǰta!-g{Ԇڑ*BZģ߈^3_ #^?v&> 4&uZ>}xuvո)@&h(H5v4. 9DސZ{;yҋQh7/ubO ڮ6ckYA W0$ɔj7"NnrsI:DɔܒĊW8frDLܜ$iɉRPeؾxvdfo~$#bI[,ųߩjecC0DV{^3;)Y d` f29cޗ6_;4qlR?@ o/9`e H'|83J_q78 ^1P?8:Ir1ZT#m^\#og"H :lw q`PPz=U{#ꁺv_P @9v52RSa?~Hd.K(Z-2u# JҸht$JG3jWb?{rOtaendstream endobj 105 0 obj << /Type /XRef /Length 128 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 106 /ID [<1bc2aa80a9c22a0c1a5e80dfee854a58>] >> stream xcb&F~0 $8Ja?V MwA$N0)d:"9Hk R,]"Ad\7A$s"Y*6`d endstream endobj startxref 111241 %%EOF HSAUR3/inst/doc/Ch_quantile_regression.R0000644000176200001440000002462014416277524017600 0ustar liggesusers### R code from vignette source 'Ch_quantile_regression.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: QR-setup ################################################### library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) data("db", package = "gamlss.data") nboys <- with(db, sum(age > 2)) ################################################### ### code chunk number 4: QR-db ################################################### summary(db) db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) ################################################### ### code chunk number 5: QR-db-plot ################################################### db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", scales = list(x = list(relation = "free")), layout = c(2, 1), pch = 19, col = rgb(.1, .1, .1, .1)) ################################################### ### code chunk number 6: QR-db-lm2.9.23 ################################################### (lm2.9 <- lm(head ~ age, data = db, subset = age < 9)) (lm9.23 <- lm(head ~ age, data = db, subset = age > 9)) ################################################### ### code chunk number 7: QR-db-lm ################################################### (lm_mod <- lm(head ~ age:I(age < 9) + I(age < 9) - 1, data = db)) ################################################### ### code chunk number 8: QR-db-median ################################################### library("quantreg") (rq_med2.9 <- rq(head ~ age, data = db, tau = 0.5, subset = age < 9)) (rq_med9.23 <- rq(head ~ age, data = db, tau = 0.5, subset = age > 9)) ################################################### ### code chunk number 9: QR-db-lmrq2.9 ################################################### cbind(coef(lm2.9)[1], confint(lm2.9, parm = "(Intercept)")) cbind(coef(lm2.9)[2], confint(lm2.9, parm = "age")) summary(rq_med2.9, se = "rank") ################################################### ### code chunk number 10: QR-db-lmrq9.23 ################################################### cbind(coef(lm9.23)[1], confint(lm9.23, parm = "(Intercept)")) cbind(coef(lm9.23)[2], confint(lm9.23, parm = "age")) summary(rq_med9.23, se = "rank") ################################################### ### code chunk number 11: QR-db-tau ################################################### tau <- c(.01, .1, .25, .5, .75, .9, .99) ################################################### ### code chunk number 12: QR-db-age ################################################### gage <- c(2:9, 9:23) i <- 1:8 ################################################### ### code chunk number 13: QR-db-lm-fit_05 ################################################### idf <- data.frame(age = gage[i]) p <- predict(lm2.9, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p ################################################### ### code chunk number 14: QR-db-lm-fit ################################################### p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") p2.9 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] idf <- data.frame(age = gage[-i]) p <- predict(lm9.23, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") ################################################### ### code chunk number 15: QR-db-lm-fit2 ################################################### p9.23 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] round((q2.23 <- rbind(p2.9, p9.23)), 3) ################################################### ### code chunk number 16: QR-db-lm-plot ################################################### pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), q2.23[nrow(q2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), q2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) ################################################### ### code chunk number 17: QR-db-rq2.9 ################################################### (rq2.9 <- rq(head ~ age, data = db, tau = tau, subset = age < 9)) ################################################### ### code chunk number 18: QR-db-rq9.23 ################################################### (rq9.23 <- rq(head ~ age, data = db, tau = tau, subset = age > 9)) ################################################### ### code chunk number 19: QR-db-rq-fit ################################################### p2.23 <- rbind(predict(rq2.9, newdata = data.frame(age = gage[i])), predict(rq9.23, newdata = data.frame(age = gage[-i]))) ################################################### ### code chunk number 20: QR-db-rq-plot ################################################### pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), p2.23[nrow(p2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) ################################################### ### code chunk number 21: QR-db-rqss-fit ################################################### rqssmod <- vector(mode = "list", length = length(tau)) db$lage <- with(db, age^(1/3)) for (i in 1:length(tau)) rqssmod[[i]] <- rqss(head ~ qss(lage, lambda = 1), data = db, tau = tau[i]) ################################################### ### code chunk number 22: QR-db-rqss-pred ################################################### gage <- seq(from = min(db$age), to = max(db$age), length = 50) p <- sapply(1:length(tau), function(i) { predict(rqssmod[[i]], newdata = data.frame(lage = gage^(1/3))) }) ################################################### ### code chunk number 23: QR-db-rqss-plot ################################################### pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) apply(p, 2, function(x) panel.lines(gage, x)) panel.text(rep(max(db$age), length(tau)), p[nrow(p),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) HSAUR3/inst/doc/Ch_principal_components_analysis.R0000644000176200001440000001555314416277521021651 0ustar liggesusers### R code from vignette source 'Ch_principal_components_analysis.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: PCA-heptathlon-recode ################################################### data("heptathlon", package = "HSAUR3") heptathlon$hurdles <- max(heptathlon$hurdles) - heptathlon$hurdles heptathlon$run200m <- max(heptathlon$run200m) - heptathlon$run200m heptathlon$run800m <- max(heptathlon$run800m) - heptathlon$run800m ################################################### ### code chunk number 4: PCA-heptathlon-scatter ################################################### score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) ################################################### ### code chunk number 5: PCA-options65 ################################################### w <- options("width") options(width = 65) ################################################### ### code chunk number 6: PCA-heptathlon-cor ################################################### round(cor(heptathlon[,-score]), 2) ################################################### ### code chunk number 7: PCA-optionsw ################################################### options(width = w$width) ################################################### ### code chunk number 8: PCA-heptathlon-PNG ################################################### heptathlon <- heptathlon[-grep("PNG", rownames(heptathlon)),] ################################################### ### code chunk number 9: PCA-heptathlon-scatter2 ################################################### score <- which(colnames(heptathlon) == "score") plot(heptathlon[,-score]) ################################################### ### code chunk number 10: PCA-options65 ################################################### w <- options("width") options(width = 65) ################################################### ### code chunk number 11: PCA-heptathlon-cor2 ################################################### round(cor(heptathlon[,-score]), 2) ################################################### ### code chunk number 12: PCA-optionsw ################################################### options(width = w$width) ################################################### ### code chunk number 13: PCA-options65 ################################################### w <- options("digits") options(digits = 4) ################################################### ### code chunk number 14: PCA-heptathlon-pca ################################################### heptathlon_pca <- prcomp(heptathlon[, -score], scale = TRUE) print(heptathlon_pca) ################################################### ### code chunk number 15: PCA-heptathlon-summary ################################################### summary(heptathlon_pca) ################################################### ### code chunk number 16: PCA-optionsw ################################################### options(digits = w$digits) ################################################### ### code chunk number 17: PCA-heptathlon-a1 ################################################### a1 <- heptathlon_pca$rotation[,1] a1 ################################################### ### code chunk number 18: PCA-heptathlon-scaling ################################################### center <- heptathlon_pca$center scale <- heptathlon_pca$scale ################################################### ### code chunk number 19: PCA-heptathlon-s1 ################################################### hm <- as.matrix(heptathlon[,-score]) drop(scale(hm, center = center, scale = scale) %*% heptathlon_pca$rotation[,1]) ################################################### ### code chunk number 20: PCA-heptathlon-s1 ################################################### predict(heptathlon_pca)[,1] ################################################### ### code chunk number 21: PCA-heptathlon-pca-plot ################################################### plot(heptathlon_pca) ################################################### ### code chunk number 22: PCA-heptathlon-sdev ################################################### sdev <- heptathlon_pca$sdev prop12 <- round(sum(sdev[1:2]^2)/sum(sdev^2)*100, 0) ################################################### ### code chunk number 23: PCA-heptathlon-biplot (eval = FALSE) ################################################### ## biplot(heptathlon_pca, col = c("gray", "black")) ################################################### ### code chunk number 24: PCA-heptathlon-biplot ################################################### tmp <- heptathlon[, -score] rownames(tmp) <- abbreviate(gsub(" \\(.*", "", rownames(tmp))) biplot(prcomp(tmp, scale = TRUE), col = c("black", "lightgray"), xlim = c(-0.5, 0.7)) ################################################### ### code chunk number 25: PCA-scorecor ################################################### cor(heptathlon$score, heptathlon_pca$x[,1]) ################################################### ### code chunk number 26: PCA-heptathlonscore ################################################### plot(heptathlon$score, heptathlon_pca$x[,1]) HSAUR3/inst/doc/Ch_quantile_regression.Rnw0000644000176200001440000006432514416236370020145 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Quantile Regression} %%\VignetteDepends{lattice,quantreg} \setcounter{chapter}{11} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ %% lower png resolution for vignettes \SweaveOpts{resolution = 80} <>= library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) data("db", package = "gamlss.data") nboys <- with(db, sum(age > 2)) @ \chapter[Quantile Regression]{Quantile Regression: Head Circumference for Age\label{QR}} \section{Introduction} \section{Quantile Regression} \section{Analysis Using \R{}} We begin with a graphical inspection of the influence of age on head circumference by means of a scatterplot. Plotting all pairs of age and head circumference in one panel gives more weight to the teens and 20s, so we produce one plot for younger boys between two and nine years old and one additional plot for boys older than nine years (or $>108$ months, to be precise). The \Rcmd{cut} function is very convenient for constructing a factor representing these two groups <>= summary(db) db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) @ which can then be used as a conditioning variable for conditional scatterplots produced with the \Rcmd{xyplot} function \citep[package \Rpackage{lattice}]{PKG:lattice}. Because we draw $\Sexpr{nboys}$ points in total, we use transparent shading (via \Rcmd{rgb(.1, .1, .1, .1)}) in order to obtain a clearer picture for the more populated areas in the plot. \begin{figure} \begin{center} <>= db$cut <- cut(db$age, breaks = c(2, 9, 23), labels = c("2-9 yrs", "9-23 yrs")) xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", scales = list(x = list(relation = "free")), layout = c(2, 1), pch = 19, col = rgb(.1, .1, .1, .1)) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys. \label{QR-db-plot}} \end{center} \end{figure} Figure~\ref{QR-db-plot}, as expected, shows that head circumference increases with age. It also shows that there is considerable variation and also quite a number of extremely large or small head circumferences in the respective age cohorts. It should be noted that each point corresponds to one boy participating in the study due to its cross-sectional study design. No longitudinal measurements (cf.~Chapter~\ref{ALDI}) were taken and we can safely assume independence between observations. We start with a simple linear model, computed separately for the younger and older boys, for regressing the mean head circumference on age <>= (lm2.9 <- lm(head ~ age, data = db, subset = age < 9)) (lm9.23 <- lm(head ~ age, data = db, subset = age > 9)) @ This approach is equivalent to fitting two intercepts and two slopes in the joint model <>= (lm_mod <- lm(head ~ age:I(age < 9) + I(age < 9) - 1, data = db)) @ while omitting the global intercept. Because the median of the normal distribution is equal to its mean, the two models can be interpreted as conditional median models under the normal assumption. The model states that within one year, the head circumference increases by $\Sexpr{round(coef(lm_mod)["age:I(age < 9)TRUE"], 3)}$ cm for boys less than nine years old and by $\Sexpr{round(coef(lm_mod)["age:I(age < 9)FALSE"], 3)}$ for older boys. We now relax this distributional assumption and compute a median regression model using the \Rcmd{rq} function from package \Rpackage{quantreg} \citep{PKG:quantreg}: <>= library("quantreg") (rq_med2.9 <- rq(head ~ age, data = db, tau = 0.5, subset = age < 9)) (rq_med9.23 <- rq(head ~ age, data = db, tau = 0.5, subset = age > 9)) @ When we construct confidence intervals for the intercept and slope parameters from both models for the younger boys <>= cbind(coef(lm2.9)[1], confint(lm2.9, parm = "(Intercept)")) cbind(coef(lm2.9)[2], confint(lm2.9, parm = "age")) summary(rq_med2.9, se = "rank") @ we see that the two intercepts are almost identical but there seems to be a larger slope parameter for age in the median regression model. For the older boys, we get the confidence intervals via <>= cbind(coef(lm9.23)[1], confint(lm9.23, parm = "(Intercept)")) cbind(coef(lm9.23)[2], confint(lm9.23, parm = "age")) summary(rq_med9.23, se = "rank") @ with again almost identical intercepts and only a slightly increased slope for age in the median regression model. Since one of our aims was the construction of growth curves, we first use the linear models regressing head circumference on age to plot such curves. Based on the two normal linear models, we can compute the quantiles of head circumference for age. For the following values of $\tau$ <>= tau <- c(.01, .1, .25, .5, .75, .9, .99) @ and a grid of age values <>= gage <- c(2:9, 9:23) i <- 1:8 @ (the index \Rcmd{i} denoting younger boys), we compute the standard prediction intervals \index{Prediction interval} taking the randomness of the estimated intercept, slope, and variance parameters into account. We first set up a data frame with our grid of age values and then use the \Rcmd{predict} function for a linear model to compute prediction intervals, here with a coverage of $50\%$. The lower limit of such a $50\%$ prediction interval is equivalent to the conditional $25\%$ quantile for the given age and the upper limit corresponds to the $75\%$ quantile. The conditional mean is also reported and is equivalent to the conditional median: <>= idf <- data.frame(age = gage[i]) p <- predict(lm2.9, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p @ We now proceed with $80\%$ prediction intervals for constructing the $10\%$ and $90\%$ quantiles, and with $98\%$ prediction intervals corresponding to the $1\%$ and $99\%$ quantiles and repeat the exercise also for the older boys: <>= p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm2.9, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") p2.9 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] idf <- data.frame(age = gage[-i]) p <- predict(lm9.23, newdata = idf, level = 0.5, interval = "prediction") colnames(p) <- c("0.5", "0.25", "0.75") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.8, interval = "prediction")[,-1]) colnames(p)[4:5] <- c("0.1", "0.9") p <- cbind(p, predict(lm9.23, newdata = idf, level = 0.98, interval = "prediction")[,-1]) colnames(p)[6:7] <- c("0.01", "0.99") @ We now reorder the columns of this table and get the following conditional quantiles, estimated under the normal assumption of head circumference: <>= p9.23 <- p[, c("0.01", "0.1", "0.25", "0.5", "0.75", "0.9", "0.99")] round((q2.23 <- rbind(p2.9, p9.23)), 3) @ We can now superimpose these conditional quantiles on our scatterplot. To do this, we need to write our own little panel function that produces the scatterplot using the \Rcmd{panel.xyplot} function and then adds the just computed conditional quantiles by means of the \Rcmd{panel.lines} function called for every column of $\Robject{q2.23}$. Figure~\ref{QR-db-lm-plot} shows parallel lines owing to the fact that the linear model assumes an error variance independent from age; this is the so-called variance homogeneity. Compared to a plot with only a single (mean) regression line, we plotted a whole bunch of conditional distributions here, one for each value of age. Of course, we did so under extremely simplifying assumptions like linearity and variance homogeneity that we're going to drop now. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), q2.23[nrow(q2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), q2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed normal quantiles. \label{QR-db-lm-plot}} \end{center} \end{figure} For the production of a nonparametric version of our growth curves, we start with fitting not only one but multiple quantile regression models, one for each value of $\tau$. We start with the younger boys <>= (rq2.9 <- rq(head ~ age, data = db, tau = tau, subset = age < 9)) @ and continue with the older boys <>= (rq9.23 <- rq(head ~ age, data = db, tau = tau, subset = age > 9)) @ Naturally, the intercept parameters vary but there is also a considerable variation in the slopes, with the largest value for the $1\%$ quantile regression model for younger boys. The parameters $\beta_\tau$ have to be interpreted with care. In general, they cannot be interpreted on an individual-specific level. A boy who happens to be at the $\tau \times 100\%$ quantile of head circumference conditional on his age would not be at the same quantile anymore when he gets older. When knowing $\beta_\tau$, the only conclusion that can be drawn is how the $\tau \times 100\%$ quantile of a population with a specific age differs from the $\tau \times 100\%$ quantile of a population with a different age. Because the linear functions estimated by linear quantile regression, here in model \Robject{rq9.23}, directly correspond to the conditional quantiles of interest, we can use the \Rcmd{predict} function to compute the estimated conditional quantiles: <>= p2.23 <- rbind(predict(rq2.9, newdata = data.frame(age = gage[i])), predict(rq9.23, newdata = data.frame(age = gage[-i]))) @ It is important to note that these numbers were obtained without assuming anything about the continuous distribution of head circumference given any age. Again, we produce a scatterplot with superimposed quantiles, this time each line corresponds to a specific model. For the sake of comparison with the linear model, we add the linear model quantiles as dashed lines to Figure~\ref{QR-db-rq-plot}. For the older boys, there seems to be almost no difference but the more extreme $1\%$ and $99\%$ quantiles for the younger boys differ considerably. So, at least for the younger boys, we might want to allow for age-specific variability in the distribution of head circumference. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) if (max(x) <= 9) { apply(q2.23, 2, function(x) panel.lines(gage[i], x[i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[i], x[i])) } else { apply(q2.23, 2, function(x) panel.lines(gage[-i], x[-i], lty = 2)) apply(p2.23, 2, function(x) panel.lines(gage[-i], x[-i])) } panel.text(rep(max(db$age), length(tau)), p2.23[nrow(p2.23),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p2.23[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed regression quantiles (solid lines) and normal quantiles (dashed lines). \label{QR-db-rq-plot}} \end{center} \end{figure} Still, with the quantile regression models shown in Figure~\ref{QR-db-rq-plot} we assume that the quantiles of head circumference depend on age in a linear way. Additive quantile regression is one way to approach the estimation of non-linear quantile functions. By considering two different models for younger and older boys, we allowed for a certain type of non-linear function in the results shown so far. Additive quantile regression should be able to deal with this problem and we therefore fit these models to all boys simultaneously. For our different choices of $\tau$, we fit one additive quantile regression model using the \Rcmd{rqss} function from the \Rpackage{quantreg} and allow smooth quantile functions of age via the \Rcmd{qss} function in the right-hand side of the model formula. Note that we transformed age by the third root prior to model fitting. This does not affect the model since it is a monotone transformation, however, it helps to avoid fitting a function with large derivatives for very young boys resulting in a low penalty parameter $\lambda$: <>= rqssmod <- vector(mode = "list", length = length(tau)) db$lage <- with(db, age^(1/3)) for (i in 1:length(tau)) rqssmod[[i]] <- rqss(head ~ qss(lage, lambda = 1), data = db, tau = tau[i]) @ For the analysis of the head circumference, we choose a penalty parameter $\lambda = 1$, which is the default for the \Rcmd{qss} function. Simply using the default without a careful hyperparameter tuning, for example using crossvalidation or similar procedures, is almost always a mistake. By visual inspection (Figure~\ref{QR-db-rqss-plot}) we find this choice appropriate but ask the readers to make a second guess (Exercise 3). For a finer grid of age values, we compute the conditional quantiles from the \Rcmd{predict} function: <>= gage <- seq(from = min(db$age), to = max(db$age), length = 50) p <- sapply(1:length(tau), function(i) { predict(rqssmod[[i]], newdata = data.frame(lage = gage^(1/3))) }) @ Using very similar code as for plotting linear quantiles, we produce again a scatterplot of age and head circumference but this time overlaid with non-linear regression quantiles. Given that the results from the linear models presented in Figure~\ref{QR-db-rq-plot} looked pretty convincing, the quantile curves in Figure~\ref{QR-db-rqss-plot} shed a surprising new light on the data. For the younger boys, we expected to see a larger variability than for boys between two and three years old, but in fact the distribution seems to be more complex. The distribution seems to be positively skewed with a heavy lower tail and the degree of skewness varies with age (note that the median is almost linear for boys older than four years). Also in the right part of Figure~\ref{QR-db-rqss-plot}, we see an age-varying skewness, although less pronounced as for the younger boys. The median increases up to 16 years but then the growth rate is much smaller. This does not seem to be the case for the $1\%, 10\%, 90\%$, and $99\%$ quantiles. Note that the discontinuity in the quantiles between the two age groups is only due to the overlapping abscissae. However, the deviations between the growth curves obtained from a linear model under normality assumption on the one hand and quantile regression on the other hand as shown in Figures~\ref{QR-db-rq-plot} and \ref{QR-db-rqss-plot} are hardly dramatic for the head circumference data. \begin{figure} \begin{center} <>= pfun <- function(x, y, ...) { panel.xyplot(x = x, y = y, ...) apply(p, 2, function(x) panel.lines(gage, x)) panel.text(rep(max(db$age), length(tau)), p[nrow(p),], label = tau, cex = 0.9) panel.text(rep(min(db$age), length(tau)), p[1,], label = tau, cex = 0.9) } xyplot(head ~ age | cut, data = db, xlab = "Age (years)", ylab = "Head circumference (cm)", pch = 19, scales = list(x = list(relation = "free")), layout = c(2, 1), col = rgb(.1, .1, .1, .1), panel = pfun) @ \caption{Scatterplot of age and head circumference for $\Sexpr{nboys}$ Dutch boys with superimposed non-linear regression quantiles. \label{QR-db-rqss-plot}} \end{center} \end{figure} \section{Summary of Findings} We can conclude that the whole distribution of head circumference changes with age and that assumptions like symmetry and variance homogeneity might be questionable for such type of analysis. One alternative to the estimation of conditional quantiles is the estimation of conditional distributions. One very interesting parametric approach are generalized additive models for location, scale, and shape \citep[GAMLSS,][]{HSAUR:RigbyStasinopoulos2005}. In \cite{HSAUR:StasinopoulosRigby2007}, an analysis of the age and head circumference by means of the \Rpackage{gamlss} package can be found. One practical problem associated with contemporary methods in quantile regression is quantile crossing. Because we fitted one quantile regression model for each of the quantiles of interest, we cannot guarantee that the conditional quantile functions are monotone, so the $90\%$ quantile may well be larger than the $95\%$ quantile in some cases. Postprocessing of the estimated quantile curves may help in this situation \citep{HSAUR:DetteVolgushev2008}. \section{Final Comments} When estimating regression models, we have to be aware of the implications of model assumptions when interpreting the results. Symmetry, linearity, and variance homogeneity are among the strongest but common assumptions. Quantile regression, both in its linear and additive formulation, is an intellectually stimulating and practically very useful framework where such assumptions can be relaxed. At a more basic level, one should always ask \stress{Am I really interested in the mean?} before using the regression models discussed in other chapters of this book. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_analysis_of_variance.R0000644000176200001440000002064614416277450017677 0ustar liggesusers### R code from vignette source 'Ch_analysis_of_variance.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: ANOVA-setup ################################################### library("wordcloud") ################################################### ### code chunk number 4: ANOVA-weightgain-mean-var ################################################### data("weightgain", package = "HSAUR3") tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean) tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), sd) ################################################### ### code chunk number 5: ANOVA-weightgain-plot ################################################### plot.design(weightgain) ################################################### ### code chunk number 6: ANOVA-weightgain-aov ################################################### wg_aov <- aov(weightgain ~ source * type, data = weightgain) ################################################### ### code chunk number 7: ANOVA-weightgain-aov-summary ################################################### summary(wg_aov) ################################################### ### code chunk number 8: ANOVA-weightgain-iplot (eval = FALSE) ################################################### ## interaction.plot(weightgain$type, weightgain$source, ## weightgain$weightgain) ################################################### ### code chunk number 9: ANOVA-weightgain-iplot-nice ################################################### interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain, legend = FALSE) legend(1.5, 95, legend = levels(weightgain$source), title = "weightgain$source", lty = c(2,1), bty = "n") ################################################### ### code chunk number 10: ANOVA-weightgain-coef ################################################### coef(wg_aov) ################################################### ### code chunk number 11: ANOVA-weightgain-contrasts ################################################### options("contrasts") ################################################### ### code chunk number 12: ANOVA-weightgain-coef-sum ################################################### coef(aov(weightgain ~ source + type + source:type, data = weightgain, contrasts = list(source = contr.sum))) ################################################### ### code chunk number 13: ANOVA-foster ################################################### data("foster", package = "HSAUR3") ################################################### ### code chunk number 14: ANOVA-foster-plot ################################################### plot.design(foster) ################################################### ### code chunk number 15: ANOVA-foster-aov-one (eval = FALSE) ################################################### ## summary(aov(weight ~ litgen * motgen, data = foster)) ################################################### ### code chunk number 16: ANOVA-foster-aov-one ################################################### summary(aov(weight ~ litgen * motgen, data = foster)) ################################################### ### code chunk number 17: ANOVA-foster-aov-two (eval = FALSE) ################################################### ## summary(aov(weight ~ motgen * litgen, data = foster)) ################################################### ### code chunk number 18: ANOVA-foster-aov-two ################################################### summary(aov(weight ~ motgen * litgen, data = foster)) ################################################### ### code chunk number 19: ANOVA-weightgain-again (eval = FALSE) ################################################### ## summary(aov(weightgain ~ type * source, data = weightgain)) ################################################### ### code chunk number 20: ANOVA-foster-aov ################################################### foster_aov <- aov(weight ~ litgen * motgen, data = foster) ################################################### ### code chunk number 21: ANOVA-foster-tukeyHSD ################################################### foster_hsd <- TukeyHSD(foster_aov, "motgen") foster_hsd ################################################### ### code chunk number 22: ANOVA-foster-tukeyHSDplot ################################################### plot(foster_hsd) ################################################### ### code chunk number 23: ANOVA-water-manova ################################################### data("water", package = "HSAUR3") summary(manova(cbind(hardness, mortality) ~ location, data = water), test = "Hotelling-Lawley") ################################################### ### code chunk number 24: ANOVA-water-means ################################################### tapply(water$hardness, water$location, mean) tapply(water$mortality, water$location, mean) ################################################### ### code chunk number 25: ANOVA-skulls-data ################################################### data("skulls", package = "HSAUR3") means <- aggregate(skulls[,c("mb", "bh", "bl", "nh")], list(epoch = skulls$epoch), mean) means ################################################### ### code chunk number 26: ANOVA-skulls-fig ################################################### pairs(means[,-1], panel = function(x, y) { textplot(x, y, levels(skulls$epoch), new = FALSE, cex = 0.8) }) ################################################### ### code chunk number 27: ANOVA-skulls-manova ################################################### skulls_manova <- manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls) summary(skulls_manova, test = "Pillai") summary(skulls_manova, test = "Wilks") summary(skulls_manova, test = "Hotelling-Lawley") summary(skulls_manova, test = "Roy") ################################################### ### code chunk number 28: ANOVA-skulls-manova2 ################################################### summary.aov(skulls_manova) ################################################### ### code chunk number 29: ANOVA-skulls-manova3 ################################################### summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c3300BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c1850BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c200BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "cAD150"))) HSAUR3/inst/doc/Ch_introduction_to_R.pdf0000644000176200001440000061024014416277546017575 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4219 /Filter /FlateDecode /N 82 /First 684 >> stream x\ks۶ |;tBwL38vN|%f#HY$R%IS"Hb/`$KbB*,P!˘"e9V2)LZJ&I_JS46L ږ))~TnA$g:MpʴL[3Z1fR3R7̊-9&9.Хs$OCCt\nd`by J( Uٲ\ap`2:(,1r&`yf3145ƖJ 5 b@Pt"L3tIpyf"2(!!Z(*P({a(̐hhr$4,5iyy9hzRJPV Â2)ʜb&3 s5fSw@Y;._x j䑣ӘW㣢!cD (u°Ѳ"RG_߷QR=G9iν䂙o},UB- IpUޖ)8vP&y_X:plL](~}-/gͲPTPKbtho`xƻ|RgpkK{|?c?K#>^p0/.&cOC,{j^ 9y]|,f.?zJޜϋ7W_y!~%ttF+aViPZíWO q/˺z3wڷ8ʖ_xKtvtx*Y].o,˂}}P~BBb7dU ]>Örm@o}xx13X!]KGgyN+ӕW9uRb.5^#VS, 0&p~DA^띂!^0\1>\n>?CH #wOF]f{\]\V Kppz@f1-NP{%{Q5dh/Cjy? Xeo-wk!{^<{h+tK'56,Y,i̬6~/*[V!iJ`V/Wl1t| B/3j`]I Aog)2a鳃g/۷[kCcP!?K,1ͭݎ.>jC))*,c2" l@jd4\|4^חץ⇢n*dRM2M{3a(u}xr9]ԛ l82\[7L/ZZܦ5S=ѧ^t'z *e19!.A~}эIU"quH e=D$ & 12WNjre'YyטzIc08{-_C-&wL˺c9.`Y3_hV{n i火Iint7(CP`ݧشNv~5OY̓G~JUֺ@JeS ϒQY%Zym6G[&>k_Е rwM/ﱶPZ8 yt:ax5w[0˵x/!k[<[mSWOWɢ~Y^?,O8WpM䭵e`8Wko{%Z{J;vZXWb]ok9S|,iZ @lED$MEȾU:B?kn]:9vvbLH/ܺw4|pUrxr^[Ӥ H"i}TJUNR`Htmln)?)gMj[CqNΛ] `R'r<2vx x:"MO*tGXݑ.(ڵ;ݔ)meڙזFH.rY 2x .7@sG(P[ex7Jx[Fi^mHd 52Ѥ>n̘.3|F_awW X-:ɱѩMҰ֬AUkOjdzURIJ,K2Ls,h?f8msEkQK$PN\}\JЖݴ'Չ`ub{H 8Դ X$NK)z'LRTH?THT 9ݘUK3P<ʍ)^ LQ'Ep1*ׄWKmҗfɗ~|@h@IG:8o;n3m3ewΔRPuLwb0rjɠc&6'KEiI1#ك nHœDw4*7QrVa ީcJ XĔ29P)e`fW&y#.巏qe/:r {q%ܽgPV!+gIdu WNjҘP"N1?rb2̻"zK[ OGI[$!i5?)d\'ۆQ'.d4.\lztvUw5+~GF»6"J)F E/?4<.fXD(epw-;!MMMYF'[.*b%q/'ё xgRjfu'< ACB:+ NٮN(/EmdrY'fJX#r 54օ.JGu-ӂcWD>j[ߎ$㧧8JS*~چdye+2}}8^nZÎ;9*gyKendstream endobj 84 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:25+02:00 2023-04-14T18:29:25+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 85 0 obj << /Type /ObjStm /Length 3733 /Filter /FlateDecode /N 82 /First 734 >> stream x[w{H{CvJ L$~ϱr{^ά${-9$=LV3"5, OI%HH̀JOA(gP 7s<¨ lP„=F0" Ig(™ 6|¥Ypp_0hP"<$Qr"8p"+ŰLA}hDzn1H`@J OJRƉND* LxO c%$<[ɱAR8IIy. $ޒDS\\-$6|%jD6GFD'}z|SB_J#A(P`*PV@J@8'*ʓ>$(T Ԏ-RZ@Uu$>0I017hb2QAGISXJ!\gjM$qw܅H8ȳ#Abw0Z07*aFⳭZ1$qϓڃ 5SyԖLN>fԂfV lW-0 ّJS:,UJzJqU+##.`#sc&[諐s웏  si 2>s$=~+ lh1r 91O4ºT*ת+zʥQ2 Cd ?Zg\Djy2V  Uwsoȅ7?PaZqci-5V8k?ݷ1pdY/t8yqLLGc;*J㛷p "t,iI̥%GV+)ݞ01¨軗Rܨ`bn NYBhnD 0>?+C;/  \0U?U e\S۠ҷebXa K$DAuϼL>qOwpȶa`vxu~Fm6զ)3T٪Nr-խdl!mofxZ}iD nQ>*$mAx n'h,yMCIZ%jNGD&XB0eǍ@OTWqՖZY ú_3 ӊSFoQ>k~;7C&>srݗ_B ǘc.th\&Nx)7=DSH Kԯ\q.^ȀkZ01amHtZ7nㆇ؀<{IwrdX.;V |l Gϝ˚pp'LMd3ϳLXK~ɚH=Yc;Pπ)9Jd_rCH w 0vsCd7h oo[$Q<;˥rtTrM|@1 4߀ [~!ڌR?|g!0;C5#m[4#,xҢTQƄIKp.#phm7~INyE"fHX$-R:1G%sxisxTYC?#<裏>c?OSO?3<>s? //K/+ꫯkoo[o;{|~G'|駟~g_|_~W_7|~w??O?/믿o_??bj:F(x~/ u,ńY:b_.@@[5e7$*s刃zŌLMizK_endstream endobj 168 0 obj << /Filter /FlateDecode /Length 5768 >> stream x\K7r7d887cWc+3;( *46tP$_<yГM/_x&ep^M_>\D'Ry⻋4x'aTyUQrN\f *4y'든)0YIi*-$"LYfha 1M78xB/n.~qo|䵿|QOs >8\x?Isa';'mIY3)w_ ڵ]xym0UӼaVGfG\A\:whݔٽ¿[pu oTڽDZ.^'?^&ZZO^i9waf `boD8>B&߽2XװqrX|afc]1 ~_JW7m, f2H. e6?B:]lԢ3n#{ͬW[ ܤe;~Mq!` x>, ܙ7I[^Z5& 't.2ZÅXcDV(o.^p,nlSa_:] %_x`v`Sb Xg+? O}m7`̑'SkО(P"p/5PF5ȿ\x4 N 48L>%Q?Wr62x; !y_F'80Hb_8@oTz*Ak]TU$!#9dm:pdNL`*]&j3 Nm=z޽0?!8%-S&qV'ѡRꈞ4^i#8_jtBqf1f1>lèGɓw00de}@@&uTle!;i4Wl y\Oe$A{{!= RRN0^HU@DՃ`I,AS,ᔒ|FHlOHF׍c ~YHz_1A2d)uOqFB|zc)zUSQ;Z74 I6ahʋ 0eěxc:&Jd &c;' * l,[G"[#gD ҭ/ #NuhQQ.d@q9< jbiQCaќ%hUrUxS\#ɇgm<+ңP.߿:K<{J޶QRh±H׺:PUV^D?[LF#|8V`R̦s+fDNk⯲^1 1R)g wX8Bp:Q+՗^B1!y$jfpY1y{@`mv-LXp,QV_u:X+N,FB{3XIxD%np@ekΓm?֡۲bGqm9ʯSjE-kYEfr `N6k Ϙ ,_T8y7W {Qx/#\zjXfm1]1 &2`8X2A): <VCDo*9:CPu܋wp\kCBJ>gջU>xM,>?JXGEքMtdǶO;i!ZYY8=A|}nlgYy3:o`i7;t:y^ CKv _E1n7VGe_;,ٚllOp""~>ȭj{sS򲩩o]S=od+ RnIqnbf20!orJ *r#ޠW.)fy^m0K9߮5t] mԾ2DAW^uFrڀS} u+Dݵ'y6j}]'żM6x!ak]%#-6u7Ϋ0vՏE {q߮UHmy׫Hv?R>a`"I:s =A_̶gwP@v 뻳"Z,upE1JaQ 8@Eȶ=WKjt&aDif / {AmEѲ>=lU[]րF"GP:(.VA#LޖjPOH8Z&`a+n řҵפέ0e +[MQɜ6lan:q%UƂJ/=[HMc\dDyOG s4í%Wv̇4ދl(y>y.x䔿m{1i;wFɌW뻕b|y^Vk_u{:lXZBfhͺ (Q"bXUꚉ1 O{=ٴy6 ^4Y7a2fHimݺ& @gTi:K6U$oc\6=mE-i ],8-xX-zëHVOsP]:Ȕ &fj\tDmY)gn1~UĦ__ըlPywATo"1acޢh[[>.!Ҷa5d4r#o2*mFطiJ{O(vE_zaj5c?a_dk#e=PSɘc;)P&h[ "E"&tEK'D!dӥsL}f+DNۦJw-to4e~SFYG U^Dj m ]ҕl`Zץ1Wq˂O2`, dXf~hL+U⾃ffdT " KYF_oT _94 D)iUNw17)(Y0k3e6/9Q`&.RwI4ҐP,e(H3ijSqn^_;C6wY7 ,WMB2]p,>H(H2dm} (^ U+TJ !(+U,`b|NS횡vs o35wt*Ov] ݼ>摵fCyt/#L~g<}U~T-OW׀Xmy:tAmpdn9&C∊9n>S XIGRyn?Fv;`Giz]/nW^8@;;1Gݝ͂~ .[ OS˺L")6y47=B'WWndo8<.RGV")9mW:\D$ H > stream x 1=7c;(| 09lRH]!A]<1?gA\$wt%+%;pL! k(F ]P{H3׀X1Iwah%(.>Lv7e9HvT=Q*"XWkLfGbp*l. 9mKr3m1怋K (A`1!xyD̴-JmmGh% ۑ~p٫\wuؠw4]5llxx~z`C{9cNFjχР_W Muz50[/cgZlbEh$6L.Q~nM-9}𷜘c64hKՃw?r l?nƜT4o *fB0,$Rx,}d6ؽK"y5%mlO eXVFgYkpSua j@zZ׫HƸO& f[b>B ]$lP;ңpPcI_L7LIb< 5ͱR͉5HG@SS:*OV~͐Cc s@NǶh&Vca }Qqa0X9`XJhɔod5LTW[U{9FWa0!RHAX>idpSQQBzohCDJLVk&&hqUąnkmΝ XȘ9˶E@'*ӡsEt5ƚ ;?MzNbg4i3U|/?`Ӹ$]3W+>L/ R^B6wZCgaK3,BRio/xF@ʻ6"בgddʜIk)@HݛU Н qƀKl|#][2:|yz 9* )hK!MlX3)kM@JIʊ沇3L:AAꫲrdmY-e8ʥj[V?ժ#<#V|yԴsP:&<Q4֫8^8}tsC [5R}HFx\cz|w^L-)8EP5 ư- ȁsKNЅm}Wٚ|a$C,jY?,0in=L҅ '{yRC 5Cz/b$1 -0耚D"03l#o"!8!}ʠO!Tn &'wE>k8"p8~4ӥmVf9quڢ.Q-II@OH0OM?c5>C>4"C:%ꠅ4i$$ rw5'|lL&RqN/>Xw, alQCU| ;t#0R61'1pZj_EFsԆjfS%6r(2SW!96U :~c"@ k$RHFxcĦ)lWsCS>ZV}Fܕᴡw$ 6đ4>})2g%#"G,f$Cq],\Im6yFN^gIlP{uk'34~ƣ"}ߊ5 i9V$$Q'jಽKPm4n. G>uAM}ny VsLp}Y}UV_?eYj3xjn}cbn5nۑg$ʀrcQ;o"<6"Oc9F3[ay0!s sEzdOc;!q߶(uħ#qQj yKrbOQs]:c~W$-ђEj AiտYUVDY6<1"-pR*Wy͐*+жV/;tDҒpU)-)JKrZ::afQTg z&s &jؽ@,9]stajpa6~4ĞC\pp_gyiN=<6S8 U^b&$Tx˷F~7~-nIz%nr= whP%$  Ob.M)ݶheʿiܫ*va4Ä'?W`d6q{n0ɏ =j]˘JN!`!w{TIqQD!fzYxmJ;SaCn?۰02?^)4s:΋`m f44['8I*\63<}op(AXk&{PP.1P-•X>CR C`Cu:tbI`{1ȀaDU}РUP(DZ5` 4̢x}i̸i(7xplԅt 2D#|Ԁ֊P+u014& ;aGfc_ФCeSEGߋCC[nL%!1(Yϳ ڡ:/!" Ü&{S"xw~Ct}F?SCKWHCXG&LSƵsxp(:VxFJ(ZwT}=R12^ϊ&>d$|*FYIxý)Zj٨.QF7`gyi9G~_B]ܬa%dXj ܻ?¯ow&]["ZH\q399Y39}r*AYײ0':d}:jCm?l*nl[+ͻTEJ/߾}> jc?yvqudöܭ@лá>TjW9^vzSn֨}d+E?i|q^6{Ȯ_QיHYA=W+6E5[?E}..;0_VuϫЪny#[ݾ(bא[AP4 ewj7v7u` iXSIJcBM^#䨆#}5Bt 1pHVwۖ"}0_Ufu{?v3]oVUbK|PwA6rw>WJq9vKbZTԔ|ۂE_>eEwTjлZ"9CrlyagGk 'Rx:Z7u]@ۊwADiN4;^!ckn'1kPL+T=ZU۔վ9FAo27ӭ~nh M[ /0ԫ<ѶЫ8xO~㧇N)z;`(s> stream x\Yq~ =U;KE؎$vHj凚L,{H.3q&(gU( d~yb?g3?g/t&f?ߜgŹՆΜ?Yfʃdz?9g5R@q?ziU^ҨY92J81弛Tߔ(#ݬ'D9ngxCT핟4QeLߟ}V)vgo9;9lWzfg.MjX;}f+ӿmlf1!%ye6{?~9g~Mfӟ~I:atL3ᅊzΕ^6mǤu/$Ȃ0E]; &uJ.fKG^MX@\nvRH36[ݬ^JW~z;x.%t&6Bwan^)9 (a|l6DgڹLJ۞tmhk2I[Ke!>TL ,hgdM=rU yҕ^rM\Nw.S%]y+pbŸ2qL{2{2DVojiC0h`gb[Ȍ?^ Jqϔ 2tVꥼ fX{5ґbϛGXa /z@ᥧQ<D=5 M;2M(%B0Qnd|[>ؑR,nL29&%pFv &*rML7nIrkzC8Z*={BPu8OjL>ܕ֡^Jk)Ak.k[pWnlSMXZo< F 5Hk! Rifp@@7詯<%Q[z قh*qM 02.O^"9MF.8px1/}17PGޏ#VWV$?#W ,+dv? #٭W d>TZI°MlkgmhemcEv1d#+<;I 緢Cp<̢A"UyjW 5]3wJEz Z+>9}$OnOkˠU__wMi};pk?pdw/(:3_GYcvY^v+ A{Ϣ(=TghҾ5e=C%UdHoOeƩf^IܙY ͋Hm"k+urDžnZ]Ɉ{dl}YA=1o>GK%ҡ<$0 }:y3`l$F{H & YhX0g1wPijb#h+;Ɨa"].4UHN9o#\LY}7Ny@:bS?EGysLC14:h#Ziq|06U1ƤA@r:{qdIgiC0~e0{fF"|"AzOJ;*J&.}7PLK#aPbO6&@E"8{g 7MNe_X+<$4Lns5@'\R6]RO ־Q-4O-{C`Nxʼ+*>Ĥqbp9<54L ˋ[?-ˋEΔ兄l]]^(mMNP7qe|౔R^%"P3ԄI-upU> F4cw.$bD J HIM"a!11dω㢵3u0+&kRzE/|z8H8{!Rg.4͊(M Z*'&1E*j?l[j۫0E&plLi\I# puETWcTiGq;JݨKneơCP㏸YfS/fBU:W4К >ūQ6yAD/nڛӹ |jm(Yj{c$Xz}#w] /;MzGu]a"F$Ǟ&{_s@Q+ U6 :%5}λ  5nsg.Yb>.,\ףXRMFz~QV2-<9)qyif%59aY10crH`_DRB~ƒGPY)bivx-YL ]\{kd=Dh܄Ab<!eZ*vОxV 8ڒ>Z9Nܩ'3l9rR"\{qW;"\ɸKFg!l߷jxp%ʔ"sE52\ڌA}N[ce#IB pG(DZ]E[X!V9}(o a}|\S5Kg Sl2I "2KF"wJF$/Z۶ʐ:y+_}ZSqWm&Q넲`ͩk0h8"b"ucHPRaԢfi3A84mj4_!?ٗ-IfCF% VW$Qdk$Z&>e .hSB&̯Xg~mywK4 # 2uGLS6 1Vg;Gám3-%rEcsF"OfI.1ڈy)^X{ p{Rli֊\oF[%ֆ !q䞸;A :\ *%|ʻUH᜵:E1kEQ$E* =^YFOW+C{eXx] ƕ:o4rEfN6pO=˿m]ӵvy$ w!0ե÷x`==k# G9Wu]ƘO75`,;ڴT6ء.F%ն [#_`!:n?.P: ChJq )w}*#~(X" hB л]ATTbJztgd50qk|a*esnoAÉ$4 bj!=z9F3yΠ(>~_XĜ#/7$ڗJf@K{{ Ÿ Bw}rS(9:CG~_0Чy7"iĤIлFoDsXI] LH*Cݘ с~3Œt#`Lo%O-wF F L[.3S`(&ՒꀇЧ\H<"Orj`[+ĈQ(di;piskzt }ȎnsZI8^+|MN}i Avd5 jkC,Z3jWCNatϾǿЀ1x 0G̅)l Ӊ*e5h"9+LL[?]*ӸC ͟׽)Ak,JUN+Yi5'>j^ fkL_BnQfMkwt'uRW-UoA= חg a")endstream endobj 171 0 obj << /Filter /FlateDecode /Length 5372 >> stream x\[oǑ~'#=Y_ N%vDRvHu94IE鮚C3k-v~h]]].}~U_Ż3|D$8ۨOzNI2a97oOdi N&<_Fy ώ Z^1N=[Mb=#4f2)8'9M}P}!Tj Il5uzu.%Xze.!ƞ8$ t(Z;_OA[2R$j7dQ S9 P|u|v2E7>0Q!݈~wlDK?՛q= p_@(۷}C. ֻSwWPCT 30/Xg#۟$ N:.tY=ց< ΀1H(tȌ skM;K΄0}K~Ó1ER`v-vOw`_>0ǃ~Cҕ1^Ԓ0Wٔ ib)j >uQef2L/l`z3R[.!``@ }r^iQb7gFNIL1)y'- Mm| d Xl/dx>U"$1~&!و[en֟tH:9R0ZPhmţ\"uK *GXfdd6LjE(ݶ^ J|lHȾZP%uZ Rt1ɯu /S?"AG NlL:T LugȝF }}.D0::aeb8R:X r0(&Pt@z55ʬX" ^岈^|脫Ve+jMe:)cuAUhJЦpr[J\~ڏast*F@')>$=$1BaG%A#TR:>6ր'r@>x#WbWFxZ_2ɾhW&r30 o5#:Dc8Mun*-;PMHD~yU[$m2rs S9$N^+@UF'2T VWCM-#ȅ?c=!bX@XC|/@<7.+"fq 3n cF[;қj)5: ?.غ=`~`2\t(?QVS]p_ EVxre$yS\u@0Nȧ|g4D p|C;7V7ԤB"H5G JU%pCwt@'V=e{$Lx](Kyn 4G\`|aW3_'(s7^cG29 }kE~C(8yߝKKҳ5aߵ(MBhﳂT Mc0!DG rv8dYnaeodΙCgMٳ^\{>3{?tɒ>4gW[KДC 'lF[=1O5FZ&VT:tQy/#ij^C!VB.z7xnO_/OiOOW4Ɲ@%M{:Ӌt1y|P9b0~@t˾ 8⿑y@AS^DׂQUPRxnBEs d|tUgNܑw(z DG&Hiە: ?n׍-ʟE=Q`\-fNƸnp`.*\ Un9N[(O7L%ϮCLؒKKK QqUȱbv3TK|Mz1%̎Mpg0n Wgy=]q!ԧ[C[Aeާ /X&fڭ1{2J>F&<fCs#uMPRM :%s3>,Ie]reEk uQfQ:ʪZ˰l; B)'j loduљ*/_.#Ȏb2d.[0fh@8Y *:qCL`/}_f~=> a ~-Nh%_ښ2GQ{eDl7"t[]ʬ ^}waC=w0Q #sV"# X4u!2<^JO8u5D "bpY s)ƶ)!Iy*ЋHwHŭ+t-g2{SadIht@VdƸq_B2^՟q={j՟eLv~/KD=Ő8C%Zh.h^2c]ѿ(āLFQQ7%C3T;*?J \"ԾɳlؐAYh~CXtj WEp0A$oÚtXz~? UmRq&荦2aȰ4tbड़S2*6x!&-u%{(xKN;%Vnj,'k鰸g^Y}17ƒ^0ix V~5E<5)/BL'g*3qA10*Y^\@-]_\[?g&(C2wY 1s 1ygR2<{*8fPX#+ϛ>f# .䠞 E 㮾Ni)<˲gw.`0iTFG`]7LSLYnl]sdvt0wHu;qxjuJ:={E͠գj-$PFWB3|_ELk8ܗWW Mx05sz 'a2|5&FR;Y Lv[5>{ \қS$g')86(6.xkEhfRU**:M=B==]ߓ%X92]^ZVZ3#(I(g)t6hanWL$R }3giXV[]!_f'W1œnO-U?2ֱ-"dB^ABҰJ'hLsiDž;nx/^l>hQqݘ=j X(Ȋb :Iz[=^ ^a#1p(uZ8yfJ;+V-6S0O{y{!J&<Ѵ'uӣ`1#.U+{ DTv 3~AU5bV$!6dۣmf*]R [\ 'D{93\$=l6 gjd %[`as+zF#V2>r[7rH{ָɍQװQLl->/r(ٖr׊r$B!ffrP1}m-`]AsO)pfںZ8WVԣEK(+h+rBV!pce_iC+Iӳa8ƥ ށI_О>^5Wtѳo妥M/=?jv@,A~txoLS&1oaR?KӣA6!Ԁ=><q)֡T9FuSez8XWi:Ru^ ryvǷLF9mM} "_624-}紹6%.o:ͮr6dm=qqqi5Q[HlFBo  Fy86# |b^m93V6~vp|c`*,HE[t 7A %~}(H ~?(L9g1&%@^8j]b]w>;_5endstream endobj 172 0 obj << /Filter /FlateDecode /Length 627 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cdwfg!Kt߸5RE_s(VypWNka U5<27wC0a\TNXJ#zN$rю`s: fM;PꦁwOEug{u[t-GX };}+J"j@\8ܶzV*zmYE>kߖw• k^ZhEN_ J{n?E@pvlj 7΋$T᯹uOn-M }*PN $Em lyC{C"f1[P-ɂ>urLhDr#J8QjYpf| rJVn4>瓻p]4ٕ4e-\EcCe53!l(&EN -fi<3ẔcY|³/sAsO:5kk*敯9zyY9 'f5:䫙xc|'K+G ZRz9x9p&endstream endobj 173 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5341 >> stream xX TS>1sp<Z{SZjZΨa 3Iv&0+SdZgjj[ommn?'mmZVb󟽿};f#Hd+]W̙m58~ԕe0) i:(4m#DRrs-Z8qًF[E'W8miJ)&&fY01&P77"Er\;,ϕʐ(o7"aCW(Wz/jutq{\}|7l7d9sc7-0 $f#3La^c0Sf3`V03N]f83.lfǬa3kuƕYϼɌbF3f 3ᙗq=82#B2c$2%%'"HwH[m8*Ƕ޶l&s*\sufݡ[ {eXpev#F4ިѣGǍ>1Ƙ;yiޕo{iKg-W(E 8o>V8Hp}VVѨ 8{X׮? Z{r$3 :ް_ކR[T72h6 &7ߒ2[^f'~fQj|2\2ۑ׈t /2N>rrE.[5G/'K+ n5zm 4GX>w` 0'JVf*i,NWo!ߕpnq$S2|c:>2jrb9LgU  i79*cg'31&I=}+Qyߒ 4L!/1h: $~[r, zгhQ肦vCR3Δ×4&#]شmW@v'2DH|]1"CZy xz.f^G!|gzg%]|j$ ZVNFqI.GKF2wAgّȖ}?q?I~.8[jYP)WC:py44tw}-AoX]_>ek8UX\"Hq0ySN&} />3{6*D ӷDzoq ]iqF O[n>x,3,n2TxY![9[d%,ۋ 4/i(( p2Nn>6.B9ƘÇ6ֺ^}$#+[tJ+2@)Yo++5KS}KZ i2_=Wʇ2 A4|;Q44JnM)߲)=&%#Y/Tr^Ąu{+#ceZ}@k.2Ur"ac!P 9ڕprcD6$ȃ np뽡+6Z/UCn˙8̸BreR!Nq - v^:0_D_Ǘ 7-!  v}63pˢ3obY{k(dǤdac3w,Tc[ )Z6"mKۅ"+9)g"+֯]<-,YK٩)֞[*:ٚY h tFCJfzx,Cit9OWgőfJz3Pm>Ig8Lmv|>~ ͲPZMv}e'. /ҔC Z}vz>Hz$>rC`D$ ^4Bn%@.Do9s-sϏ hiZqSm;2v#%ԇZ/!y98 s}wIrA5R(4TiBi΃qEwȈ 2N3dz%U Ɯ.պdsܛovthHUCuE>E'WXhAh_\`6Q*.] 9w̆h!KZA *&U ,EJp))K т=:mTNPXz'yqlaIn-qkq3\[<dl[hƇcǒȔ *Z B5'|6] }-cfU{g 7EiRbm=l2="88sm"qI 4 D ;LM ?oN&YRTte+n]u`6+$By}:W9?!=*r;hzYW׷c*r1$$d2WjFJ 7I/;/콡]Z33j X]2|ݶ=[3 ia&w|Ee[e8Ȑ!5#)9#Ǝ΀NLxm]&L8㻛&TuHj (/p}x%eYUANWaH ݅ kI-Ѫ5YE֖WW%x'}=()|7:UJwڏn-)ۂ2`3s>꽎D 3OEM<Ϻ=|vL{cP&Xۭ]=;~=NH1E V3ǍIi՟֜ 7I@|O h`ǜZVGڷ""Av~(M~_𸨊<3&BIv+cV_ we zɫr;&ud%m NҩUjtGS?{_,4ZmJ iUNQFg]ݔ~?*-5Os"}vƬZ.v3!ȍzaGX~Jy#K}C.h>QXXJiO8L F6?PR\EUZN_XBdg335Z9cm_g ڳdd: I窾ڲk*:@ԓk i%2qZ7V #Wai:)*X#55h!ɒק{-" -b'A68NrM|pvhb,5sa[hѭ֎ұ>ÄK vxnt5C>Yloɷ-v#HGPfRl4C} ؿĞL]lX*o>Vnd$r>(7!7 @ 'Ky_BMs5͕?EI|d/|u?$~Hׁ$&=?|,e>>B ] ys< X 3H~CBi>V!bw{z,Ugz5p 'l $Ws҆]N L '']eWiΦx|G-Kֆx 'S*Q.Eі\9vUE:`\zo,Ո*eLs;Ij %On:d&|BA]Zn^j/1lo`|VSr:((η80 ֑P6t\M |jissJJs >Ǘe.Nl2,ݳ_jν&fv;q. ט,NܓOO!/z_agOGE# R5g?mpۺ)?6Q {59 ;"@ G0,HI8^0 pMxİ8e;ANe<[UIKجS^ӽ4],&K}‚Ϥ]#c1]OV2յ =cyqĕDy4YsVѰξaăhdx!seMb+\{'NLd֮s?PPm w)W!d붌hoAFAVU5U goݢGT{qC>5mI5}ʅ"():#>%[ cVV2#1)*  v)Ea,,]y2C!6 + n6 au?1 endstream endobj 174 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 175 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 176 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xyxWa@ V&@FK(cq 7lEV9{-dc)t !@PKۄ@8]6~ϣKsg9=y;oJ 0m~Xm,LBwϰ YV d|mz ɋCBc||#mz6w쉶ӧNkkl-+-hc;vodd)S&EL yD(H_ ^^;PK2jNfP+*jzZCͦRs(;jeE7)zS֔ 5J DM1ՏSA@*Bש7QrT_J#"xǷ'm/=i1Q4RKVf3SoQ~?5Հ ,g79 jUxě<î~[,:Flܐ̡CKYv혷?R%%}l5Ç<đ#KF4w3z'c5fSM╖`D[rA}ѹM+PeA(iأk-L ]9m#tG4[ :MF+9[ Ó4 6AM`/ViI mY\YX*;[JV%uiꃞvrrFMɳt?{ Ij'/szfn9pM%a8a_x",;uĜNQPչAȏbh~OT;=ޯK!TT֘E*]Z6@䀆1ҾEF5*O@YjYZxN 1lH4hФ4~&J!GF ok4h:(m QjM ItDGwf42[H/>A.z6X̣pt6Co6iնX(y>-t2oq]}D׵2IW-~ᣒEDჿݟ{ %kM9$k|湣$Rfw;B>1/@P;4nBҟB8 y㯭f'~Q2>SH}e> r-;IFp`k{w4I Y 2'Cgĵ:~ zo}% %Jp"#u\97[ζ*o WKW_c;Yy,XQ\F K- ,dC6MeӅSe x7Q *`I$ Ek ٝ_D8i>F԰G=@ hAga78ZQIQ8@RdӐyJ 4\4K8REݭϊ$X%A]g{ݒK//7X|bQKL82o$OӦ=S5IdB҂Z)QƄTҗ\9E<ޕ4- ͈wрFv~ECQw` \.WM$>f}[3wӊIM<.mQ~\_fpa= ?ϑ\ژT4CO\ͽ;hn&i@ȏgh9>~ˤÔ>zpf$$C\RRJ*;BC.C \6AD:d_4K;m]FA>(ݽwjcSKQ a u)&mB7,*T %%,^}If@QQNyz*v&ȟFff'׶_iZUUխ(}]ùϿc-+#KNj5'z"wcB0=R[{e."g&'Z.icG"Z^+}ES\ k,r 4yNȮCVU୲vSLJ̱ \Qs\i <6\${'%w:M¯G9ғ(RiTdUnһ]!?mvM1bpJcTV%jk,DzE*tau3q=}Db-Ei Ɛ Rcz(iBs-NUq:27LJox.C,}XyO#箔AVU[]^Ӆǃ` _7K: M%aP 21i4Kb؞n sW1x+Ci!QV#44'#!&tyH9ZuYUͺO^/z;/ScpHYk0o16'DxLA p Q쳈b!G$]e4,Rtv{Fq.!ANL3{t. mf=q ZhLjqo"/=zUn4JYjpuް)"gU6'DѺK;8[+D:jM4yu"(W+5D3]eR:#MNZ$jYBV?B@sP_6?6o7Sk!ݍ HoE|rp3 6k\R)KtLhl-GuEZ%*b ,+*jnớsx_3q t [ΛL\%-۱oKYhQUv"4os3L'ؽm8}AUmG5Zcd(}΄g5"$;v?0aLd:`W$%12ăd!*K(ˀyrJIӞR2E ؂ܲʒz(ও3y]^]1ˈ;),2FFc|ZnSzXKR5;@dĎ^~:=f9.:R%z]N>#fiy,8X?V:W2z $pғG%= Z)_t|Kᢺ}n$-,+& ?M nb13*XT8ʐM{.ɒ)Ij- |O'n.D}`X/==AYvFJh{H,>zg^(JruPCWY1a%xxFLKAr*Iߘp)Oac6 |iu,5I07M*£iZ'e+Ba0csj HBxki\SyN|v q4rblœ/V^4۔\1/[9y֪H( ) |2Ե/<"srߺઈ:IV fAe?@aιlE Ѭ4J ,sU A$C0#8@Q8L=3&<P4 KHA!e>V(UFi [azFyN_8q}xD*u3 "nuya1Zf֦e~lnVmI4+ ؃5WΕAD'{0[ZI1fѤ4XF&^;W%d@XŴDvnv lasMݧ3hxuݡ#:/E)W񪮝؁ ֺKIhwĬuVtJ@QHտwb>8|}bvyί^zHwN`Ÿ:dTjaUo.h+SHw[|:]I\PmN23:\kNA?ƒ.; k\7l!l;l AĄ'' _?K6D V% eL+9_y H==DX c C |0i8;}<;*!1<F5+`wV'\ؼxv{_NH\dO?5u<1ZV'./9@;?5yrq3cX Xkc湳|tںn%?ʔCl2@ㄑ;:jrJEҸdݿB,1=P>c8rΑnuˉ:-l1pL|V\stoA#QQ ~%a3o Τ^{/-p:;VL+&hWDw YKM :U^ ghA4y,Ӵw#='?F hSifhu%ȒRSeCư#dgKf~x]9-O5nLרi&j9?ZQ>)8n7So]cRe,_i:VFT{ 5h as{z澋LR[娖<!:VJ6w^)]}_dnsS; GWՙ %3qϟcP 4HՊy3#8XSQЁ5e!MWmX̜ȧoi:aҎ^7?d1/ ĉ-)~EPRbϔ5UP.ũ,<Y&Z-BA=7QIӖa:n D-O`{+sLe*ХGN>x(iY@VO/7VהW4A+s:5VUWnrxxtQ+<,\#YX:2dX -.GkE:n>$` \ ɷcO/K*btEfO ׎#!90@&ӛs<EwQw ^*9NmZ?}woǻ"9w<ꄲg6MƯm@TellnȺh --Z F*dD.'Rњ&ވ\fׇDhlB|KjBPNZ#%nȇ '_Sɵ\". &{W{  QgO4i0 RLlAI~_I6 fW$%)9_%D9y鹹:dFM/i#)#zQۡ?<"mK7;d331y*7NYOo~r64UE<\^L{2$2{l֏z܃v=)]a#KОcW VIE+z@3Ui!5*9@WXJa|k\ p|@_S{cendstream endobj 178 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1146 >> stream x%LSW'+L6>t`?4aqK TeLIө\tӁ5jAN6#Q~JܓO0iiQEuL+aA>8k+* eȚ8m%{mevk^C %.*J/.ح9")ȷrR rGpFFF Ey—HVGjfoJklE)\h^xm%]JZE!Xc1OM+@hZQz%5(R %@! M(WNJŊzj_iNk'4G}q)f ʟ_3)'x " #*`DAMpy6~5pW{h]U"$=OYKM,wg.^M_聩n2ɃLbFsDP^xr;Ky*$5qdWlUq=c#!i?si'ͭ->U~rI9Dj\gҨ4ҷ0&jL$ت5g+W`d[VB0bfTޓ'ta=f 4UʏcE/ًύp4.SYas_qy& Y6d=Jyl /`/>; :r8F͔yr;.:lPt5Qo]F> YI?\ENkm.7^N<9Cc<6>{~aF@Wq9XP]wӌqjw<`3[X-`1,Ccv8 TNl$E2@C0R#TϘ% GqO:ybjW<:N$c_ ԰3qݬaT-ʞB1!!^)ݏ;G(G-1%YcڶO;?aoi 1 Q51]ZCB`?+XҬtyKuu;.aaI!t_1-nvF_h Jg ü!Xϲ]ހ4~1 9C*QU Bߔ2nendstream endobj 179 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6757 >> stream xX\SWۿ*.-^uԽօ:P Wa$}{Rqjko}*VZ['N#}o~/9?2@ J3NЌh мkC5X!cdlX?fP7  ߠ~bwW@IXZég\ha"vwvq tsv $/;.-1C"Lw+v]T {&q^5>],tM} t[uPecw*5~d,q\.fzOntsYes"ΛႱ ?~񒥓}0y]SwO0RR Fj<@m&R$j LQۨTj;FVQө j 5MYQs(kj.GS6zj2D=5rXʔ2)j52h]xj eA S)cj 5ZJ Q˩z-ʐ ~Zp<7d6oXc"= 1vӁ^_r:x,y CF 򏡋 ;1|#dQȑ-l;2hf1 5nQsFc֏)S y{Ŀ˻JŻ+,-,hʇjʑW j4gcZdr/Q ҥ4@"jT̽K*Q}|byyW]\r"3 $E ^ b56ftСUPT%,ҌdQ3Qw8`]@mpVӢ/ﴜ9W)%{jϓ?o;} w at{^ed{ ՜daMd}WˏEi?BE|M3.˝;-*pE M {7*R%*Ȏ†p$< `? EN97 <݋ z4!ev3,V \q uA1{+w.;e%nONqxaǣ1AfNP/w^./nܪ L%xe =3 .Y7'L̃`26籰$ vlCLuc_xq԰V (K(3^=m_Elo]s\h=O#q}v9ks=\KB{vקxW*=3t9*8pa++PC}7XA"d%b毼Zh!JeTO9`{ 85ԫ7ڡQCr4KVDW 1uUFK& 9̃`5ra6="+0%#NQAVVAPc][Y&lTf퉲@{Ӭ+rXxK5M<Ƃ)rH#5u xn_tէ7;qնͶq &44?|?ZG!_9 뺒݊Ry}^Z QT fS)=ceWC%!ŰUfL$rOM ヶmEe7#3}] 5dU7‘ZlmQ|D6p gsXy: zΣt=D.j)EvZlЪ-QgR#HޭSxl "CO@\bަm/~&h¡˰I-3(*vs;ّ][798ش6<}>.WU~q9)ȫi#}7V1V-أ0a**<&{r+gGZڣQ3z #_w|zz[ X> 1XbS(EDTZ`|豒2(FL'yLxnla1*UHF򏕔4eW|@'0s9EĹYg!Img1gujG_?_^ uڰ\mX[vȂ;%e($AS%3PЭ 4mt?6K)?IݡG9hvTߢ۰sƙJl=ϛKU0h<ë;%AN#j5 䈬wgwm\tDz|щsWPVLY&r 9thF.g^@$@n(^k Me:5FaŋH)*Mdj|`|=VtteZ j0foF aߓs`%- U hj,ШIOrO4k݆%ۡku;_!a2A{r@UC#ǫ22soL$V~#w.ԩ ' m48x=-!/+'0pŃ/6XYQ\8p1=gVojqF_HK&y0޹hf](kvP_v+iT< ,<%>@+cvڙx̶>c k V}ڬѬLh]`Q;fF 8?/;`!)RY]p-{@EQ O (TW׷~6QxDq4 ?>ctHcҎf6*YHV0#g#tx\Jfr1˧q'66KiV /z4vl׹c?02T\[e@3LKe%"P݃; {hG2@ vVjWX/6϶ ;68~Us ]`̿c/tb?9/˃nX>j90L=yq[Vj+>n _Te/JsM;BOTC>v0KӂkI(k;h&SuB=mvl4d\E TT%aޞ%F7#5vA<6PO_Ofq݋l ~?];o:Z()=PBz8allZMdA+!]0i fjO׾zƖ_2oJlvG\Ow^5P~qmCwbC8B{S"=' U0Œ ..&ۧw k3 _ÈO<-+"jy_ƒrnQᜋX Y`spSփ :u#G0:`\71Ь|3MI ]"-ąNNN@q!Eᥕ%|+{gߥmlpt;UldHͱc5yy~!~> stream x[]s\5}puG vYH@na`{Ll(t֝;NC*5%u>aWrWпM}#v?qƏ]o۽ ʍ.sl' ?:v3b jOqt6mM|в4tMRFoPtL 2ASdM"L p\„15>ћC;2nr;UJZN1xrÇ{b1*/p'F%fMcq!>ƠC!ucEc.F(op35B6W;q)kNzhj.ͣ*=:Ƕ'щHF'S>msaH F97|!p(r[n4SBDq$t5.ii/BqiCym1}ún hAa\/hKVC(h5huP"8woB@E),}kJ+ xs各VQAb{[ 14մ.)ʣC/XK~~+}N&_'醧$`Io&}uó܄gh 4W{ >K9Fke4-YUL@NIo"u s 4,hgn2 c^#] :=T$f1_Ao6ESqv@;T0M#.nfWP{ddP }I`v/3H4 aMTES*2$Lj h6s;ߛ&x M046r6֠%^KEAq2*. Ns|ZH %n{AcZI,LYRHYHȖ١V N;tLӀS.QVL1_-hP6_I853߯[t4i|?*I'.*oD%ʧ^팦n戏#’d|[]9޴ՓnZiWm-B _F2=cJLFi4BB\}RT9 0` 8 ov~ƞTH <] M݀Eć`V9'*pf~v 0(g.NUyt T Qmw =,6>n'W7y-ذ ߸/Y\m΢8`oQG0J E hfeIT!"or|5L#PjcIpI&r3zބqAWH> ?lɴ{Q6 98ds ]Mo_&4}G'XHm6atcͷEKh& Mg8'N$QgfK>Id }''׆)tQJ YO.t2DZw ])su+Y-F<=nsH|ѝyCLجؽ M,p"{z9dS.zR*-2b>?~&d:fY蕚 "(@)PgѪ2"/Qw#NtAӑ^3M$9m{+jg0o 9L_!7%Z#U4i񦄩ܙ$J K/@tZ "q"9W\pԛI>ÖxUfe%;K[sFy~TuJfti@(3`1VG<{銉kdPcq)r\քXO"%[hBIl q_ DirSiA5uAcVe67ZmCS N zMT=.<Xoamj@ y` >[;]xG W YG zlFP#"(DR.7] pb(atO34 ƑPTєi2'JaA q>K;{@D疨N3ikt:%qޜThx+ܟLF>-1:fĩLB%VMBUsI”Y[>`JeaNxt!3-w{:RBZ!lq6^on=IAU(6(V R$KD9x<@mҬQ@mKGP1Mpv"pahh8΢ 7wXUt'tJbv->fm )Rsf"BXrC1<1YMFX%OZvA]X㮙7&lmhNSrUf8j)QoM˛ N;0 IOWMтW]jb2Rn ~S[Nۣ,'1@9(m#1#.7Rq!0S-"RzҚY:)NBۈ'-u 켊z`#M:J5 Li5St6`0nLE i5݃ q_b=>G(&o}2dP'zi<᧽?I"̸^-bCbI4`_UidN쇧I %}iuiOQH!PX}g2Tخv>E5l[eI]NK欺2y٣`Ay`E9 GN9ƤT?*n7nV5 7l/PZJU&C7'ϓwy;PLc1<{rD} dKMм:فs/!9lz +vڥT X:DU(=4Qz(dAy5ʼ%W2 r{-k 79=1T"UyHrUuOqG#{K-+\a|JV rUp8IFy r>q.`W\1/XMDe/j q7=]e ZgYP7{?n`@}'*XjA⛅5V }%{"uB4Z-]m}_[m c>lKdHRoBgkBgϧ7={ /(I`HbW0҄W 8a kF̗w%.J?*OjGo /47wL[Ú[lH-7 isa󿚪B˦8b8Ą(#m6 <_AɲZ۹?ClRU^v9;V'D 񙍟lfmyg cJ@eKg5gϰ= dBSI]ڿTzW7 Ez|7̆gЩtR?S_ GlޭE ~EtZ\h-UgO.J^m_n{kendstream endobj 181 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6000 >> stream xY xSUN bJދl, etMCMٷ6]C7B -;b,(*̨蜔-#32d-wA0?NM9r3r3;M5-}g͙69g<'g5gg iD:3I )Mg99q"998[8ssrpYʙYYΙYy"-J*\HN8gg 'g8g&.+g ]ǽ3`N-݃#_  jhC+ V?H#gGŎT~|B|%s| Z(0 ر=9Y,gPs>w>_ֱEkv8? ,ة˨iZ)/=‚yA; Y}v8+`dz']9ϐ'>W&W8|DXp](|SwG^=FPࠪ]TKr؎Ic6h3Q./(Zչ4uZP"ʰpxfUL5hĠ"}!n"+eu:%9$ e(A`eveNMMA2>hDDA)]DW4&MF&ezFtzES罏Uh֧T $L$;O_]hM;<!MZ\=* Nz+MeM *5h6iA 2adc?og 5dָkCuJu.4t v 2 $ZDƶ 2DہRljcEYi+rhJ zz;IGstj1Re%;&NMUdنrhj_ۉAѻTёuyo%j-UЧ~W󂣃Hl.Qf1XhKl{޴ Ӆbiդ5@|x+Ek@/ьSh^P&أ3]KVb7(6v6ܪ}:i%qNt܁Z?,/؄ l‡1Y4V c2D6C^~)`؛!H mDO☼k%Jִi3oW+KOƝ_O.4 mG/ t.e܍K࣢5>#_Hq bHv&d5dKqST̗_|ރ/CC\؜Mo)mms1UTzw Vc&HĹ^ 9wϯET}Rz o?Z:C٩K>? +!N"`FrznӜ?@CڨꮎyVo1zc+N/v^/sO@GoA v֧lS9mqfvtvo)Q_߷qY-DJKoKWFȂz|DM]ߖqX{DYcU)1@HU&;l,>^!@5Ȉ{@m\4]$Cg :QEFrFA+i*P|جUrI=mTBpN+h gB*!9754 2S*?>ڳ)G}4<&u3Ӽ;S }b|?N n^z6iY,٦`>;qPMQPw h{$[e-6 ؼPBTJ=xݺM?UInZ,_ 6.bTq@UQQYk}&?&/4 Re"*ˑ7yI}6Gci\4yC2;OXs{v,D&_,vwTe o,oWo+Q We>uϙ1낝& W nFxeQ&FIFUM@HO;Ό^-֚M5ø[K0X7w`.E`s=!\6d@Ͱ'h56vPՂd 8] 89ys~y Nw 0:2e\/|Pj%RX=Mv^QNf2_X R);3f R}f+Y\Y~p*2K$'װ€6}2`ԯXZ]ת t.,-u 2{~wxO%NYv3˔;R!ْ:1=E&wIkҰzFKu%41;o s & ZDۿdw Jm+dL LG/a/!} iTP,˯5yp>5]2oL/8`q8IvPa4/ is3o38cGϷ,efωҕ"i^"LUR]]@əZ20hyF uZJU.WIo*ȳ(}* nif$)@nV74ɖt'GC%zFߣ!7c{L2}r?2J)L{/|SR89a;H>>\&'0?6 'n/}yB;GHmJi T8PJwox$WX}#X{="[#2얉Dz$هb18Q ]I]{ hH!}@皣7OuNEp^6 ʢRУk/c.kh8pc ,))= sz ?:鏡k(w0Mga.^ D> oګ$[p8J!t̨ 2#uQa^a$ ֥nmTYj(.ASImpL/"#ѨSމltx@O H,F55SЫʅ$T'NKf'nѮƚ{[>;K)Qs)  oD|Uۍh >-8ebIFf|7vs3hE"{ߏ4hԺ 3u\5xc:lB4#bƂg_p]Z3cƐq33vM0ii#:`n'47+<f5=Fֶl2 Ժ<[KoN4@+'yn额֐CҲA纷C 6sͼBq2Ns-qgl%N:ՔI &OR-e-e`D ef͗`G_.@J/XVXHa5ГuHDZs&uZ5 C/]{FcpNC*<*( RH3!âB1npb/iQ;}?"pe&sFZ0eh1X|(C[p|7-š]lUQ([%0PԾU\YY8~z_QJc$]YKM~S蘸drr43R{߸=%P(ܸ7pKEmuY\j:Imf º;B~Gt^6"ZbҾwwcMŶ%۷Kʣ $_x,p ߝĻ ^4*9lu3V  2vIٸ?`J&nZ Zd84ۢ^~!.YG%B1n)XRmV]b @chҩXYB|]IW_`}oMC5 <ЕЉ},E13[ Fu aʩt4] _D+2C* 0#=HvhHQ-kQrB߆:*R 9c1vweGȾ}b0?zWZeh/h Iب{t64LGuX[iWX DORlu?FQX!\LZMFcb6-\}^weg]zl*$5^$7Pe Rg+ ɚ\Gcg_Џ.APrB)U/4WOAe$Yo耡|D${)"ማXGKJ\qdE{+΍ɢ#!B"95C$ѕ]͇KUjv^hSE9<4%NS`Eepm 4܋uȦ-(K|bDv>mJY>]7 ؞*Kd kChq4RW†No,$nH!>cP bآY~QY=GRҴLKq*!lqm(&PL`tЃ'NO\4qy(/HMIOYVPh}d[{#O]*X&{b,4^WvE=(\1"S1l5laendstream endobj 182 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6588 >> stream xYyTS׺?TăIĩ uMz$@b_]뽵go}mDs?B$ Q**x- '?Tǿ|^}=YW:Wa&I6*}(J'8c ٖdYbybkK<"JCl\. r"_}dc|e^HyLp/["V#cYYHTd"NlA,X(GRxL)١ſ1qPY\L*EEɔ1QoP~l ΍Uײ024*$^]\"2V'O"*b\2Fa5!>V~yu_!*vd^+oW#>eVS% ɍ Ҟ_X raEKbz-_"1xeU)>r0lt '}2yiG̘9nܱ7}?O#_b$G$Fh"XM!c@ƒ$uBCb=@,&>&6KRbEL$' b2BxSU4‡NKbb0BBH '=b(A.D8џM!&A|Ýp&E"^~t r%vqC;oV[{h@b׊z8Ao 1 h 9JTf@K5.בsj'#GiG㨺fS?1$,0(saYE|lQZCķ` ?o߳Z{pp݄ϨH@ա͠VcNJ+I k(ٍQOMbJomrk3'؞CQCϡ:xtzS?ySYTf_u!9$N}r5eq ^:͇9 F 1JB8ޗԐRŋg vZxEZyV'~(A0䎸_/"8 ^B8~F/I 8 -D\]ʡ~TBo`-ڀGD=z D;?C rCL enee 52":pcঠ>)%4J#ן:p Tb1;'7/'ZEeAuaWu`? m'wԇ]\bT錠CgH_ h1;CJ|,p~c\')Lǀi %\ .Tx$s)h8@ eP ߆RN,y:"V.]ƊA3>QS}>3H:dI L%߅C]A0Ӑ^-HX> >#Ӡ)mOx- d祧. G"qbgcf G+\"PirQcRЉ%O۱!%^V)/9|'?C뭣G_1caGSٟg9&uIeIIm!pHզ >#hZ6T@^Xb18T&)'@*ݺg @}LaqOpM%gd[kqTX[[*)J%&ŲpH@Mv]Q]oteEEy}_b534Ē3nolVeֱjs,EHrrmgeBZ|02(M[_[էUsFӠޝ^YRh9?xPoԛX}(lO\7Of8J1e(g*)syY hK j fW. i hϪORGkt[%FLQ3u?I ^pR]:)"l]h8@RDFѩ $x˷k"8 øfHK.veliIVdWrTmlPܼՀi1MzwI%}]Ρ ( ]* ꈴϑD+nQ( H5>&[P]mq5زز8lw!|yu9fzkK>.ї֚py_eU }~n3+!wqSȕS}ԥZ Pq."O:ʀM>AaQބ%%.4~RVyU"2SQRV6SU&uqa^_v7Zr`HsiWW(ڌ-Czڞs]CJۙ ֏'K{Fdo0F3?w=8wIeTn5k'>i5p!9o, 9,/zk'v`7!1 >tD*z+ʋ~BJl7U/;p9<iA8u9:w1)n_zdWCʑ@)bѝQ /^̣Kӑ "deϥ$z5?38ѡ&T+lk{;M&Qe1[[|.9&]IP豷Gya֮i,üm+޼nVMH zyrDUsXM zs;ͧr Z@[ΔrU}U3%>[A3z]N_Wd5tm:a>BItkK}K+ aabzE|QKP zňU1!a=J?c-;+s5PoblV(&ڡe)?<g 1g_hs'%M"16mrk(4`7Gp] R玥kGO^6zr=JIbx6B ^Zxʼn72E 9pX`v8.-Ő)јT<ݸ}n7=.?1b})WbagjTwB_C"%lDZsYmpYqʆi"8.ЏO0ڒD'Ȏ\iQ]Z` PkȦ{tC@S١ښRͥj*77_e&&@Pĕ2ea]C%c+&D8`bĄ>LX+ Lczf\Hc+*n^=TsH[AƜXV0~U%gx.,(՗`psm,Mq>+{c,0(x3p)4>g`Hh lT>ݵ4?=%zL!GՓAKàtgTs ߘy3VYcNɨ􌉋GnM`3JC-48ٹqYSxii`IMDztmo9p tC)Mq51ʒ>1%8OY'M-)5lj6ܩ{nVAiYaͮ_$&i7&3\m|5PL%SǦ{mXiC11OkuOKP]ãP)ns?qn;fRi @ȗx\itobxU gYS>!i{|b2_,EH*F(*8z5Pa}. 1=¿RW}4VJ|­ēSLkO+՗swOڠc/;,|KKҏy:z ^X(4d"Se3_:Rܝg)؅[a~(-Qqƾߚ(9ƝyA_͸ηzGCvGoǽ1_-CȻYh>~/ }9\_Mz0I!8,a6S;ER&@+ď=J8 U(E0rvk; p":6'<|ɘi$o I؄1 ROx="8ET\=|cӑV@nZR&ܶ43idxh@/ ?|_ޢzEZgzdMdHsL9ŅzPXBY+uWC}\JPƛ,0WpvGi_IeWfQnDLJ4ZcXib_vWOnDQܘW+Yb[H|.GO\w~'&$l&6iJ +#M'F{{dA% ~%eXzij4 ]do"! R)m-p6޹ ZkA٪I tyRʨ)FPTPaey @[ҐbBP?m^ ڦ1h0'cf|zVs6[`&$A-Su'.<Aѕ(e5*3>/[Mh?A ]_sqU!3XM VU[[܆Bm=n)ar]y-By >8ʠ]ݥ9yZ _f,.f:s=wuDH[փZIw4VUU6w/o|MG"8;`? sW} 2|(˚}lanZ0w-g=zf3h)s',Y~ww {1&"#Z]Y[VPIwӚާ6SBE0 gt kTk~h' +W=e&h#}|ѷ' ߛeBS޿sYiFyZrrjH牡^ypyj(A-f懙E+H3GN8̕Qm-GƝsփsxͯ4r '{ S> stream AdobedC    %,'..+'+*17F;14B4*+=S>BHJNON/;V\UL[FMNK Ws" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?Z(旟aF=ɤ*Q)#GF:L~TҖ('_JL*uQHHHp23@ "d=iRjKE!8RdGJ]?Z1RQ( qSG,OE4b/S袊)֓"(?ҟE0 RGiAȥ?x‘枽)hKL?)SP^Q)|JwQHFF '+?ZPAKESFbjy?ʝEQH@4`?&N3N =AO?:()b>EKM6;iSW=endstream endobj 184 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceGray /Filter /DCTDecode /Height 87 /SMask 183 0 R /Subtype /Image /Width 115 /Length 2510 >> stream AdobedC    %,'..+'+*17F;14B4*+=S>BHJNON/;V\UL[FMNK Ws" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?Z(jȕ]֬Kċ[dQ!gMn(ZW.?Lo4uX[Mը]CX7,g85Qnvz˾V!?ͥ͟^! :ܓܤfno𦶪q2t9o r52}Fžw-Pu ovxSoC]5vv4 r}+7;ܤp;fA ޽8E_*NV1TzSZ ?@J]W1&xtkgaG'ZxjlŏÐ2![0xJ(vZiJ[v —KS_]]Jl*HUs/-1$#Vu炾O;G.2B~?Ͻsw!xu$OEɹQY}+g_u(co\ÝoUX``>\+S]M:Yjv5i78]L'}Zi6ikc I'}J℺ijwe8ԱH';zA45&_]5!ďi8@P`-u :}fnA뷱~hu;]sDƸiWZEec@|%Q9mAu]*h;9_S M<N5~ʩ 0Xi%toZ[VA$]?OX*+B5W͞ZcrwE@?P?A.MV XtBsE%IY$S'gM>Ӿ=o,y_~kER6ܼS:ɯi;`(]}X]^KB`{G^ 1-bEf$^a:]XKb3V+_]q?_2Fcͤ@rq"t$/$Ѫp#u'|v%=JoΟnR77Rݲ1^H,<μ:'RGq$2zW_;FPep\~UWk$gEokvk0z"~O/]Q]`x\?:^_^"Dm6'4gEctHϸ )ekX/Mε$׊B$+B2t ,9b=Iw kJdq-\H:}k?Ci}dq]EZ}A1RO*Ge=䓑VAo) o*aKwn^W*jٚlZO^EQE-:lIz+ϡ} -vr[$䜚kj {} uq=M91H<~~(PZ &xd[/ېVn5;93qՀݯendstream endobj 185 0 obj << /Filter /FlateDecode /Length 4865 >> stream x\sqoMc|`\%;.WcXy:Q\} ЍŐ;a1@?Vr+OF&lnOgQOr;Y'Gﶟ6^хPzn76AL3~;9#F`T2QVCېAKchzNg-Tri?M^NT6&TV[H"懍.>mշFlr۳dFQR٧w !̤ۉ+5oaNp1Esv_`K88x]L)S0ZN. ^k1*{`GʧywH& 7~a{!Tq7Nj8]x9bSHG"Hi0.e&$FM t5 <"%:c4P^ 9\ߥ vÃAq7FJp L/; [ Sk_ t?-;q g(d\_ 4qFEBD\}&_a@mi)Q.d#l˺!?GyK5)G9pL)=C f8!T2 d*M$ a.^~VB1XhDEs~8| &iOq]n㞵0qzMՈͩDJ)AԇثfvKinm6IsLitR sɾ!sI@^I^WMdY{¨ =`VLgOUqsVD-DE i6 jꗝ@!fj.% e"NtLNbEE{ң(dg=[2}fA`GM}CZ]GқqR}C 5 "Dh8'V@ܔۚ)- [Hs;fzBV~JW;UW#AOCߌm nIW!If:J@ueB+3nԄ&b+La(9uPWDV2#sz_VU"#.bHҍƔσUfg<ǀ%T ׫k*>FC`d]F{ !B_1HDn_T Gs_ ӵ `AtUˡ fԆC"MNzďՐ8tLЈv pA^BDBA@ `1gTSѤ$0L1Be1bnE6ۺJDhf%g ٌZ~:dL~ cCUh )PzZ&͍ c l$PP7Bt镠X=9^[/LTFv{bCԓvKPZo(MUZ[ulٿ}Akho_K C?2-_yL2rۃ4da YM4n!ge 7ʽMI,fuT)+ȋI2trH^Ա4¼ N=ᖀ.ŋrPse+/K-Q!<} Sp2qJSUЏOmimβ$yA+)PRK Y@ E'<3![L+ B|u 9+(r|8k09|wkb85䛺+V=X#V,T)J9Hi|YܥcgA8 fO Cl50gtVo6Q12y45"mU|oK w#i}ayqT eĜ.cu?Fwf^yK{}bg{T1d$pVX:$lHrq8X˭_b, K~AEuCX-΍43USc+rXTXe-z H:mS SK*]d pk@@ʕw u]FT?Cs!vg\Y^Rd,vkTskU\(֕m5C7\2Ck:v[].W&<[=LikjZg[oSOVdCCgn `!}Tˇɿ0gtBY僯}%dv#i-i|mRxh>g 8{2Z>iT:HkrŁŵ_BCi}(zq\HD9$t!po}"s@(O 4Z`QCi54r&kj|Ґͪi/q)neVLW-Wef:[+\|OQ@m>rgϚ(@&/b"ze[%ÿ1SΝQUؙyyEH4U$͈9bDg&w&u-K p1DRmj9OLJuxii)KA=XPkvׇfSF~X/~QdXCjsz?_@H>޴BGuUmA+" s h 9ZMXy  L?grD4 ~Fٻj@D"'Á Hm;: kkx=lf L9KfNp)bT)ۢE糭xm)%MW8N3Z :-bf1(p .@;Cnʔ RE-%쒀~`KLNdAԊBGDruMHKo'6I ZlUע&LLxce-X6Ef9 VLI~r.LMzѾm(7b5|٫., ~H֬@)SD5aCeP"uҽx="v(c1&h-TI<[M{,~m:+bQ$m~XkWRk_E+'&D dQȲ'n=Ld!DE*}WzihX`{|@=cbWf?4$ah"M'8V5`S٠8/^jYeJKʥ3_I7 OW(,nzO+9=KW^?Xg_в+>K`m84gk1ZH8Z3e:zrBWk)X |!>y&*&͈W(M)ba>=Sq t9bw~HUDD}XzIM樴_$Un…y~ove9͇iMU]^)$l'wCwA8o$6*.$#EqObԷr3@̑, y9/&:bqh͠"b!4A:=;щE^&~H@O} "[7yBKr򴬘.c>S-,Ik b.(˲E`)/)d8JL^usVg6uyZ~b r$ MqƤ=3PW0p0,<㱂8,b z~w9&ڼ Oͮlq #YV=b1@}gwK(V ߑ) [bc{x-M֢xLBkIǙҴ~6* ;[Hc')VWhi4 vU>Wn]5QUY 9&B~CI_.]S%{]`f}Iw@l.Ky<Թb$HR@kjfbB=>w;֊/ ӧց&x?Z ]ȯTOLulX)fІ[}V׺jnvZW㖠H"^.hk3vM $%|L.ن:"4ELKjz+n0?sx~{? xLmdd H&N8/Ѥ2,ɟ oFo_[[+x[T8Y ԯzKxۋZ~$V9K] -^k{zt/zM$iU=8ŵbpj<EW˶^WN,uyZq͋W?D)'VF6+c= <39K^`b(l6>JE UuöE ui}7UQH-*>d~.WD&17cR=׮8+#]^ oۚBg5`\HZ}ɴl׋YVkˊ @AsQ 6N x;`G56gO%Z V6WCB$zz1󒎧lWaXJ6C'Wjm@Rv3!9! 1#Abp7E{@;6F~!2cF_^GŶy5F;mFc|T x yڪ8]ZPZߖKiq#,{ePZߗUi]th;;|s3ˑ|[mendstream endobj 186 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 354 >> stream xcd`ab`dddw 441H3a!/ͬ=<<<,+_!={ #c~iKs~AeQfzFFcnjQfrbobIFjnb ZRaQRR`_^^[_nPYZZTWqr-(-I-ROI-+JLXȒ! ~gsɿEl-Ь,QvpN8gir'̚6m?'tO7qQ$&endstream endobj 187 0 obj << /Filter /FlateDecode /Length 5161 >> stream x\7r0'Ѵ~ N88%giz%xwgIbb{4#.Ū_=ڿQ 'D&?8qƏSo;> ʍ.I~t&zgĨ*Oi06l1~l=k=&B t pePw<PN'H0a,(ls|E1S=aC Җ7{ ظb "F_oî6NqH!GтifP N!['ၪd.6&Y<ڤ"&c37+ ZTjB =KةIjqRy$pշ@L QoP/F;rXRkOܥCcmfq8#wDoXyA3Sc ny=X" ̎#ul \Įܑ=r*iJ8yD8Aw=fO|S'7MF'pv^B=0 1>KYʶL{^¡Nދ˴mɫejW;o7Ja9<ίXVlyp\͖+4d QH@5m(~ѕ"—nu.lDfղ줗>Z'ژD ;7LJ9i}j&N@nvDBU2^?绹H JIэ{"xiń&-" >DUwH-t5/¤ auW ;m4ߠ پi&-2 ~U|h-5x?3t3(MTߓ[jQNaClE`e=_Jf.ƀK 7N2]m8jVɧjV3*g6y NvDAq¸*JcP8H,c]@xo8͎Ĕ3T8^8C#Z3/i]LmCu kYl s-P,v]7Vbog_;=2[Kf :u6gȆTS5EjtKl wRi,5[nh`C m)IVzbV>˪ע,r[ )z2p<@-3{!+\ඉ yAZ0ěm&~+V+CkU>*ǺVv:2)))We?U%|UU=AЎ B'ԗ9T^ : $2V3\p, d'Bq-K.BEz"}'0_@gg5wM BG"r8sy.̎rER-kLyf5;hG$r"1!F 1WDvGM>"Xf4N!jk03M1en8̰`NZbp1r{q &4qfN7W]8=(KX¨L[&@S~#&`DBh{5jHz8l%ŖVQN{`Ynר{f ;ov|l'LaAj ى#/:.-)h``7߰麬;{(3ηR fzx0yB@\6pNA}Xgj`#M PWgG>&=& tMobk2JA^]d$wL8eݗ &XPQIʤT `]QUDCYwΊ;^ \tfi NeNf^f7i`>RZk0j8υ_xax$*50.Qi$=zt=Pd>gFe9w5ĉtu5mi˝BS\Euh,wTXC=J Cd=U7\b&XR3n ,YRӛt=hؕv^m%irN^\qnv1z>3ޤvI)[]r<`ϲU^I.̲UnrKpjZz|f]*LujM`u|AS@MLo;*D-5ͳǢ*?."jS|'9O~zI}9syD%y'TښNTճUq] GbCҞWgUsOy#.q;_}Gz#P֖]DtJ^%e Եa]uv2S˛#ou/4!lh]V| tzd(R&|Fg4ep14{&:}[=0BE`9Yendstream endobj 188 0 obj << /Filter /FlateDecode /Length 4271 >> stream x[Yo~'#z # ;Gb3ȃ/&wi.u8>U}VPe8F{{O+6ҿ7GbT~82ʎՆάn0\}r+kUeq?Vi cE F1Qk˧rލVC z&#ݨ'gr܎qz(M4kҙnHd7<F?7OOb+?z#(2X8zurs|t^O_qf%sƔg더r\[ ;2'tȸډq!`{3|f)~3@VƼqkrL|f;;pxMEiG/[|utwk>2hP&ePh_Fwe2<0켌e$ʈ=8:'E*kIY:|R~VF2+_cYm˨:W#j4(x"V/FPcl+4jb~_h)|.Rxk,+%] :}UpyØ!, [vW&Jp,Gፗ9$k6 99lbtf92soΝJi3\7[o`4z`KB3 5>{]Dvە߷7&H}Nk\㘴`<fǺ7ܧ [1yqk >_uI`(b i~.q+`\ ~-yd,ZB^%i-tbؽ j[u`D\Iݥ"ދ{oX@$Fk.5QI rJO'=rށ 1la{j95h.d,"o=&@x"p ^mϮǪ7—Т唵ws=w"4%2yS<QS u"xM_[gG]B\"- Z]KVW"A :1l+#44!\:}=qdZ#{E"6{Ô!2lWWeʝm7I.x(OXV%{iM1Qj+[L'Att|mT-5jA4=-n"J2E7WYH,`VU##id οU֭ZcLk$=5ۉ'3 rvHBiEH;,oD6h ȍ3ava-Ӓlp Hү , ڪFOiNmۊSǨc 1%D401 q2B˥ئp!e6KHp#\-T^梘5 9BZ]v?= MW>, *V ~읭Qin3lk gphe6n2/[z@\LPHR=s8:F3\"=%,ә0CnF*.F?[#¾)֚w5 lθ=(ڻzT-vQn=ίۤbƾ4G>a7A_kSN֣i%)i. (ZJNN?2/GnjpSv1)Q$ l;aPsVBˋPő iqR2l)qgiB/ 9C"f4hP%}H`#0@^lueHץM9S^+B ~w9Q֦6>$7}'m#!kf647ih85M ]L Be(N3$XNDm~9g1lS4L[icԴ6ϼdLbq7/*YpD$rhꎳVVNZ!!Z $wUOΔmL@Ĺ؆c̣ڰq';P}u3C"بnFQq:niڿRi$2LޖSې6ocq7\*x7^'H-.XL qU|ObXNaH@i뱢'01qI:TnL{ Ls' Qv aQ34!E=zQ:.`$ߵbGP5nI&?J"W>:Z`βc p$ʈMFK}.'_K ^!s!sx,Z2Bd95%T^RWS ??9'_lendstream endobj 189 0 obj << /Filter /FlateDecode /Length 4158 >> stream x[mo.G] nc;7eCkEtNq;%{ܳIy!9gR?.V,:oՁluX9Ovrb/mkCH=/BZYݵJ¨Ehf>FwaW_7:5t5Y[m[kʃb̰4۸$6[8?@DE._-vt -BRXZ@(!ˮ]ky'lm4UBp8„ i^A?,R)|S'K@|G)BhCC;)Csfwm>?<|xK(Cз;u?pko͵AI8zvpodz-.mY>OԺIujEjmc+XlIDi\ 6rlJ>mRqjS&^ieZS2G,򖶕y=$D{Oe[9שuZ5G |48%nY_߬.?!B4?|خ`9zQ[UeN xDN߉,}eU+|Sr&djuVi:}jvåkChk%^U<#6a*b.:[eɦw5l!*hANᔢ]t3bO0*]6(7_7~{^Ynt~UcH*pj¨7,!h%t`0ki-v+ d1 B}࿟Nts~^1Lr|x;t"^\q4lLJ`q)SvE!2҆$ ~rm&.1@E2n-Lttѵ/QED[TDO; `U,#ݰ"xk}C߁@X‡)pʂ@ ރJA93Ј>^֫zTըn;hcB% M|[?06>\qI9:9 e/\ QҺV!oK 1.T 0ع Į` wP5J(B&$ ϨmEvFg)LVvv<:}uLcV|'$4QXcaF_dg*4daA}HM LJP)㼕5K)Ӈ$Tvܢ4ltBQeyD9GOeNLT lB!*jt3z4;l?hOP 3i167|(+}X;'-[eSD- 4HNg\iKe ˚wqr6$pfgIV"e$'e6o֫I8;CJROX%A)1<ae,8r0ct<{C:cgp` Z >mESݝ;n 0zNVl)x9\0>$B0@`QI *B㵇WB|BNn`aK!O6:O8[7%[ ~4uHhf+T2:`Z0t?R\UʟZe(vXEl|\%i_ V!T jwfOȠ@u?ȺRr` Zem)KkPH5n/lJ &`(LEO #JJA*~ge1*0ׁTo3аը9 âJ;CTBmh砙|Dr~8N@ZZJ[`*l1cv iD" [ǕwBk&1zK>*+ðW2gVA`lW$9 Mn,S$;Ob[ѫ>`Vx+uQI_qd ʷL!L"ϛ/*f'bVb΁BssSEYk  . VCsˊJ;"LiΎs 3X ?g%[5nvw,kPO5 E. 10Xxc9O3y LSsc?3Z@$-P` }r&I HJ^_Q/j[ x5'`z[ e_Xܨlc(D:_[-C U^L1MQf -H,Rl -X0]Ĝqpхcv`hVmN{"x1){hP96'F $AzS VA

^h2LiCb!iswf{>,pJEġ [D[f=%TڔYBP'M*vPA̔S4#C'Umf5ΔTN>Tpo+[JqVzR~x'‹?DzT{k3s28tEV%6ٴl|qz7ڻy4ӚmuP^8Cy NE6Y>Z3 Nyq͓'.ٙ2g@<eӑ6s`~ٗ/9Prj-b@FsdFLtҗRI =56#r*67Pkl(4@fa狫M貺Ʀ2CZmx$$[,Z#[q_ul^cub/ڳ}T#{D3 7b(JωX a`Á6TLwWcʂ0/_nb~mGZ535]sˉ]$mlIۮx! X$ NRe:}P3bW`/֣eUVkz*4.n7K̝7&l]K9 b978PXPJ=b8`ğ_2ؐhD=0(SJ,, F!b.2dYP5; -ݢE"qrZdE.Xc|.!|olJ~N :yr&CEw7ȟk!=_ xQb3˺RCkyBO  J}[2BE)8L#w *ġE {Z\^= "]{a3/4f^'$#o$ޔDN'!_،ZO5e 7lu|?i{J ;MD9{:*d S )J ;Ӣlě)`P ;/YVkkkBXUÌ䗎G,H6gА_YjcyC _Ȯ?>h1@/ؾ`aAW.t7.'W4%C> stream xYs# ~Ӫ6󡝹6IN28Ӈ{9rd;{b+& #@V=w+۴eYyށ^硏~} IіU ЇF2!e)ReFJo{ņYӓ.dVLZ5~Fy{0*B裂ƨ*54RQe&Z_~ZAvz]r֩O^րnW֗:6[HBݧnW)*S%}J%7R٠}4T!j}g!BzV J'myi6MQ?/F'DFkZ. oH8ƌVo'->b5+-tlcLXFecm%oNeeXF?/=7өwE22|xq8 /W z\C~`de^]l)9X_}u#nCȷK.࿸Lë&/u\}im ZLL$lt=A& ~Hk0FR.11LL_ezSw鮟(]J i$ [^:諸0!@Pb[KDeCj܄$8dV)Dp #΢ \дi1thC@I RcFbKɔRs[FY!gO*o|w7P} ݽ'iFGTnBD䥎+5Fqw4PQ,ԡO!5ie5uZmG$T{P:ʡEd!\`14ր]@Z'i0~Boh]<U 0&I2Ub6;0.{\V >c5Yg" hə j܄*HQ,1!gNG$q?O |1sy7(BXsrz:Tz=pA0l. `}~Ā5JW8KT>(:vRJLRk$y D2)YAHe JEjp^j\6/)&ET]&z4V5GIN>e;rsP!RTyGz6:Ȩ8G3Z=&)85(! w|CE*"0Jf~@xp@ݗ5wlC[;LFmL1SM> '.IE(qSI7ͷz !ѴPiL16B#ЛTICllz؉t81f\7Qs-0 so!F%CZ JK >x$Bb"'FfNt@pSJf LjkR%\"aY:S\>j+,%D JyN"G o=ttv / 7 s~YÜSnrk~\#\~M<GVc] /ꎲ(wrU!ZGq'K -ߑbGMդ׷WHu/0rh«e[k ?)g5jnjIS5ML!kz>'Rf{[kYDs>4u]卫gۼj b1u$/>,=ѩ~)2O0賥ǽߋX-=].(?ͯѹܛrG9[=S&ԉH$PUBF- JM)ycUB7=_tԴmWkTL) c1SR\("AgVrBVV9Bˌ.זO?7EyE/,:˱CSX߼|^zI`QtR]  X^ ÚiD(.Dvm@i#O(eQ^|i}+vE3sNΝ 6"M*>`™=2͟*D2auZl76 u[pϻQ/7<Ѐ"`%)P{t4k*r%B^?;e=_ǖ^)v3`rXHSX5=6"5M~ّ'=﫬R5JO2Y~O;S\L#Sf|M,`GS敟jq#$X7B~J}/endstream endobj 191 0 obj << /Filter /FlateDecode /Length 5238 >> stream x\YsGr~ xӌh}űkKk zZ:b2` (-3+Ȫ@6l˳Xwwgj13q3'b:%3L=,x Ͻ3b &Ց leUЋ5lV᳴3 lCk^p-c9Va*tXPA%*#ݬ|]9Oߜ|&)y?q;|Fd ^E*{~yw׍R i{Zb^E ?]OJh懭rK1nBpln~769(ђR 4vS6g|B?FH+[+ce8jpk|\<"8pUz^(6W87_;_ 2nlv ^mTm%DY&w+I!ڼ. JY< ,.ћNG÷ L1cc; rpjKOq1D i=%J }<{lR6Y*I]fK=tw(DR$>4R\,p(YZPFv,2^4F?hQU܋MV6 #!0|$=ia}qy2F۶x'rtYŸ,Hހ1~xˈ T\F. D7?2FA֓jgK^' `Ljw l yQz} 2Tκ$[EtNq{x hаus}NpH-_D?Я `O `O_ ]zDnNQJQ[! ߁Vv\mtirHDS@cr*m 2{efQ{tmޔ: 9BƜ2Ucc"Fi"G{d&4U}p 8nY I#g"qd˰e+Dmfen"zp&kDp$=Xq/K` &B(½+IyW5*2-#6 67ZCb,K(Xf@( 2 2Y^ sOlGP-.%Y*F_usTTܹa{+9ES#טiToM&M#I3--m(4}W$>00|N"ykOy5:v 5TL̕< HV)98UwM3$:Ldpt ^#?O֏V9ʲdzVHt6R¡x 5!v(xWM/o,6⸎GR;]2xQrxDi.{WiI 2 <)\ nIaLe1:kʞl{E4rOXT.X7)5`T3-XY;~MG *jt71xhĔfj `ezTٽmvy_6h-SE0;bns0.\j 8&3ZݢTLA8xbfƓfK$XS X') ޠx%Iԉ7AS &6s 2jm6<5cbƠ @E(#bUI}M8)'vM.¢C^6 Am=uL6/gL.hk 9Y MT%ia#U> EVU."~OF6 WM,-zIiFH" 7eC'oJ8OlJL%炶t,|hxRQ5z @)0sJ6 ,6X\N&g=J٥La馡N4/}/VԨ6#c >K^i :3)$F\ڒUe*E0g0ײaRtRҫr$#ρ"H /YNr:u4$~`ّvi+Gm6!g>2z[ V iHF!̓ l18{x+tEEO4^BM+k1pC?+m~ ,j.6(Ks71]oW@`HH̔j+ '3L/9ieEף3b˜B>J^_I:4՗LHj!1M% ^Xg2\u4UHnJɕU]+vfjҴu9M\md3'9k!3dWf{˖8bz蝸Le4_: [juv=Gd3"BB9XC@035)O`q &Yq/sk03>]w6" WXƝgXQօE(J˜$h6+IE?ĽC+z,kVKL;%"~8[G+$UB2Ъ(w9-%߃⛡ TPAlt#1oOZu(O18(erhSW*7gڬۇRabQKiTP.u[яS]}\V k#0X΅=& 9UE`<qYgeo耩U! 5憔Κʓ@ԹCÖlM >X2>kZ*oCQr2k>NYސ󥏇Uٳ5AH28pޞ"v8NKqWsOb殰cvKumLKn s0$V5< cJ<?ik.aWLG5oEMxwfSM ZNbđgʂ)[PJufcuAV͖1.DT? $Sx~U N2 r LwuFZ(i_k#JA Qznq:vHaݭY8)kX*ˠ*H %|g[Si038& ov=klRmg3˗JW*O<3eqeҚdްu;ЀŕﺭW9vݵ.<`H1ȁ=0}Ih`^ -jEZ >};;+2hJ ]:&fviFƈ08lWqXL&?ͺiAfUV{e^j6a[AUؘG]9]+hMy;(_c^.9QjP?kGf,jӻ9?~_>lP(L[J=ҿ/'fsKɕAͳ#Lܳ鿚[h]sN-By5B$FI{M׹ڥ@!TK~jR *.ذuV%9_Ѭ"qR$cOx g-7$ 4؞ʺfl֙K)<>.QH|w+6.f)lF^b)i[3~၎CJ7{o}T'}3Djx>qRP h]~icuͫJtZ7K,{ >Qtܨz =haR>f:1XS28-d 0bWXX T9o/!-N`3٤>^LיI@5,!vH\;1zڏ_4jGePڪY^=ΙbȲwO^JVcĜHt JSfհmfx1M.~}#^%ܱ+?dr(7KT+=F)%u)xKF ~Hu2u@¾m82\Vl 5tpf+Ƙ+]JWo!x+t_ّ&.L>䣈:NH|`ɭ$dŶ㥰cBDC{Ѽ]_MbiKP_0Х%ӳ1ņ᫁=]5#&eLUJr;d{p|E`Œ K^O>ݮ'^|m+]yj%JjyRZk*X8\/2!컕4W.F&[ުv|Tlg@m72O4֚5ZO [;$/0|BTM[cQgu,GƩ/A?'?Nn,,%l,|ܭ訛Nw¦'hC=rp Γmlj^)tzeBZI ;Cu\iytqyِ,\vAt߳)LϦjUnZ S{}7C~59g^n+g,)h<~;z[/Em#lq֎6fR(LߙZKy@u{EvQ?O!rhbG6c:L,&?>ףEN5W*ChoZ>,bt QwO.ɇ\YWҪ:bK c܃IX{!sWʾQGV2^7_+endstream endobj 192 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 324 >> stream xcd`ab`dddu 1H3a!#.kc7s7넾G ~"Ș[_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*"s JKR|SR YtX޽53~OAe=rIa:Y˺v]g*{ZG\Fۖ;Q> stream xcd`ab`ddp 44U~H3a!]3gk7s7Bߓ``fd,(os/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsSӃ%E )Ey LA & gS{='85o~Wte '~ ne׋!۹Y}} ?D+}gb[Q*ߏ~?{?> Y=˵o$̖_XKO,.pr4W]x,H.z{ݒu~λ}W6  'M}쪌.WG g/d4mn9.<'yxT;endstream endobj 194 0 obj << /Filter /FlateDecode /Length 3681 >> stream x[[o\~"E{О~qN)ǫvWًó<ḀxǙo礧]X//g3Ei/);Rި7"wܟ>3s9AP+GIfx/{(D/ PJ{' ͘e,7P-PBEQKkB۳ϨWyg>쯯9UL_ݜ5s jvOtO8v} VvK(ekזR%\A\E|5=!Fn[z[-DGƮhf_ycp jL[ X`EӽItaUv_ oBALҺ0E݅Ne4=:aNf@o;̲f{%sk]e5 0*aSX[оK_97c'pĂ1_$df@.S碨f@sw[l2B:HʂGXABƱ3zsHa0H&)FO=Ig.Ԍ2a8b6 +c4>Ka9c[:֏]n>' ̭}n=RYܢ[͍ۢ9GEO%aas7[`n3D_[l=(ޣ[ ĎpYD)7_aL,|9,raEy]P5^n;aAUݗaZ}L- b߮ANP379/34t/87}! fI`XF+iuѶn{:8α/hoaw<SKjJl$5`>ǁej3%@PҸY,Ȋ^a|Ǚm)N:%L ֏F3v'<hUB/>JC !.mÑCƸ{!R!C :3C -}Z `gǡyS1736m4ST98-Fɏ$69)W)+M[Uo%-bcXJȠL!g5N ߙ%pm0e$aT.|VS ATL&'*)|+@azA-lq3jL}`kߴ|\1pޅuiɏa81yX6` ř@gr0yV=TbE96%X0$;Wnd/,Dna-_CeiW&B&$g9f j\#R{"wS'"رaU^ ڗ^MoovS;Nz8 g/S=Ncfߣ_7\u0wn5 s1uGT2͡P7ZYi"$JS ‡+~vW#GK0Ѭ#3~2WobZ5Uhi/-#xy(ZA{jLɩx&6nL}*b7~ZRH \gs\8|`Oi;ن+ᮒ1/&d'^hOz0h]Z3!^8]$̔#w߈\uy|"t N(bxp1xCnZ@[ǾQsSv:(BM͗jaIH){.K;]lVR 1]N{|OTXgVBq0R'#\k*3 gEhu_*?LT}& 93J$n _u(ȉ"+)S*My ø+"=]ek෈l}DA1}|TUݕ- W w볃`0 kH&܅&N2a:-K؛ Y֋dDKwD9*[9kaWekʜ"%1tQ*dam3Pl5qdp>×OݹqR9͚\vu{8 wptU@IU/Mi BJS'Wmӗch% |6cOYWi8VY=.wS|3}X\n?ePc>Щ=̧!}53Dpn`X߆lƉ;'N0iKwq0Y$Wyw {F|N ÷oqqdt3{Qi-#}C۸0]A<=-.DďT8Oi]P0 neH]R]6^wޔiz2N)>nZ񖲺L0>/߼=)(&8UP>ƆC.T 4K_)A Aډ)ߢQi:>zYId!H2\9^;*z_yQr;i ׁ1-I9bX |~O}Z9:k\Q):]Zx 2Cag]|nBi wUQ~(E$"=~:U~9F<$ '5m8_De0d8L\=~D?6\4[1hvhuyL'2{43^ml#Ô&~_En'876Cܖ~yuOendstream endobj 195 0 obj << /Filter /FlateDecode /Length 4327 >> stream x\KsWlٔv#Tى+TldF䊤ܕlק쀡,9 9~Fb_Lʯ~8ceGijGgVwgNx_Fvg_yfGF)`Vq܏FYZ³"~Z[5ewՄ4@i2ҍxBvtS4I42Id7:F?wb+?z#Yd2_q%G+@zu~wjZؑ9iNK>6R{3k j|^_0y/Y:Sc^YX>4a\{%.^Jr ğ__ ; "MRN8y`+؈XpqvxϹ1xX5܄Jǝ 3gpgb#<eafx cqX5H kF(IWomH4k>ńޟpGQ}5Bz ªE8 Ȝ 6 tQpx]GqtSEiDr<_]2ƫ@~6ni*n6{>vJd:81G c b%ey1 /.\*>V>MǺ=(EךGb"(y:C`.*F: JD+u)K<'<u}"v @Ā6@ZgP\y RqneNRJ+x*+Awp({f =M@.YE[T3<ڎ p5^iô3-."|Q] (83bbV'x)Q MR)rPn=nFD( OU~(WxnGZIXq W р®/;!A!d+0I hF>-Bk8,y.͋ enQ3;xyDMimZ 5 kŚ*T9}E[wKHiJd(N GxW?Xs"pt{^k3zViDA -_J&&B.EmG-e5Q⯭|.W2:B'`vȢ<+OSy:.<}3ǿCy/-O/=:mB[颻7rW[8侸t}4MUGT0L>XBBbO:FH1-ĸq],*цG ͅg?V&к qmWqq(sje$*W$"/uw$5 m5HJe4MQH/ XzHj$$XF@ OYxI @<%z <122h'd=qq}6pY4 x ȯK,folR0D% Iq9T +;*CTXG:D\c$EpAF/㝷o>V4觉Tb̲&s8 9Y &qQLˉX nw#Ӽo`'izj^jD0 gɎ\jbmCsS NI 'oTlOA!i Txbp0v[>9r*iK1N. ``.`sɃ2Xn\㼜eBy1j ث: 5<[p*cc8DHMDS$ɞ)0$n׳(RaDc@q8'b[:œrng%-$:X200t\o"2ud{MK3|^\8?mty_D48i83FʎO1aZ)Mpkn~m1MoU4>X"2!ipF$wXy5Ƞn_Uɟ fkM zJ} ׿/0$YW,d_iqmHᄑ?y8qGLos}/E:(MVˣW3%b,Ez W--13cIiրkXy^"Sy Ҙv|Bpڜ~B~_b38mJ] hMȒN )+$a !uj0FH湳c抇l.J;ʴ,n~E4RV^OoF́t|ӴjB*O/Ӌ]Ӿ<.آ=}kl>(**!!ojfY ySZK!߫UF(v̸kml-@[҈_8zj*c^FSmbp3-mcSjWݥQ'6[ -e5dBꐆmS#P jL@'- >APx\YؒDs)I17ON,M)g&E\}6)8n}*`G=,<DŽg'A|Kkapo6ih盥i},89K4IQOW8qx铞hes iUl*K*"Wx G;αn72pXR˜vui[P\25uJ>I_逿*~٦ /_./#9O_%0z2pwF <NE4GGŐμA:E%H%w EᭃBLJyK?NdrZѪܧ_OE3"x=b|XjVx_mmAfm^**WuRX<ᎥLw\Q# C [tb4׵E Js}sm27%qrPɸ_c:v ,gֿ(t:3Зwu&߯TQp0Tg>`N}^[3H8MU4M: Vg6ɶ7zS>J%oܣCazMq5?O>܂ĉ}.,u^%C̝cF b=GC>n%w`IwlxYrEO~WW-E3k*Զc;F*GYB|KIplpBg\?FJ,"}JW"k<`xj |a"D:x}w \eS~: < l3T`k˽'gz6kךXHKBcZy}`"2lu>0H'O )0֭7M>=>O%v0N4߉|M⴮X;l|}h/rwHrcBZaS#(fOQieIr8?7_\endstream endobj 196 0 obj << /Filter /FlateDecode /Length 3337 >> stream x[Ks#tgS ޏCRe;N*\h\&.)Y> hbHe9|4@_7K% nW~~]{j{g YTZ|p5Rp׊=t4WL}EfLj9zVT)#]'J9n{xTzQRy-w r9^~uKŖF/9lWzf{.zs5w[YϼcBYK0^vҜ3^uMfݿ& )"9^(st&mh;&ߟ=,HI!`j:;% w 6҅4z p+j=㫵ab:Qr5έf^˳,~=cNO N&wM[sK4dxj^H8mnm-"ϭ"񏩙Kϝws_:GQPdnr~R&DFhaAfD ]Wgsq%/n$tߡT&dƸp1 F&b&qJEE;&0N𠍋3޳GÈW^P$`2$ͼF!$li-HٰF˻al6 |1u}0nC,jk 4\S5ļ% rTMh upL`/ؗ arYŵ !$+uD {$-iĸCtVd!C܆BV4"Q$34&PGk4 1V,)ř|Suy ך㨁CÉɊ1fJ-AJw5s}굳6 ?< dgOj [wS rAE / ]EWgwR5 $+t@,s}{tJ.+K;-jiQ,79k+Å as:)u2ฃ}2ν[%ߡ%*;Z":V$%;Y'7lbb)W5ēs s> /ZB[HR,38|auXH,X@f֚SD!<&uoxzz>GZCO禸:@]@e#RjZL)aH 4@D*t:s]u X3(dYI#@j4˻֡2dK} < (4i@*BS n?- |PhP37 .5DKzC BBtlBz?q]m>L4@tAJɻV 7*Fm- xzA;ADR/qד>)'N2Us<7 2טwGjwU?7l]@?<}ԩt2?d< P# %Ry"M*, r'FRzfMLZ8{ w80{q^VPqpʏi`ڿ.q|S4'҅{jhA0) X ĕƯPFkuB=ev-DFnrERubPYinR3BUu1נ!c+ /a"UZu?Ք- rRd!t}Suߘļ)0ADŇg= `Ǧw娸M[я!u?=[nY[G򖲢x01a &5d!k{a ) ]`s]{RS L; fhpl9T2ʗe8tZ,LA]{ 2~ -$yB`FV;xTS+ʜ,~c\UO%%0AjeLRɏ'C5>Ưva6۱ʻŢ{,wjf#ϲxy=hfz8x{{u=~GN\{H_т-F^E #0exB<Ҍ Pcuɐ>LBPj _}^&5s0lHga3484lSMgڶd픘$eAb7&_@emd cLpK+ {R6ok-C 7/D^tQ>/1W.O/<* ~W%zzṫS_{Ft0{$׬k8 D@q!lu+s ۃj=U|^UbJbe9 To.s.uDYzЩ NS}^jn팈}n`1KM<ah\aӧJ>xx _]j=>+^zIuZ(IuݩI{6"x0li,9;k"Ov$ 1 J\WclN_EsZ!Y\J4I&ILj5HM>7b?g2m,[Up>a+P?<T&oUendstream endobj 197 0 obj << /Filter /FlateDecode /Length 4580 >> stream x\Ys~gGTyصJrˎeÈ(9$W:}g7ݕ,NCX hlzu$_iűQV_+KGX~ld(`P ZQJqP*=tԨ -YP)9~.b&:;TSh!r3X+pTF%r&;8z~+N??9Ɏ'"16p gfB\lr5bp-\9˄poOcNŃЃu-[tj'_&3Vŏ_C4:NəpBOR-nFۖƚOw$ȎF!`i:9=<@L,UQ/\)=.NKeiM.J:uiݔ֣:/Mib;[?'uKk*κϥp 3 -8>䣟?񟁕Xf:=>RZK"4O@8F'AFɀin9_sMq.~6keJZxGg`r\ +a`@`/nEpɂWdP.ԖSHf|HҌvcZy 씬ÑKD=MɸuH4+R;q?iMoj1-[)&ܕ .ͦw̲ Nl^۱ 1?CW`ÝR<~gZ[R8wtyvFtWMHYna!Ctcܟ(lLSBfbF e:/gacQaεKÆpdF@">%4c$`} tTAo`KhmF"#:j^8Bou6vVJ35'Jvei}:fv5\P:;"D4_{Jf9ޞ xmt9y[Һ)GuޙeI$gs7"Jk(θG ]ׇpHig> TPt~&p> ?: ͓"Oz;9No3xޡɦKo۰5e/fCLC\O:"nvv>7ůYuRbt||z= gqj<ڀ>Hzn^VroBr)?MJH0f '󄤅1w$$}r)P\:$ +¿`PׅTmZ6ݟBS*e (¥3f69]5N;deJ4d$q/N2^ &D(ӑ=}#d'!% 98IW1*&> 47$N9ErKtpQz(}l ҺXcaC3˽ab}l}}~}@>w=]>]@ c2x{?znOoNC%ό^,RIЈE[Hx"Ґ4^GYG<1K-xg/4T d)m 5SȱN`MAjv8GElt8cHPmj4*B(ỄP@6\q'q+9 c-^wKk{` j[tx5A4C׀UB7x hs=ޅ(yPl@{IEd% āۿ5ZSԤfF{rL<-Aghi!Ђm֚`榚iYFILd=OSar5ߞpD8@͒w8W_laZPnKmɔy ZҺ-tfܲcX뚀>6 -@'E n#yUc^&e1L Tl܁Ǩ s)tQm͇s76Sh5pp5ȵDB<i^(edzs/hA1rh*օO[5ScIAI$D-YlrJ,1*:e,@XKO!jv:/@u0!gH,׻@֨ p#ݗD|?_zDJ(;2:T}?M);k^1*e+oWmX-¦i%%t3Ed h&_{'6If S.KцW$NF:' V5GsĻFe!c,$Ҧ]Iݑ NvOaj,%@9UHnMYUR)*twnܤH;R"tOK +Pn:^:X]i}YZœ םvg6*~AC$םy[=Ug~xUM3xoTP/-e%6;ya1E7腚':a#lbZ+FK&?:uZ%C|EX0<>&<| z~u*pRfZ-|!|6,/Wbk&B]Z9 X^p;W^ =s0vj/$. 0jԹB61JQ?zGlȂmQ"BpN|\P2(XWeDC5/ns%\8˓mS%QTzftH]O F>QBlfҌo0<;$VB^>`rsԴMbVGZbk"+Sdi+_/Hfs[v ɍe܊6 aU884~PU7e@$"'wISeO|r^.  7C#٨S(uH]iGB?ȭVnKU]BNlҡL|MoF`W=k8Oz.uM{UP_I;@ieb'g!ѹiN<*U$0@,yx5ߟ12%Hv8ܕjoIɐ -)C/gd60L cq )~/#S*gz87fN_NjV+^4O;iyEX@&t̝DsICJgc@n•yʲɄq)@X夁勇=!~붧)`x*sR@QMk^'W-] ū;*ote& ^D_uIaĘa@[bDãw،7m6&?g称,:v*7eK"r?@  3[o+;OR=60d@:< [a4!:=MYG,~yLFKzΐ/@.iK5-Hx_yϛT>ax ՛-VL+:K⯒d|J a-7MHT6T3W#$MɅ"1|ԨDoNɠܢDē7ʋu}ow W7 ~7Hv(׽ch /HyaˮfTendstream endobj 198 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 688 >> stream x%[HSqq+B:;yEdI+v.wlyvqsNgΣ˼$,#|)K[YR^|~HE*UQnΞ='BI HTb tqjAx("AQT&+X"6$.jJRAՑHBRv6qY9ffdrL2MNYXc qY & K2֒A2 wq)գ ;Me  |}'wvYa!{˾O ޱ!$?8' [v;voZV+ A1 &UlfQ[um]oO4k;6][):y}X4Ԯoro+ قNnm }ƶ7v1B]uxe 9<ٝxl`#su BaSQjXyQ[ L+n)>u5^٣ffw/ -)Tr^Aa ռ<<96E# y` Aц, endstream endobj 199 0 obj << /Filter /FlateDecode /Length 4177 >> stream x[~q0 tZlk)⤵7w ,_rIW:v'9piϯOx-ۓX?5JauVNM-8tJ_,sVVJ^ %%*%EȌ-lmTMR;”e +ʽ◢WT.DkNN^0ק_lN]4קg'a)m`Vߘquzv}b|6gS=v6κټg]M㤩θsnNVfc,W󇤳Ȝn$YacL*ND;lFk~83 aj:5I4Q3iYuZ YtEM!4 }l+2[lmGը}5hQ&ޤVZLafӺ@qyXuh-ڴLZ͌HK4M-z kTF4V .4Ђ (k]]-i?;̼%ecSZP=aaJNw0#L҈~P}A-8CV=X܀vZ{Ukg%:ENf & % ۢ94=2QbP6*G%1hyޫUtiH&mE IK%9=BhhN*`e`U"eI$'0+н5{}nt/.F%$}˽.,uuc_ݒ8v1H$پ`-wRe7KdK/Q8$X-$ucvAj\:OU_iUإujݤVZZ"}Ǐz0w9W']zA Q'򞉁TPx @'[˛R #-(րUv2G$HlZ#+G!j06F\MRHgjk[T)1ӄb{΍(rf)`0F=WL}ϟ%/~z RVMʀ11b@ !ZĸXIÖ{S3RSEd#0b)9ϑ,ۘW[90 VD-%xABQas,wl8@& ۜ:hiuU->a}Bl8I;?CyYj. %^-|o=e&ԭ.{G7t.;I=t7 rd$ūpk&lOvOvsޛ3a8ָ)O4V!kHto5r(f:Agf^+8vPVS-pTCԷ#=CjVz ? {^&B)؍u"YB] D]`qxNTU HMwxָpز+pGXT<5Èἢr1=\Yo}D1Ј4$ɟ~*~2W9jXV&M;98r ']ˈW4۪?)++7I%lm>V oGJuv`/BHWs HPc^=z[?^.W'48&49|.:.'K' јc0ȐM0}3 jB$Sn"w"#ۥe*O5Iu_F<Vj5@"ge<ݲ"?2> 0@L cMfF+ 5YMgq]ӣ סWmLFuyeq@&t2ziـ)u_1A/R]N>HoRYj `$PZ) ?&,Id1.>O_eVD0tRq讋D[pFLAjR& _[TLTZMs|5fDz$ٓn#,W$o P<V|%{W7|  b,+?ZǸӀDo:{/(w@n^=n"z(Wf1%ΐ9dW] \%/ ՜#^AcL~</fM29BV $d {"k8}dNH@x:"qqJ.˦Za}iT"1ѬBی$˱.會j>dodEKYڱR}Ox(E\{g{ߥ&;aYzׄcH_1uߓ,<{MKi2R}XQҧ@fPwSw +(,%Eu,^; b謵HSK9U+9^7taGOV\ltG*y姩يau`ܿghIm1We-8,hw?o|]8qX\:Xepw!q+`aS'rIp]2c4 Y>St)^|7.:heKC7@o@ )eemQʝ7d|lmK;gRa5~xH9Ik\[GIG?WeX1p F~dmpKn{x>?٣%ߜt6|::,K!xuXhשL>@׽$߷DHVQөbQѡ"Eɝom_~yGg'&endstream endobj 200 0 obj << /Filter /FlateDecode /Length 4632 >> stream x[Ys#~W‡Tj,'U*_ve}0+RcTHjt1ƵU+F_7Xg *?|a8o53 om/gS gykYX+ =0J '[ȨCGIZȂZ+"-bϖ󮵺p>St20mSeTSJLzzl?٧W̷3b3b vl˅]m/m/6|5_H)Z|;&oO1lf.Ls :a")Ir&Pq\_jvLZgHI!`iZ`0ot8x!m5KCa0FE+aw:<ΑB g kq] í\s Myn}!BAowj9_Q4ߜX>_ZÒeϮqq[8) "|h/-,2|v;mwOC?7Sqϗ".j _v`>܇|_ą(7no/deKyuvGHqљ<,kQp]h6;'!  gݮ[vtW tݜoc@sa)p;P0Vr+| B/<;cOrY\5y\b|~u8nn6мin6;ᦻ;^N]tM$aPNž \ +8Lis9mVF)2JRBϷDAeE/Eo׷E%MakK~uNT뱲P9i5*⌒Za9Sl5!VYFΚmwauz=Q:E]*uOj:<&1om\=Կԭz;rQPSM\V]=Zѵ&IETc8(뿘vTJz-|JcQ`mSprA|UH3>Ց|:4 @Y A]V瀥80cfGkD+kN(|s;ǃ76SscGx9 Z!Uk@U@E(3,u tQ)ҮtWJ DpOlCdMI[ j<JV<Ȕ>\hҞоnai%wDLv^cٓ?#6"JQ]u${F^dwE;h?}tuTtMTR#5`_<1au7m0bGg!4BXaylvi·ÎC55:ǫiji5n%fpEO$9A}Ԯ:=*eo rd۔;u~`!.3]V#R/tjuj0r@1x kK0LY IgDT;f7sT$Y'BHVu%S~s8Pc:Jɉ1@+("2yf`nT3P~kH?kdC}kGJ#K458P)PrAVBDFٛly\m,)]aPe=@40`iOEI1Ct-PiЉ`pXI$>E Eh4w v樓aL2&*DVlꝻz3kkb`[vGmKF$DKg٥E7 I3C]%Ǝ{DbTqubiA>61Ϳ *(6I'~T3(YoV:BA\wE[;;hȧ̲PJuhC wuOaN)C<`3Kؾ>P>1cM嬏E:EHx@.mU&9*p\MV#l']%H o$B2%ݟbM)Y"F#K"m&Dl9DA ,:1H`j Df/@받5֦;($g!ok!v ۸-G50#!&30[ԀݐLը+s2-V~Q^TܵL_pX[; juL7`Yl;?x?y]3 rYQyANz g)ur›i0z`Ձ^G' `ɨuM9qc[[Dž;;V>qSt(qX2OҎ;<0W {? L:A\ 4c⁀ه1mVgޅj ą0!˒Z4 QXM8MfM4l>Qԁ1Hp[1J=-J1B 0d0a]Ccg)7i_ p2ܫm͟e'bkPӅ*(B/NIj8WuЇ%zb#ܹ1eL &D.GZecn}V }rk[%bO^\}C+E$zB_~GS%_&K=aEb,he5{9yVތGZw dg/}SƎ8b޴h҇ 2n߄:{ؓQqYb"?yCqt4Aij׸[*+%8yZHwB 8 9k5y34mj*bB~ T2Ei'Cc$3:Hȳ$3U=ѱ ;PR%4OqZ ;*  P/H{0ȸ cCjg@M}IW_iֻCb!/@R_= Y*'UBkN;2wwIfݧb}U\b&nin$D#EPPǔ2/0{ Vh{[9,O_df D$zM`,c¦͇"Q@_ǻטmڸ h(pf,WH1Xx5V_'䱲*|iG(5WrN۳T!_G-?|aN3'X jwлAdHd[?5!5)e(?·#0ork[:ȠnQPi?3VnrunGa0Mnmr4ȋ 3ЪyG#pYc$Wdo#d#"* F#ͬӥ:YFK[_).5Fj_~W'+X-x?c:0u45(iK3"֦䕃_ Eo^`©b,[O+=e53LY !L'aUq ?ɲ{ N ydUJK9"\$+1DӋPWgǼ,XjE`uZ^N9ɫXЅ$>t/ypq`\qE%U2e=Hu[2?,Vendstream endobj 201 0 obj << /Filter /FlateDecode /Length 5793 >> stream x\o-qY:n^N6͵|p\ss;3C.WҵKqyN89ptݨ8tƊ/hC=7_ɍVCg4* raFm|gj* #*up򣶁$8MeP$j3Il@#No?0J{xrq,VSX JHsxr{4i = vvwh)&a"rï_Lvj_m'=fB8d ~2 'liϏ'~yK(Cз;1sY`55p JBl7G x wIrHwۧm/籚zt~z/_  7*@@eZ+PnĤG;y&>jx~9=wۛ##MgWɟۣ/ YhQ\Imαg[z-fK`4ÑSZWstr5(96PѰn^a1 Z !8IU{ p@ɰTv8šU(gCz1/"s C0 nhE[t : 97Xp_8?N||$>rw./Xo%쇋dB6C.W fX/?`+G<  [rmh-CjfQw8Ehgi抋Y%Gu JI9`Uat{O)=m2:DےFq$_G&c6L`0(k(#KG 2@]/nD9[$LaQr͓ꕄGv}L?3Ƶ/q:WgU괱p1N凯A;vK7蝡ޔl\D& ַBn!VYLoPX<ݩ=;8YjTApYk1^;ZxPx#bcb>." _,H a|B[~SdIКgolS _B' {,PPIHdGS"xI̢0:WiTZ[Q mh&\WK\CR) rAk<8Fɡ->gൟ vQ dB&?ZzR Tid_s'8d7鑗Bc%/*ÑOo60""F@))03*.\љGԂpeŖ% Z,A@ '@- .u$?qA%>0-LLQI3?,~kAKEЭ]SB8ϵ9KF"7FBGeLScv>Szs"Fp "T /Eա"8k :FÝR:1ګRӠ!+_ӍW@0K46V?ɰ䁑+Tzؙ=sVb7r ~%T,r. :u"Lě4Hr T!P\ʡǣ$8[RGĠ\әNa{WQ =둍p\2wdf~(^kGvIR8[l^C #'X.dXt8t66Ai Gdi-qTp \نgڀVo/<4/xv:3%[8*NcWD׋whi9|H]F.Y<:f.JMHk[=6b\pJ5rE)P mQuƶw>%D6xs`Yph%4&/)"z7q{<+>)4aBpͶ^[X qu4:RbMB_Fe|B JkK7a}[9-dL Mg "Gf@FXrC ,0"&^,Xͬgb *b]K7}2NV.]t #+RYcWhS6#ùQ Y;lSKfgn-zP^ q^z f';D"Km D/(ٱyDVdɁcV2Ȧhnt; +~y8lfcAf(9ՒiL+#DX(1JD04UQs1`2Z6NBo;{8jVf,:1[å[քS+-*Oiy1 zh5JA mcs)LwW^ǜT^ oSI5zWtE1nʊ9R Ő~IOlWt[w==* 3a)ς:RR4OX&sNm4UfVPC 'w YNRaxm9?ZV1/8ҡʼxQ"E Ry֊1vKѿp4ȓDrD#搌81Un&s*]L~:bDnO(,ȶbrm1qk&;W'C>JbԻ<%Çc=F=yQƫ :9nI1H48b,8Z zo!T;[%5PR@T s[HQ[VqɄ$Yar֯Z‘ְVvӇ2 ˗0.Rh*vٶ Y_8d"؄o,,nPlj\W=ɪ?z+Ŀɶ1cUTd՞j¢TQuy43UqB7W嗪1-PGd|=&cU8UV9cE.oY_/K6Lۉ2͋>+/lX{Y f8lc7p5J,c/-l`_pJcKiRNK[ca]SnRPB~ckQUmm4o9LDZ"~*o +b/Zc/*ɶ!{F"hdF88N^_/K}lki%z8܌DXg5`FkKFg,<}["܈'# :h:Il^\]ej%;}??Py6Q溆T"I[b}rUi ܷ 9*Oe$*A0n$U<߁ɶ:,[Wfo,v, x w&܂PZا'ܯJ2:'5/}zVFQ&Y8lwֿ l|yeVWm 0e }Тy^-B!ߦeߏIЫ:.bzy;>-b[Wo^ke@`V_BXI"6>!Ix)s-Ȋ..nE Ɣ+}qӼ,NlWPg{2Vsd&aנ۪iNL RШؒsCĉ?pS}ƈJB8%r`Sy4)ɷ˷tQxWZ+N? LgXvylhRث,r)W+u'J Uj1_GFK _t/ͨG#-2xLYqp>+cڶbsQ ] Y\=2Mn}^ߜVx|rO"27o/N~Iendstream endobj 202 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 709 >> stream x5[HSqqhs^bAT0PQKddTpnm.c'/KwͼL5lx`KJ=Bz!z||8 q\*(L?+W%]CWD x1U~4pЩXmFcILZffz sMdrMͨ՘ g`M.4"rLbY<+4FŦF!c,f1,TcmLEmÊbIB*<|P!(c`ĉG_ZSޙź.wJ-UvD8]k`ݵڕy",2TjD/E(e'P[ tS.4R7,kR} :kera3i!h^$R|f_WGr}YԓQ 00b+/?P̢V"Z~A iՉ=0Kco,!n$% Fh7O֑`=Z_>](8!w> stream x[o!(ַkHnk7)O$t'I{gH.9\qO2l8IGޛk_|q Zf_bf:[gƱ֪Ա:x~` o3kArΏꄕmȨCGIZeɆ]dk2U3%JK*Q2^G =ŨHTnfo,;igif/ 1ͣ󅔢u5e2!\? Ɯ2ͳЭu5a9kS?Ɍ]?`?;͔Kr&Pa\uͰm4ּ:7r$GRZW'3lb`b;)l6 5K甒9&71?Ӭ<K\zY.V ZXm;+79&]s Tѝ,%YdX0#ۮy4-ՆfsyXY0w!u^oz ې?)]3M2'ϳt@\~ɐ0rDspC;s [!4prF&n\R(0=;$\ C;\0#Bm; 4A5?Asclq2*ĸ=.!A4@@pt?~8A. =}tU3hM g+$=sVq\=ڇaotM@ 0 QKBQ:PI.&\tSD{gL;²LVTy">)e2dĚ.0nFjwcvA:mVdg~wpG CxN`$yZ}j]4審s;Im֩IEjlR^ν"zer/7MjmS+&ϣ9hHZg"Db@} ddک@~y>>M?ֳ_lo!e_n-vZ;]´wRvͅ%=k%|oa[.hB4q!Rsf{kip0@N$8π-1UsNd R0fT`C|PPIZsVvuM ak*>t "E<$ ~C6" N "ɞH.ʣΰEH?)"%5INRSx]x_@`UE%H6B de9zZ<^ :N8]Cq]H[x8 ݜ }sݯWd^]l?l.8a ^6T]^·+u 3O}1`[ n-Ή`4;'~i zsjnyI=bݷۋ/ȗ'aнs;B8۔`CcI(0P`ۢ<k_9UJҰsK<;iDž%Q~;fZ&m۪94`|.Jl= D   j x/Ӏ(?Zl+b%2΄~Z穵JezjOflFht|EVc! N0؂w3X^%$"q[uGh6J, 7[ڼzA~ U ɡȘh\ l> >_fz/IB!x>'D0{0|};FG6PEKﺉY>!g7z`eM? $ JQDH`4ЉHIq f@ͩdQ:H>CUۣ)Ÿ(&? Z20~(5‹c kki^(Yy{_sh`);:\Y%h\z="&=NICaG+ -pNhȜPPJ}093YrYLT=N' guEM\;}/=1Ǟ Rު` 2LKL1~ħI #Zza,rZ7|u`DkA^ @Q)\NQŘDtCeѭu+l. t"8JkjRgUrip쿨 {=R/)B/,1(~p8`Y3r]OJ >f`\d69+yZٕuj#pz6uZ#3͟,PS9T]V`,<<*M1) uE> <aTY;yR}A}8cA#[jOT񊋩eĄ /> >IMeQ%4*qv[Oa>Lj,`}% ~^]4 ,}b{1L״yЭ.#k=]iUFʱ,<IUSj Ziy ؉N<Io' ď-" 8A)墳"s KWci]rpHý^<[[pjgA9+c!\4D jvJ 픵7q HD3h o0B& &@pzFS'%O\Zp"a9&, _"&ZVD3.=7~,oJsUX Jэ^FfY@7C[O_ʈaFaFpZx?Fi{g*H^xu |HׁxTOOhRйE\&t"YcYc7~w<Тć'|ǭfﵢ[2B*k%^e *njb2-kzϻ^pa8r~tSEۜ}gP1GV5]UJ+t75d&RGU|/ &p#A4elМ8K -pQJ}|"yO1xJOVEr&Dw3ԭ?Jo &W)Wo"JFrs1/MuɃ(y1k*(t͍ [81>T¼U]zSEX~UgE}qZ|jrw_oU|w]~7||xendstream endobj 204 0 obj << /Filter /FlateDecode /Length 5557 >> stream x\oGrN Ap'~%]6IQHlA򷧪zgIɊZ=ճݩLvj'Q} ]}ML(= LH|A[K 9<{탲 \̨|{UsIj54cYI.nf{O#j۷K3q3P.}mԺ16i+h%0͜W/}/\" !|< m  X : 3Z#֋=?-5]rN8L& 8\ !H$3Ґ3>M}F}:K0Ids2vRwW .c$xA zhDHxaf!\Fof@!4~w,^ :eұ8ݴTWttUM ~Tf"W ۞B<ҹ>r%Q"3w7Ayn"q{DJ5quIWL0 (Qbq4Q;Zc3rpX .}SxduV>s )0::rĮ/XX Stime5 me9.ٲp]4ekx2giܖE+W n:4P!ZwD$EW 3-TNwNJ~cig˳c@'hGf>oMOo!wkBb]duE, Hp=rv}mM1i;i P;Sy45/$K"n՛]i/JXZJ=Lk|DUgtKo:|yvY6egI44VÔa7k~~3g}ȕCGF3Q t9g!c6^s׍}!C?U.-I>9;5ɶlբL}Ys j~fjYEJm&ޘXCߞvNsH]9l)M1ο,1'梚sbiy mAk: 1=;+fH]31߈G鰇L%Ѹ>gusu[e]8=3.fNL+Mq,j3<Å$QG,CO̰\X-lKs 1s`4ΈMbú(tzǏ e3_rH)A/Tcz`\?Tuϫ R y<]S[Fs>RE`T!fNX-@A l0>,K*Ӂ~~@($tWi ^ . w@394:g0[|Քg\2cS^ C\y#U:rQ!+fڤK<.sdzi[/]L4w xqU;3-)Iz 6E]3tZ՛6e.ϧ )ݙij?:r5Kɡ@6r,wd.(j ]б`⣻i6hF! 9qq[T# Z!g*žR2]%0=JULuч^^ :n/uI$DP+7 Y|ʼnk# s ,QgJec=_KCf"̼.7<袐{{ ]&>m/_T-EzH41NGP^rQ{ZqIh-,>8%Zku٢b~kKYAG5n^0mkl5uG/!NA5M Q4Om%}a:dikrbmMzc7ڐ4;ޘ9BhN(Joc1</ l֚sJo?ˑCOjCo=ڿ+Z^,QcW8F=VAdM$ZF1n]IV{5`L7fhi U<*2hożJm/PSu5.y~1។4 FU,ꦤpl,hPƕ]&BOú=+hI&rfF~bPHc1`zb#[bpvHyEnEPVpra%9~F0{m .U{ jkiBZD&9Y/v܃@Kpk \Ǚ#U9V|uYI6'&(/a[$<1^Dv;3X/C~΢1oLO]%9F*ĤbٟMP3+L7z֨Qܴ Pc&̯[,L󥜾??/Iڵa{i( ^MSM4}4˷5'zT1cOjW.6ޡn/{۩X}'pӉ1\; ݻz{\VtvuEBNP?}gW7{OF[endstream endobj 205 0 obj << /Filter /FlateDecode /Length 3818 >> stream xZrWA];BMKAa $CaɿZzfhJ(ege^f\ {qR+I9[:9[(`UrA3b Bm%8; zI.M`ZkL؎լm͍r:EfT~BFu2Hv&X_~\unwstʭϮVr-ipzgn$f+~Vk5/7[1RqRBDo6!8}\4ӟQϙpzQF'*PQjةn 5=}:+Hi©^ ߐaÄUz+򎜅FNlc-oO=5Y0:3==5(ۓjOf}{zHDGkoߜpxӞ?G<Оeȹ>iOwiw=?[OG޽mOG-5u{]ק:W~]g`ghZ_K!t'fL*8mf3J~q~ݭWG@n ~>_n2ICxg/ b"AB;pXډ6Qsۅݒ҆Y,X#`Ӹ۴V-nUXp\'nVvak5.c޶-+2p„P\t! HIЄ Ҡj &mp +]Ȁf }ҝE>C4V9R;Y7IA(%g$oGM2)-4O4h{^=t8ө](TG9ʢ-BY;iџuAl ){Ijc6HIX}Z)i%i ,R*Dc UPUt}"qG욕6:TV.𝉪t>%^v=R:Id{;pT`HU)c^- iT*gY{deuR#W朝,ުHFiydz: gm8B[Ƕz^gYYUN<үRV-`\Gϖ^yVѠla~.X -SV(9z.0Ro"oAELP$&bBm F&P}`Bm -Nօ~Y5rfmfk$N`n '1^kZVQ&wHs7TkCWcR 2#%+ry6KA 2H[23BJҝ)VO 7S,]` i~IW*D-jbik \౾f+Q hm{*braQMc|hWn0lj5JqUȡ , UHwVj .fC1U`p4UeJtw[/ .bG+2t]dcbr+Йn\@,vr )*\ŒZj2cbo+m ][v/ڟ=Ԣ+Hb+lr^S :,Zi1H)A )T!JMa)Ǒ_)\byО+ݴOH$”# 9L,([{<[*fсdd]:'~ٗ)e&;G(nUQ2O%L)]ʼr.s"aЄay9Pe)32^h"]Z%nQ$69B3h]ATkJAHeݥK#Leaol#cFQuP ỸM1Xdeɠ2 |*E f[D>@*}Ei$Vp.UXԉ)^~ !r%pg P%>s ͏)O5:cF5Os8,piYqMVMcF~<3л=R`08l~!@SQ:5Jb^հ@6<ɑ(-Go|ܳG:8efj>i+4{Qc"K{@.P#BEY,9e ̓4U~dR < uԞ1oH+tܛƸPy{} lA7Uŭ]H4&>&Jq*5-e Urғ})-:FOwUAi^dx0|*"quky"0a\Hti6n:cSR^u1۳rJox,n%SGы4+! gm6;\fa#AkcG7LHIy]c̖W-qx6uj UE'RwζEːfS4ZW}0+ppp*_gFo{ ySMA's[1~O̶eOvDۈ[,s?kldlͱv\1gWϨeSKwf)K.mSe#lMM)wZ-t@ ~h0i;Te!0pJ=+άl?)ck!Ť5ye0S}ePH`ӈxG-g "/@i' ) &8t."Oujنt/TN+ (eO'cTڻw%bzۍ ˑ+[]mr]gȕFmZ,G~3z{\V::TwL*q(ǻ=tip#/Eֳaٷg3c~]R%$*4R0UQ;[t+QTQ^dZw gch8dtBJ/Y_ ': >0Q΃kzhOG\ҾQW˭`KT$@*d|v:sFwud' YDsBZNch224\hz%0m}mbg>iQ,Ao%Ajendstream endobj 206 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1866 >> stream xUmTawgFEȲg VDTbPKĈF@4@de + ~QsbE?Aa h|16Qmњ5MK{.Ɠ9}ߙysﰌ܎aY149='ٜhd;If'M4ٯ {)7a*o0r}+dUgԪ^^ddf7k&jz JNK5i"'9=#Әl26ek# l_qgC7SR6}j{dLD2QLf520z& e˜wL8dT (qxƅq!̾f3;]ޗߖ!E▢Kʹu x PZtJY F?G` yc6T%|?q&+И,N=uVY{$8jMj7;\B ]E{DO JXJd4^%~E C1s:``ǶPHT,ى׏3SQZ^R^p9EM†a)䪷)SCㄿ?K8TTwt/UbpKR΃p{6"<CO`jqާͿhG]Gv!E;P7(>A3xtΪoPćJ݈u6/t^gx8Iҫ+u7jGy ׭_6UkQ;-Mpɪ@OQ 457jUc@t޳8.Jbvծ<-x9* ʕ\rSs m+lI>?b67:Ͱ:?F3!}BSЃi/Y$PP~?>wh#yc(>Մ-  hz> stream xViTW骒 *evwPeQfT YZ"F1*P#b A\6% W`h$d&T:]' 45@12 L nD!17K@BY8S{.<{'AdB(,q2 Xk2Xr42]5:5.&QjĿE'lNG'*|[R#Sk"(qsr[bgZQ1qA r˅V6Km* V@˜"Z™0#\•nE,"ńKL!t J4B@Z<=B7O 5<55NjT W F)ODsEEOD@͔ E]t s'rJBZ5pABJ.9V zKM\.SgmSÍbNJ xK,s)^ƙ Jj@g[bW, &`wX^b3I#;R눧 ڀ^۰dI;g'qv*l8Ue8(&;/" A\q^_ʎ}q3X· t@aKȶ)*uO?:Cne-PtXܝ EƯwW<&@JnаVB owaR~d 9/N=>hcmFLKڷ,LCC>u>~*MĞ{Kik0 {ߴrsIoOR$N*!`e񽥐c}';+ ,agRLcهrQ.bz4V,l v<HhL}=B8“9?dPIb~Y,n>y 1rK%Nj9xl8ܳUƥM lqܖxF\{,([1eS71چʋʟ)U2֨;' +X퀥 x\βMpcl}h/?;qVa :n&_KG~zϯolĤpZMNCYê? _UTбGhl,ڼ;#EY/TՔ?\|QY +W% WqP"ME"NqO;8*u{r@ x'o}B1ת @<"pſc˺$( )#eV0 &|*'v*t~3\H m37g"L *?+)T=ٓ'N}{2U: |v;/m=S}ΙuCKɫaH 0JK6D""&^uM"s%GAn->MV.>gZaò~,gE%v gp/v] s O_,D6m.vseqv&O#s,NiA>O[hZOoT#u{Wi>2Nl)c\icfr<)fqDXf.Xy{,"=Fo5IFnbk6_ QO#D(&NX3l S+,e\ m)S>dިK {񮥢 _{ Xݭ~xg0G)1{` 2\*zKOO)8EڤVaNkXȕ6꣔*$7(<.U b,ܺLWEj[:$ Tk-zZQquwh!I.}Q;;#Ƌ7V\~Fr!!=)$C?{,%!204=~FǗʞƎhdfX|^5]hb<{699vJyD uX!I=,: \[E (`q )l+@;X 8;$U0 רkp|в4><ׂ%tI~O0_;䑒b$@C;7\. ɢ#]Ya|Ǜ+=J=Afdk%9^ۧWj*eK}zhޅ!Z ]tk=f3র- KP# MSȭ09L̼]n>j%LX4䳭w]CVtvyi>_b`hU]oݽ^Ut6f(<37$>}\Ѷ϶ URqa{==<9uoå.)\nD觤 K'v|iQLAIu9ttnՔZl*CQÍ-t~&(G(j{lRr"%k^?c.!=yc/"l{55{6a &w:GKpDzA1x!XHaC5)  ٥5Q!m\ormendstream endobj 208 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3627 >> stream xW TS=1sTj<&y8*֡J'DA BBD II00T+b^ZVkXV_['++Y98XvL Ј5p<}n Ꚍ; )]q`h^h򅢥NN΢uabyH_O,S?4 D[PD|x~a5 E1!`nqX->,r+D"[\aQ \&=,o2kbSTt_aq`PPI҅b&E&܉ƒp$Ob=EWb#L,#%nvb2'&1cDX;ƅrY-^e}Eڒ_Q3W/`5᳉^6mb'͝ta~lޮwwDʖcmJ0NAVC(pȞ߉"/\.޿CƓJ,ݺ Y8 Ś>9&1Qh _AYQ/.p5AJix'$;[i-!D% _oxfgP h.[=m[c&EBv `z. xMIjx:eu5V($x{w~0Pg/Bߟ$'~ X_^m{u[]+UBW7^=mh. 4ZTDњ}cSX??7£$;7xԧ+i0hFwCW`"-D6.3\UGů̺wfeP)E' Q2t` p -{)+y8Us̽(0+2OPCR@NIIϐTKrC0G{jfIkZoJorhA1Բ90[ IU&7 HSɣRV s srTF1uQ5AyJd9닡jiy+:6 ҋ* \|ZQyn1h;m(}d*K=uM\IۑBU2FxeZfPEW8,1|TwˆJjޓY0]p :G1WkԸn %SMJ˔Lj#BK @_ AT'a u7ĴSpjWмBk1%GЛ1$MbdT2j.ڄUBU{*&Z`ѭP@4EUuyeh:P\ԬLd Vՠ.;2H֨33ۑo՟eWYpĐc+vhJ" 骴,9. kZIWx=hJMaB8TPƙrXX՝=7>[^+Ba=P !')+Yz..xN8ȞNVa (cQf㔎[n(t_CPP%R ^AApT\H,f^@-URu7G#=Toxɯ%<fl u A^+hXRO|F0ܧE\Q0\1AݭǏf'Ub,uo`֫S1)ʌV?KW oXF2؈@#K;Dn{ح W; 4Mc*RAY`m46ޞP'Kerbju_,-p,ˎ҂3&\ud 67K?ɠ-?nw|mGTQF Q/β3^<58P |]Tuuwmt!ݺ g줻,߈Y%/EȆwٙp >=+@}oȅDHI3I"%{eejYJuԫ),¿vd)#N,h^OI:uU3PgLdg1tc!LMC#V(ӈS={kppkD_0D(.UBAV4&)MWP|d}i9N 4Qz76_}"D1NjְXWS=&!A@jQV['(.ONi6y Mpr9|E{S˭)2L1rNC%aPu/KvX 5c%-߿4~ w(V~NKI,N ^E+VnVX\V6p;Y޺d>WwЋ/Lޗ(\m> stream x}ɒ qݽLj ]}9Pf"E4R"@М @ o?poRuV.>/Ϳ8oo߅_~ν廒[Zy] ~wVR{%7\4^c^smͷjռN%TN׷NEk;O<ͽ|?y^ȗ/}ӏɽ^BywŧV#-,po}O;ҋKozpEݗ1{R/n?]OY.qI%;W^P\~壧KC}U~Zzk-|w_-[[o/9~y5/~a/OO??WO??v?f~~}Gh>u~O /6/yԿoXB9)$0HO<eyv鿭w칼%\/!a%Bz᫗z5y4ɘAzwxB,BzF">zU)/uҴ\s(p(KJ-䷪݇%wdX^z%҂RWir5 B|%|z>(Ŗ߰x~5C|~SU)վ+{h \>v)n_[^w~5>-~d}q<'vr9[mve>tQ~ɕWJ BWW`ɺ.ћ褍.":䄄Wvm7?.oDgm7PnEfrCH1 )RlP|5[H/pYM*>$mHHYI#I6Ե񲀤s T4g%RnzVm][DD[$țld<$K$㩼M<65!S֠dj`O R"K/,R'׆r]l?J4Kjc3\R<}vz'_}-7v $^*G{M[S.o{5Z=Chh,'~7.Fxpے~y)8,=990rN[3BƋB:qF`Gxu b/ mmx2ؐj{o|a^YJSS9ՌDʐ}zrwޫ9"KKBNvMqv"Y.Xh֤S6B _.Ѧ2]Ԋ‘k)}tS\.91 z pQ7|RB` Zf;iC\I9o/"Qw04^bLUiWimQjU[CqSeB’!}ȌwAn+`-H1OYnHtEO">Iq0`Mnl|,m'oۇ$GJs/^ 1UXl`ƏEd K9yΐȨ}8w!Mب-6?ݲKI{ՌAE6.@c+4O3T U};>~X _9d,n5 tsVh(lǀ4Hܞ#$? g]4ݏK<)gTDxzd% `Xn%(mϒ[w4w^@su`A &^2Shb׃kQ# G\I ~zMNCO-9cl%Ee8`j"L=l*=2Hr-b߽-:C#5xMk5вuPRR+X\ NÔ2}2%1l$5*0ߕFARگNDR ! $KbhK1 mc'd܍^k<v/4W֤ 䔐rZF$yW\= 5M3LQ{_(JSBR ^HDA+rd@{L$NT%J@j ZF4*}-MϩoXF &4\bJb(%`Jsn%%$M5 Il `LƈQzF+ɤyHWP%/!L5\sX˛DAfE'?E*#X:Ww;$tni { G"CH"^&,[?I H(aIR%cF{)u-K؟ C:rFFG)O_ Hǜg Sy * 3rv2z@"RKZH?+תƅF/؂@i#''` Z06)rb %>Eu! TlnV-u5)Dwx=PIlpEU P/K5/;̀Srz˓2i^n>bhT/h=L `ox8!q5(K˟N~h!tu,4q" AR1lD!qwlE]A  p|Qx\ߖ!f+ZHa^8jQ;!Z vQCAB|y E$whfRMܩ g H=8SL^ NRj"vDEQQ[ᖒ΂ҀJ"}gJJK˟0F[,!ۣq8] Ո [XBOLauP` ɒN\$=$iʡd%) (;!&d^랮 ٴZrC0EQ_c{YO Y΀Uފr#ҍ|YE{Gy Rߏ~hBo|NJྃ@rLjW[WuVAQJ?&8Uah@_DAR&%z)m x8Zԡ=(|dpFe 4_ \CL3%Ky-;w)TVM b 1;˞`wTo tfßܛVM.0[Hql,%MTXgƅQ}zkIY($/px&zEM_IB܂Er]{MLי2kLm4NjI;[K* Obr-Ec`(rnҗ86#Hj Z'6Cd:.8!zb73#uW  Xb mA.VQQ*5,@ꏐhy&8(:6 ki̓i=Ƌ#z ڎ}Q܃ %,q}vP(ƉBWBfp!pih\؃4[$,N6#5~O ~[ ZQ$Ц WP?xM۷ y#D Zk&"٬(0b7*24𑥋J kGew N.D:78AQ&H O*#;Άj|2ƪHhʭ vӁZ`qqnp ٵ^M1 X\VHH /v ֪ ]SY$^bg3q&AЯ}8ZuSҊ?1 Q)y =]ѓue[l/~I_WB6ġW$ॿ+:; nNJ Ae,6$z/9&u:J "4 xBI6Ec$Jͦ61FbXd(g٦L"nUR8WҊj J *Y\mi]kAB^ʼn2EN-D9;mAIPIR<{yZaBhQ}/U{I$\:;# San.i(Ez'g -aB(A 6"8|2j h+ &Š 1Uo:A͂{A?*NdnwuH~ K oM1$X=XwB,M!CP1 jjrwTo?ꋴFZ;7rnmH,d($cl1x-٨Q[F[`13T# kaڣDZOVOЖ[ՙ8іH}R @7JY9~ْ5`}` # Is&à6:?PkcgVJ8hbJvMӌEU G ;tʺ^C #2B4[v>Euq*MunCQ~nhQőmeE״vrz`nu`!P@U4[>ٳ&4\F EA;J,⏪h"z-Z3;">W@RG{3>0x4"0QIEh7景ܺ~ҁmQytHL>@&/k&p pj ڻ"dcUpDo%lćK.El7J z',|`yvqkliX'RjI䂣\h^\{7 o\@4t9arJ4Ê+ tk!$z_`=WwH7ç JqmH%()QR]QTiSzkDŽޔb-3 mLyKs"`e%;mH:Ud 뱷(ȏxrh)2JSNJtī־3.R=@˗NNCjhT݇3Eɣ޻+42Xh \=BLyEMa?@b6iF"U:R`ieU)g͘J"N/i@ 4!%=,:f|%cwtBGmK׬ɄtO`hZOŅD2sǝiR8v9%CqC ؏ReY}e~mY ]YnEI<.M!Ug'枪!6hAn-`r=a"5mLB}myh9\4.e/6)gۻb[t4UtM&Y"KWM.Xq`cשu<] 籾Dlj6*E&\`:*^kb]x[1y=h-6$ ֩*NJYEII!P֬z^:hIUF uSSM8e,ɌUhԵk Eng|G 'aՍ %!?Q{e'[ J$c@*T|Uiq-eA2 3l")@̑y@j*$@bgMmJ5@M׆%+"-G#3DY ed'0&NrE'(=- Eg&ŒQJ&W1#fu{U⧀q^n[<sF[Ҍ}P9SC0ȧ;Q!^**ܕED+HJ`>/IA[I&IàI.m&MBd|@.@|kΤp&^;"m_> af,Q a9rF𙰽HqV<DP(%u ۺ=&2\eWAlـł࿁igX?[!L!IM7H9J,1IMfڰIT wlyr|K| ]v"am&J@79f#,x5ݩb vw:h B^مbw|B4z iX%,Jΐ[` x(@ |>߂(S)`s MadũlGάh'e YՙbhЊQx!T33 zja<ಆHśc|d4k`#!GƔYG;55Gl c㐦gBQBmۇ4з1xЊm,fU{a*axy# y. >?Zcl;|rfët$nPb0"V ȭC;F%ҤnmY֜b 1s^>bEAZqQSTxDG ,ys G~?;V "trWs&FqHUc:CgOdo:dr'#̏  _3v\n1Ŧ9~3QӃ(SGj4*I?ۧ*g7V^^>:3ݓ|hSVh>^:WmGPdFjf Bta&Ϲ\YV.3CiX,gzIֻ֦<}g+Ћj/d̃Τ U&4\ 7vA2JAe|5=kJWA+KNw9I0]pU9vA1D -jڔb9bL, C3ѢTCB%Ojea`qY=fƉu\ՙ8M됷0q2Rn L{gT8k?/`]d*)`΁:@jDjT'kξ쥖d4!nDXz%k(zQ*;D]W|ĠH< ,6B3ܽThfAL8 Wa^>0j;:DyjHN uIʋZNԥDŢy0~V$ҦS>;,nT2Lji<<ȞgB‘8SZAD*`3_X7%\h8? %]`35KZz7\#(Mi5JÀ`L'"aScJ$17 Y 969B1Er4& -.::9' Q{9j}9pi#(LPvpw>f,K$EC*D v"KNmaK\sp(.\VT }"@.PN\:o3fj2v-8|A-i`b!vg5 MuJAܧ ` 4լ@Kvg瘁~>׀U 3smpZ>YN93>OO.CPhqO2filBkϹ h~>\4m4.lL>뇃 hk }lo|* L"C[3jg :~QfU_4}PoP *:9M9H 10mb4 BN͟Q12mhagJԉ27.Ygy _g̞;y"trV`Ip%5s~ZeB)-H+2'jGT[t)ȑX Voq0Z~F<l"Gh|BgX`Jx *_:o+-L*6jxO`qjނ]R8д 풊EFP>˩0J! M(kAU6nm V!-uh2Fh)>og̉}nB=,L¹9#qI`W5$Xuz9Hk(X1<5=PrڟI n~}&yV'U9xSgώn'K'K4n9hV )hQ?@gNAWXU)2d{=Sz' ]}Y,0#49H.P/$G5\Esqp/TLYw8~@ȕcZ3#6oɫ3, YC&Pc8ӎxfXQx/|G*O4\ڧ~%E̡^nb1Rs6/Lt.xa#@TPQ_E)v^ܝEbZ! 7&)Dϱ}bĝ ZS~$;@aOLkeTTG*C\cV˹G"Q+ideP.LU=)2_m]Θ2J+26`3_G!V}<3kxth6@MQ?4Ƒ)R c+jʄKA~k' EFc6պaSU6 -4jeߝ,[=l|1]ǨG`ʭQpp\p_ ̇f0\C <p=CIEe27kR=G)j6gCS& *KOSex1)u {DP&d v6Kh2F5Y/1Te6b䱴YIfYR:x}Bb֝rj> WB5c8-z:9V8[!8,8;zaB_4t+ns"޾x;R5Q#k0ԒZ:+)8^"‡6"WT:Y=|&B2{y$y΀+в}"狌v݄8ܽA^EZE{F{(\n+=b7u$6Z:,<%n4ZLM;e۩@}qtd!g,P:IcLLIB87r;7 '1kI?bhA g gcr]#~ÛJؽI>EYC9p0:}PNNŨ &8i"QNa^N=S<盔(ei $'vo?z! w+Psy%2U<$/ZՌÎxL==S,-%29zR8},cF'ɒO9iC IUj'cMĐf;LD+b 0TG=k,RoM(ua<,fώ>86.cGɶ py|hhsz1Zp T͡ /v@ݽEar&N\mNa4Y-ȭB8m`N%u4V}歳XD}ON20k dA!>γ{D1\d36=^Kk_1B_U%^кͳƉ(Kz[Gc2cι1C{θ1Zz^Ir7dy7,:%RYkC6ȯk罜m7C6Zk ڻc2Rٻ֣rr1T( Ng^2`jP3c眺Fm0[nlaO;%ΕPYV^1T/uT5}nMxv5ēuͧg\ԻuXt%k֛G+*)I~Iy(XfiAcϙ0Fs>&#enY5{86ّafpK32a <+ m`?s.V&)(4u,PEN* CW'5K%m#}0GB~gh41:ypnn94PS Ea=ַF r^ c2 >JL9|3PT@MLԚ:b\m3^*RZ@sZ.:Y_s,VLv8CsŒqCsm:s)&tdSDΛb)GKtN\?Kfe bƘ /6&bn:]p30 t4>Vfvs%{C& h > iC8ώa>7>aS`f G~,m n+V˹ LƀQ j{5f)0[IA]~7:uw7Ǹ۠/4I kf")zm|1NsUa'yʚF: dF8jF5[Khuc7Z&ت=48/yuBOˠF, g$~A`CIVד~-pf'"e!2A=F*9E#an8Qe1#oL"(E;?/w˲SMηl*R22Zo!l.Ƙ[dL;r&OJx+s>uRVjZ,.ˏcw{-P3X@!r>x]"t phkdgMB>1gơK-ټ7좴2. =I }U^mmF͎9%&3TӆXL/;t723Ϙp201G.@dZN~1`$].mAK*f̿c+6wgSU1^OمBԇ1=IL T'j.$bz ;HL=*ݞFY{'N:Q0@Enz:<ה$q֋> E1,'9\@?pK{(V +-& qX6$z˜`5 ݁R=!4#̊ubZQ儢-kT=6^.3Cv0>~txysKQQI -ǔcBٟvԏXdS:_EEF#jB|[#N4Y91r| ˱R`wD0?S=klFΌ&L]QiR>:җuSjeD=9>iMolCrg;5{jȰǧjf8@Hk, J:Y1E%T:\H[:j0lc# [)Igt'NN5j0ʳ o](^VZ;DžlX<䒶R h&MF" >y.I:F`TVIU>&-'YȦ4Q5I;Z87ܶq5Dqn$dW[{cF@HY(dI>M_>`R"K_Gw&6|"D.D:FESxԳE-_hqqT=8輠̯)EDZO0Ub\/ /ޙg+Ѫ}]!-B l>Wgo}ǹre >ݜ\n;Iy-4څʲ]{7G/ɿuNYDH')/䕊k+SԳHןz#"_!?Sa~)6QLUJ\ymOkL>'|`( {y+*9z[~4?CX^ISqG MB*)ܿY3oH0i14ͻϴϴO?ߘQ&H4t-;*Y)ڻ,mhaHrO??il:)m]Oy߮j3/IM$#6'm(eŢ>PA Gy@_.8zC@";٣6\%~:~;f`/Uy 0`3d3rh?QeN $)قjƎ 8}bxpW"7S>C4]Ns vu^;xQnWm/H#fAF X} 7x|\Xk.\[3Bh24wri~7p w|2p;w /su;7U\V(/NXn^FTMĩC r,A 3-˕tA[XXαÎ׏ 򌗮a;8kav-{Z9r+(hȧOoDWD14AQNھն-(_䅖w )L۱п??PV'_˿]"E{XgeyՍ@7S.w)#qէ|}ڽﯚuͯNQ_sĥk\z.OD6UK/Byħ/ח>-R.9]\7_n<i rd럜?~mg>-Ba˷(K~V"k1d 4d g[ux`.V?/^%IEw7g<\O`%~!??nNbjμ[b*< |o;Q}\8A9y 2=7rI~!C.b?ZHG$_56k2/#6ք&\su}5\WsG^kN=0.{±~ /"QK,?_Gq@]H,{HWgů\gu$F{W%Uҏl#jx[<˵ZoaFl߮b$ZنOSIcOJ$Lve%2^ACGZh%^5Z=>TWxr Y6| s/x;/5s/7d dl]K+F=(>#] (^endstream endobj 210 0 obj << /Filter /FlateDecode /Length 2417 >> stream xYYo~_10l`v>' ؂lÁ%A"R%)|5}լF45_W]|;JFIŠMAo0Ay%/)5~x6$q Ja4PU(g@[ [Ϲq^*(cJɛ(OLRq:0S[VvP#sr1~u4ck?ըPJi7] ϧl} LJR1:dO6[@Lg4x5FC0#):ohҤ_bwɮ^%ؔ~̣.3p"xE_W(Ta٭XyPu/+bɞ`鿨J}ڨQJ~јsz4F4ZXƺz΂aWxUS'{ԞT׍zV쫱~߯xGǀg9ֽne~%}._k ݊fmQ *k/}ܨWdU?ct&k~eۭwNȾ>~(9/KIN02 m El**h G5^ f1mV-"5$ƠfX'j_' N8};hcJVqJ$9x!%k[X&jjgYPLdAUΌM1ύ*I7IPe7Vhjэ4J8kkYQEوr98&(܁bph̹(كuJQYqA+]FƐ) sP Q"qGM25Cl;dTR@jYѸP(@1d@G!BjKIy Q90\}QƘQhep`6a[؆Pj[s i^$t[5m i$H'R}-g1` (t6U9 TDᨪEGqruYRC89[' 2@Wu'm~c)a4 8zw&g!'WwA pWiJ_U=]MLyBN1t5|!N68%xwo}GuMnIKע7K>N$N`3S<֖~|rA?I}^ֵ΀HG;qE nh2IXUfSe)0`un*st_(Gż0); fφje0;9CgFA R[z Jc I\B.Cq硛m157[{5% blW"ape젌LWړ`1Tb&KɦsT4=)Q&:^bBK>ܥy:qkv,(su F,!__gI=!tJ8s*q%R0a@^56. =ْ֋|2ɳ¬\ߏyz^xM%\C,y_,Clf6;^%(dc2\8ݽyx]MzHK bZk'`;m,<ɇI(E4O$=HŀƊ%v`8npendstream endobj 211 0 obj << /BitsPerComponent 8 /ColorSpace 156 0 R /Filter /FlateDecode /Height 600 /Subtype /Image /Width 600 /Length 17868 >> stream x$Uu{ "D! kf^t3 i6Q7EmDcL ٸ2qFb)h6#G ʢAv ^qS=?[UUoQ]USsnD"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$D"Q7VUquڢ-]@xlQZVW-^[}߻8hjK[O;-\]W~Gq-ZZ$QGsF捻?anآ5&=b%;*Ƈv[Upjw_m!\ڼ'{D/|}ju{}CҠ W*z6+Q W6$\ڐp%*Ec[zΪ]!\m1O9$\m WVqUyjk}+21S6A;#\Tl\DD5=p%JԆLp%_M!jho WBMM WB• Uj}mq\Dh xAvUђ|msT)Xի̛p.*IʽUR6Qp#iLF.A+ضVPSo+LrSGo"We[{]ZAUJOªsUj5}֏O'V'j5"cTiҟA4IEc\p jk+{DMyD34?D̋XsHZI!=Ε 3HZIqR6hyͶ3pa?J ք LW:lZp%J|g\Re\ѻv\UKZuH_Gu={%)U&serp+Q^@aU>نAj %\%36nV[gQB3ZVZ)FˢYBVZ[e*5J)VZ^ 2k%\rD[+f:|3ʀeXW-?ثm\|X0qʉK'\/s_xXt`)߂q:\a3ƞ D~4j"W5%\uJ5m>VqhygLph`e+-Fbk%&kƭK9kJ>{F`bs\;#\uL:%_mT&Ѓd#W:Cr.HeuR<'|AXpP WQNUvYy@nm"i&ޓd|Ĥ[(N<5"NpEM!Sυ vJ6IU'U6 jr'%C3}qժYYҚb1l>T#g#\a"0 ^M?Q?fsz9qVm\*(Fj/xWoLTوgx0(sP5N^\bN:hCA+tIFCQ f{#Wc)hnB*sIVuKZ&\W(JcSPȌG1s ̕p1M:\v+x` Nv =zRfEdo yVk";3q嬓K`(Ïc/3nDq+|GjU=8 r9,G<ǃax{pG|EjlŞ#?|ifC +`QKZ$(M\i8dsP!h1 fH *=rޣ)f8+V65cH*.lfkAj *֩!W9Q$jWHeOaGަ%v" tqFYr~Eղn&r>J{[C?ʮRE`sXՒ(R<<؂ cb2CZ%I9vV)`#\uO-+gV(Dm+;+l{Β{0tC7P/$\uT˖*;4,(۵f=sJ);qU WROso8)28L8vSזd`252QV)L}yxQ+ZsEДr TڻE[Z%ڳmMI"a3濔]ر,yXAb)= wGh:1{_ݲI{bm{.Ʌ)W' r0?j+jKaI(^:؝Mi+yEgQz.n5%jkTdc9i 38]W {cn~ˆٰp5*~&\Q4!؟uܗ4r żQ9|ko3i j4v%^"SqJLu ɲnR)L妩+jVՂ4xر+TY<.~T>,\-f*Ibӛ8kuF6!=`&\\!%\-JYs4at'jĕ$WҔl$t6s%\-V)ᰂʋyHscZzAZK՗x7uB v8& `ќ05]^Z,8 8~M({#V +;Ω: WD߆0T!4![Tq t'2] E8Q]9el󝺕p5M35?( `PCdGG2LBbmm[1=+;hUo%# +CUr Ђv#f1 r e'p80M~Uj*gNʾ a\qhbQ !!o"#i~$tb1"@Jm W11KYbGgmLЁ:LL*&l WSo]8*Hi3e-r9$JtFC3@F9紭ʦmyApE{M:\in9\Ѕ+ĊS،zjpB2 :6EԁY4Qƽt*NpK[!0DNT"HcFQG'*yDZ$!Kϲ/,\Kd~Mőgn{B=]z+h{w:[?!MR\N$2g>bUBRrrw0-]jcB tsT!Ĭ‰`Q>WUMg!QjO9 Q +bqşUA ~0f0*L=E*s9IjOc\]d׉+!t5 Z0Qw)ή{=W*\uUy*?1[tHG0>rRq#.(,ConVlw2kZzW\4yJdڙi B@<j#ŵGڼAi~l񨣻^e#o*W ]%fyc^a7"PG*Nkrb 8h#%C& `0\1̚1\Lprʖ!+6߃Ufp5_>DQ.qDyzg64QGjx6?fADL4&&=DűcB}9j*tyıx/M6s2P^ hb`1aKa!d֠ 2\%|KwiUr.Ugy*GCJ*b[ԅtÁa@@BJ15P @nxr\VF{\}WIsx~̇hr[l\sţ)ƣ0Np]n"?W0(b|ڥrЌE:c_f)fjos xzZ +s\ Dxtc^D*X Q+ 0Y3Ef HG\]6<+R+5+W^U:uui*\w ؼ:I)W ;)+" C4Sl`R|hz.qUGruħiE*vx|i|+c "|=\Cl0*kbL h$$.4rE6YY^%ջ^:W =@+Fxv 0rC& # `VdclFOɍ6ZE7$ڎʭ:\=t~oG/yثUE,#D-B x$YBgusǾ9<1\mldI!yAWJ7qzte#nFTKnx4bOɜ}XKj z}_*s$(ץ{6Js v[9C1lo?+a}bi_ΞX.1fv-(٢\e9*㊜t;g˪K"e0[hYz0 FcI0|!x솪6Bt3|w< \vw/ߪ|jCfW=Is଻̣ʶW6NrŹyJZxd Poccsccos\4N"X8k)AȖzB" j}؃g>f{0OuΟ~NUG?*7I[l_AKq 6 <3uڮ5CW 9rE8?D*ЕAhi,+E'<<'!\Iڒ1Gi9<CD!JaF0ʰ54jڮԹ=lGXSxsndDɧ񚍫96W77ݣ0 q1suN|zco Ev\,v| ǖHcn f ܽf|u36R4dW2[93FW$ S 8X=ח9~Ipʋ\)Տ:w]P,W\~gQBCfS/0>+52։L-ݍƗRN$N)TN>^':z{6?Fرy}ICοSl ^aj)0rf G9q7}aPn)u4qGQQ!(Ŝŧ~fZ| zdZA=giV>q}zbC7qy}2(h4ѵq\t<$7Z:- p=r%tdR7;ʊ9 *Y=!Tr*;ZcᰏӉQ67Lonl! lB`Px:WS6\wc"H?T<u6m![!"k3;WqIqa `"c]2%\i_0r55W]L]TSO.&z`j69 0"z;avCMmqpj?1V^8@kۋZ ,5Y:ל"WK`bnk+NGm3 YБD67 /}4F@,<7c0 RmYY _@2ΤˆуŐ,WP5e|bq 5N,:oeZ聛 }}Z=8*8}Pn)l3ܜ2{kSҭ$bͧyq58qr\!lmЕB'~04)`^g0 nr"n".}VqJ*>%t_W\xρ/v)w[Epv C, x`FTo 1@Olw}Ğ6W@(\FZy&~y'{ _5qAUokJyU& =!I\q\G4 >bscch`Mm7 2DO siCh tDQ0b:.A-ޗ|$yUR>M\sBx!@"p&!!*11Ql'g\k C`@lνPKq / KdsE n{ (f@7t!0,\ &'O*+Oa(:70(SCU }|yX܉\ՀY Wo9 ?mUB @XzR!fD2\Y$dc`gbFNK1 ڢ k05(Rӿ<^ y,;W/i֙[8hE@ՠY8< ygH &n0+/ZwWDȭhڅ&N_nNjqߞseQ r5WvU<r1'dr3 }0!X} ⿃&QmdճU΄Rpuw#W:{(xyR)0)JF!ƛ !}8ё&pAճq7:J8;ī-IL~Y#c1~w-3W/9̫]*U. /hQ{QE(945C  #Qy00;룩8Qd,QnHslQs!W[՚y/^_:`J%2.W'{yNrt' G1sE0 E`sPl`<Ȍk6xo*p8&v6fԳ\Q3qu齣_WWc+:b=CSC0QEVą1xDc ۠aszc9HbO;'  MB)/4A$h p !#c nf71k47=bj~Gq@s4M*ܒ_43W{=m蘧yeJ;hF. 0*H!dؚZtC[XO (P1oUGr}}1?Wh[~og[b%MzUůN|b"uKH}lqlMՐc xA{>Hꃊ@T \tY߽kv6C ogZ-y}rJX5CS6&-ᵻl Qz"4 58!Fw^@vcv:!ea>*W| ywCT47T8*ytI0έx 6V~}fYl6amGj I(¥.;e iq TR ¸H2 :xC+0 o kt(Q@bd"s?̎| \Ȫ/>d}"piapJc…REޱ..\CyclLce310:wb3)^OY=+$ ^^֏l3ۮJ]hމ)a*S>m(t07)6QA V b.B̉xA5A3"7U}evP}:rcd K2WdMJ$0 OgpxWn0U4 vOLE w0<蝡icPg9\ĕIДFʭ38 W~ q#+c) }8 !- l)~qmR*H1WpП|W{8ﱗeҔ )٤uԋ4-8a6 l$3@twImp*gM9K\%tGuDq`ioA?<b1,p L;$ä 'R>6M֢PeTh+mWcgͦY؝* Npi£Žv1aZaÐB$}W PPG(Oe&EQ؊FAt:صkUjfz<s5r[W ]^Ds>jp`  aS: b2 U8 M`ֿ%EE|ye0E.dF Sp۲9D<%U@ =wǡjDh̽D1㴀+.Z7N3^nJ_,P&/9ˑ {{r@!)*eqв}l0>C%ǹUOcw+N%^؂4OԮ kfG4|#P!h3ebt±u?cw+/d>LAl\-᪂V%.MO&:ieEhc*⎟rꊛaNG.sv-zkm2ijp/wAqUAnVPTَvIpOEvxHch#36HcDX؋nUҵv=:* _śk}/*,+0&wD65}ԗ:\r~{${ƅhZxq8xg,>l ƴ?vlV֥ө)ԹzYs󫎽h]*wxB9ڼ5)vĸJ#~udsy,cazy*_AT OXʅ0r(\}7r 9<\ %ʻ0>mgStPәt^4+-1.*?*.Lm;kz/D\%%j׊37Qhox6yWi؋'&}Ӄ{e\]-qe,`a(dX&Zy=_==Q|TkN:򍋍A(4Xn=f ܽ!ǴNãԿ( @w4597չyѷ (adwq;.;+_+9v/B8rEJqR˥{w^Eap9zOzg3c9v׸ҊгR?Y2-AVԏYpu,C~zwqnqזfI{E2XL`Ǖsr\0([Rq7|wWr=YI/:~93*Qf~,Cgsqemh>y{3>`$(5jů޼ z?>y *{-4,5H~iŰ\%̙+;zfOq3Qޣz]<1(ZA].Dmʰj6:\_TyU5uE'][ٞUrUM:\=yî9^W#M6L(ײZST#(s;rVv]K6H̋ܲ}zƫ9jM^OcWUXr_~}{Vەwxvkcw4ln2Xal!p^7{.re;k۝vuR t_^O^}Nq\mjf38׺WwJqY[~-Q?*NRr7v>/RyCafqfjkcǛz˘zЉs{`v~ˏN{)kƯHɾtH1 rXhl݅呞ep%\-f$\eJK]/"ElU~X WUױQKpUU T$᪢ʯf{׸<=Gŋ o)Z ڼʪ\b*kb: ᪺J+腫1 WsMf/r^ WzGiOj +1R'} WK)aОI*v{%\-,W:EVu WK)K*uTW]1'\-R qR}'UM W:CW]auOwK'Kg1g.:mc eN{-Pk-آk{˄Aj%\ڐp%jC-_nZܱE ڐp%jC• -7T~n:}O+=6zm3\Z[ WvN}пJZ OQLojpV *v-F>o<䙍fzW;E5~F]M^yIpDw {sMϞz6{5tajTaKz '7"~[8դKj\?r6$yG3k+ڎ㠧MN?wn|Î5ˤSe W j^zƪS%msD"H$D"H$D"H$D"H$D"H$D"H$D"H$D"H$mN߆7=!J-h%T՛^Zy@'$Z so;.D~r箷=b^ɧy<;d({}?#O_7-2z'ɛ1ovˏ6~ߎFqɟ.('݇y^?j_{ڻm?|q;ow>s- *WpG]޿az+/_pd路OpAW7p7w{_XW- *} o;q]5׳~$ίrm|#NGNbh?}3͟ʟO;VBO9+1zN VLNWVkD+^R$D"H$D"H$D"H$D"H$D"H$D"H$?zendstream endobj 212 0 obj << /Filter /FlateDecode /Length 1383 >> stream xWrF  *rթēS*,/eIcK}9$hd\:âw\og}z!rqcBq}I |2$9vlː#%G;IBV 8Gthh1R*J^Prjhr!fV>+Y}FBgizz/w@Ӌm͟ݜl|8r9xD0ads P87T)L#BoWM17kl^Uű9kg!CC6M!ÉY0!5LRϙHs\7MBP_TRn5@e*XۃŴ1[2 We:>Ȁ< 욽B>crՍ!1@ ƃ pS}բ lp)Ibdnd^NJ L{|<#N5gP(}AZj3-Afv.6HZ&".#"MI |MĂ֊P8e*ys:!9PdVn9Mʑh}PZ `Υp2WUǏ1fAW%Qe,L 5y( 1O"e}!&p͏ HNJ޲Q 0d5cS ;$|ǐԛ7޶ia]%o'S𹝠IdYo/Ksqe pݘTňcPB+BLy#8Y۸eo>lR`x+a]9Y%١* ՜|tcuDv0颛?gRIte^\>6:x1wS(*&/-j a^ {\Yry|F-Gl( hܮk()FbI+|sO)7j$!bZ_fh"QA COE}4Dqv[CÎRWP?^sS?9)aFWC/ X US:WPc7]Ss^Gu5fX+=U1k$#hmx1{(v[x$_6wB},r׃+wQQFÇZ/9wrP]NO>DŽ U6竼e?~F4[lm kMu}@]W ~5KjXTGh@k}m> OstR]47WdYLGuendstream endobj 213 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 215 /ID [<93403fb02f5762e13dde409d72c35030><2688fc6e321636ef0ce7b65b63a04de9>] >> stream xcb&F~0 $8Js?@6,(_ 3mŻ%P R D2-@$QD2^J^ *>"A&0J& RlLb`f Xl<0"WH`)6 ,>dP-,.5DM@$R-`6Drbn&} endstream endobj startxref 200380 %%EOF HSAUR3/inst/doc/Ch_meta_analysis.Rnw0000644000176200001440000003654214416236367016722 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Meta-Analysis} %%\VignetteDepends{rmeta} \setcounter{chapter}{16} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Meta-Analysis]{Meta-Analysis: Nicotine Gum and Smoking Cessation and the Efficacy of BCG Vaccine in the Treatment of Tuberculosis \label{MA}} \section{Introduction} \section{Systematic Reviews and Meta-Analysis} \section{Analysis Using \R{}} The aim in collecting the results from the randomized trials of using nicotine gum to help smokers quit was to estimate the overall \stress{odds ratio}, the odds of quitting smoking for those given the gum, divided by the odds of quitting for those not receiving the gum. Following formula (\ref{MA:barY}), we can compute the pooled odds ratio as follows: <>= data("smoking", package = "HSAUR3") odds <- function(x) (x[1] * (x[4] - x[3])) / ((x[2] - x[1]) * x[3]) weight <- function(x) ((x[2] - x[1]) * x[3]) / sum(x) W <- apply(smoking, 1, weight) Y <- apply(smoking, 1, odds) sum(W * Y) / sum(W) @ Of course, the computations are more conveniently done using the functionality provided in package \Rpackage{rmeta}. The odds ratios and corresponding confidence intervals are computed by means of the \Rcmd{meta.MH} function for fixed effects meta-analysis as shown here <>= library("rmeta") smokingOR <- meta.MH(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking)) @ and the results can be inspected via a \Rcmd{summary} method -- see Figure~\ref{MA-smoking-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{smokingOR}. \label{MA-smoking-summary}} \SchunkLabel <>= summary(smokingOR) @ \SchunkRaw \begin{figure} \begin{center} <>= plot(smokingOR, ylab = "") @ \caption{Forest plot of observed effect sizes and $95\%$ confidence intervals for the nicotine gum studies. \label{MA:smokingplot}} \end{center} \end{figure} We shall use both the fixed effects and random effects approaches here so that we can compare results. For the fixed effects model (see Figure~\ref{MA-smoking-summary}) the estimated overall log-odds ratio is \Sexpr{round(smokingOR$logMH, 3)} with a standard error of \Sexpr{round(smokingOR$selogMH, 3)}. This leads to an estimate of the overall odds ratio of \Sexpr{round(exp(smokingOR$logMH), 3)}, with a 95\% confidence interval as given above. For the random effects model, which is fitted by applying function \Rcmd{meta.DSL} to the \Robject{smoking} data as follows \vspace{1cm} <>= (smokingDSL <- meta.DSL(smoking[["tt"]], smoking[["tc"]], smoking[["qt"]], smoking[["qc"]], names = rownames(smoking))) @ the corresponding estimate is \Sexpr{round(exp(smokingDSL$logDSL), 3)}. Both models suggest that there is clear evidence that nicotine gum increases the odds of quitting. The random effects confidence interval is considerably wider than that from the fixed effects model; here the test of homogeneity of the studies is not significant implying that we might use the fixed effects results. But the test is not particularly powerful and it is more sensible to assume a priori that heterogeneity is present and so we use the results from the random effects model. \section{Meta-Regression} The examination of heterogeneity of the effect sizes from the studies in a meta-analysis begins with the formal test for its presence, although in most meta-analyses such heterogeneity can almost be assumed to be present. There will be many possible sources of such heterogeneity and estimating how these various factors affect the observed effect sizes in the studies chosen is often of considerable interest and importance, indeed usually more important than the relatively simplistic use of meta-analysis to determine a single summary estimate of overall effect size. We can illustrate the process using the BCG vaccine data. We first find the estimate of the overall effect size from applying the fixed effects and the random effects models described previously: <>= data("BCG", package = "HSAUR3") BCG_OR <- meta.MH(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) BCG_DSL <- meta.DSL(BCG[["BCGVacc"]], BCG[["NoVacc"]], BCG[["BCGTB"]], BCG[["NoVaccTB"]], names = BCG$Study) @ The results are inspected using the \Rcmd{summary} method as shown in Figures~\ref{MA-BCGOR-summary} and \ref{MA-BCGDSL-summary}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_OR}. \label{MA-BCGOR-summary}} \SchunkLabel <>= summary(BCG_OR) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_DSL}. \label{MA-BCGDSL-summary}} \SchunkLabel <>= summary(BCG_DSL) @ \SchunkRaw To assess how the two covariates, latitude and year, relate to the observed effect sizes we shall use multiple linear regression but will weight each observation by $W_i = (\hat{\sigma}^2 + V_i^2)^{-1}, i = 1, \dots, 13$, where $\hat{\sigma}^2$ is the estimated between-study variance and $V_i^2$ is the estimated variance from the $i$th study. The required \R{} code to fit the linear model via weighted least squares is: \index{Meta-Analysis!weighted least squares regression} <>= studyweights <- 1 / (BCG_DSL$tau2 + BCG_DSL$selogs^2) y <- BCG_DSL$logs BCG_mod <- lm(y ~ Latitude + Year, data = BCG, weights = studyweights) @ and the results of the \Rcmd{summary} method are shown in Figure~\ref{MA-mod-summary}. There is some evidence that latitude is associated with observed effect size, the log-odds ratio becoming increasingly negative as latitude increases, as we can see from a scatterplot of the two variables with the added weighted regression fit seen in Figure~\ref{MA-BCG}. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{BCG\_mod}. \label{MA-mod-summary}} \SchunkLabel <>= summary(BCG_mod) @ \SchunkRaw \begin{figure} \begin{center} <>= plot(y ~ Latitude, data = BCG, ylab = "Estimated log-OR") abline(lm(y ~ Latitude, data = BCG, weights = studyweights)) @ \caption{Plot of observed effect size for the \Robject{BCG} vaccine data against latitude, with a weighted least squares regression fit shown in addition. \label{MA-BCG}} \end{center} \end{figure} \section{Publication Bias} \begin{figure} \begin{center} <>= set.seed(290875) sigma <- seq(from = 1/10, to = 1, length.out = 35) y <- rnorm(35) * sigma gr <- (y > -0.5) layout(matrix(1:2, ncol = 1)) plot(y, 1/sigma, xlab = "Effect size", ylab = "1 / standard error") plot(y[gr], 1/(sigma[gr]), xlim = range(y), xlab = "Effect size", ylab = "1 / standard error") @ \caption{Example funnel plots from simulated data. The asymmetry in the lower plot is a hint that a publication bias might be a problem. \label{MA-funnel}} \end{center} \end{figure} We can construct a funnel plot for the nicotine gum data using the \R{} code depicted with Figure~\ref{MA:funnel}. There does not appear to be any strong evidence of publication bias here. \begin{figure} \begin{center} <>= funnelplot(smokingDSL$logs, smokingDSL$selogs, summ = smokingDSL$logDSL, xlim = c(-1.7, 1.7)) abline(v = 0, lty = 2) @ \caption{Funnel plot for nicotine gum data. \label{MA:funnel}} \end{center} \end{figure} \index{Meta-analysis!funnel plots|)} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_survival_analysis.Rnw0000644000176200001440000004023614416236370017634 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Survival Analysis} %%\VignetteDepends{survival,coin,partykit} \setcounter{chapter}{10} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= x <- library("survival") x <- library("coin") x <- library("partykit") @ \chapter[Survival Analysis]{Survival Analysis: \\ Glioma Treatment and \\ Breast Cancer Survival \label{SA}} \section{Introduction} \section{Survival Analysis} \section{Analysis Using \R{}} \subsection{Glioma Radioimmunotherapy} \begin{figure} \begin{center} <>= data("glioma", package = "coin") library("survival") layout(matrix(1:2, ncol = 2)) g3 <- subset(glioma, histology == "Grade3") plot(survfit(Surv(time, event) ~ group, data = g3), main = "Grade III Glioma", lty = c(2, 1), ylab = "Probability", xlab = "Survival Time in Month", legend.text = c("Control", "Treated"), legend.bty = "n") g4 <- subset(glioma, histology == "GBM") plot(survfit(Surv(time, event) ~ group, data = g4), main = "Grade IV Glioma", ylab = "Probability", lty = c(2, 1), xlab = "Survival Time in Month", xlim = c(0, max(glioma$time) * 1.05)) @ \caption{Survival times comparing treated and control patients. \label{SA-glioma-plot}} \end{center} \end{figure} Figure~\ref{SA-glioma-plot} leads to the impression that patients treated with the novel radioimmunotherapy survive longer, regardless of the tumor type. In order to assess if this informal finding is reliable, we may perform a log-rank test via \index{Log-rank test} <>= survdiff(Surv(time, event) ~ group, data = g3) @ which indicates that the survival times are indeed different in both groups. However, the number of patients is rather limited and so it might be dangerous to rely on asymptotic tests. As shown in \Sexpr{ch("CI")}, conditioning on the data and computing the distribution of the test statistics without additional assumptions are one alternative. The function \Rcmd{surv\_test} from package \Rpackage{coin} \citep{HSAUR:Hothorn:2006:AmStat,PKG:coin} can be used to compute an exact conditional test answering the question whether the survival times differ for grade III patients. For all possible permutations of the groups on the censored response variable, the test statistic is computed and the fraction of whose being greater than the observed statistic defines the exact $p$-value: <>= library("coin") logrank_test(Surv(time, event) ~ group, data = g3, distribution = "exact") @ which, in this case, confirms the above results. The same exercise can be performed for patients with grade IV glioma <>= logrank_test(Surv(time, event) ~ group, data = g4, distribution = "exact") @ which shows a difference as well. However, it might be more appropriate to answer the question whether the novel therapy is superior for both groups of tumors simultaneously. This can be implemented by \stress{stratifying}, or \stress{blocking}, with respect to tumor grading: <>= logrank_test(Surv(time, event) ~ group | histology, data = glioma, distribution = approximate(B = 10000)) @ Here, we need to approximate the exact conditional distribution since the exact distribution is hard to compute. The result supports the initial impression implied by Figure~\ref{SA-glioma-plot}. \subsection{Breast Cancer Survival} Before fitting a Cox model to the \Robject{GBSG2} data, we again derive a Kaplan-Meier estimate of the survival function of the data, here stratified with respect to whether a patient received hormonal therapy or not (see Figure~\ref{SA-GBSG2-plot}). \begin{figure} \begin{center} <>= data("GBSG2", package = "TH.data") plot(survfit(Surv(time, cens) ~ horTh, data = GBSG2), lty = 1:2, mark.time = FALSE, ylab = "Probability", xlab = "Survival Time in Days") legend(250, 0.2, legend = c("yes", "no"), lty = c(2, 1), title = "Hormonal Therapy", bty = "n") @ \caption{Kaplan-Meier estimates for breast cancer patients who either received hormonal therapy or not. \label{SA-GBSG2-plot}} \end{center} \end{figure} Fitting a Cox model follows roughly the same rules as shown for linear models in \Sexpr{ch("MLR")} with the exception that the response variable is again coded as a \Rclass{Surv} object. For the \Robject{GBSG2} data, the model is fitted via <>= GBSG2_coxph <- coxph(Surv(time, cens) ~ ., data = GBSG2) @ and the results as given by the \Rcmd{summary} method are given in Figure~\ref{GBSG2-coxph-summary}. Since we are especially interested in the relative risk for patients who underwent hormonal therapy, we can compute an estimate of the relative risk and a corresponding confidence interval via <>= ci <- confint(GBSG2_coxph) exp(cbind(coef(GBSG2_coxph), ci))["horThyes",] @ This result implies that patients treated with hormonal therapy had a lower risk and thus survived longer compared to women who were not treated this way. \renewcommand{\nextcaption}{\R{} output of the \Rcmd{summary} method for \Robject{GBSG2\_coxph}. \label{GBSG2-coxph-summary}} \SchunkLabel <>= summary(GBSG2_coxph) @ \SchunkRaw Model checking and model selection for proportional hazards models are complicated by the fact that easy-to-use residuals, such as those discussed in \Sexpr{ch("MLR")} for linear regression models, are not available, but several possibilities do exist. A check of the proportional hazards assumption can be done by looking at the parameter estimates $\beta_1, \dots, \beta_q$ over time. We can safely assume proportional hazards when the estimates don't vary much over time. %' The null hypothesis of constant regression coefficients can be tested, both globally as well as for each covariate, by using the \Rcmd{cox.zph} function <>= GBSG2_zph <- cox.zph(GBSG2_coxph) GBSG2_zph @ There seems to be some evidence of time-varying effects, \index{Time-varying effects} especially for age and tumor grading. A graphical representation of the estimated regression coefficient over time is shown in Figure~\ref{SA-GBSG2-zph-plot}. We refer to \cite{HSAUR:TherneauGrambsch2000} for a detailed theoretical description of these topics. \begin{figure} \begin{center} <>= plot(GBSG2_zph, var = "age") @ \caption{Estimated regression coefficient for \Robject{age} depending on time for the \Robject{GBSG2} data. \label{SA-GBSG2-zph-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:3, ncol = 3)) res <- residuals(GBSG2_coxph) plot(res ~ age, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "Martingale Residuals") abline(h = 0, lty = 3) plot(res ~ pnodes, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) plot(res ~ log(progrec), data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) @ \caption{Martingale residuals for the \Robject{GBSG2} data. \label{SA-GBSG2-mart-plot}} \end{center} \end{figure} The tree-structured regression models applied to continuous and binary responses in \Sexpr{ch("RP")} are applicable to censored responses in survival analysis as well. Such a simple prognostic model with only a few terminal nodes might be helpful for relating the risk to certain subgroups of patients. Both \Rcmd{rpart} and the \Rcmd{ctree} function from package \Rpackage{partykit} can be applied to the GBSG2 data, where the conditional trees of the latter select cutpoints based on log-rank statistics \index{Conditional tree} <>= GBSG2_ctree <- ctree(Surv(time, cens) ~ ., data = GBSG2) @ and the \Rcmd{plot} method applied to this tree produces the graphical representation in Figure~\ref{SA-GBSG2-ctree-plot}. The number of positive lymph nodes (\Robject{pnodes}) is the most important variable in the tree, corresponding to the $p$-value associated with this variable in Cox's %%'s regression; see Figure~\ref{GBSG2-coxph-summary}. Women with not more than three positive lymph nodes who have undergone hormonal therapy seem to have the best prognosis whereas a large number of positive lymph nodes and a small value of the progesterone receptor indicates a bad prognosis. \begin{figure} \begin{center} <>= plot(GBSG2_ctree) @ \caption{Conditional inference tree for the \Robject{GBSG2} data with the survival function, estimated by Kaplan-Meier, shown for every subgroup of patients identified by the tree. \label{SA-GBSG2-ctree-plot}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_missing_values.pdf0000644000176200001440000034065514416277546017133 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4670 /Filter /FlateDecode /N 100 /First 840 >> stream x\sH lMUpB[<[I<،0N$D_E-t݈%21.Q6щ>17< g&.'\ W W%8pr2i|LW!*D(cQDxv>RQD*<хbe0()D'Ji7 cU'%ڣ%.\"yb J)e1X*6tXib*cr'Nht4G dȿ2L7ŗ>P2wŚF!"8~&Njt~EfhI-tYPð#R=v:Y_lm/⯬E?̿C_~>fg#.}"(H =QMPBS멞w h4z:a/(>]"/TPi8p,^]DΟ٣ ;gOg(;Ny&=eq6^lY~3r9.-U6fM6bg2x$"w:[fl52ϳߋ6;} JaFltE1E꣒{7}χt#aЫwLW4<OW+pa::ƊE<wwG >GW͋ #kw#X t'vl]~VC;p5mqu 龍bՏOO_<}Π䇡GV,P5C bp7&ܭTԍ 2e=%uU$|+IG w|AH _<&x$M]4I:ܐJd喢irPl8Iߡb>H8J)e|YrǚNXӖt=?~qp0m:9rN9õ+ .'e[6>؂ D,Clm4io3}(F(3LS~No ~zv]&bF78U[рҽ/ }+{U(-}%) >~T]uPu tJKJw a[ {iCф׶~{]KڣF#]\`('Ďj"yy!}v-t2 Dl(]Nޝ<<~Hw -.-!`]zȎS{?~h 9KL't<չɛRN퐳)$[޿]{黋^IwSpϛx> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:26+02:00 2023-04-14T18:29:26+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 103 0 obj << /Filter /FlateDecode /Length 3845 >> stream x[KsWEJ\V$N9)?X9$$Qٙ,1N%֋ٞ~Zr-J&YWQ{1*(7˝Տ(LX{gĨ*wj6lt1~l?k=&B L|tL :EF&TvTb1p44w ``!ޔ;Xw+I^_//WAuSn}zND'y nͅ/_}Q;\:kBk=J6+& UB*C/W ;o7 CFP1btR*ec : {Q8c4nZ)Ts#޶ ‡*- _$qAN RIe\g[3zE 52J᰹P~"x~KJ8pwXb0Aw[wG\}(uO'+ac:?RXo%)F޲!;c{H/VçzʨחWU{'b 0(<<=܍NyFGh07R`5|Ɍ 5A>LD.B:$j G M(P| 09KLƭAZ_~OY=!'c頂Q#64=(RNRi".& d& GrJ8 !l%A+K!I) &Am/l!J'-(=R۪vVzf"Q*re~uEATs{?C \I^xwHE?0J i EP1lXȧgM={l2cLd@W.cO AB@lt1s!IGn-*@C! bԀG W 4|" oN9a^l{(P0>"@ "VW}Ocx#U2~i:x'b&?K5;X! p!Bљ9yǣĘRq[bwDPg @ncZ`XXG:I\I*c7EE6']qk˞xar}[v{mZR6>2ܹo81b@p(pɰt[ '8/I >&!A~\:̺î4,*ZیJ1{)'2L*Ht~LkM+^W yM)gեɢ} GSU2Y9]ȷEei0bm9BښqRJT*xC$'kCmeEMsTP{ж7y'Oz/#eNbɫ 66L0i?\V x%{ M.ֵM~]HytM6&0+Fvdk-n*K1SYl1Q# M^L>N>D.܄g4|Li/\ݼ[9iag! ;4m) (dy$6dK-&.P]a ,$IBi2js箄\^M~.0` q< *]o FmB:O5XT _V"L eϛ_T׌M]@Lv2g5s8$J{ˀ $,a>44 BáXcT5};d #S6v6dME3X,6X#Џ^#?A\#_ƕ% o)oySGR9==1:mO;hLyOi+(QsAb!sЂ8沾̘i~C rwY ;MzqP3xxNQExRktѝ06e8;2uY"ˈ'huhggP\NqDeU 8G|>ߢ )()'Æ_lP˥hzT|XŝQݜIY`D3v$[b1Ewҕ.Pv324ux2Fe5!k$gdա T73.dKx`͏l80s"Ɔ\-YK R@`|<.1ŒI*m5fh{oLd-7K2t}ûYW_f>KDYiĬMάϪђylzgHo@pevt|D?Cd~7mJ'tu@c/ח%uQ-)b4XI4b"pf8@23ujUyy78dS/&2Ƌ9NU#) xkƹK~MfDeVWxؚo ~cÚgƕxW4_8>Qse9fy'%uUU ЭQo.~J=Nl}R(1K_hT(Eb^SNZ·>9A'槏gmVKaY|>RBRWpQj(̆`a7PNV^ҧOZfcja{N1L{9f=jsi5K@yeCo 8180˳oUMlj漲7 :8y?/g";q,=e|sd[&I > stream x[Ioyss5ڗ9؈c$ (bNIQJH$_UUwtPJoעkA7+՛oWNJ>G3^=[/{;#zh|dM UڙFZ{ڋQ 1Vʿ9SN޸Ș AȆjxӬ*L=Z]ɤuf7b[Xe5˵Rl(7PޫE B=8!4=HgKPQo7[UB׍WZQ]?e`F az+]u v TJ25a'&ƣ va Zcur5 1AA'oV̻h7ODg7s;K 0 b{O %iCSGģAvҳFu_UqPܐ Ƿ?m3l]׷~sz2} =i=z(X \E>|ҭ^O7lQF@GQ=Ɩݫ믷{54 sc6+eb3h:o(׈ok7[k%Upp8! eK1lٚ2. -0X: LGY/( g%Se+_Ifd>N$C~jF,mA/C7[&"ْ0R73RI8kU|T(XL^1cc5bWL ȥ%Q`(qfuXfb%% \"棅=Z2]*lpXN+F|d}dQ^+0 L39mQ/z 1W8:kCt0?#Ŋ5,1f2)NyǽhTfWbEK2O1rhb%A'mjccb٤Ԭԝ7иDFؽdڿ+ 5{^)n[Zc4x&)4QFN拼#!|\; >vB- hdo^fiJTp;=a׳SE}I ioƻw+v#-^rE-FɼCjxMZ-H7Y5y:4A+mպ\utĔG4Pw Ejeh}U !1pUIb /jV'Y$KYIc.#y؃aptL|(]Neg:PUMjQH&&iBq;<`} (53Η,uS6!2*,Obg~F,+Q*n5V!,V ѣ)Ƚ&ͫ g. kϓ$M@m9#kaӦ`-5A nt/w)\zehφ f:$(toB/z#ЏǠy\L=w`Y6|08 :K8,Tg#ά'0Up%D4q϶|1-f7Z(M*yS}@&, @*Sآ϶vg52ea"#h&}9 x*U ()F_Μ{HT1% `i{d @PóJ.F}M`o1j\n3| NJg4%rь+a-0" Aq&H(jTe|i3Ԉ]I>I{cr4XggGLu]}UMT~ tlhX'5ֶiHMqSՔ$r_a\bʁ6N4,8E\T#c*MwhJ=zeкIJMETU {ƬC`]ËGxmHnp4xRdNpD2$GExjm ͗VSj[,@Q(^2ҌNW&m ݞ@)@Ohƾbo@t(jX9 i*D*}b 1!Loks(F̠o!.NsAx|'5=!X_PAMa!T-ı0^+1tt8yx$;[:IH-xώV Iř)0PH ?"·v ;2'+@`㖘qqKodcj|rܤ?lDXQuQMu4c/PGME 'OH!EMS2f"l3b}ˀ:Jra{1% o7S`{;1 e]2 C]Ln*GYpBRkc_sKh < K;^QlJ^zB L44e~--_M:pb KhcW=TPbuVW]D=yeۆaܶ g[qJҀڄ .,CD8*u>kڑ%nNBC*=dⲙr)a0b,VJ}^Ie3,sj eQ%u'|Tɋ22~2(|ɴ)4:>oYs#Kꎎ7l$'iY Q5}`3mkʄOKߥnS E m_ӛrm>=vwiaW,I$>Mrܰshp3BiR3Vg\!M*բT%;I{( GLMR x.Ǭe_H'/0](Dϓ$-1s$F_m|LCw!|Q1#0vRO30ng|1!rxGAy%*";2^tӁtFTblFl\z s9|?gFu;>{QIȐS<[t3tB]j әiM(,Ix\ȷ26[/ ǵv›vΝB9v;3 _.r:2r*h'QE7M*+RՇ͇y.oMRoOT*H9rfSe T1K.lS64KSу;d:M&wMX._Mbd,~*f]dM,)0K:+cc۳˼6A VJ77+9;Ϳ|x˔7hhndZ({xVdzDyq4'|/L[endstream endobj 105 0 obj << /Filter /FlateDecode /Length 5002 >> stream x\[dq s?X}%& ۰v`;3;dgz/3+"yszzdzY6Y$uX1ʍ.h 3~^nur nsw]ˋ(LxgĨzՖ le5 45>FG7*0zUq)H?!Z)kMKb )|}y1:6/2F=z bQRş۠riF p>B۝ztR ϻRq//Dp/EX[ryiKc݊߅ɝ ,@ʩlZLQF,Lk>owi"tv=rn8.*vaK{AaO(>I+n2y juc  'J3##wfNnuLk.:d6hwmo5JitJDmM;pj#_ylah/h1.CǏ*w:C>'pBǂBKKRCؙN++g$&($2$o7I9FkeąMZ u.P 닳ޤEp" B$3 R9~ y2{3JhN 8:B\-NQX cfUiN€]Ud5B3AAw,%) V\3UL'%^O4evCaQBPҮi3W&w1tsor7HKv^zgf8vO}A cDl X&%.098?mˣpӿBC0Z31 M-@{  _6?m̌ ­27 :{__:'2t9I_,ڋI- )-ƒ`P3ޥC}ahF` v fAίẇNu>ܳ# 3ؘxy$dK2wA*d{%#g 9 A&\‘-Qr^JUDV /< 70!!< Qd^?6L0bt$%h F;Υ$a#eQ$ogLjH44.D>]dnh P%6&NC!*@kqϗy [=7ϤnN H?!]xOrHT8$ !" )bi] _JR_kg΁ǖcÌEȦ7HrL9! Hg 0|Ȕd̀12moFSƔyd8t^Ŏ) [ns p%@Ӓ*0"80 +4lT,Wn m'z%&g`$aj3}YV &7HOɄQ~A $ ZU0n""9Dnq@AI IcYưgP%,ǹf5/|3+Imwv&"R;"ny<봦[2Wl E~q~jAiwYacM(B @1P );j ).A%OB_dN:'W]d|+1TA-mG!(IU0 n|\ ag(X>]-l(b͍̑a5@u}"F^=p aYhZ~i N9 s HtfAK~9M.KvN _K.9YΑQ9'Sq]̷$ %'x{5ɣ#ѻ+kzW%jdQER(xwmDjo9*>afb鮍:^%XɲO,IJAsZsizvyZ:,8.qx`s3$!CA#!)2:wO-&Z\O4Gq䑝"MLkgyxq(j/hJX+D '˱t; x;E9ZdZj]3h*ddSQV59IrpɰV=հonѵeQh-^uu >,3+7GzR} X`>rȭBvek]MO= Adsx57DN1Ӣ͠&ew:prSZ 6ܵ<V֯u?5g>Vbzvx\ YO FU]q<4*K+9Rs7k5+Dҭ<%" {Izͪ[/f֢]ϮV޹.3iɳ'%<&>wKY)lCrpFnv1r^~1߀ݻq:D戕BE<K @ ))I|N)zm,4t6TU(1?}YG!T7%PbT~B6KlA1PP@HF-'K3x~NX MKݐ'r~ʚN'v,F> QFRODUdҝYu>GTr5e/̟Pm9 Յl'Z[LlQTi[`(“gl$MTGH\XYmKŽrK":89T?ɺ]i%m1-惋Į`fH8 35du\4.760fV/U f~Tp͜[~)$%F>Xy$x!ِn"$T iпT_L MN`l+3 }=R)\؋Iq6Oa( ]aTw kalJ^eX畬}aC.@׆.mGRnh? q5M{;Pྜ } f༭`JH$X%&LA"NlujBUJ;PX1+fu ،0IajW/_|U$b]y˓,Fۗ~DN"^.>EQ+q1mVfH#ϟfLAu'U,u5")!`mg6 0zC2Z[JyxͲӀw@ԍTAowT arKYSL3۶tR*wkաIlRVD{Үt&lc^VTph(֥grDҎ] l:LL!`YG'%ck֊r)N(GF|uGuT3D \Y痦CڿjH׿]*iv^ҐNoR:&=eVx7ܧ̑%,:ŞٰUxUt]Uj.fmVK%فdlbZ0,S>$ n1'N@>-go3O \5BI s_S3vb&gkt,'ؒp;RhEޱC-Ⱥv}2u \5`ܳvȡݷp=:N(m@..,wYz-S~[z[>/ِ O7WOor,ItL>MO9H]|}%_ ]Jy4Ty^x\OKEZM֪[`_>?9YOJ|=-i>?VM (L_:ȠȇB*[<2΃#N0!5d}q2ԩTeK޿u%.e ?LJ]L)Z!> stream x[_$m!J鿴Il\`8FL8=s={<䳇UUjEQ#a3b3߻fj+'6X{y6pM\o8^IO5(kF4=4z jI*| *=2Y{m Ap QzP$lHlaI=n~q{Oߪa`ܾ!%Ъw  B i67wma"D~n%dovݿ~àowJ8@ Aw ? Zu !A׿o/¿0x@?q)/AI?~}=E/۝ WݏC]Ck>S}=>ʳ}px.Ny!\e(ȸm ><:6SC-|<#18` V19*N>h-6`п=; gn||:俻?_"]~[>8Z2w}|G }0a2Kf<ɯ@7HFb8xxOtdq<|̋Q݇OOˇ<W);ˇM^_" /η󠷷]5`_$!~v-8` Zf{]QB$^߁P80.a8T KP6 . BhN2x +pSA: ^Ie{,H8/ 8[UCŗv!XVic3[$z%s8W"<`"jW a5BT7_ܵ󚉸 Ra~Nsum_ O5t4E!P$WYYigSItluT2Uhp)JM;Y95D7SݪS>w?ЋCgKPY>.QQp\9IiAUta*!#ھX^8ԃi $-rϻjNh}/kȚ|?c||@v|O_ORT[֒. B@󈺧OekՆh5k OeN{ ;{wǑߙ71ym+[hej-9?ܭg5@B-Gj<{j3Mڑ}6ȿ_ NlO×FWFc=ѧV"FZJ}PʺI3,X`s)??!" =BpS Q02 }7O8SrRE,; ?OlI!SA |ɗ7NS& ^Wk k9 !q 3IəO<#;P#;E86 .&ѮxykߕdP|Rbm>x dָA_bJq0)!EL k!?+w3g=h4bƥ>;UZ ʬzf5m_T]D~bY )A`pq|+j1L8Gn{|9o]J;$Uc,PHR= \?|.HkFvvۜCrarVjY~~иR7 |(t rd}eI=Q8+mI3x4GV$k;23vf8@Ѿ>ɰl˭"FkazjqT1/9;_Mxbݮ(~V4bb_b_&b#\2Xv`BnipߖRAe|%-ĭ cl5pP~z']Ft猸e[ʽ/ rs..\׃6ʈ:hHG8\LOMq$q/X0?P(q|C!V?SxMk0-]%fH=--91?0?%PZ#&ނ6+1U|3#\k=Q:DQ9RGh\B-x\xNXYzD=h@1V枅6F\8ږ:F1@5t5T!ae!+?*'%nz/6X)]ldq7|.MJT<˓yҽ57cfbT*5c>+rK~dE:+|:10fܺp}%&BZ%:&޽KTUy ñ]kcrTceQ)JBx פ 6LMe2 1ynWlVJ+Z$(k օ^[[QXWTf\y +vQ0r2v*>awxi֫/bhjoXe t,}>_Zh-dkIM]ylPst4 :WgهhƋu4&q`spĭ7C.ed?NZX), ;`ltBkxV["go[ ϵ_FzXmmcdvP#3|&n^P,W4u0yv-+a[`.4Ltzi^7@ ZМ~0LYi$z=tb>yI"r'rt[d񄦼>N :gxΫZGt4$V3(N{4W 0,i麜N o}S7ڀ˪,K i{&}GXNA1봠Q;v5;y^xX />V%4y,2B;!0"YdhC|7?rR?ۛ*endstream endobj 107 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5> stream xWiTTWeA+"hFHҷp$m@%S!ÜTծ*Ae(fe*B8%&QWIlM|tibK;z?޺ks߷%F"ܽ/]b4O|Q"4ARڂm_zN|G5J$1,welr\xhe]^r˲%KV ? P/Q.;ƒ.Sc׸%&&.V-Vƅ.0ค OeeK@thpG+cq.^ʠaŬWǾR.~Cb@R^)A![Cw4mWWfbżf2sm\fqev2.fYeܙE>mf1x0;RwFUfybV2[-3 EƅqdP@&y -93aNDGe< =e_"֑5qMܭ+&~d'+~I ';rvx)s5S Ͻ\sM5`-wD\>*՘OdȀ$lS^NIԪ! 8{\c8 }Aw~ `,w2 yvBf6 znYc]K.Gʖl9E%P+Q&[1 |7F}/#oe*k$'<lxY2z'(rXmr4oTfvl 0C/8`* LYҎ"8ECObwTm{ܐǗd@xBS S)7.6WNX%-wqTD%3?"/mK<^}tAŇ@p]Ʃv `Ҷ'cJ#K#vggC!!'}\$^4,6'[ضkϞ L72$Bf~\gXOIς<8-ؼ֐asC\?{~ _yEw ;b ׎6/pud*V!hk_lB[RZ|sMى9BJ$8q358,o>Փ}0xq[}|c,Gt$T Y {}prñQ*Ł%228]pSAЧkkzJr{бc-Vre,R#qL nsf0wv+E7 k[+,c0GKGO9oX$_tP| 8 T:[ &OsZI2e,ZUB4D 5*DЂNz7Uig)uۨ\(a!ftK,+J)lF((+eƒz9Sr׊s". <q 3K:[L}mU:`*(1J;Pѐ>0[8 } h4d #T# 1.NMA/?eg  %C5(]Lw,c[؞bt{A Qd>eq:2=A۶=a8AZӘl %w>qݯhhpJ1qL7㶋?ZX3ȓAvRꉹ 8]tEoOPZlh}pBU\;(}`_ZpZx*B `7E ZQ2V!RhqO YdKwX˒3h Da/Y$5JEq"_\e(J8J81./tHƻ]Mh8 xdfvjgOhv dV?ZTw:vUC2&)H{7,4[:H%pYQuMoK uV)?r2uM ꒻u0]\9&8 +d˪3R \A'E%,;rc ̜C)pLj:f pwHd¼mK/4Sǒ^<3.1~ԗa=^II(Ye9!cU#\C2 [^]^d|9M7ooQ+i=_@~4/)+sɗ:\ryEIyF\\UrSSUMC}Zg`Z&*}ͤ,/(neZKf ƴB*a~efp% )+Ϩ̥W  Wsk/_ RUD:$ w[xVVd&&TTw6?kՍ9\NNdVkD'^̀\L5inhNoں1J2:312Ɖ~tx#uo0MP \EShCiBGceM`5xnd K^Y࿚ k1K^a6~(ġc)^tl:=0?4,IRa3Mh$ols"D{VOF.@}Lv38yfFmް0OX!׍t=1rOi5\˩Z mߓɰo˃paæYfy)'6 =1BrOiXjOҟR7=5tt_J}lErP&HEoAw85/5f˚>S5gΚ,p KkYu0lư"DW!4 ܑMN}J%9'6c3pvnI,6ڃ%`[ް𭈠8zp~a{D[sOql޾YZhWNv s`gZvM}>Z2[Mpˀ>?i*aiDĩCN{.A'*,Wq |X3aHͯ Fo(:%jKR밋O;{xi/4s7$m6LmlkmO0 G;wd%]&Dpl<7@Qpx:Q.n-E_SY/f-vLlVO)G~ށa]n|endstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 111 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xzXTQ&'z`IE1;*v#t0e a`(X{nbbb4M~_9wkʪ%DW4{ ?7'*oO>Bc{K-%#R懄Ƅt9a̙3:L8qcwO`~AEs"#CgM5=(b|H:DsXaQHp* o[~ Fz; (1x^ /XDt(h1+cVy;[] AO4yig?s1򝹣w\ m(j(D VS]j-LQ#(j5H6Q|jZ@R "j"D-RSeTj95ZAMVR3U#՟KC ({j 5LD'%^T*KS6TOKЛZMFYQ@A=4ž+U'h)3c>빰gu/T}1oo`~__`;E!vgN;L!{kd>4{?[ 'fp7IC?oC6bhs;lwxM{ fT/owCW酪8<={v|k3~ +5M`6Uha&zsZh%kxF>B@Iw8nQN-k`c5i" Lu`z\Fޗ9+hW,!7j@5yg/! ZA|r8_^AA4<S`SB~ !+W4"Ňmشo"\2&[$N?bG|mv+7N߰| ,q_4y =s8 "pA8 MNT9ZiKݤnd]`/}@:a6LC DG x)8-i_a8ęh_<wئqךџC$ oF+~Q*^ MJsZ"y{%h=m#53ٞ|4D߲MǓ*4{$ALd'@R0X*i7:&gD&UHP2] 2R͎>M{3섧)x; o0޾%h2*7@}a/xWnnִiHt.ײ+`PG,[I瀻[bEuǎ)]8[?TPГdt%{_粁Ut7Cf#DZ<Ms%X =D}!:X; F;n ]=B+({TY/򧤴DkD {!8] ux 1!҈ĄP`zhʽ/oL@jm63&԰[?B[hQg78|pQ89 *cy~tGsP@Y5J1BԺLwUo,Ac9]|jZZa;iGU~'El-RaLHEXP_XߘK:0[MpghQjv~#oJQw~xU*X(l g$ᦡh0:`ls2?ܶ11F~<@y Aq73<=u4,Tg$i1lGBZ~FS^i-+?~H]ALA $^99D7X9)PiRr00Y.Rv*HJ䔊һIl8H%Ga/>F)EMȯq8|-&r%h7#":UxtՙE~HVl)!Ft3 <XN}֝clo]6Ioqf`vWd-]WdJl.̼[d{VמJ˞d@OS6% g`u$D6mlg?kVGB4 ٻ8[zy!!־z/rU KGC0 .+A^GX'5FVN`?B'h$;ab8˵n чHw$9^uzӵ+% _TjC%&{H#VٝzĖ56Ò ΰԆZĉ8n$W}f/3՛TQ5C*/1S= ۍE8(`ƷsQ(P []f.Ռ6+Gdnΐ߲/]'6J!ք Տ'==lm)qiAу V`*ݑ wׄeCr6{\\ck 4#ĭ95YCߤ\\юz~#2i}v=v-G?iffq1&`!ڇ]{65/n5 R6h;P$_._9nΏ)feŹz RUMh'\W@nuvpkVv} ]5iZTUUK+b05v98ƔPޥ95Wbc,eJ1̀|ZmK<-}Yt˷XJ㙑hrjZ_6'~"qs`K\ 1'%,4%{O~S)ʻC?E CZ1Ip&$X_Ӱa C8LoD&sSΛǧGE,#B}u#)Q)*;ǩG"4lqRS̓:DkO߯DPi[uͻvz GSEe()C&Ex"1^,d@e~o~e90._^)iݔYfA)e&gW&{E=9w}f6$#n m{9>f\ƚqk0kʴPg苠чDm<r OH_moUQ\QWWUUGf. ,h2G((l>@h,%]M+n@c2OUD2; a((گ  Oz(6wG±|Br 7(/,wDa-חJѮ:TK'78C}t"\WT[A`Q>ʘYע 3o-k6|';OSrNs^) saŲcO_Oͦz RZf@ɭ\>L~zrj`4 0;샇]%o6^d{r{ 7/Dĝ9/hml'Lv> Ƃ1~*P+ʋ'Oln2YiQ-GzzP[r|ZR"FKk)fx%9m ܗĘB+n+SNyo\CtIo;ȥ&`"Z& ںCNUG UdF!eC)wPty(Z/̈%j㱟HnPj5'mvy4AO!IJa~h'H#w ;ttE{k`UdW3nƃ<&Y ;Y'r)j+z :#/iPܬ04qe>x97iToN}*ClF+aP*ʙp? YW{ ;&=EX c Kps=|qhDIΉʢu}v FD#ٙocRRŖ.lkggh>OM1q|ֵŅOj7rM4/MC-\tE\}w565V;~quEfjޯ䇛_y=6E4NmMzP`N])X׈%}0 #?nKv5>bpoF!+NYRy>d`i`֊暣{ yiQZ1=37(k!P9'|OڅW+m6 Ϣ;,1%s;+LEfSr_LhXXihS4.[67Yg0 ApZkD̿.lVVYL~J,9=-Mm^$t,umѥ;r]0}uکGȪZwI.Mo)+CXۤDH,/%/OlB4 }p1ǡ8w,fLs;m"z!ҙ=@<,T$-+&c6߇l'lnGC;QB4DECo`:?t]IF񒊝mI#5U߃8^}Q^1ZFiW$%{_^dvXW^i!X1? @k4oB B'OWsp$,$cN> >z, ]Y}&eǟdM@چw*'lO>xi( iY@ϯ6V+9yvT&TCg:~({,/W"B-Ŀ77őh[2wvBoM \+AU#~)<7>xm;g(ğrP$Ó+С}^[P<;5<* 8܀"Jz=q]a $ڿWn-F ( 33 I(/g_2RjE\2ALN|8  QrbO5Jc :R"zȧ"I~_FT-\lUKP$'+9KO$5ܔ<YxL*ϥg:W=П5v^H炛3COA>yFhE-FSӱ(P*ׄפ4L]sOc2j{)(Ra^|O=eg|  8ܓ??`.xӪKQ -+Kgl~~) 2Gmu7jOOCn>}RMoendstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4499 >> stream xX Xڞ"ĩ֥u)jjpkAѪU@ɾ5,JQ\RָVmZk]/{C[󄇜3{w"(@ Z1ui47a VtlZ7e9vq0%dd*yD4 )f3i,'<;[!z+"i'Wr?GP~뭨27&:E($N}}呾۝BN+NMH& Pʝe}!Ep ./ WDFEy+-Wl]/Ycmyi1ƿi-&{Q(j%KQZj&@mRE$Cj1ZJ9SQS4ʍzN͠ܩ=@!H  7x՟CRy ʎZ@CMYS*WLAD\L:к9"iE3~i}smK.X5H0hѠfۥ:8mS7 O4mH/Xv6U 2U!0ԛ`4fj3QRx_YIޒ/LKjɁ$^08\5@!0T.V)zcꚛ~Y, 2wF7!|oZix61y!%Yo}_ˋ'#fp?@k nɹ0Ę+¿)R#yc^iFk!2MO1ˣ)^2T)0{*ɃD0>y~YYow7@-JO택H' LWP f:Qw0[3C刹F֢0=ݕ?4ei)cT#` ƉV=UW %  T ZLY2,0jLBB> g| ;=YjAT"VQnqSApr@nNݯ:Z A;"R}0ŤM{7*:ȟÝYLMֆ2 dgV1tV/+0VYUqk' D٪{".ʑ{Gvf+k¯oJu}^kvedT,(ByDb^|/Iv' _z'lEG8ܮD q߶g_VR @Bh9 4i{ S*TϻԦǽ;a=FC<m|,W_w#Q0:,3|C`!ɑE" %UrvGx^لIdJJiAphE8 /I<,N%VLDWI ( CiY14M:ޅZU<4ZǧXŽ׌)4Շ$D.)F13]D0B m bjte F#O`%9 ~?cKҺUz1i۸eykM J _INxΜx._|}GO$#j'́5G0aÃ|[kSL#6h1]&[|4 F'V%pz#CA|@ pxNCr]::ХEg %ģp39irGƭ ޾{Gc!y稑KRY]?.R;oܺqyw5Fkn:.:[94Qʾ33]}䧇uS$lf^E;b_u5YE9Չ).lV60=` .TlA̤ fl- ,QbLũ#ÑXCq_VK׭c깘\)YB'SPlq\qz%ډvg30g-8x<-C 6hׂz o9)4͇ìYOo֒x-hdV {T=#jp&qMzr~Za@^biZe,eC ->vF,D!iEPTރ5mGqD1H4h:|<_6(tڂ|,%=p[܁Q`G-EҬU2YDLVWUp8qJ/^4ozVezY9}8eA= ;vNNLC2F^\R?g!lg,ytN'n@Q6>!)iZT_⣔q8>{Ο>|۱7 ά~2]u0(>+9|b2mɇ\=yp=S s}XmlZX4+NO䚚ޥcR$4 N ˆ2C;L?>k;+8ggʗxU`C?BW6um4 nOC_\M_Ru\RrR"'D 'EP(Qb%҂\Q_WZ MTFAH_Z]VYPʻ 3 $݄]E-ee \6$Xh8[Ys'*f5tRʬ\Pi.pDo*CῩ[L#b*^H=Ee }``/`/[&kUZ+k k[F;kx|Ap8saY׆ח]*],'ڀ6xn^Ǭ55"ϜmU9YP5'o)[fLgfզFT[we.{3)Ǵv$$ǢFQY)lqZ4՜[,\Px`N0szuqth[G9:WYhf rv ZYOMrOI@a(fW\~"žj.\\5yM-܍ZZN$dCnT/x"[JXF;ajcr.:jR3V*j"m.'yy='B躖E%YB<-0 5zx]iAn*av%WlN.]G~,[[wmpȓ4٩<Ă}(8g\ G^yęd@ P9`4]Z$$h> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 115 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1890 >> stream x{pWP(U!!.q9?=СLekUsЅ6K|//0fz‡{ҁөd-spBQ j@9?znh]f~ЎEe3vJ8![!=/#JD!^*:f"hGڨjtRHofs[@n}G~ FkX\T &kᔯ-o~|Wsw\-Gϩ t,TC 5l6৶뎜=EŃKyH_MRG3@P68 .LvB 賳Ta.+qMMrܳBn}H^DJe?CǭxʟĎQR~&VBOA%6m^JLS˧nL[?&qYX*>kѬq;nՍUxƋ۱ ,]G7YQ6} EZ9~DvanZmQ:T@ ѳ7/^$q[РnhlIQ3|,ps|hx"&GJoc@UmM3HӃa4[0;CA <{vPkLS~`,|7On+cCeW*LW6$fCTyˑc1T@5eXmZOnHw{N]{)3JiX %-:vTiӓ;-c6U_קL* y9!W!v@X2fXCQ :m/ !lBC'ſuu2) {}5r$p[;vb{Y938m6;`t#h*lLrűXR&EXԔWO endstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 631 >> stream xcd`ab`ddds4T~H3a!+6k7s7ʟ\BcG``fd+nr/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsSN%E )Ey L ^ ~ @00Lf\F˿`rie7~ή__WW5lيe˗N3A#fsۿ͚QQ.WbQ6cI,lڲiK,^zԾS9v%o ш-SU7ofτi}rKn_c悒֚"_y_`0̺{Ѷ6ҹΞ1e܄)WOX0a޴L\8qEӶu_z#79'fNooo7l{> &$%ws\hŒ;䧯pi+f͌6 Nl~2;ۢ;8"7B¤Ҵ ~[6Inֱy{6us,TZPєR RИV[DN^e]us퉨(ꨫ +y Nʾ|<< "endstream endobj 117 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 394 >> stream xcd`ab`dddwu0415H3a!-C5e&ł 002时Lq/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS .ԃP%E )Eyť R2 r+#Y~tɰ.z ݌2,l߯(+f-k,=ۏ?^N=Aeꟴ?v}~V;`[KǭXZVIl%]]] ?͐3.Ɇ)sϾkKe>I<<@endstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 621 >> stream xoHqeڋv" - 90('iZfnng0Gj^Ƙԙ )EbH0J̤ A!Bo]yl_=z5larߋUk.V{{`CK`zY 4FOSd c{'PDXH1Md,TP)0DU>}#QJw7&Y[01&o Nendstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 395 >> stream xcd`ab`dddw 441UH3a!/XyyXV~+=S{ FҖnʢdMCKKs#KԢ<Ē 'G!8?93RA&J_\/1X/(NSG<$C!(8,5E-?D/17U:=土[PZZZW2ac3##fߏsWmf;OUsvϟ_]%g#[Uewy9|? Y+x>㕟 H}-dnɮfgF u93'O8aִiGqT={Jf 1ifww/-mr|ŋ/d-=}3fn9.zͳyxXϙendstream endobj 120 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 272 >> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 121 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 122 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5432 >> stream xXy\S׶>TV='Π:+L y$$!C 3$ Pslڪg}m}o'Ak[Zk 7B  %lIKY|l4&-xK̶>$vCAB^y-v=^NJLȓ,J! 9lLHݛ"ß%IxgTRd͛7R#d)Tif-RI,EGɓevRd1ߗ$Kc")smQq'q:B.ϲ6ɾi|d%$r d miҷ>:GĬI -L^$=#"sKV䊨 iptHLhlle\| &M2u3foP"!"I$Fpb51XC%zbG,"D@,!&KI2bD MH|B0K1ND,}.1G'fcDC$xv}y SV#9@phQ ,4C]ԓ&JIIȞ$F w.&8 ^t3g&$&S)TV^von i[0k9x|MUay.6R( S=k.>۰ c  .!ծ\}^!Tgsݖl=[e8!:WeJ4%JPLۏ6X]%)<t, {˨팭 62aJ7e[@~nS"V(-)H/*/,/r^YC Gh`y;ҋX჉`Rܴꔆ#yXIeo`AqWoe9X<әuvX,]{c۲ּH|W mg #zSC?o&\X\u6xZs}1dL؅=VP4)(aHpn v ʊ2F~4`onP#hؕэxy\jA|<ֳ7Wymp vxݝ?_0`? =\FDǦR&h@y\ 0EWb/ڹHCo6)$S ۗ-X cOO|~ 3h]hP ąB,!AOwݯnvo#wǸbkE,) mЁa|^"+ս3]׋/X$_Mޖ ri%* |rChXj"F͘t`Ruw#S/1zʶ{0nwBNL JĦ(v]`PҪjHIY@_딆_N{}?M3cxغ-T;?:4d_@lA{m.;Fs*#-.FrAa=5g3 $nJ JhbϜ2xhdXm? GMUD ^h/}q'GzLm(d[xȳT ]l$!+r(wSV8X^/0PmRr_m>-)LB2=(/w}܏@jWJՀ!̳dJZ}CgCH_9 8nl L '8 =fP1dUUUq5pSgE14{n7HAG.Z"rz gkZ[1+3m098ЕNDWjK oŷX vW,BCqﻇ547V?Un4Ukۚ1vngFi B63:"V̝d _=~%3&p]ĽXU3,14TV6<\z0Uf n62tJT5ia$X<dl|X|>ȷO\=wzаoW㑇Qk໷.~{w1Orr"?ɈʈcZ.ӵ(TZ i釹Jԝq)؅ץ#mm6"r-pSzBv#\N]b5PUFSE@U1UN3ۡR)qSAXbR |rޝMYW"4j/YWZSSk0*KKt%:.ap`.+mR lZw_߁ojS@卦U%E@m{hnh8B8zˡ{̗=v՟pV1ބq'!묒m45w.qSG&m%iUm m"\ r*ڌ<1{T tZWQP]cԛkY 6N`4fKRpܫx\3yؼSo!eVl9Ebendstream endobj 123 0 obj << /Filter /FlateDecode /Length 12263 >> stream x}_ɍ߻ . vM,&>h$Y؞|ߏd;b̃<,"Y|Z.iWʥ-e[c,/c}={[.c:.&T[DLUvi=um^Wb/Rk}$z\NB0 Arz쟟2'鿾x~^Ӹ~ӼV㲖/R?IZq{\їR Rquơ$RFiZeuD-z㏙G5.O/'KXi2_ًwbm=ޑ/;zo?7(??՟ڟ?b7x?o1.?m[w>: 9-|oxz| yO<1ȷƯE9n7Iȫ!?W7^if4sknnyT5?Lv%gLe;N[iltNӧ7}lleNDre=e{=.{$0V־}[.W`lAY(aZωSp(BA26(^ѩWpVb-Ĝ :tPH[H].ueV;s.rz:xvt]-LP$ AZJ-R2.r鉠¤U ҦgdjmC4NPA J+FS4Dii7IrI |E^=~Aa/e־K(- ( 8C"Ol4΅vf!U%j0\4LvYì["(!NhӖ`o0ӛN"yZ} dɴjW?1xd<¦!;TCڇl4N\ܵ>%zdU}ƥp 2yV}e;<`.2֠`'98}H `ʥSp ^[Ca6.r#wcU2:̅g.\VVX뜁TJ>0q/p0~!&( qC2ԦQ}U{LH.Guf~Yj" : 򆡰KJl]((:l22< ]5Z{>*:.u-L6Z!`Y oPY8ZX9B֢E3T P@JphY[IGő-42lQ\kcO}C(\Jp5[ݥMckíE>$`J/qYz Lk1 ;6^Can)@ryrѡN: m|!L֙a0c2nYk{; us1!AW%z:6:ZsHQ'Q^G[9"x9SrFx>q~c5>dCZt//4y/l)Ӫ`[CECp`H}(l{Zy:6aYr'@M ܍"$dCƛkgHIxBZUZ,8/L;JJ)H80t!(\n0C69)c ܢ&eXhKɞW9Ƽ"^v* \jc0Bs!e }+ qRʻu;5 vxfŢ^>0+*{! <VdԎpr=J+u]s502R8IqLc }Hj N>SO>XH8T2E')LJ0C׍Si_ت+JWin9EȮ4_sJ<9 AA'/,93ļ@ч²&( %80sOq`ħ]ɯYÑޫ_cj\Ggށ{.( 8CȞ Y 0}uϊC} zg &pXjg)8ei{CR*q:.;|ze`>!_YUʦkrؽFǘ̗>w)@)aǔMvϘî4IZS40eSra"eS79/RN{2X?Ny 饓Uz Yhv +Ժ8(5p(4'&?_A?L@@00Eǘ*#j殪+;Naήs U RêjCyzѸ{} z`$$!g008clvu 28yS5@.=2DR5$uȔNx j@LJOLЍF־:0vFs s( }>`?csS89B2<)q%-ъAkJQi'Դ -%0Rd%@QKH 8U[V1 \ZIS)qp\ ]p0pĥyfGP$wPEH˚?,9=8; 5HݠH@ P@JpǡoBcuP*Bx[퉀27BeUOE6tX49{$ Qoԥ!$[Zj-e(+Bs:J;C$4ϝF32ޥN]&P@fppyh38hf4@4yj:C5' a~Y%46q$ x)Q@V7H0@(NaR:ySyh ,+r6O[!pMH[9FO@RY+~|xE+f8HZ]$dKm QȤ'R-@n\ۿz\z6oUHy5WTaP/$+Ǡ7v[Nj~DrWh=_wg5D:t Cyf2 7 3Q}a&*7NeJHD!MOs)>Y*">|FFQ[^piL9pH}(- (\n0V9ҥnغfp8D0yR!nBSUPh`Eblݚ+!( Cam|Ne `*ț& q`LgȄ]KR68tl\c-G}`"Նuݛ/j˜mSpJ#W:`r F'm0WwjYzQ#gzp}ƈX[$8p"ؒ SΕ99[sOqL#\hD`naR8Iqj rDW l6쓧^vEKVۑ8>aC 8SS s i QYcAchp,6"]ŇU*@jOFn.f^ʬˤN)a|NYf?t)v ;q9F$v` 2kyhYi5bb7YGZ*V8 80qV##"vc7>az1?}ejri`qzXP'>8jCa L p)8ZaMNhˇup6NҾ)~ L90jZ G5( 4G0Դm>ZH5~0[s?;QA]:P <C"Ԉ}hIZMXlDAh`CZ E.4y:6r%[08F6Coq)h $1 88BqA P@Jp1E)yB”)ИQqzZ[ {y:>ʊ/NdC pA1)f9Wt 2r@AYz|7SS ˼F"A(EC3˥(]4r7p7]E> 88j R`Paؓ$> Rp H 8dؠm[c"b{DFsv H{p^ޅg.( 1GO3YulGҀ =`#\ #g\D!gS8jjtK ;L3>hƷ})I~ {n'0Kxq@RyjM|;u..%yN*-n|5w9y]}qoI5Ka$b_$@g/ 0< E(Cq)¤4u[e,>cD (4,b_2L+,~h|P+-qpx13_hUEZCa*+@ȅfmg/ĕh-NkɄsp+7Ao<܉0!`ĬtTuRE.ߒ*rTQᬊ SkI7[ho\N](4)\lfp=ydDJUe j)G$wU}䑑s4M>X}( H1}vUC1Ӓ>c lp}'0 k7M`@u{P8}`0B.F#,.՗Q՘qp!TN5EB PerRwW&}M٫NkITSH0;G 孯5j~H9vSTqag0SJ9LFBm/,P c  ND0M680whri~֣$.V[ 0 =@ ´y*JNaS@@00e *o1gLWN*)kp2[`ȫs8I}N)aGc߳ɿweQT"YAqXp_ ~9SB Pa#ۤ@lYMP] `a$]#h0cJ{0{gOQ{9lspآh|,~>v¥˭Wк4ʁNF5m8I5#ls } jTpP>!( %8.Ԏ[{\*{\v.Ԝ®˜GPjG9t.q ҄ބU^/ A嘠rC=:&Q]IK KW\\es+uX9sٜW**~S' c DNe/[T82D^NeLY7P3QٸU?e?. ƹ3vx%- ZƩ}QX6/6؟cfȒcgU[|zn)7s-dCޯs lN>c$"^tZE}D`"8%Fk(\Jp5iFO&_ú[qt7Kb_j0ڄ88a}8w!@Ry:2 -TB&T26w/tl\Gn%4F98lbŎ!C P@Jp!c㏫\ty]$⍿rƼ]_/ye κsU>|\ Pak1V䫡QB%zm$i85 E @KDedXm=]0nԋ^hi2\9z} ;lylX9X&\;D?||R[`TˮȬ 7l Er=e ܗN.pBByf9EO``ǷV2zʋt``'8hAO􁒟qX\hlvYDFHNњ/^1a\Xţ5.SaZ-D&4đ䍕<6N+{*l6:4y>PRR< ex1V/2T$Ο"VP*X stE$. #̣Pd?w?Ei`SeH=|).Jxr:'0.1לAA\0CƟ>J>ЀhYdբdIj~Y:84d @3YZ_ a>@ChH)&0 )@)aQKDʆo&q~{bTC`+F+V2heck{cƟ]܂;\ AkTG0c~w0r6nf*ݍm0{͋sn\ 0C׭z{ [Hbm B oņ79Fc-g`w   FaayhmcGTI{ge<(x0*Am#8}Du$ 28<$E^(E]se8):H 8㘂pcN;[8GB;;Ɯv`NnK H 8j$|Kj"g|u ˛:9p@N}DDŽp̣0^EDudHT[j;:R=Dp`U/F^k?j#]<5!ߋ#Fj Z#y2̨l(v10Z1@udH H 8tKV#hN$0ZCV>񧮎SGRJx1ax?z @Bky d- TGFk69](h@i@ɢZ 9$26\ J%[DF+EAvMyIdu=Q 8Fb`18hcȐqj= / 4JiRHN]`,FKPREȭơ:96w:Mf  }B0֭{dي˗O-n?!FȚtǞvu j ,&>j !3+9ƂH_(4U<*~^ ԘZ=*AY|Q.N,SsfEpYDa!( %8vA:ƪ]ѵ }8`(&T1:r>ҥp 8A ):{֨7lu7UMlm] L{K*+|먆|vM@F*6:6:U*lt*/ltTT9PFQNlTz܉/l|w/qe㭒[uCB^ c%JO(h-OVKg?u~G'E8mwc)G?yۙpЯ"HҁҶʝxM=Y.+k;q~l:3c=H܏> :Hu2}/nzKV,ɴQY㞩iEK??)S\įR<% E z cO$X 2;,LyR{o*ҶSpisG/oA^D|)z#BZtHшHhH?}idp`?|KE~:w/?=/!̐kڦ@ ~mqGp&)&Es֌9ij;!'L9*8y]N J=S#u):$J<,UYJc^~bl^uu^_],;.P8G_>שsvmm:rAGV%eli?} N>դwJ;VB8Ѻ}RR)i4?y~y֘4oR*+k?W O%hxOޟӏ JȗtO7x|ܟџ~Oayj/ ˷yl[2y!EO0[8O߹~064si;_AU]^]|l2#ϿEPW7"1VC9:=wٟ~'+?nƇ7kxtP%_|Dx + ~ܐ+$ W+6nz%Vu-mz{Cn}'b#C2`4]N*N-G*76:8_#jX!u[["~ocXg=UJmr +xԆ-}?~L3gϧffLGUC+\V|vɚ$!5_` PKx*[=jut-Jc]= `^K:|O@(ˬG!=FA:MRzRtZ?Yz\u[$^x]vp,ɜr˼^;qRާ꤭zHuVwH e䐇Rǵc`֌ȱ9lD7t i>ous&^9?%XLg֏,GonkjqsH'a^fZQUpCNd&~C=&7GWȃ*qɉ5=JwƀH=Ź/b*79=EU~uөd%:ITr85SP3>ݜou!%=X7%7R 1d3hnm_C+w5]m!7|IAe_m֘C,̊b?q&19I-Ja0WX`2[Hyޗ$㳲9)c3={8dEmxPEd)O`=MTyD(7u()bd^sdH^r~U'-گݢɡVzH-[_츲d^ChSْk H7]| <k} _{o߾Z}"yҕAB|iDMS&ϔ{4xsRY.endstream endobj 124 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2212 >> stream xUiTtD:0 ",Ⱦ) K t(%n<Ō  .a@8 6D:yxj999u~%"tuH4G'MKJlx3oÛV)9#} )EPk !~:!wZGkkk瑙+]([(M̗E)IKQJA<#3K!W)7H9;"L!/!1)Y-Xh|""'"Hb Nx!"0" AL„E +lO<IEHԦ#ֱҩcuutl uɭEj O-iG8g72>7̸mM =|9;^>W)߭=]W%?RZI+RĹ#p>UY-S|5,'`#Ew}g!nC% mT-j+!8ME4t#G@.t012O@?;7ERl\*[:`63aᦲ=e&;EVO)Fvp;"Pbz+v] ;bޏ7` {!,Yr5+8զVuQ߸ˏȓl;؞ځvKF̺nHNdP_CTB+Q0%NQ9[ND}xLDbs$UKOa^BLX]0Ń3eC  m6 xZ}0OK&Z|_6 쾱6mإijxArgOfm<dzMnh!D?m=`@hċjo˜B5.ѻ qfqS2\m\cv +, KXz%YL٦?Hԏ~< :B8?9HJl+E 3 =Qo?w 9 zAy7u"'6y`'(I!=Ȳ s7/b=uE.h}S~*iWB^p$57]?p*5 hP9 źչϦ̂$ b$| ^lΏ} 1s}57"(C _ŽPXq 6ϧWko=0̷ i^Ejv| o[gu!z:rZj.9  L5|[Urg=M g /43I79* s0{!( 6,X^^u?uTp3W#0Ej̅0}i6Ö]}@ݡSGN];y Ѫ뱮k3 { `X`x||lQoMYMB6S yVDn}p[l@$8|h˷QI\%DIK1B_%!<[S`"/y_&M6(uR lLŒWH9w[߼Cwеhe\اA ߥKtQO&#(rP: ]U:o_GH4;}* 3ʛFjMc#eXoUEjoy41)e65j/Hj_rEŒbJپ+WܨMw#18T(}hM<>@V $;ԗ_Mxcendstream endobj 125 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2685 >> stream xV{Tg`FHS]_*U|VD04!(y&!@ (ꪧek۵=j;`ݺtfr$}ݍA!]?7u!pCO=@${ѣQh*_ } $}*1M/Jc$sϐ̝=;PD)SH$!RmL)PULL&3NM\:nTR̐q 2L")YJJJ2ko\ 21Y+SKBT;e %mitNY<.>T͜EĻD(#6ӈR"xXF,'Jb["XK %Cy8wH|fr$+^1#g zR?"Ku[mnf >%p (tء1~q-ԅ[12B+k1Pn0Mt$| ͪ6m| ̂3TPsXhz>lf4B6i31Mp>D_qڵ'ude; Bz9 画T:)P|&'ΰ9ӛF=ºcJnLmP3xHYcFY Zw}z8G|ymI_ 9WWy;?RSCʓ/\/4'c"=YmʖCʖuRiq!~3XpLWґK Gvvv3]HWCqV21;;/_Qōݵ4|wER}Uё۟ݿP^cO5o dLN,Pbf9ibn4eV sZZ^Xc(v_t\H-H*\Zԡ(Z0,+j}NsZC8IIkTi~ܤiJ9Lr.^aUa\8` sgvdV[V->g$750sHXҞf]gQ8}(TO/pE}b܇SS;BLg햲m yv%K.1jg_HM.2%qNA-k D`5ZjlI0jMQ .LB TZg(bxRTX[[YrJC$A 2Vz/$>@?+2]׆r{6⢡McUP,~FR[r8Q`53-@_&]7:jj MbGfeĻHF"vAqɛ! |x:T4Qz?L+F+clo=;*7n.jq}O &qƽ ]}sEbu 9M8A]W~)āa#{UcA qj*&8X!;S|SqDp\ssp8i_|O՚Y!> eoɇ4J_Z_QUbp$DqLb >f"+6UqUrGZXN 8}֙z, m{f^%๪*,.^@υoqe ;0Mis=bnX93`InE,&W?]EͪG "^[|^`.!1Kx5Z<>slǠWf@#W/{[4 JVPv44l|:I0xo]=6".ҧO`ˆ3&05r̴]k7k~ٓV/>u0URͦXXOo}{b7e`ckpZ\")?/n㧃ϭo Ӵw,]UI CT׼jSߋg*;ƯoXܹe<=zR?]GRb" JUƴχEusJwtYlP+xxAl 8v 7Zp=8`TQܬ9A 6]3 8o*6Xߑ3; E)MDaql';ך-^$F} 9/(E;0>9BHؐ|ORQ'(4-ϼ\UcBΓ.#^CތZU$BE>Hendstream endobj 126 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 399 >> stream xcd`ab`ddds 4~H3a!Gݏ=<<<,+ }O=B19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU;OL:)槤1000$1028RvB s3/~=wݫta[r{7w7 }6%&*/C~}݄<9{eݳ}Q)z؞yy8/g3-qVtMLTʻK6l^4_~ `Z0~WLd?u[2 U^Zendstream endobj 127 0 obj << /Filter /FlateDecode /Length 3130 >> stream xY .洝iRiھ(|')YI=|> ^r;\yuv7#9|/_'V~0a'FZZ>ڙz℩L7y3F5RU?㸯TZXgm#h3^~͵#9Yc?Z~G]yb8-ѶG~aexFxѲݗ_ۑ~daYҌl)_mXtFA!Tko k^8m n}۪[_U7ءXN5Lj.uZ8}YEmo}{f`͡?q}Eu_t{P^y 0c⯲ z.W |>LT D&͇ h>p.dVs>j1絵0v0=EF hm{sZ!lAZpq*=9u1wvW (6{tGr$]U_v-r>.ashwa+pq@5DW "N(;J<sp<JƓ.UP1 pI‘زtE9!O yf_ꭼ?4e[-ycjQa)X/]ӄ7|O:j >:շv9}kHXS"jWMg-g>E̱;n_ͮ]>O^Qr,>Ob%^̇xy7( 7I9xu?Pb B!lI63OeS5 lƨA65k);ΌC͵nX Lhu05Ӕh3NWЋZAq!T[Jng-WMgp1ӕTU8}&Bv\6f #Y',屆fF)7k/ن -+ PX91{@f8tҹ4AP1j;ޥs@.<z.Xcx(%21LtܞPq_=u; )#e&hKFt!uHQ I\e i8V0ЦM'avJVf@ i G?HiK#iמ}Z / pj3'$#P2v` ,(MdNZossPvMKȂzpࣰ*}Ryp E |ÈAZeTFSaZZM!֗F\nwIX D`zY r9gMN BNZ{`LE )i:lP +bS˜gKuk.:&v@cs)X 4ͧw0p, :*ɩ&tTR&uK4aRb@2yP__G>T0=Xg "Lk[_3|'z"8Ԡr4 д(/m*9}ػK$d -itw# ( (y\-* r>vK#=UXS8;H3Pg9ZHuKzMFmXHN+ݧm,Z!.ݭ jp(rC/X #,szG| rC$&#!i'!V+`JpS٦9D0Rj$;!PUĐ},2ݟj~3֣}\#f샂XXx#,􁆐ВmiK3rH;^7Ʀ7-ViIY'J~@OWQIAoZtR>,L?~t7 #{+oxy; 8Eu)7C2pWW}pi?-Tz ^͒;/D+pD^- ]plӅ_c{.GfR6Va7z1n$O]Bla! | O_ņ X7{ܷY?fow:wZձNOB ?pWV䇼͇|zV5+\_j/M)-Jܤ!y*i~) !kóKo#b3d Kɕ !Cl2J$CR'!]΍WJ6 / S!w"fɳF]qҕ{}d2"L҅ ɲ{uha^/isEK07W=@endstream endobj 128 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 129 0 obj << /Filter /FlateDecode /Length 1717 >> stream xW[5~ϯm.D$}&6R&n=Ǘ=J@9>߹}(4p*]s7a͋ xcjuNcʼXXh ByǂZ)ŭJVRyZRi+JIAbuUJkTjW9eP`TwRɩlǚ (lgWkufva=3jKi 1k '?Lg2g玼?4c/3Qw\_LgBp-m  ߿Aa'~3q:m39yNޣbKAnC3dr G/$HG6AX*–=N1TXa,3d-`k^P[qg1_JIvL4HEm1"pz9-eKG2['1`8X}$'4zi'%cNh8JTVZ5rP0 g$NKhqh.n)u*8YܣL^1{ + u!X|jBٌ8F )\drIAXaޖٹψ>I%kхIpD]AWVRUSܼvdQ۠)X jU~o 7-rpR ^m$`-Y]o*GǘX7=![TTo|ǃ^=6(\vH72e*ۃ缱/R?3<| >B MTIa$>k;71//gendstream endobj 130 0 obj << /Filter /FlateDecode /Length 9288 >> stream x}[9rX #i#6l, +vH2ղ4U 1sXXU$uc\mtg\w϶y~.=]د9 r7{W}۹d2H7j>׀S7~uv,T1ǹ L{ H<er$,8"qSͳyh#WųexU l,rzq췧9k?\Y[ͧ~moR{ʧ=ا}?{D>Oj ~LSO_#t⿻qS:Ջ_?{?تA}zmnQo/loս}z7Ҿ}piOKgxsqOo/.,1m]~'+:A:\u]_V/WtÅ{ H%zQ`hkbG{^{4WR02}yu̥7&#u\\ &,[Jg0__g2+WL@.9AxUw C#A dsx-Lh"Q3 {r i㱰!NPAeT*n!|OqCH ϭ2mdz+P@au |Υ =P1 w :m1P)R2:pm bT$u2A1!N_-Xۘ h+B\ 32gЪDVtq ԷCZ0%BLv&|+)uF0_vVrZEP E=WԢ) n9øVqދ>cccAg'T)lBygR*uQs u3AvȌʨG ivTv=|x0[LyzFLj.A٫s7*-2.l`%`19Q Ҍ CPsǕG΀H_$E>.):h4T3xN{HH$lE3I@^:f8A!R&b(p p΁8CEP Q) lboZ {#4jy-k0p A"*\fg!IQG h93! [3 6)ca) C4 :~ipj. l1*58FaS  kL=p)Շkkfg]xdy79u <4lbBt-&]Ǹc我3GV3v<)ä uS~M1(%ɢM\‚2enc%p4VqC RBo@c)uXc\1h( eBQBJI*RXKuCf)A$ʣ`i R %UN4 ӱPH)Hd<,2)C u PoE6H,M\F˰5s̋סU e2.e4oe6@L@!pX"mNA(4*;2F9S;FÃ"&/ B(7vKAF(ؘyxN⒜B&q<0LJpX(mdP=JTO }c4JxM #LGP@0TJcy\ˋv5՗Z#l57:]x#oN/፧O M %QCErFHg%!T1` AJV45V4Q 74hA Q9MƦR bÔФ0 );Ԑyt{$w{Աx:?h:3lXҘRH!ct (Q \) (D_yKsOIlΎj;R#AF&:)D+u!H`hU h]?O vc46o1Iǐ c,>i,0,,XsL}a $beFZ YQҰ`Yϰ`ɺV؉w>x6:+(v̧Ÿ;(<x\&'nNjq 9ޜgs=fh/VL==<@1܂2ۇk n7_"Q s]k'Gu}q?ԀCar*>z*&%buc}q8~qR(JuY,L%s{Yqe9Fpe~6  tn!h;b确ڥP R)렵 A*jCa`J47 my+DnNڑjY5 j<դP R)Ak )&pehkK؅V7HqK"r}Qγnj~F%KC|QʧY}=l@T@%.{8v V1,֝ܩAt~qlm9=C;\ P)º\[-=~pMǚִ[MޯSD2|!mc8X`*RXA:|u?ИdSmɶnp[ coV :TSYO.bJa]O!`}>uA[Qб?R ܄?B1TJcq*D:Uuͦ[V*^-ݦ*LP̨"*ulAFz[ Tk k|@yecJ5k5jRHiuڒNGAX`wuDVO0N=Z7<6ٍRбu:V|5) CV :Xq!GW%{#z+1 :w:KS>o.bJa][IrM!ܸ ɿ2gZlUC{_] 0)asg^B{Vz*iL+ﳤ2®4LM0aE"uKnяM lPv4xd[xOjN|֙DK]]NB[]ajڹU10:ԶTpߪOVg& Bఄ1Ick4=OױV9|>?w9}s C%T <$L VPVHR8T6N ڝ-U$:_Ye`Jߋ|:{]X'Z!ܶZ`;RJ5R#(XRmNA'6R*ukiQHeӂ>|ZXhQ 6F-ڨ\4 R4V5)BMKJ_6fƒ6NE9s /HKBaR0:!9NP. Bఊne6p̪RD:٬mR6 :CHmos paFA֝_5 j<֤0 [)`gFaU]?n/`-4nnEJ̗f{lv)}k2 ATnò!ªTUz $ϗcsQ)2Ɨڼk(TتR@5y+@;`t 6kwC)pXB0LJpXhV{E406ճ$6:Vp+ެ\{y-&8B(M9;lQ [=sH&Pqsns9wښ;sP"=܃'O "_Ҳƍ!yI!yYd4Ա%O)hj<,y4)ä uQ-BԂ36mHY)@7ֆfLc*u vyCyU5[[EU#q:THQVeaͯ&"Jఊ?Hk`Z2k :QTvJ X/j-XƪGj~ҏ|MZ _h. X`~Vò eYM gUjXԨXհgXYK ~}YS.CI )9YOwo^=|z^/76"Ȥ&'ܾM,;#O O˜B@ġ; 0TJ,Q$ƦU+"C<b jxx`ZO޼{sjR~vzw7_]e^ !/&>g m-GOȉ:;b}_<=m{SQߓH[%cfnV 9}( .h=#SA<ߝ1C$O@c /8$_#Lژkonmd5Ү{Di, G_Œ,5N٨RQӇK)o.Byeu/Om#5r)PSMH~MWtnJ+@[N-uO^>W)t~^Xպ%| GtG%pq`X𹥼6k)Co|[v=ĭݷf%_e^G'?3Nx TNzៗy:D"YmdPf4p7dȨ?:qB6:a4*'CN | ;9=||tʀ bzh@c.U`Xyi* \@Z؋|$9A'hN9!),=] >kxKǶ+pnV!'+ʆ(ЭI NF*||MBn$ fMQh=/&[YOALj?k(jwA!MlAOzmKBϾH.Ϯi⟇(5Zo  lGĮp wY$X.,RdqK,KL%'/_ME,Q Bvq}f&误G9|` xjgf/5gLS.XѠ{@#bh}U|uo R7łqپ'G9,^ Q[]|?2!TѡvvvvRmLpV~geÅ7mKSB*'ʮE#z/==q ᔜ.` [W,2秹&3rH}T!iz*r l54$Ŀ5 h5p9nr|N^NpZ9B8&ձx?O,EY[7B:?*ugٱJ2=?K Er+U}R)@o#&/l2M ⋲c` IUWsK!k.q* Y us#K=GB[)D* 9KqI8cewB39W2T |b0ܙ `V{ "D¢jPj7b<wo+GJɺx> stream x[[c~h3:2Xg$ ǽô[nٺ%4䷧!GdwbXՅ3?NYϧ KNDM71ՆLYTL8{z)(8{NZL~iv/J67LoO3s7ɻ\Hd Ĝlzw1C+n3\JiAS Kwɛ7{fxr|j83x܋GWj`< $cNWv<ΣS=m S*a=Ѷ1Z!^(Mc1^}Ch`»]C}c̣eZX]~=6w;0DvS{+]@lluX`Igc]/rqZ:t(v8vmwX?UY@zO^Tq[itE\Na?ngT8m=-o(Tay&*m7ov~wZWO' @ I P\uxJ1b0J< $,F$EPmdϑЭ(FȔC509 +,r Uen8, u@s~WY/WGˏ~:ϛiSv~yqX-_'A ܫ/?O cs8i HޘDh&Q_< {RjRC 3j(&˨҈4T,~ w.= 8\9v5{g!VTU֒]5ԻXtC7PZ 93 0Μ ͥ>,t#]$A*͌Rg0 &@ :C=-,‚rI7_N `ͤv*'1ZĝJ0݃Ӄ[PU<\su[H^-vWԉrT2' p te+a+=E] wA8Ȃ ;| (,S0 vsU p,.j*hH2Ԅt +C$pN`H/rpP0#[AΛot 9[`^D}b;>G^Q"#tx(ЦH,:Tnl)0슐;},n6zg"*VTȂQ;5D0t,EzNǡ`XRFF0i9TTn3KA9I#h "7l#p *0a$L FxrD,W1HAV_^2V(ƄPЉ= l82E4RS-r(Fwęf>룏zt&GcޱWFaհn092r@|t.| m4Rǥh fbwpMgX +,1fGsB9 Q"IAOd *cZ͙G [idtDͫFE$s=Å<8v v[U>@3>sۀ5`o|rh|̦\FZݿfK=WG{%SL]):_@-})j!QI$ DG+RIoJ8.@D1(+`>%_ae{ :U.)ץbaxh}p/9-2̓m<߷yQF(< y&eE[m>k3"Dx7+]PՎHےyU}GoZJi}h =F.Gܴ;z|F&m;@]̋=:񧸍; Eڱ 28bRG5MHXNIȪ~AD""p]ؕew;dV%E|E[jCӲ u@a4?ITC"] 0{zE9JbW1AB~2xHNu"3HzPpzJM4/ò3Y%#-T!t5slIAG6UVBHsÑ1x t~.T:ZQCNVZ H e 8'r%Q/!b0|Q*)iU5I9e˱;vQF花 kh0" Q' vJ >wS8wir8ח,,UQCtS!ҿP^&CtJ.hq=Դk_zoJKǏ . pI=r{(Z np?"9t$/DSs[߷)^a#ܑSB 8cG6v2Ԏ׏qnO-W TLC>M_Qw _ l#ؗqR]ĄߑOE̕Og;߱u fw0$:ĐBYP* 1=c/FHiШkLR$Fsv9l+|YXpçޏcKB9Zߒ" mTG)hykU7aHCk]%* /uiiZE?)ioQZn֊W]CU|߆(Ũ UksV떦-{ ^5ͫj1y4~Ռ@>$O4⽔b" } p-~B%.\.QTDNT\msl-G/gU{݈ܥqIKZNJ;/V'*͝_XOD+|y endstream endobj 132 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3058 >> stream xW PU)֦RXm-V-"""ǍB0p$r痄@ Xh۩>{hmz̼j˛y 盱Nf7}}6{p۱~rz ~h7.0s [5/D{Q}giŒL~J40(qE͛7 ||ݺ́[əxQ`H45Y/eҜgRRSkd5kę)ϮX(KS&NNN |I,&άn)X,dI3CIə" x"q$4kGv|bHRԽtS1,ۃ-°plVb ؋l{ہ=6`!nl ="9ìgg>=9!s;wW)oX࿠7{>[Es*A)c(drQ0alS`nx -1!E" mNAcTK$+6UV46:ڑ>4Fyn~5T$5C8H4O(OT#^X rc#k.7Hg֤O̯-vYQe.mG^=601Y|>DQ3D!Ívl|9vO\2A(%w ~Yމ^Zy;qjb a.6ۡFW] ,yeDK AՀ@`0 w= '΢o6Y_ 6d`vYS1htUtϙE:]mH2E t Z/ >b/wY!(h,:rGnCiYЊCBƥEThLY]<:'%o^{ ҽx @*ȌvNjqR~fUt]\B}:OPHUÕ%oE靮RHH;OjⴰRy^_9_~oqm(8^8P@0۩< w+˳ܘݣ)-5 %d-=`}M]I.RWKWsO$`%<I܆g/*E,opQ9Sbi)ߞN`Q9&>p 4T9B~Gk1.]J/!,v K])jDj#3c'okar*y֤2A-Ť(.!pDDel Qљz&_.ktN/dҒp+|3K%;r^p4"mKוN WO%B! Κ0%hj;Z `T d:H2 G0:^8f>7N5B2}o֍UE뇸t!K-Rҡk u0q4S̍P lzU+P]CϜ@icKKj\Eߝ#\5lgh:0/T 0\f>YĶpw?D4<xs^40vb5xIg@ Xg .Ҳ$́ё΋Gߺ BfYw:ϳ@Mr)fO@|9cì| no0'1FZe)T+tXePS1P{-F+*ģ0M~oM%氻ygjVxӯtk7tCkZWS5 gӺ:1 \zb YJKVd2Ar*-BA &2Q{%Ml?xP/uS{ٰ}l'1ՈKJE Iod}jt=Ͳs 麹HVx:8Գk)rf_>;Ut8(GO~o-0(y/gOmt@k}?Zw}C1#G_a^_Q ex(t@;\>K"9JM3񞲫_yh?۔#%~@!7Di|^bt"AuA5^^IW$%v\[W$;+ٞ,Z'nQH0LƓٞQT voa{2x5؊՝`%ԿTԍ5l:M4ME`Ju.+Y\نw4䷒N"*L'&Y:99$N= j~MD%EI*H9~ï=wYH2w-^;{.99v:/Xa(RSh1뭷]4 dnPh6R#PgSaLFѢ'_hqG$<ƢV˻ 57C OѡV4rJ2=xd dxR}b23-%dNED&άUW6[r9q;Νt3tf/237ҳTB m~H|:ǥpeA nˣ?|翏ؚ.,f +9Wh SF2FF.Mow-NUVZq!4lWsуȿEӗFez _}GW?U&>4),"V1WoA/d=M'|CݵM dъ lbGdnNjcM=r3Q6XDdEf?[jE IHw 4}:?8 goQy“W' 2jr;d؇đZ1?].5wxۼ3&PY'EPF{knڛʹ$##FN>PCey`:l0 7bsendstream endobj 133 0 obj << /Filter /FlateDecode /Length 7826 >> stream x][m~#[ 6`#@+Z:,>=iH֥y+Ι_K9-r`y̓[/u/o2nmNǼ|郹역ӾRWr(uꕞ[""Ӵ>I^;}:՘!N[ͤ(e,%D8ИN. *%i_=('_=4/s[ӣ_h2V#>rL&uuvka_iV_:?Ο^ӗ?Wl֌ ?~,wv9?&)#/q){9=Gzȗ7沼gj0kKuOb6/o,F<=74>oboy>pknӼߡ7vRҦƾ|{?xi2PooX[+4}w>*֩~ǧn,7}R\|DZ~~ʟz;>zyōYr,x ٿ24zuSdNʜe~vӯxӉ: N:/?`s !G0O8}r\*Ř]NBNK_)L~)ZBqmuȜ"m=. BlJ'4'V< z eQD(#gҁB<؄K4pM.KUxF\:IBAumvK ̶b8b yPLhs[۶Rqjj\q)RISz.J0LJVzpI}) pUfEvJȥXM?~̪nо˰YթB7nI1Hac; 䌍l G[h%F"t4cl6%FC#9>lYƾ6>E S)$qFMpk q٪,v?(08Vwðt- Ca-@-8۠Ђ6/c6ʴhg HvN$vl{xMhʟɁ!mx:|r❻LnA0`[9:{s [*d\Z@`6ustFjw9V;N> 2~}Lv9t@}3mWxfR, ,c1$k4 KLhC<**q2m>؛^z7x-Ӑ*PAo9]_ѫ?iA}UFi6یf'PÏн&S_xit)ۅ)1&Yv6e':ۂi>[0xb8Ʒ9 A*:d^+s WV-? fdJj4$˞>o*ӇV<La >Bz^eB>rPg Ҍx*Gf^+Be %cQ-´tyWrH\(K#be吀d1p@E!Bj3t Ͱ)*]-9,P8p12Ls[ V8poK̯sX7!CZqZp1kWN)P^Kvd7ͅ蠮+0{Κ;V <̫$X@HP )+}(0Kk>sJ>H݇:< CBBP>*‡'qȦ+a ECݨ ȕ1a8  *.C? ?^N,bC&e:Bo8? [?|~}{M}x}y`/0ёCQ/*F1MvBKbw_B/D*GCȑsU&!Cah(\Kp5dHZIFFt$9|]&lN0zR9oOr~|i0>98Xr2<}r-@-<cDVbVJ-Ȗ  k6 Dí^bs4WS0d 0Sc b]!UYOz*b9V/dqEBp L P@Kp8C+R_:N="  ]}kۖ.5(hbJ$8V<N9|1}A<´p h yx|'qnŎ8:78qZ484WS8Nn-i!^Ӵ:%*4-.iZӬʓҏ];}2(W`ժv]Nyv2;lK8Tr2''B` WyeţS@Kp8Cߋ"u~Ki,1={N nܝj,Ou]h?9ԾUyK^^>% spXeD)8p+jM2EP@Kp8㘴RY0>HBL"kU89x+2rJ;J[)+)368Fyj?ej/"AQx'_lۈ@x1Y wXs)*@xcZ xkdZɘ9e$/' zl3r:<YcPhVV7Oo<@irߓ #ot 8\md:zM\=++~E|'8 8S@Kp8pa᩾#,Wzo خ"|0`$4-wCv6!1!@NhG$O@)#pFW\Acp5 b2! 2D8be9!\ؠCEi8!t!p#2N-J5%.d@)h[.l\iy)1y^BI V4+AL!i>d~:5"$rᯉ\rty]Iy,]轅N1}+](Q9PyӄS@5ԯ8a2U/Yf́#0*9aT6DVޛIhąUgסTh+v\Uw:q#[1oDߘ85[RF}v/$Yu][!''e\Foiȡoz'8o H<)e0ы9!W=(%8fN2܊_`˒g/FruVmt LÍFmpPG2C P@Kp8C6hVhjhveIݮ$wp(((0QcY]7p5Nktr^7RܚX-|i(Js1-n ɷb+{u/?6;t7ZDO`crQreĝzmĮ;F1 atF{v 4pϭe^h9qU`ۼ޸jУÕִErIj^ C P@Kp8CV*e) \Ӻ]|lR1J/]zq񱩆G׊ZV`J .܁%a?yُ!1eJ S`W.Yj MM2X0ŪB{:_vVyۖ^Bضl `F;V4kx sIl\zk`_N^un9Fk|hGU1 !(TEgp̋of=GN`ۦ]MhƩ|Ukf{'9_'F#M`X+KfW)"8'!gx[|coS"NJZm[h(T qo z2pcZZqjve8?`hfM>v%Wu?y;7ZZqמL*0fTfM[M5఩I40FUT$Ԃt$30ڲ*/4RU^WrWYѐkYu2յp 9s+.l£U% ^'I&1ֲJ/}B[ZڤaÛ^»(ʢ߷ސmYu2յp yA;ƓSբ-Z8-]`/8=_M`h h yXH l9:s|PY%xƴ97Ag p['50ڵ5d50 8\C=bJ=&%=\ij wn.09JUh&_qId_uЎwuñCkb^u`Yc.o&Zk[igMmm-j__JC)_mr˩w6r+N+vЖ-!Mj 'EX . Ȯ& ?WoMU *+UW]Xh h)a\h$Q5w p z %o,x yW{GHxϫ${|8G vkpy -@-8cuQXU>zzHuQQEP^@T.뢮(<4yh9 ym0#UNt1+AF-X~'P^p^8HnOpE  u4W8-y h^Wª0_YpZ@-8kzr%fuKT50VX)E-*5Wz}v 9hL mm h~ -µ4W8+ {d!.灳X` hFOz<\Gcp5 3& 촀%7l +^Z|?6@\j*pP@908h)rGXOVAhqД;:d}1!dxZki桦bİm3eX[iwFPlDnn@A08N!][F_h|ŻhJu:kk{u@j׺wS wq=" R*YM* Lu=Z+Z=,lz&?o@B0UK4©R+Sy+SVV[YA[Y*nAZYʋyNZY睨~+kmϾ~+WwxPKeR q)eͭ痯?}7ZE MbfJK݊~?n[&֍ܢQ;vN$xbB ? yi\(:._nU90=Bj zz_|x4a/x셴$y~͗_<{zwE#dvw&US^4UmM!B{K>[Oʉv+|~ վT$sM-iOW)ʲ6ܵu??f6K`ls;=.,xF,gwŎoƶ;Rƞ ~X~sS\w&)c;߭\_f$:x!F4diܱm_^3yb}Z7YAjZgwr:Pd^mf|M۰ qRGonY~{4~|sZwo1DIycr&klq/{[=x{[f)_PWY:R,QeY!:-ubW@6nۨ緿Z}&G[>e|JR^l(ꉼ 7VBF>UK9Mqoٰ֒ćI)$gO_<~Aӫ5ƥdAyq0AyK;;Y; _y-O;<<_nu7scH~AcIޟ n<ƏPğ]Zm>'NׯKW'J^!~q(MDОNЍ߰~qpnT6rpl!aϜjSȲuF h3R%+QhF]Bn׹d< \I6}ԕ:Z%h?,^ycaLB? +!u=v-\)|b5N/K8xQ.NjfA+U?3@ڱ_ӑёG_|_`"Ê|͝!䗬a,EM+x=[9z3Fe2f>6Cׯlx]}a/%eKӟ5?5Pendstream endobj 134 0 obj << /Filter /FlateDecode /Length 5108 >> stream x{e8wLNB5BDZ`v\Wt`+X wAӍPo -dOD24fv 6h.Mu"(U ]ݖ҅]ȓ /Z* 4 b+ 3dB"' %uc$ /xY'@,fH66x3cb\ u&}}E쀂-wǴư\?WaGaI Ir]迩BE @8c B/=p(}kG<ȟ)kYpG lq #*.KP|G,@'tk M< ^1T0wf~@}FAwdHQc"ܴ '}I&澞5T&2褑@"fHNtipNGLlEk>yϞK8g5l3a=h̢o Үd5וW(hrU ٰHK@X5ta c7gxd<#AePf<;>$Qb'/moA[ 0I#mc IG2$B rj)bpKlpڦ^͢HnedWm['j*)-t47 ˶{W NQ󨛅(opSE/>ᰂ"̻'ܱnW3r)ܥ\|`ЮkjoJ7Aht}HjG* zMYw٭YCⰪ8YqwS8Wȗ 6uB|5:@nY; Z0v~DAVA,Ȟ+%OM)T#!>\ pH;OޗѱOer]'Z܃`臡 豌v4`g﹌et]F2\Fdzn+ÏutNU6aۅ~C\]ZBZ ,VС.O`[ܖg,W(c2RF M=kS-qr ħ=aݷ_C+ `p"#}kOt$qsph4 *x@o `Ivx?o^]gtT2"pF`0?k&; JJ֛ .ڐLJ){POb"zx prćHTnff, Usb[3*KQz(bE2YF Ϝ{¯<9Yp Hv5jCL2("xzb/ڝ$1hJ1Crtd (+G˧4H Xv< Do--% O4+ ߸%KaWh!& դ䘥iz֩fq,|GBOuMtAS X$Mu?xy %:fZLGe)0R&7 K艠/6a@|&7KvÄ` )8pb!vSoq͎U (p RTp&ok*C#a+5`g,E"6gZo Jg<:5Zi ;,"6X>&Ь1+@$Ml|<,K!DFLTBNژhqNpb^9[CI!:H /_mrX,t1Ή!&%:ZlgBOm0cBr'1(!N^&\xAk%ecn Q>gA;A}b%b)cܰ}0K¹X_Own `oreUzo/SJhL/.Z+ M[j&oՍL?}Ärǧ| Q~+~MoJ#鋞&Zsq̮#&K^ܳ,-#fQXb"iِ Xթ8qLٳVFQgi3:3՟ ,p ՟#TS}MoJ?ĜN,>FEq6Ia2ǥ ʐWYZ*d Cv 1-"PAt>o]:N$лT LHV\~~tA ]\jZh%:S:&_?|إnc96)IRdI6l2(k1U!M{NKb@YO65llΘڳ"]Yj`xszf8N?pN(.4Z6 mSHL5u-]5xɓ moGlkxy ?j xSɽlr?!IMcհBA Rs陶ZO+WҴ%BWԕ5^ 3mLGbzR5%ͣmM&UB6rf%"BN|6NjmI}.U~QF{Gl[#{NL\ym0֯jB4`JlZ|6&&rG'X %4j؎F|%t%0TTgjHJmt v9;* n`Zض\<(3_TD铞-K [n6﷼*Q`Pf4ִ[>xS#L? 5N&R1.>И-_xPtcAz )ߏ7b(PQ$AM"3ls_.7R.v}0,bZ tU/"vٓcX3Y]6S@j~4i2ɑ{&c^x1jcQX!bf2O1\FA(p;Ul왱6ea:%V<[%KCuh-Z&f+;3EW^b+<˙q4m!Bnl S^ Qq!KMwL4&>Ŕr9o<4Ys-uZf|,V?2@vtKa!pB,eF\N: 9'B꜌cfq0ʼnЮfc6س`cSd58$Fl.LRWHeE'6FWYc)k$oJ ˽oxtpL4!xC6mODS[;}"K>-[佞J ȣq_B m9ò LǾҩ|4a~F8bͿQ#w Jčg2toMR pon+bl 0޷u3uquqt_q]Xƅ^ڐwX4k(.I֟_/PݗjV#H z?1J+o~~P@ٍu?I"6GszxH#@k@e廊Ձ QhiMvifmx x=K^fqQ"폕/hrq_ׁ vǺzt]À]@8+ p[1;Ň2k}=yHp}.tuendstream endobj 135 0 obj << /Filter /FlateDecode /Length 3777 >> stream xZY~۪ȖdIRC.#V@oMufVg/[5g73}Qo6Ak>9&f5'^nlRsLzS5$i7މ]mE. ;;#-rRPم,J:IA P]IS_6T-=~yU<`լԠ^Y=4i;36*;sZR)F3cwf2&OOG5;|E+};!M?4hJi=W6g[lٚ=9O jOh]rYx)40C' [&A$`_w:8_KX)` ga΄9QP`<" 4KyzMQK49_._dXoq/5iO*&%-S:NX-cCpy߻*~,kqVʉs'PC߁ ubN"/)%dY5RHFQd9b:F@@}~~.9R>@et&a7ge0P6&𚎧T e8B޳e:ڋ G 4*ex:/R ' Гl`E77@(8,=v`Fvl @pJ{93o9rrJs?:6'ߙr(u }+=#J^t&n) Neb4%Qg Խ(!V#he*8Deu<$X媏|)D7#F^x9l«hw+ʮPˈIe`$~B+ d\@݊xfTrA_zx^.%E?]gY&rܨ -Ț95>ÃBȶ. vSck!;%dX,ELb/ cU@c9{X@ Ӿ(ɐ&N S:e73=16j{`OW 1֟y5";vA)_T;j45+8E>_wG<z!MFZh0لڒ $!Ts-cJ{kt2D*'S:nٍƽʣQzUDy0Yȡ>{A0CQlD@j -CB)~kQJP w&PSYyKv-\DC9PTq m`x%;<*DYEA o &]˝7')TEdF"77@`EbUx.]TH ^r\uja sZј!z&NKT|Y ͥR@2j5NCw̤Wx v\t&ZܸJNhF Q]Pr+|' *zt- ݎČw\i JR+4oU S mC;{0=?`?O=KHX(V]6Gh&L:?"Gwj}sJ,ƶz~9hPmy,u el$`u$> TuoEwO}<yY0s6mD.'yMtzkƣHх,J[P_>'P4ؔ`=4e39`%xXH!V9 pﯺ E h]2XgEI3qzA,~Dd*|;*ү 2ȦODwhHx-z4%^=1d* .TG{E)&4>[Fm!H3dEbʷOK9) NG۾ Ř_-ˎw{824ׁDoyؐTը0D(G2buDAXq998(ΫslUjGS]0ǹBrZ$Ft`hBj9O[ˆp8=?sBг^TB(-zHD~4c5Ґ,T^LzJPl Zs-(VTDŽgPәzN" 084d: Ҙ4XeȿNiƺX,8:,Gg6Yݩi0l?= [*ehUȸ7V!ٵI?ѯ 5П}Āߋ#"d:=Laר +4!Q)]n E0"& o5oUF̢n]xNu{y`)ؒ1 ~sx8W'Ĝ#M{<A?]VJ7LWht"]j/FUKx,ȕe%dlt_sM4\ /p;Y󫋼Mڒu A/{eHůBX Lu-Hɿ%PUIن["ۢd+L*4|h\7Lvk ô9MMnR;Pe8;@*AXg1ʊfᎬ,<z`RE۞n+weX#D :S fsώ+3p"=3xZRKc(9zJ)RI%@*/ݵ?a}F/fTd2u8;sӓ=]jMf-)'gJ A. kyl@J^B6-JdLd/ݰ}"uOk4s6,:^Y~D%Ğ*a(?Ǟ <)/-gXdӼ(:|Oõ <} G`!6̬| ͳJy ǝs%؃t۞V~}ݞ:C}ʃ./hC{z^B-{`,к"M~;{X9!{RvaP QD<5<[c 8fKYH?cG[mC$fF0 xyt_0 #>I3A?  ~^ ˶ZVXrZ< BARA8/%h-g䮛EܑE]nY֫P?h`&RQ{TӱqȬ*rh|C(yN52:W-͂ i<~M\"n9$r]`?p8jjZa +ǻLVT~Ȅ VW6v%>݉з$ɄAejC |uc eɐ֏T$2`bJV&oo|h (8 VдמvLYhG#+oadJrȍ~_Zendstream endobj 136 0 obj << /Filter /FlateDecode /Length 1602 >> stream xWMs7OG%U)Vѷs#) @6\h~ב*2y:Ok, V10h6^cBHJxSVĤRI2H"'2I62hX،9hSJ"t:S'MN8o^wdTrIͮ{1)PB&ï5Z'[54<: CX$)O6b: 7!'bD~s7+*cU b"%vY{QnH3)q~Gc+)r\]E]MmtF6:` (%}Ά!휃^yڲ uq_@F$$ g\=)rÇ7jY@m*/Ѧ{yńB52)"\Yrm&S$=BbQQ .'_Im6pu}^AU1i6a]t r>V~'9 V9 sXl)hM$twBZgDlϊD@a"Xy2=fuN÷2V|@ oV8N&<}Vs~TkL[9A4l/zNs]#-XV d]G zFQCWeVm2Iƨ̷gesxSp3Eei>E.&;&4wq]&Дs44<91 Q"v6Z$L38u̝:hde.&I(~P}acprAި[M-o-IcPqRI:JƳb\K +G%_O ZlU :v"yuʤNºDY_ XpiV[q=vf{/%&]VuƂ"Ef窂e$d\N} : %;-|PNcVS&,b;_w/-Ḫո vN]U2O]bՃZPeOr`Io&_:ز돌;N wK}6eKڋLfi,I4`X[y\3^vvb~2>MUΕ4n[ Ro8N:2dw|7u]l2m}%SaJ ;hcS:Q*%@qɑ;hQښ *sG^Ø告<+S}:)Y[BH\F#GI$}nq8f??go%'E/:ɩru$5\P$dsg:䁞CKdx T\endstream endobj 137 0 obj << /Type /XRef /Length 157 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 138 /ID [<3cec7a146926e6c1313711cdc2d5d54b><2688fc6e321636ef0ce7b65b63a04de9>] >> stream xcb&F~0 $8JT#3m dɁR?"EH9 i7f@$u) ,,{D"O`S,0{1 $ @l X%m_6,: D e}mD0MN endstream endobj startxref 114685 %%EOF HSAUR3/inst/doc/Ch_errata.Rnw0000644000176200001440000001672314416236367015346 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Errata} \setcounter{chapter}{21} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Errata]{Errata} %\bibliographystyle{LaTeXBibTeX/refstyle} %\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_introduction_to_R.Rnw0000644000176200001440000015624114416236367017574 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{An Introduction to R} %%\VignetteDepends{sandwich} \setcounter{chapter}{0} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter{An Introduction to \R{} \label{AItR}} \setcounter{page}{1} \section{What is \R{}?} The \R{} system for statistical computing is an environment for data analysis and graphics. %% #Z %% and an implementation of the \R{} programming language. The root of \R{} is the \S{} language, developed by John Chambers and colleagues \citep{HSAUR:Becker+Chambers+Wilks:1988,HSAUR:Chambers+Hastie:1992,HSAUR:Chambers:1998} at Bell Laboratories (formerly AT\&T, now owned by Lucent Technologies) starting in the 1960s. The \S{} language was designed and developed as a programming language for data analysis tasks but in fact it is a full-featured programming language in its current implementations. The development of the \R{} system for statistical computing is heavily influenced by the open source idea: The base distribution of \R{} \index{Base distribution} and a large number of user-contributed extensions are available under the terms of the Free Software Foundation's GNU General %%' Public License in source code form. \index{GNU General Public License} This licence has two major implications for the data analyst working with \R. The complete source code is available and thus the practitioner can investigate the details of the implementation of a special method, make changes, and distribute modifications to colleagues. As a side effect, the \R{} system for statistical computing is available to everyone. All scientists, including, in particular, those working in developing countries, now have access to state-of-the-art tools for statistical data analysis without additional costs. With the help of the \R{} system for statistical computing, research really becomes reproducible when both the data and the results of all data analysis steps reported in a paper are available to the readers through an \R{} transcript file. \R{} is most widely used for teaching undergraduate and graduate statistics classes at universities all over the world because students can freely use the statistical computing tools. The base distribution of \R{} is maintained by a small group of statisticians, the \R{} Development Core Team. A huge amount of additional functionality is implemented in add-on packages \index{Add-on package} authored and maintained by a large group of volunteers. The main source of information about the \R{} system is the World Wide Web with the official home page of the \R{} project being \curl{http://www.R-project.org} All resources are available from this page: the \R{} system itself, a collection of add-on packages, manuals, documentation, and more. The intention of this chapter is to give a rather informal introduction to basic concepts and data manipulation techniques for the \R{} novice. Instead of a rigid treatment of the technical background, the most common tasks are illustrated by practical examples and it is our hope that this will enable readers to get started without too many problems. \section{Installing \R{}} \index{Base system|(} The \R{} system for statistical computing consists of two major parts: the base system and a collection of user-contributed add-on packages. The \R{} language is implemented in the base system. Implementations of statistical and graphical procedures are separated from the base system and are organized in the form of \stress{packages}. A package is \index{Add-on package} a collection of functions, examples, and documentation. The functionality of a package is often focused on a special statistical methodology. Both the base system and packages are distributed via the Comprehensive \R{} Archive Network (CRAN) accessible under \curl{http://CRAN.R-project.org} \index{Comprehensive R Archive Network (CRAN)@Comprehensive \R{} Archive Network (CRAN)} \subsection{The Base System and the First Steps \label{AItR:Base}} The base system is available in source form and in precompiled form for various Unix systems, Windows platforms and Mac OS X. For the data analyst, it is sufficient to download the precompiled binary distribution and install it locally. Windows users follow the link \curl{http://CRAN.R-project.org/bin/windows/base/release.htm} download the corresponding file (currently named \file{\Sexpr{HSAUR3:::exename()}}), execute it locally, and follow the instructions given by the installer. \index{Base system|)} \begin{wrapfigure}{lH}[0cm]{2cm} \includegraphics[width=1.95cm]{graphics/Rlogo_bw} \end{wrapfigure} Depending on the operating system, \R{} can be started either by typing `\texttt{R}' on the shell (Unix systems) or by clicking on the %' \R{} symbol (as shown left) created by the installer (Windows). \R{} comes without any frills and on start up shows simply a short introductory message including the version number and a prompt `\texttt{>}': %' \index{Prompt} <>= HSAUR3:::Rwelcome() @ <>= options(prompt = "> ") @ One can change the appearance of the prompt by <>= options(prompt = "R> ") @ and we will use the prompt \Rarg{R>} for the display of the code examples throughout this book. A \texttt{+} sign at the very beginning of a line indicates a continuing command after a newline. Essentially, the \R{} system evaluates commands typed on the \R{} prompt and returns the results of the computations. The end of a command is indicated by the return key. Virtually all introductory texts on \R{} start with an example using \R{} as a pocket calculator, and so do we: <>= x <- sqrt(25) + 2 @ This simple statement asks the \R{} interpreter to calculate $\sqrt{25}$ and then to add $2$. The result of the operation is assigned to an \R{} object \index{Object} with variable name \Robject{x}. The assignment operator \Roperator{<-} binds the value of its right-hand side to a variable name on the left-hand side. The value of the object \Robject{x} can be inspected simply by typing <>= x @ which, implicitly, calls the \Rcmd{print} method: <>= print(x) @ \subsection{Packages} \index{Add-on package|(} The base distribution already comes with some high-priority add-on packages, namely \begin{center} <>= colwidth <- 4 ip <- installed.packages(priority = "high") pkgs <- unique(ip[,"Package"]) pkgs <- paste("\\Rpackage{", pkgs, "}", sep = "") nrows <- ceiling(length(pkgs) / colwidth) pkgs <- c(pkgs, rep("", colwidth * nrows - length(pkgs))) cat(paste(c("\\begin{tabular}{", paste(rep("l", colwidth), collapse=""), "}"), collapse = ""), "\n", file = "tables/rec.tex", append = FALSE) for (i in 1:nrows) { cat(paste(pkgs[(1:colwidth) + (i-1)*colwidth], collapse = " & "), file = "tables/rec.tex", append = TRUE) cat("\\\\ \n", file = "tables/rec.tex", append = TRUE) } cat("\\end{tabular}\n", file = "tables/rec.tex", append = TRUE) rm(ip, nrows) @ \input{tables/rec} \end{center} Some of the packages listed here %% #Z %% are maintained by members of the \R{} core development team and implement standard statistical functionality, for example linear models, classical tests, a huge collection of high-level plotting functions or tools for survival analysis; many of these will be described and used in later chapters. Others provide basic infrastructure, for example for graphic systems, code analysis tools, graphical-user interfaces or other utilities. <>= cp <- available.packages(contriburl = "http://CRAN.r-project.org/src/contrib") ncp <- sum(!rownames(cp) %in% pkgs) rm(cp, pkgs) @ Packages not included in the base distribution can be installed directly from the \R{} prompt. At the time of writing this chapter, $\Sexpr{ncp}$ user-contributed packages covering almost all fields of statistical methodology were available. Certain so-called `task views' for special topics, such as statistics in the social sciences, environmetrics, robust statistics, etc., describe important and helpful packages and are available from \curl{http://CRAN.R-project.org/web/views/} <>= rm(ncp, colwidth, i) @ Given that an Internet connection is available, a package is installed by supplying the name of the package to the function \Rcmd{install.packages}. If, for example, add-on functionality for robust estimation of covariance matrices via sandwich estimators \index{Sandwich estimator} is required (for example in \Sexpr{ch("ALDII")}), the \Rpackage{sandwich} package \citep{PKG:sandwich} can be downloaded and installed via <>= install.packages("sandwich") @ The package functionality is available after \stress{attaching} the package by <>= library("sandwich") @ A comprehensive list of available packages can be obtained from \curl{http://CRAN.R-project.org/web/packages/} Note that on Windows operating systems, precompiled versions of packages are downloaded and installed. %%Currently, the service of overnight compilation of all packages on %%CRAN for the Windows platform is kindly offered by Uwe Ligges from the %%University of Dortmund, Germany. In contrast, packages are compiled locally before they are installed on Unix systems. \index{Add-on package|)} \section{Help and Documentation \label{AItR:HDN}} \index{Help system|(} Roughly, three different forms of documentation for the \R{} system for statistical computing may be distinguished: online help that comes with the base distribution or packages, electronic manuals, and publications work in the form of books, etc. The help system is a collection of manual pages describing each user-visible function and data set that comes with \R{}. A manual page is shown in a pager or Web browser when the name of the function we would like to get help for is supplied to the \Rcmd{help} function <>= help("mean") @ or, for short, \begin{Verbatim} R> ?mean \end{Verbatim} Each manual page consists of a general description, the argument list of the documented function with a description of each single argument, information about the return value of the function and, optionally, references, cross-links and, in most cases, executable examples. The function \Rcmd{help.search} is helpful for searching within manual pages. An overview on documented topics in an add-on package is given, for example for the \Rpackage{sandwich} package, by <>= help(package = "sandwich") @ Often a package comes along with an additional document describing the package functionality and giving examples. Such a document is called a \Rclass{vignette} \citep{HSAUR:Leisch2003,HSAUR:Gentleman2005}. For example, the \Rpackage{sandwich} package vignette is opened using <>= vignette("sandwich", package = "sandwich") @ More extensive documentation is available electronically from the collection of manuals at \curl{http://CRAN.R-project.org/manuals.html} For the beginner, at least the first and the second document of the following four manuals \citep{HSAUR:AItR,HSAUR:RDIE,HSAUR:RIA,HSAUR:WRE} are mandatory: \begin{description} \item[An Introduction to R] A more formal introduction to data analysis with \R{} than this chapter. \item[R Data Import/Export] A very useful description of how to read and write various external data formats. \item[R Installation and Administration] Hints for installing \R{} on special platforms. \item[Writing \R{} Extensions] The authoritative source on how to write \R{} programs and packages. \end{description} Both printed and online publications are available, the most important ones are \booktitle{Modern Applied Statistics with \S{}} \citep{HSAUR:VenablesRipley2002}, \booktitle{Introductory Statistics with \R{}} \citep{HSAUR:Dalgaard2002}, \booktitle{\R{} Graphics} \citep{HSAUR:Murrell2005} and the \R{} Newsletter, freely available from \curl{http://CRAN.R-project.org/doc/Rnews/} In case the electronically available documentation and the answers to frequently asked questions (FAQ), available from \curl{http://CRAN.R-project.org/faqs.html} \index{Frequently asked questions (FAQ)} have been consulted but a problem or question remains unsolved, the \texttt{r-help} email list is the right place to get answers to well-thought-out questions. It is helpful to read the posting guide \curl{http://www.R-project.org/posting-guide.html} before starting to ask. \index{Help system|)} \section{Data Objects in \R{}} \index{Forbes 2000 ranking|(} The data handling and manipulation techniques explained in this chapter will be illustrated by means of a data set of $2000$ world leading companies, the Forbes 2000 list for the year 2004 collected by \booktitle{Forbes Magazine}. This list is originally available from \curl{http://www.forbes.com} and, as an \R{} data object, it is part of the \Rpackage{HSAUR3} package (\textit{Source}: From Forbes.com, New York, New York, 2004. With permission.). In a first step, we make the data available for computations within \R. The \Rcmd{data} function searches for data objects of the specified name (\Robject{"Forbes2000"}) in the package specified via the \Rarg{package} argument and, if the search was successful, attaches the data object to the global environment: \index{Forbes2000 data@\Robject{Forbes2000} data} <>= data("Forbes2000", package = "HSAUR3") ls() @ <>= x <- c("x", "Forbes2000") print(x) @ The output of the \Rcmd{ls} function lists the names of all objects currently stored in the global environment, and, as the result of the previous command, a variable named \Robject{Forbes2000} is available for further manipulation. The variable \Robject{x} arises from the pocket calculator example in Subsection~\ref{AItR:Base}. As one can imagine, printing a list of $2000$ companies via <>= print(Forbes2000) @ <>= print(Forbes2000[1:3,]) cat("...\n") @ will not be particularly helpful in gathering some initial information about the data; it is more useful to look at a description of their structure found by using the following command <>= str(Forbes2000) @ <>= str(Forbes2000, vec.len = 2, strict.width = "cut", width = 60) @ The output of the \Rcmd{str} function tells us that \Robject{Forbes2000} is an object of class \Rclass{data.frame}, the most important data structure for handling tabular statistical data in \R. As expected, information about $2000$ observations, i.e., companies, are stored in this object. For each observation, the following eight variables are available: \begin{description} \item[\Robject{rank}] the ranking of the company, \item[\Robject{name}] the name of the company, \item[\Robject{country}] the country the company is situated in, \item[\Robject{category}] a category describing the products the company produces, \item[\Robject{sales}] the amount of sales of the company in billion US dollars, \item[\Robject{profits}] the profit of the company in billion US dollars, \item[\Robject{assets}] the assets of the company in billion US dollars, \item[\Robject{marketvalue}] the market value of the company in billion US dollars. \end{description} A similar but more detailed description is available from the help page for the \Robject{Forbes2000} object: <>= help("Forbes2000") @ or \begin{Verbatim} R> ?Forbes2000 \end{Verbatim} All information provided by \Rcmd{str} can be obtained by specialized functions as well and we will now have a closer look at the most important of these. The \R{} language is an object-oriented programming language, \index{Object-oriented programming language} so every object is an instance of a class. The name of the class of an object can be determined by <>= class(Forbes2000) @ Objects of class \Rclass{data.frame} represent data the traditional table-oriented way. Each row is associated with one single observation and each column corresponds to one variable. The dimensions of such a table can be extracted using the \Rcmd{dim} function <>= dim(Forbes2000) @ Alternatively, the numbers of rows and columns can be found using <>= nrow(Forbes2000) ncol(Forbes2000) @ The results of both statements show that \Robject{Forbes2000} has $\Sexpr{nrow(Forbes2000)}$ rows, i.e., observations, the companies in our case, with eight variables describing the observations. The variable names are accessible from <>= names(Forbes2000) @ The values of single variables can be extracted from the \Robject{Forbes2000} object by their names, for example the ranking of the companies <>= class(Forbes2000[,"rank"]) @ is stored as an integer variable. Brackets \Robject{[]} always indicate a subset \index{Subset} of a larger object, in our case a single variable extracted from the whole table. Because \Rclass{data.frame}s have two dimensions, observations and variables, the comma is required in order to specify that we want a subset of the second dimension, i.e., the variables. The rankings for all $\Sexpr{nrow(Forbes2000)}$ companies are represented in a \Rclass{vector} structure the length of which is given by <>= length(Forbes2000[,"rank"]) @ A \Rclass{vector} is the elementary structure for data handling in \R{} and is a set of simple elements, all being objects of the same class. For example, a simple vector of the numbers one to three can be constructed by one of the following commands <>= 1:3 c(1,2,3) seq(from = 1, to = 3, by = 1) @ The unique names of all $\Sexpr{nrow(Forbes2000)}$ companies are stored in a character vector \index{character vector@\Rclass{character} vector} <>= class(Forbes2000[,"name"]) length(Forbes2000[,"name"]) @ and the first element of this vector is <>= Forbes2000[,"name"][1] @ Because the companies are ranked, Citigroup is the world's largest %' company according to the Forbes 2000 list. Further details on vectors and subsetting are given in Section~\ref{AItR:BDM}. Nominal measurements are represented by \Rclass{factor} variables in \R, such as the category of the company's business segment %%' <>= class(Forbes2000[,"category"]) @ Objects of class \Rclass{factor} and \Rclass{character} basically differ in the way their values are stored internally. Each element of a vector of class \Rclass{character} is stored as a \Rclass{character} variable whereas an integer variable indicating the level of a \Rclass{factor} is saved for \Rclass{factor} objects. In our case, there are <>= nlevels(Forbes2000[,"category"]) @ different levels, i.e., business categories, which can be extracted by <>= levels(Forbes2000[,"category"]) @ <>= levels(Forbes2000[,"category"])[1:3] cat("...\n") @ As a simple summary statistic, the frequencies of the levels of such a \Rclass{factor} variable can be found from <>= table(Forbes2000[,"category"]) @ <>= table(Forbes2000[,"category"])[1:3] cat("...\n") @ The sales, assets, profits, and market value variables are of type \Robject{numeric}, the natural data type for continuous or discrete measurements, for example <>= class(Forbes2000[,"sales"]) @ and simple summary statistics such as the mean, median, and range can be found from <>= median(Forbes2000[,"sales"]) mean(Forbes2000[,"sales"]) range(Forbes2000[,"sales"]) @ The \Rcmd{summary} method can be applied to a numeric vector to give a set of useful summary statistics, namely the minimum, maximum, mean, median, and the $25\%$ and $75\%$ quartiles; for example <>= summary(Forbes2000[,"sales"]) @ \section{Data Import and Export} \index{Data import and export|(} In the previous section, the data from the Forbes 2000 list of the world's largest %%' companies were loaded into \R{} from the \Rpackage{HSAUR3} package but we will now explore practically more relevant ways to import data into the \R{} system. The most frequent data formats the data analyst is confronted with are comma separated files, \index{Comma separated files} \EXCEL{} spreadsheets, \index{Excel spreadsheets@\EXCEL{} spreadsheets} files in \SPSS{} format \index{SPSS file format@\SPSS{} file format} and a variety of \SQL{} data base engines. \index{SQL data bases@\SQL{} data bases} Querying data bases is a nontrivial task and requires additional knowledge about querying languages, and we therefore refer to the \booktitle{\R{} Data Import/Export} manual -- see Section~\ref{AItR:HDN}. <>= pkgpath <- system.file(package = "HSAUR2") mywd <- getwd() filep <- file.path(pkgpath, "rawdata") setwd(filep) @ We assume that a comma-separated file containing the Forbes 2000 list is available as \file{Forbes2000.csv} (such a file is part of the \Rpackage{HSAUR3} source package in directory \file{HSAUR3/inst/rawdata}). When the fields are separated by commas and each row begins with a name (a text format typically created by \EXCEL{}), we can read in the data as follows using the \Rcmd{read.table} function <>= csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1) @ The argument \Rarg{header = TRUE} indicates that the entries in the first line of the text file \Robject{"Forbes2000.csv"} should be interpreted as variable names. Columns are separated by a comma (\Rcmd{sep = ","}), users of continental versions of \EXCEL{} should take care of the character symbol coding for decimal points (by default \Rcmd{dec = "."}). Finally, the first column should be interpreted as row names but not as a variable (\Rarg{row.names = 1}). Alternatively, the function \Rcmd{read.csv} can be used to read comma-separated files. The function \Rcmd{read.table} by default guesses the class of each variable from the specified file. In our case, character variables are stored as factors <>= class(csvForbes2000[,"name"]) @ which is only suboptimal since the names of the companies are unique. However, we can supply the types for each variable to the \Rarg{colClasses} argument <>= csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1, colClasses = c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric")) class(csvForbes2000[,"name"]) @ and check if this object is identical to our previous Forbes 2000 list object <>= all.equal(csvForbes2000, Forbes2000) @ The argument \Rarg{colClasses} expects a character vector of length equal to the number of columns in the file. Such a vector can be supplied by the \Rcmd{c} function that combines the objects given in the parameter list into a \Rclass{vector} <>= classes <- c("character", "integer", "character", "factor", "factor", "numeric", "numeric", "numeric", "numeric") length(classes) class(classes) @ An \R{} interface to the open data base connectivity (ODBC) standard \index{Open data base connectivity standard (ODBC)} is available in package \Rpackage{RODBC} and its functionality can be used to access \EXCEL{} and \ACCESS{} files directly: <>= library("RODBC") cnct <- odbcConnectExcel("Forbes2000.xls") sqlQuery(cnct, "select * from \"Forbes2000\\$\"") @ The function \Rcmd{odbcConnectExcel} opens a connection to the specified \EXCEL{} or \ACCESS{} file which can be used to send \SQL{} queries to the data base engine and retrieve the results of the query. <>= setwd(mywd) @ Files in \SPSS{} format are read in a way similar to reading comma-separated files, using the function \Rcmd{read.spss} from package \Rpackage{foreign} (which comes with the base distribution). Exporting data from \R{} is now rather straightforward. A comma-separated file readable by \EXCEL{} can be constructed from a \Rclass{data.frame} object via <>= write.table(Forbes2000, file = "Forbes2000.csv", sep = ",", col.names = NA) @ The function \Rcmd{write.csv} is one alternative and the functionality implemented in the \Rpackage{RODBC} package can be used to write data directly into \EXCEL{} spreadsheets as well. \index{Saving R objects@Saving \R{} objects} Alternatively, when data should be saved for later processing in \R{} only, \R{} objects of arbitrary kind can be stored into an external binary file via <>= save(Forbes2000, file = "Forbes2000.rda") @ where the extension \file{.rda} is standard. We can get the file names of all files with extension \file{.rda} from the working directory <>= list.files(pattern = "\\.rda") @ and we can load the contents of the file into \R{} by <>= load("Forbes2000.rda") @ \index{Data import and export|)} \section{Basic Data Manipulation \label{AItR:BDM}} \index{Data manipulation|(} The examples shown in the previous section have illustrated the importance of \Rclass{data.frame}s for storing and handling tabular data in \R. Internally, a \Rclass{data.frame} is a \Rclass{list} of vectors of a common length $n$, the number of rows of the table. Each of those vectors represents the measurements of one variable and we have seen that we can access such a variable by its name, for example the names of the companies <>= companies <- Forbes2000[,"name"] @ Of course, the \Robject{companies} vector is of class \Rclass{character} and of length $\Sexpr{length(companies)}$. A subset \index{Subset} of the elements of the vector \Robject{companies} can be extracted using the \Rcmd{[]} subset operator. For example, the largest of the $2000$ companies listed in the Forbes 2000 list is <>= companies[1] @ and the top three companies can be extracted utilizing an integer vector of the numbers one to three: <>= 1:3 companies[1:3] @ In contrast to indexing with positive integers, negative indexing returns \index{negative indexing} all elements that are \stress{not} part of the index vector given in brackets. For example, all companies except those with numbers four to two thousand, i.e., the top three companies, are again <>= companies[-(4:2000)] @ The complete information about the top three companies can be printed in a similar way. Because \Rclass{data.frame}s have a concept of rows and columns, we need to separate the subsets corresponding to rows and columns by a comma. The statement <>= Forbes2000[1:3, c("name", "sales", "profits", "assets")] @ extracts the variables \Robject{name}, \Robject{sales}, \Robject{profits} and \Robject{assets} for the three largest companies. Alternatively, a single variable can be extracted from a \Rclass{data.frame} by <>= companies <- Forbes2000$name @ which is equivalent to the previously shown statement <>= companies <- Forbes2000[,"name"] @ We might be interested in extracting the largest companies with respect to an alternative ordering. The three top-selling companies can be computed along the following lines. First, we need to compute the ordering of the companies' sales %%' <>= order_sales <- order(Forbes2000$sales) @ which returns the indices of the ordered elements of the numeric vector \Robject{sales}. Consequently the three companies with the lowest sales are <>= companies[order_sales[1:3]] @ The indices of the three top sellers are the elements $1998, 1999$ and $2000$ of the integer vector \Robject{order\_sales} <>= Forbes2000[order_sales[c(2000, 1999, 1998)], c("name", "sales", "profits", "assets")] @ Another way of selecting vector elements is the use of a logical vector being \Robject{TRUE} when the corresponding element is to be selected and \Robject{FALSE} otherwise. The companies with assets of more than $1000$ billion US dollars are <>= Forbes2000[Forbes2000$assets > 1000, c("name", "sales", "profits", "assets")] @ where the expression \Robject{Forbes2000\$assets > 1000} indicates a logical vector of length $2000$ with <>= table(Forbes2000$assets > 1000) @ elements being either \Robject{FALSE} or \Robject{TRUE}. In fact, for some of the companies the measurement of the \Robject{profits} variable are missing. In \R, missing values are treated by a special symbol, \Robject{NA}, indicating \index{NA symbol@\Robject{NA} symbol} that this measurement is not available. \index{Missing values} The observations with profit information missing can be obtained via <>= na_profits <- is.na(Forbes2000$profits) table(na_profits) Forbes2000[na_profits, c("name", "sales", "profits", "assets")] @ where the function \Rcmd{is.na} returns a logical vector being \Robject{TRUE} when the corresponding element of the supplied vector is \Robject{NA}. A more comfortable approach is available when we want to remove all observations with at least one missing value from a \Rclass{data.frame} object. The function \Rcmd{complete.cases} takes a \Rclass{data.frame} and returns a logical vector being \Robject{TRUE} when the corresponding observation does not contain any missing value: <>= table(complete.cases(Forbes2000)) @ Subsetting \Rclass{data.frame}s driven by logical expressions may induce a lot of typing which can be avoided. The \Rcmd{subset} function takes a \Rclass{data.frame} as first argument and a logical expression as second argument. For example, we can select a subset of the Forbes 2000 list consisting of all companies situated in the United Kingdom by <>= UKcomp <- subset(Forbes2000, country == "United Kingdom") dim(UKcomp) @ i.e., $\Sexpr{nrow(UKcomp)}$ of the $2000$ companies are from the UK. Note that it is not necessary to extract the variable \Robject{country} from the \Rclass{data.frame} \Robject{Forbes2000} when formulating the logical expression with \Rcmd{subset}. \index{Data manipulation|)} \section{Computing with Data} \subsection{Simple Summary Statistics} Two functions are helpful for getting an overview about \R{} objects: \Rcmd{str} and \Rcmd{summary}, where \Rcmd{str} is more detailed about data types and \Rcmd{summary} gives a collection of sensible summary statistics. For example, applying the \Rcmd{summary} method to the \Robject{Forbes2000} data set, <>= summary(Forbes2000) @ results in the following output <>= summary(Forbes2000) @ From this output we can immediately see that most of the companies are situated in the US and that most of the companies are working in the banking sector as well as that negative profits, or losses, up to $\Sexpr{abs(round(min(Forbes2000$profits, na.rm = TRUE)))}$ billion US dollars occur. Internally, \Rcmd{summary} is a so-called \stress{generic function} \index{Generic function} with methods for a multitude of classes, i.e., \Rcmd{summary} can be applied to objects of different classes and will report sensible results. Here, we supply a \Rclass{data.frame} object to \Rcmd{summary} where it is natural to apply \Rcmd{summary} to each of the variables in this \Rclass{data.frame}. Because a \Rclass{data.frame} is a \Rclass{list} with each variable being an element of that \Rclass{list}, the same effect can be achieved by <>= lapply(Forbes2000, summary) @ \index{apply family@\Rcmd{apply} family} The members of the \Rcmd{apply} family help to solve recurring tasks for each element of a \Rclass{data.frame}, \Rclass{matrix}, \Rclass{list} or for each level of a \Rclass{factor}. It might be interesting to compare the profits in each of the $\Sexpr{nlevels(Forbes2000$category)}$ categories. To do so, we first compute the median profit for each category from <>= mprofits <- tapply(Forbes2000$profits, Forbes2000$category, median, na.rm = TRUE) @ a command that should be read as follows. For each level of the factor \Robject{category}, determine the corresponding elements of the numeric vector \Robject{profits} and supply them to the \Rcmd{median} function with additional argument \Rarg{na.rm = TRUE}. The latter one is necessary because \Robject{profits} contains missing values which would lead to a non-sensible result of the \Rcmd{median} function <>= median(Forbes2000$profits) @ The three categories with highest median profit are computed from the vector of sorted median profits <>= rev(sort(mprofits))[1:3] @ where \Rcmd{rev} rearranges the vector of median profits \Rcmd{sort}ed from smallest to largest. Of course, we can replace the \Rcmd{median} function with \Rcmd{mean} or whatever is appropriate in the call to \Rcmd{tapply}. In our situation, \Rcmd{mean} is not a good choice, because the distributions of profits or sales are naturally skewed. Simple graphical tools for the inspection of the empirical distributions are introduced later on and in \Sexpr{ch("DAGD")}. \subsection{Customizing Analyses} \index{Functions|(} In the preceding sections we have done quite complex analyses on our data using functions available from \R{}. However, the real power of the system comes to light when writing our own functions for our own analysis tasks. Although \R{} is a full-featured programming language, writing small helper functions for our daily work is not too complicated. We'll study two example cases. At first, we want to add a robust measure of variability to the location measures computed in the previous subsection. In addition to the median profit, computed via <>= median(Forbes2000$profits, na.rm = TRUE) @ we want to compute the inter-quartile range, i.e., the difference between the 3rd and 1st quartile. Although a quick search in the manual pages (via \texttt{help("interquartile")}) brings function \Rcmd{IQR} to our attention, we will approach this task without making use of this tool, but using function \Rcmd{quantile} for computing sample quantiles only. A function in \R{} is nothing but an object, and all objects are created equal. Thus, we `just' have to assign a \Rclass{function} object to a variable. A \Rclass{function} object consists of an argument list, defining arguments and possibly default values, and a body defining the computations. The body starts and ends with braces. Of course, the body is assumed to be valid \R{} code. In most cases we expect a function to return an object, therefore, the body will contain one or more \Rcmd{return} statements the arguments of which define the return values. Returning to our example, we'll name our function \Rcmd{iqr}. The \Rcmd{iqr} function should operate on numeric vectors, therefore it should have an argument \Robject{x}. This numeric vector will be passed on to the \Rcmd{quantile} function for computing the sample quartiles. The required difference between the $3^\text{rd}$ and $1^\text{st}$ quartile can then be computed using \Rcmd{diff}. The definition of our function reads as follows <>= iqr <- function(x) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE) return(diff(q)) } @ A simple test on simulated data from a standard normal distribution shows that our first function actually works, a comparison with the \Rcmd{IQR} function shows that the result is correct: <>= xdata <- rnorm(100) iqr(xdata) IQR(xdata) @ However, when the numeric vector contains missing values, our function fails as the following example shows: <>= xdata[1] <- NA iqr(xdata) @ <>= xdata[1] <- NA cat(try(iqr(xdata))) @ In order to make our little function more flexible it would be helpful to add all arguments of \Rcmd{quantile} to the argument list of \Rcmd{iqr}. The copy-and-paste approach that first comes to mind is likely to lead to inconsistencies and errors, for example when the argument list of \Rcmd{quantile} changes. Instead, the dot argument, a wildcard for any argument, is more appropriate and we redefine our function accordingly: <>= iqr <- function(x, ...) { q <- quantile(x, prob = c(0.25, 0.75), names = FALSE, ...) return(diff(q)) } iqr(xdata, na.rm = TRUE) IQR(xdata, na.rm = TRUE) @ Now, we can assess the variability of the profits using our new \Rcmd{iqr} tool: <>= iqr(Forbes2000$profits, na.rm = TRUE) @ Since there is no difference between functions that have been written by one of the \R{} developers and user-created functions, we can compute the inter-quartile range of profits for each of the business categories by using our \Rcmd{iqr} function inside a \Rcmd{tapply} statement; <>= iqr_profits <- tapply(Forbes2000$profits, Forbes2000$category, iqr, na.rm = TRUE) @ and extract the categories with the smallest and greatest variability <>= levels(Forbes2000$category)[which.min(iqr_profits)] levels(Forbes2000$category)[which.max(iqr_profits)] @ We observe less variable profits in tourism enterprises compared with profits in the pharmaceutical industry. As other members of the \Rcmd{apply} family, \Rcmd{tapply} is very helpful when the same task is to be done more than one time. Moreover, its use is more convenient compared to the usage of \Rcmd{for} loops. For the sake of completeness, we will compute the category-wise inter-quartile range of the profits using a \Rcmd{for} loop. \index{Functions|)} \index{Loops|(} Like a \Rclass{function}, a \Rcmd{for} loop consists of a body, i.e., a chain of \R{} commands to be executed. In addition, we need a set of values and a variable that iterates over this set. Here, the set we are interested in is the business categories: <>= bcat <- Forbes2000$category iqr_profits2 <- numeric(nlevels(bcat)) names(iqr_profits2) <- levels(bcat) for (cat in levels(bcat)) { catprofit <- subset(Forbes2000, category == cat)$profit this_iqr <- iqr(catprofit, na.rm = TRUE) iqr_profits2[levels(bcat) == cat] <- this_iqr } @ Compared to the usage of \Rcmd{tapply}, the above code is rather complicated. At first, we have to set up a vector for storing the results and assign the appropriate names to it. Next, inside the body of the \Rcmd{for} loop, the \Rcmd{iqr} function has to be called on the appropriate subset of all companies of the current business category \Robject{cat}. The corresponding inter-quartile range must then be assigned to the correct vector element in the result vector. Luckily, such complicated constructs will be used in only one of the remaining chapters of the book and are almost always avoidable in practical data analyses. \index{Loops|)} \subsection{Simple Graphics} The degree of skewness of a distribution can be investigated by constructing histograms using the \Rcmd{hist} function. (More sophisticated alternatives such as smooth density estimates will be considered in \Sexpr{ch("DE")}.) \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 2)) hist(Forbes2000$marketvalue) hist(log(Forbes2000$marketvalue)) @ \caption{Histograms of the market value and the logarithm of the market value for the companies contained in the Forbes 2000 list. \label{AItR:densplot}} \end{center} \end{figure} For example, the code for producing Figure~\ref{AItR:densplot} first divides the plot region into two equally spaced rows (the \Rcmd{layout} function) and then plots the histograms of the raw market values in the upper part using the \Rcmd{hist} function. The lower part of the figure depicts the histogram for the log-transformed market values which appear to be more symmetric. Bivariate relationships of two continuous variables are usually depicted as scatterplots. In \R, regression relationships are specified by so-called \stress{model formulae} which, in a simple bivariate case, may look like <>= fm <- marketvalue ~ sales class(fm) @ with the dependent variable on the left-hand side and the independent variable on the right-hand side. The tilde separates left- and right-hand sides. Such a model formula can be passed to a model function (for example to the linear model function as explained in \Sexpr{ch("MLR")}). The \Rcmd{plot} generic function implements a \Rclass{formula} method as well. Because the distributions of both market value and sales are skewed we choose to depict their logarithms. A raw scatterplot of $2000$ data points (Figure~\ref{AItR:scatter-raw}) is rather uninformative due to areas with very high density. This problem can be avoided by choosing a transparent color for the dots as shown in Figure~\ref{AItR:scatter}. \begin{figure} \begin{center} <>= plot(log(marketvalue) ~ log(sales), data = Forbes2000, pch = ".") @ \caption{Raw scatterplot of the logarithms of market value and sales. \label{AItR:scatter-raw}} \end{center} \end{figure} \begin{figure} \begin{center} <>= plot(log(marketvalue) ~ log(sales), data = Forbes2000, col = rgb(0,0,0,0.1), pch = 16) @ \caption{Scatterplot with transparent shading of points of the logarithms of market value and sales. \label{AItR:scatter}} \end{center} \end{figure} If the independent variable is a factor, a boxplot representation is a natural choice. For four selected countries, the distributions of the logarithms of the market value may be visually compared in Figure~\ref{AItR:box}. Prior to calling the \Rcmd{plot} function on our data, we have to remove empty levels from the \Robject{country} variable, because otherwise the $x$-axis would show all and not only the selected countries. This task is most easily performed by subsetting the corresponding factor with additional argument \Rcmd{drop = TRUE}. \index{Boxplot} \begin{figure} \begin{center} <>= tmp <- subset(Forbes2000, country %in% c("United Kingdom", "Germany", "India", "Turkey")) tmp$country <- tmp$country[,drop = TRUE] plot(log(marketvalue) ~ country, data = tmp, ylab = "log(marketvalue)", varwidth = TRUE) @ \caption{Boxplots of the logarithms of the market value for four selected countries, the width of the boxes is proportional to the square roots of the number of companies. \label{AItR:box}} \end{center} \end{figure} Here, the width of the boxes are proportional to the square root of the number of companies for each country and extremely large or small market values are depicted by single points. More elaborate graphical methods will be discussed in \Sexpr{ch("DAGD")}. \index{Forbes 2000 ranking|)} \section{Organizing an Analysis} <>= file.create("analysis.R") @ Although it is possible to perform an analysis typing all commands directly on the \R{} prompt it is much more comfortable to maintain a separate text file collecting all steps necessary to perform a certain data analysis task. Such an \R{} transcript file, for example called \file{analysis.R} created with your favorite text editor, can be sourced into \R{} using the \Rcmd{source} command <>= source("analysis.R", echo = TRUE) @ When all steps of a data analysis, i.e., data preprocessing, transformations, simple summary statistics and plots, model building and inference as well as reporting, are collected in such an \R{} transcript file, the analysis can be reproduced at any time, maybe with corrected or updated data as it frequently happens in our consulting practice. <>= file.remove("analysis.R") @ \section{Summary of Findings} Data manipulation precedes every statistical analysis and is often more complex than the final model fitting and display. The \R{} language in itself is very powerful and allows efficient data manipulation. For really large data sets that do not fit into the random access memory of the computer, we have to store the data elsewhere, for example in database systems or flat files. Packages for accessing the data from these sources are described in the `Large memory and out-of-memory data' section of the `High-performance and parallel computing' task view. \section{Final Comments} Reading data into \R{} is possible in many different ways, including direct connections to data base engines. Tabular data are handled by \Rclass{data.frame}s in \R{}, and the usual data manipulation techniques such as sorting, ordering or subsetting can be performed by simple \R{} statements. An overview on data stored in a \Rclass{data.frame} is given mainly by two functions: \Rcmd{summary} and \Rcmd{str}. Simple graphics such as histograms and scatterplots can be constructed by applying the appropriate \R{} functions (\Rcmd{hist} and \Rcmd{plot}) and we shall give many more examples of these functions and those that produce more interesting graphics in later chapters. \section*{Exercises} \begin{description} \exercise Calculate the median profit for the companies in the US and the median profit for the companies in the UK, France, and Germany. \exercise Find all German companies with negative profit. \exercise To which business category do most of the Bermuda island companies belong? \exercise For the $50$ companies in the Forbes data set with the highest profits, plot sales against assets (or some suitable transformation of each variable), labeling each point with the appropriate country name which may need to be abbreviated (using \Rcmd{abbreviate}) to avoid making the plot look too `messy'. %%' \exercise Find the average value of sales for the companies in each country in the Forbes data set, and find the number of companies in each country with profits above $5$ billion US dollars. \exercise List all the products made by companies in the UK. \exercise Plot sales against market value for companies in the UK and in Germany using different plotting symbols for the two countries. \exercise For the ten companies in the UK with the greatest profits construct a bar chart of profits labeled with the companies' name. \exercise How many of the $20$ companies with the greatest market value are from the US and how many are from the UK? \exercise Construct a histogram of profits for all companies in Germany with assets above three billion dollars; how many such companies are there? And which product does the company with the greatest profit make? \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_graphical_display.R0000644000176200001440000002213714416277502017172 0ustar liggesusers### R code from vignette source 'Ch_graphical_display.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: DAGD-USmelanoma-histbox ################################################### xr <- range(USmelanoma$mortality) * c(0.9, 1.1) xr ################################################### ### code chunk number 4: DAGD-USmelanoma-histbox ################################################### layout(matrix(1:2, nrow = 2)) par(mar = par("mar") * c(0.8, 1, 1, 1)) boxplot(USmelanoma$mortality, ylim = xr, horizontal = TRUE, xlab = "Mortality") hist(USmelanoma$mortality, xlim = xr, xlab = "", main = "", axes = FALSE, ylab = "") axis(1) ################################################### ### code chunk number 5: DAGD-USmelanoma-boxocean ################################################### plot(mortality ~ ocean, data = USmelanoma, xlab = "Contiguity to an ocean", ylab = "Mortality") ################################################### ### code chunk number 6: DAGD-USmelanoma-dens ################################################### dyes <- with(USmelanoma, density(mortality[ocean == "yes"])) dno <- with(USmelanoma, density(mortality[ocean == "no"])) plot(dyes, lty = 1, xlim = xr, main = "", ylim = c(0, 0.018), xlab = "Mortality") lines(dno, lty = 2) legend("topleft", lty = 1:2, legend = c("Coastal State", "Land State"), bty = "n") ################################################### ### code chunk number 7: DAGD-USmelanoma-xy ################################################### layout(matrix(1:2, ncol = 2)) plot(mortality ~ longitude, data = USmelanoma, ylab = "Mortality", xlab = "Longitude") plot(mortality ~ latitude, data = USmelanoma, ylab = "Mortality", xlab = "Latitude") ################################################### ### code chunk number 8: DAGD-USmelanoma-lat ################################################### plot(mortality ~ latitude, data = USmelanoma, pch = (1:2)[ocean], ylab = "Mortality", xlab = "Latitude") legend("topright", legend = c("Land state", "Coast state"), pch = 1:2, bty = "n") ################################################### ### code chunk number 9: DAGD-USmelanoma-south ################################################### subset(USmelanoma, latitude < 32) ################################################### ### code chunk number 10: DAGD-USmelanoma-long-lat-data ################################################### library("sp") library("sf") library("maps") states <- map("state", plot = FALSE, fill = TRUE) ################################################### ### code chunk number 11: DAGD-USmelanoma-long-lat-names ################################################### IDs <- sapply(strsplit(states$names, ":"), function(x) x[1]) rownames(USmelanoma) <- tolower(rownames(USmelanoma)) ################################################### ### code chunk number 12: DAGD-USmelanoma-long-lat-sp ################################################### us1 <- merge(st_as_sf(states), USmelanoma) us2 <- as(us1, "Spatial") ################################################### ### code chunk number 13: DAGD-USmelanoma-long-lat ################################################### spplot(us2, "mortality", col.regions = rev(grey.colors(100))) ################################################### ### code chunk number 14: DAGD-CHFLS-happy ################################################### barplot(xtabs(~ R_happy, data = CHFLS)) ################################################### ### code chunk number 15: DAGD-CHFLS-health_happy_xtabs ################################################### xtabs(~ R_happy + R_health, data = CHFLS) ################################################### ### code chunk number 16: DAGD-CHFLS-health_happy_xtabs2 ################################################### hh <- xtabs(~ R_health + R_happy, data = CHFLS) ################################################### ### code chunk number 17: DAGD-CHFLS-health_happy ################################################### plot(R_happy ~ R_health, data = CHFLS, ylab = "Happiness", xlab = "Health") ################################################### ### code chunk number 18: DAGD-CHFLS-happy_income ################################################### layout(matrix(1:2, ncol = 2)) plot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") cdplot(R_happy ~ log(R_income + 1), data = CHFLS, ylab = "Happiness", xlab = "log(Income + 1)") ################################################### ### code chunk number 19: DAGD-CHFLS-RAincome3 (eval = FALSE) ################################################### ## library("lattice") ## xyplot(jitter(log(R_income + 0.5)) ~ ## jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, ## pch = 19, col = rgb(.1, .1, .1, .1), ## ylab = "log(Wife's income + .5)", ## xlab = "log(Husband's income + .5)") ################################################### ### code chunk number 20: DAGD-CHFLS-RAincome3 ################################################### library("lattice") trellis.par.set(list(plot.symbol = list(col=1,pch=20, cex=0.7), box.rectangle = list(col=1), plot.line = list(col = 1, lwd = 1), box.umbrella = list(lty=1, col=1), strip.background = list(col = "white"))) ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) xyplot(jitter(log(R_income + 0.5)) ~ jitter(log(A_income + 0.5)) | R_edu, data = CHFLS, pch = 19, col = rgb(.1, .1, .1, .1), ylab = "log(Wife's income + .5)", xlab = "log(Husband's income + .5)") ################################################### ### code chunk number 21: DAGD-household-tab ################################################### data("household", package = "HSAUR3") toLatex(HSAURtable(household), caption = paste("Household expenditure for single men and women."), label = "DAGD-household-tab") ################################################### ### code chunk number 22: DAGD-USstates-tab ################################################### data("USstates", package = "HSAUR3") toLatex(HSAURtable(USstates), caption = paste("Socio-demographic variables for ten US states."), label = "DAGD-USstates-tab") ################################################### ### code chunk number 23: DAGD-suicides2-tab ################################################### data("suicides2", package = "HSAUR3") toLatex(HSAURtable(suicides2), caption = paste("Mortality rates per $100,000$ from male suicides."), label = "DAGD-suicides2-tab", rownames = TRUE) ################################################### ### code chunk number 24: DAGD-banknote-tab ################################################### data("banknote", package = "mclust") banknote$Status <- NULL banknote <- banknote[c(1:5, 101:200),] toLatex(HSAURtable(banknote, pkg = "mclust", nrow = 10), caption = paste("Swiss bank note data."), label = "DAGD-banknote-tab", rownames = FALSE) ################################################### ### code chunk number 25: DAGD-birds-tab ################################################### data("birds", package = "HSAUR3") toLatex(HSAURtable(birds), caption = paste("Birds in paramo vegetation."), label = "DAGD-birds-tab", rownames = TRUE) HSAUR3/inst/doc/Ch_recursive_partitioning.Rnw0000644000176200001440000005514114416236370020655 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Recursive Partitioning} %%\VignetteDepends{vcd,lattice,randomForest,partykit} \setcounter{chapter}{8} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("vcd") library("lattice") library("randomForest") library("partykit") ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme ltheme$strip.background$col <- "transparent" ## change strip bg lattice.options(default.theme = ltheme) mai <- par("mai") options(SweaveHooks = list(nullmai = function() { par(mai = rep(0, 4)) }, twomai = function() { par(mai = c(0, mai[2], 0, 0)) }, threemai = function() { par(mai = c(0, mai[2], 0.1, 0)) })) numbers <- c("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine") @ \chapter[Recursive Partitioning]{Recursive Partitioning: Predicting Body Fat, Glaucoma Diagnosis, and Happiness in China \label{RP}} \section{Introduction} \section{Recursive Partitioning} \section{Analysis Using \R{}} \subsection{Predicting Body Fat Content} The \Rcmd{rpart} function from \Rpackage{rpart} can be used to grow a regression tree. The response variable and the covariates are defined by a model formula in the same way as for \Rcmd{lm}, say. By default, a large initial tree is grown, we restrict the number of observations required to establish a potential binary split to at least ten: <>= library("rpart") data("bodyfat", package = "TH.data") bodyfat_rpart <- rpart(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat, control = rpart.control(minsplit = 10)) @ A \Rcmd{print} method for \Rclass{rpart} objects is available; however, a graphical representation \citep[here utilizing functionality offered from package \Rpackage{partykit},][]{PKG:partykit} shown in Figure~\ref{RP-bodyfat-plot} is more convenient. Observations that satisfy the condition shown for each node go to the left and observations that don't are an element of the right branch in each node. %' As expected, higher values for waist and hip circumferences and wider knees correspond to higher values of body fat content. The rightmost terminal node consists of only three rather extreme observations. \begin{figure} \begin{center} <>= library("partykit") plot(as.party(bodyfat_rpart), tp_args = list(id = FALSE)) @ \caption{Initial tree for the body fat data with the distribution of body fat in terminal nodes visualized via boxplots. \label{RP-bodyfat-plot}} \end{center} \end{figure} \index{Cross-validation} To determine if the tree is appropriate or if some of the branches need to be subjected to pruning we can use the \Robject{cptable} element of the \Rclass{rpart} object: <>= print(bodyfat_rpart$cptable) opt <- which.min(bodyfat_rpart$cptable[,"xerror"]) @ The \Robject{xerror} column contains estimates of cross-validated prediction error for different numbers of splits (\Robject{nsplit}). The best tree has \Sexpr{numbers[bodyfat_rpart$cptable[opt, "nsplit"] + 1]} splits. Now we can prune back the large initial tree using <>= cp <- bodyfat_rpart$cptable[opt, "CP"] bodyfat_prune <- prune(bodyfat_rpart, cp = cp) @ The result is shown in Figure~\ref{RP-bodyfat-pruneplot}. Note that the inner nodes three and six have been removed from the tree. Still, the rightmost terminal node might give very unreliable extreme predictions. \begin{figure} \begin{center} <>= plot(as.party(bodyfat_prune), tp_args = list(id = FALSE)) @ \caption{Pruned regression tree for body fat data. \label{RP-bodyfat-pruneplot}} \end{center} \end{figure} Given this model, one can predict the (unknown, in real circumstances) body fat content based on the covariate measurements. Here, using the known values of the response variable, we compare the model predictions with the actually measured body fat as shown in Figure~\ref{RP-bodyfat-predict}. The three observations with large body fat measurements in the rightmost terminal node can be identified easily. \begin{figure} \begin{center} <>= DEXfat_pred <- predict(bodyfat_prune, newdata = bodyfat) xlim <- range(bodyfat$DEXfat) plot(DEXfat_pred ~ DEXfat, data = bodyfat, xlab = "Observed", ylab = "Predicted", ylim = xlim, xlim = xlim) abline(a = 0, b = 1) @ \caption{Observed and predicted DXA measurements. \label{RP-bodyfat-predict}} \end{center} \end{figure} \subsection{Glaucoma Diagnosis} <>= set.seed(290875) @ <>= data("GlaucomaM", package = "TH.data") glaucoma_rpart <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 100)) glaucoma_rpart$cptable opt <- which.min(glaucoma_rpart$cptable[,"xerror"]) cp <- glaucoma_rpart$cptable[opt, "CP"] glaucoma_prune <- prune(glaucoma_rpart, cp = cp) @ \setkeys{Gin}{width = 0.65\textwidth} \begin{figure} \begin{center} <>= plot(as.party(glaucoma_prune), tp_args = list(id = FALSE)) @ \caption{Pruned classification tree of the glaucoma data with class distribution in the leaves. \label{RP:gl}} \end{center} \end{figure} \setkeys{Gin}{width=0.95\textwidth} \index{Classification tree!choice of tree size} \index{Tree size} As we discussed earlier, the choice of the appropriately sized tree is not a trivial problem. For the glaucoma data, the above choice of three leaves is very unstable across multiple runs of cross-validation. As an illustration of this problem we repeat the very same analysis as shown above and record the optimal number of splits as suggested by the cross-validation runs. <>= nsplitopt <- vector(mode = "integer", length = 25) for (i in 1:length(nsplitopt)) { cp <- rpart(Class ~ ., data = GlaucomaM)$cptable nsplitopt[i] <- cp[which.min(cp[,"xerror"]), "nsplit"] } @ \newpage <>= table(nsplitopt) @ Although for \Sexpr{sum(nsplitopt == 1)} runs of cross-validation a simple tree with one split only is suggested, larger trees would have been favored in \Sexpr{sum(nsplitopt > 1)} of the cases. This short analysis shows that we should not trust the tree in Figure~\ref{RP:gl} too much. \index{Bagging} \index{Bootstrap approach!glaucoma diagnosis data} One way out of this dilemma is the aggregation of multiple trees via bagging. In \R{}, the bagging idea can be implemented by three or four lines of code. Case count or weight vectors representing the bootstrap samples can be drawn from the multinominal distribution with parameters $n$ and $p_1 = 1/n, \dots, p_n = 1/n$ via the \Rcmd{rmultinom} function. For each weight vector, one large tree is constructed without pruning and the \Rclass{rpart} objects are stored in a list, here called \Robject{trees}: <>= trees <- vector(mode = "list", length = 25) n <- nrow(GlaucomaM) bootsamples <- rmultinom(length(trees), n, rep(1, n)/n) mod <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 0)) for (i in 1:length(trees)) trees[[i]] <- update(mod, weights = bootsamples[,i]) @ The \Rcmd{update} function re-evaluates the call of \Robject{mod}, however, with the weights being altered, i.e., fits a tree to a bootstrap sample specified by the weights. It is interesting to have a look at the structures of the multiple trees. For example, the variable selected for splitting in the root of the tree is not unique as can be seen by <>= table(sapply(trees, function(x) as.character(x$frame$var[1]))) @ Although \Robject{varg} is selected most of the time, other variables such as \Robject{vari} occur as well -- a further indication that the tree in Figure~\ref{RP:gl} is questionable and that hard decisions are not appropriate for the glaucoma data. In order to make use of the ensemble of trees in the list \Robject{trees} we estimate the conditional probability of suffering from glaucoma given the covariates for each observation in the original data set by <>= classprob <- matrix(0, nrow = n, ncol = length(trees)) for (i in 1:length(trees)) { classprob[,i] <- predict(trees[[i]], newdata = GlaucomaM)[,1] classprob[bootsamples[,i] > 0,i] <- NA } @ Thus, for each observation we get \Sexpr{length(trees)} estimates. However, each observation has been used for growing one of the trees with probability $0.632$ and thus was not used with probability $0.368$. Consequently, the estimate from a tree where an observation was not used for growing is better for judging the quality of the predictions and we label the other estimates with \Robject{NA}. Now, we can average the estimates and we vote for glaucoma when the average of the estimates of the conditional glaucoma probability exceeds $0.5$. The comparison between the observed and the predicted classes does not suffer from overfitting since the predictions are computed from those trees for which each single observation was \stress{not} used for growing. <>= avg <- rowMeans(classprob, na.rm = TRUE) predictions <- factor(ifelse(avg > 0.5, "glaucoma", "normal")) predtab <- table(predictions, GlaucomaM$Class) predtab @ Thus, an honest estimate of the probability of a glaucoma prediction when the patient is actually suffering from glaucoma is <>= round(predtab[1,1] / colSums(predtab)[1] * 100) @ per cent. For <>= round(predtab[2,2] / colSums(predtab)[2] * 100) @ percent of normal eyes, the ensemble does not predict glaucomateous damage. \begin{figure} \begin{center} <>= library("lattice") gdata <- data.frame(avg = rep(avg, 2), class = rep(as.numeric(GlaucomaM$Class), 2), obs = c(GlaucomaM[["varg"]], GlaucomaM[["vari"]]), var = factor(c(rep("varg", nrow(GlaucomaM)), rep("vari", nrow(GlaucomaM))))) panelf <- function(x, y) { panel.xyplot(x, y, pch = gdata$class) panel.abline(h = 0.5, lty = 2) } print(xyplot(avg ~ obs | var, data = gdata, panel = panelf, scales = "free", xlab = "", ylab = "Estimated Class Probability Glaucoma")) @ \caption{Estimated class probabilities depending on two important variables. The $0.5$ cut-off for the estimated glaucoma probability is depicted as a horizontal line. Glaucomateous eyes are plotted as circles and normal eyes are triangles. \label{RP:glplot}} \end{center} \end{figure} \index{Random forest} The bagging procedure is a special case of a more general approach called \stress{random forest} \citep{HSAUR:Breiman2001b}. The package \Rpackage{randomForest} \citep{PKG:randomForest} can be used to compute such ensembles via <>= library("randomForest") rf <- randomForest(Class ~ ., data = GlaucomaM) @ and we obtain out-of-bag estimates for the prediction error via <>= table(predict(rf), GlaucomaM$Class) @ \subsection{Trees Revisited} For the body fat data, such a \stress{conditional inference tree} can be computed using the \Rcmd{ctree} function \index{Conditional tree} <>= bodyfat_ctree <- ctree(DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth, data = bodyfat) @ This tree doesn't require a pruning procedure because an internal stop criterion based on formal statistical tests prevents the procedure from overfitting the data. The tree structure is shown in Figure~\ref{RP-bodyfat-ctree-plot}. Although the structure of this tree and the tree depicted in Figure~\ref{RP-bodyfat-pruneplot} are rather different, the corresponding predictions don't vary too much. \begin{figure} \begin{center} <>= plot(bodyfat_ctree, tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of body fat content shown for each terminal leaf. \label{RP-bodyfat-ctree-plot}} \end{center} \end{figure} Very much the same code is needed to grow a tree on the glaucoma data: <>= glaucoma_ctree <- ctree(Class ~ ., data = GlaucomaM) @ and a graphical representation is depicted in Figure~\ref{RP-glaucoma-ctree-plot} showing both the cutpoints and the $p$-values of the associated independence tests for each node. The first split is performed using a cutpoint defined with respect to the volume of the optic nerve above some reference plane, but in the inferior part of the eye only (\Robject{vari}). \begin{figure} \begin{center} <>= plot(glaucoma_ctree, tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of glaucomateous eyes shown for each terminal leaf. \label{RP-glaucoma-ctree-plot}} \end{center} \end{figure} \subsection{Happiness in China} \index{Chinese Health and Family Life Survey} A conditional inference tree is a simple alternative to the proportional odds model for the regression analysis of the happiness variable from the Chinese Health and Family Life Survey. In each node, a linear association test introduced in Section~\ref{CI:Lanza} taking the ordering of the happiness levels into account is applied for selecting variables and split-points. Before we fit the tree with the \Rcmd{ctree} function, we recode the levels of the happiness variable to allow plotting of these symbols with restricted page space: \newpage <>= levels(CHFLS$R_happy) levels(CHFLS$R_happy) <- LETTERS[1:4] CHFLS_ctree <- ctree(R_happy ~ ., data = CHFLS) @ The resulting tree is depicted in Figure~\ref{RP-CHFLS-ctree-plot} and very nicely backs up the results obtained from the proportional odds model in Chapter~\ref{GLM}. The distribution of self-reported happiness is shifted from very unhappy to very happy with increasing values of self-reported health, i.e., women that reported excellent health (mind the $>$ sign in the right label of the root split!) were at least somewhat happy with only a few exceptions. Women with poor or not good health reported being not too happy much more often. There seems to be further differentiation with respect to geography and also income but the differences in the distributions depicted in the terminal leaves are negligible. \begin{figure} \begin{center} <>= plot(CHFLS_ctree, ep_args = list(justmin = 10), tp_args = list(id = FALSE)) @ \caption{Conditional inference tree with the distribution of self-reported happiness shown for each terminal leaf. The levels of happiness have been abbreviated (A: very unhappy, B: not too happy, C: somewhat happy; D: very happy). The \Rcmd{justmin} argument ensures that split descriptions longer than $10$ characters are displayed over two lines. \label{RP-CHFLS-ctree-plot}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_survival_analysis.R0000644000176200001440000001372014416277543017274 0ustar liggesusers### R code from vignette source 'Ch_survival_analysis.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: SA-setup ################################################### x <- library("survival") x <- library("coin") x <- library("partykit") ################################################### ### code chunk number 4: SA-glioma-KM ################################################### data("glioma", package = "coin") library("survival") layout(matrix(1:2, ncol = 2)) g3 <- subset(glioma, histology == "Grade3") plot(survfit(Surv(time, event) ~ group, data = g3), main = "Grade III Glioma", lty = c(2, 1), ylab = "Probability", xlab = "Survival Time in Month", legend.text = c("Control", "Treated"), legend.bty = "n") g4 <- subset(glioma, histology == "GBM") plot(survfit(Surv(time, event) ~ group, data = g4), main = "Grade IV Glioma", ylab = "Probability", lty = c(2, 1), xlab = "Survival Time in Month", xlim = c(0, max(glioma$time) * 1.05)) ################################################### ### code chunk number 5: SA-glioma-logrank ################################################### survdiff(Surv(time, event) ~ group, data = g3) ################################################### ### code chunk number 6: SA-glioma-exact ################################################### library("coin") logrank_test(Surv(time, event) ~ group, data = g3, distribution = "exact") ################################################### ### code chunk number 7: SA-glioma-g4 ################################################### logrank_test(Surv(time, event) ~ group, data = g4, distribution = "exact") ################################################### ### code chunk number 8: SA-glioma-hist ################################################### logrank_test(Surv(time, event) ~ group | histology, data = glioma, distribution = approximate(B = 10000)) ################################################### ### code chunk number 9: SA-GBSG2-plot ################################################### data("GBSG2", package = "TH.data") plot(survfit(Surv(time, cens) ~ horTh, data = GBSG2), lty = 1:2, mark.time = FALSE, ylab = "Probability", xlab = "Survival Time in Days") legend(250, 0.2, legend = c("yes", "no"), lty = c(2, 1), title = "Hormonal Therapy", bty = "n") ################################################### ### code chunk number 10: SA-GBSG2-coxph ################################################### GBSG2_coxph <- coxph(Surv(time, cens) ~ ., data = GBSG2) ################################################### ### code chunk number 11: SA-GBSG2-coxph-ci ################################################### ci <- confint(GBSG2_coxph) exp(cbind(coef(GBSG2_coxph), ci))["horThyes",] ################################################### ### code chunk number 12: GBSG2-coxph-summary ################################################### summary(GBSG2_coxph) ################################################### ### code chunk number 13: SA-GBSG2-zph ################################################### GBSG2_zph <- cox.zph(GBSG2_coxph) GBSG2_zph ################################################### ### code chunk number 14: SA-GBSG2-zph-plot ################################################### plot(GBSG2_zph, var = "age") ################################################### ### code chunk number 15: SA-GBSG2-Martingal ################################################### layout(matrix(1:3, ncol = 3)) res <- residuals(GBSG2_coxph) plot(res ~ age, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "Martingale Residuals") abline(h = 0, lty = 3) plot(res ~ pnodes, data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) plot(res ~ log(progrec), data = GBSG2, ylim = c(-2.5, 1.5), pch = ".", ylab = "") abline(h = 0, lty = 3) ################################################### ### code chunk number 16: SA-GBSG2-ctree ################################################### GBSG2_ctree <- ctree(Surv(time, cens) ~ ., data = GBSG2) ################################################### ### code chunk number 17: SA-GBSG2-ctree-plot ################################################### plot(GBSG2_ctree) HSAUR3/inst/doc/Ch_multiple_linear_regression.Rnw0000644000176200001440000005606514416236367021520 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Multiple Linear Regression} %%\VignetteDepends{wordcloud} \setcounter{chapter}{5} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("wordcloud") @ \chapter[Simple and Multiple Linear Regression]{Simple and Multiple Linear Regression: \\ How Old is the Universe and Cloud Seeding \label{MLR}} \section{Introduction} \index{Age of the Universe} \cite{HSAUR:Freedmanetal2001} give the relative velocity and the distance of $24$ galaxies, according to measurements made using the Hubble Space Telescope -- the data are contained in the \Rpackage{gamair} package accompanying \cite{HSAUR:Wood2006}, see Table~\ref{MLR-hubble-tab}. Velocities are assessed by measuring the Doppler red shift in the spectrum of light observed from the galaxies concerned, although some correction for `local' velocity components is required. Distances are measured using the known relationship between the period of Cepheid variable stars and their luminosity. How can these data be used to estimate the age of the universe? Here we shall show how this can be done using simple linear regression. <>= data("hubble", package = "gamair") names(hubble) <- c("galaxy", "velocity", "distance") toLatex(HSAURtable(hubble, package = "gamair"), pcol = 2, caption = paste("Distance and velocity for 24 galaxies."), label = "MLR-hubble-tab") @ \vspace*{-1cm} \textit{Source}: From Freedman W. L., et al., \textit{The Astrophysical Journal}, 553, 47--72, 2001. With permission. \vspace*{1cm} \index{Cloud seeding} {\tabcolsep3.5pt <>= data("clouds", package = "HSAUR3") names(clouds) <- c("seeding", "time", "sne", "cloudc", "prewet", "EM", "rain") toLatex(HSAURtable(clouds), pcol = 1, caption = paste("Cloud seeding experiments in Florida -- see text for", "explanations of the variables. Note that the \\Robject{clouds} data set has slightly different variable names."), label = "MLR-clouds-tab") @ } Weather modification, or cloud seeding, is the treatment of individual clouds or storm systems with various inorganic and organic materials in the hope of achieving an increase in rainfall. Introduction of such material into a cloud that contains supercooled water, that is, liquid water colder than zero degrees Celsius, has the aim of inducing freezing, with the consequent ice particles growing at the expense of liquid droplets and becoming heavy enough to fall as rain from clouds that otherwise would produce none. The data shown in Table~\ref{MLR-clouds-tab} were collected in the summer of 1975 from an experiment to investigate the use of massive amounts of silver iodide ($100$ to $1000$ grams per cloud) in cloud seeding to increase rainfall \citep{HSAUR:Woodleyetal1977}. In the experiment, which was conducted in an area of Florida, 24 days were judged suitable for seeding on the basis that a measured suitability criterion, denoted \stress{S-Ne}, was not less than $1.5$. Here \stress{S} is the `seedability', %' the difference between the maximum height of a cloud if seeded and the same cloud if not seeded predicted by a suitable cloud model, and \stress{Ne} is the number of hours between $1300$ and $1600$ G.M.T. with $10$ centimeter echoes in the target; this quantity biases the decision for experimentation against naturally rainy days. Consequently, optimal days for seeding are those on which seedability is large and the natural rainfall early in the day is small. On suitable days, a decision was taken at random as to whether to seed or not. For each day the following variables were measured: \begin{description} \item[\Robject{seeding}] a factor indicating whether seeding action occurred (yes or no), \item[\Robject{time}] number of days after the first day of the experiment, \item[\Robject{cloudc}] the percentage cloud cover in the experimental area, measured using radar, \item[\Robject{prewet}] the total rainfall in the target area one hour before seeding (in cubic meters $\times 10^{7}$), \item[\Robject{EM}] a factor showing whether the radar echo was moving or stationary, \item[\Robject{rain}] the amount of rain in cubic meters $\times 10^{7}$, \item[\Robject{sne}] suitability criterion, see above. \end{description} The objective in analyzing these data is to see how rainfall is related to the explanatory variables and, in particular, to determine the effectiveness of seeding. The method to be used is \stress{multiple linear regression}. \section{Simple Linear Regression} \section{Multiple Linear Regression \label{MLR-MLR}} \subsection{Regression Diagnostics} \section{Analysis Using \R{}} \subsection{Estimating the Age of the Universe} Prior to applying a simple regression to the data it will be useful to look at a plot to assess their major features. The \R{} code given in Figure~\ref{MLR-hubble-plot} produces a scatterplot of velocity and distance. \begin{figure} \begin{center} <>= plot(velocity ~ distance, data = hubble) @ \caption{Scatterplot of velocity and distance. \label{MLR-hubble-plot}} \end{center} \end{figure} The diagram shows a clear, strong relationship between velocity and distance. The next step is to fit a simple linear regression model to the data, but in this case the nature of the data requires a model without intercept because if distance is zero so is relative speed. So the model to be fitted to these data is \begin{eqnarray*} \text{velocity} = \beta_1 \text{distance} + \varepsilon. \end{eqnarray*} This is essentially what astronomers call Hubble's Law and $\beta_1$ is known as Hubble's constant; $\beta_1^{-1}$ gives an approximate age of the universe. To fit this model we are estimating $\beta_1$ using formula (\ref{MLR:beta1}). Although this operation is rather easy <>= sum(hubble$distance * hubble$velocity) / sum(hubble$distance^2) @ it is more convenient to apply \R's linear modeling function <>= hmod <- lm(velocity ~ distance - 1, data = hubble) @ Note that the model formula specifies a model without intercept. We can now extract the estimated model coefficients via <>= coef(hmod) @ and add this estimated regression line to the scatterplot; the result is shown in Figure~\ref{MLR-hubble-lmplot}. In addition, we produce a scatterplot of the residuals $y_i - \hat{y}_i$ against fitted values $\hat{y}_i$ to assess the quality of the model fit. It seems that for higher distance values the variance of velocity increases; however, we are interested in only the estimated parameter $\hat{\beta}_1$ which remains valid under variance heterogeneity (in contrast to $t$-tests and associated $p$-values). Now we can use the estimated value of $\beta_1$ to find an approximate value for the age of the universe. The Hubble constant itself has units of $\text{km} \times \text{sec}^{-1} \times \text{Mpc}^{-1}$. A mega-parsec (Mpc) is $3.09 \times 10^{19}$km, so we need to divide the estimated value of $\beta_1$ by this amount in order to obtain Hubble's constant with units of $\text{sec}^{-1}$. The approximate age of the universe in seconds will then be the inverse of this calculation. Carrying out the necessary computations <>= Mpc <- 3.09 * 10^19 ysec <- 60^2 * 24 * 365.25 Mpcyear <- Mpc / ysec 1 / (coef(hmod) / Mpcyear) @ gives an estimated age of roughly $12.8$ billion years. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) plot(velocity ~ distance, data = hubble) abline(hmod) plot(hmod, which = 1) @ \caption{Scatterplot of velocity and distance with estimated regression line (left) and plot of residuals against fitted values (right). \label{MLR-hubble-lmplot}} \end{center} \end{figure} \subsection{Cloud Seeding} Again, a graphical display highlighting the most important aspects of the data will be helpful. Here we will construct boxplots of the rainfall in each category of the dichotomous explanatory variables and scatterplots of rainfall against each of the continuous explanatory variables. \begin{figure} \begin{center} <>= data("clouds", package = "HSAUR3") layout(matrix(1:2, nrow = 2)) bxpseeding <- boxplot(rain ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rain ~ EM, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") @ <>= layout(matrix(1:2, nrow = 2)) bxpseeding <- boxplot(rain ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rain ~ EM, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") @ \caption{Boxplots of \Robject{rain}. \label{MLR-rainfall-boxplot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= layout(matrix(1:4, nrow = 2)) plot(rain ~ time, data = clouds) plot(rain ~ cloudc, data = clouds) plot(rain ~ sne, data = clouds, xlab="S-Ne criterion") plot(rain ~ prewet, data = clouds) @ \caption{Scatterplots of \Robject{rain} against the continuous covariates. \label{MLR-rainfall-scplot}} \end{center} \end{figure} Both the boxplots (Figure~\ref{MLR-rainfall-boxplot}) and the scatterplots (Figure~\ref{MLR-rainfall-scplot}) show some evidence of outliers. The row names of the extreme observations in the \Robject{clouds} \Rclass{data.frame} can be identified via <>= rownames(clouds)[clouds$rain %in% c(bxpseeding$out, bxpecho$out)] @ where \Robject{bxpseeding} and \Robject{bxpecho} are variables created by \Rcmd{boxplot} in Figure~\ref{MLR-rainfall-boxplot}. Now we shall not remove these observations but bear in mind during the modeling process that they may cause problems. In this example it is sensible to assume that the effect of some of the other explanatory variables is modified by seeding and therefore consider a model that includes seeding as covariate and, furthermore, allows interaction terms \index{Interaction} for \Robject{seeding} with each of the covariates except \Robject{time}. This model can be described by the \Rclass{formula} <>= clouds_formula <- rain ~ seeding + seeding:(sne + cloudc + prewet + EM) + time @ and the design matrix $\X^\star$ can be computed via <>= Xstar <- model.matrix(clouds_formula, data = clouds) @ By default, treatment contrasts have been applied to the dummy codings of the factors \Robject{seeding} and \Robject{EM} as can be seen from the inspection of the \Robject{contrasts} attribute of the model matrix <>= attr(Xstar, "contrasts") @ The default contrasts can be changed via the \Rarg{contrasts.arg} argument to \Rcmd{model.matrix} or the \Robject{contrasts} argument to the fitting function, for example \Rcmd{lm} or \Rcmd{aov} as shown in \Sexpr{ch("ANOVA")}. However, such internals are hidden and performed by high-level model-fitting functions such as \Rcmd{lm} which will be used to fit the linear model defined by the \Rclass{formula} \Robject{clouds\_formula}: <>= clouds_lm <- lm(clouds_formula, data = clouds) class(clouds_lm) @ The result of the model fitting is an object of class \Rclass{lm} for which a \Rcmd{summary} method showing the conventional regression analysis output is available. The output in Figure~\ref{MLR-clouds-summary} shows the estimates $\hat{\beta}^\star$ with corresponding standard errors and $t$-statistics as well as the $F$-statistic with associated $p$-value. \renewcommand{\nextcaption}{\R{} output of the linear model fit for the \Robject{clouds} data. \label{MLR-clouds-summary}} \SchunkLabel <>= summary(clouds_lm) @ \SchunkRaw Many methods are available for extracting components of the fitted model. The estimates $\hat{\beta}^\star$ can be assessed via \newpage <>= betastar <- coef(clouds_lm) betastar @ and the corresponding covariance matrix $\Cov(\hat{\beta}^\star)$ is available from the \Rcmd{vcov} method <>= Vbetastar <- vcov(clouds_lm) @ where the square roots of the diagonal elements are the standard errors as shown in Figure~\ref{MLR-clouds-summary} <>= sqrt(diag(Vbetastar)) @ \begin{figure} \begin{center} <>= psymb <- as.numeric(clouds$seeding) plot(rain ~ sne, data = clouds, pch = psymb, xlab = "S-Ne criterion") abline(lm(rain ~ sne, data = clouds, subset = seeding == "no")) abline(lm(rain ~ sne, data = clouds, subset = seeding == "yes"), lty = 2) legend("topright", legend = c("No seeding", "Seeding"), pch = 1:2, lty = 1:2, bty = "n") @ \caption{Regression relationship between S-Ne criterion and rainfall with and without seeding. \label{MLR-clouds-lmplot}} \end{center} \end{figure} In order to investigate the quality of the model fit, we need access to the residuals and the fitted values. The residuals can be found by the \Rcmd{residuals} method and the fitted values of the response from the \Rcmd{fitted} (or \Rcmd{predict}) method <>= clouds_resid <- residuals(clouds_lm) clouds_fitted <- fitted(clouds_lm) @ Now the residuals and the fitted values can be used to construct diagnostic plots; for example the residual plot in Figure~\ref{MLR-resid} where each observation is labelled by its number (using \Rcmd{textplot} from package \Rpackage{wordclouds}). Observations $1$ and $15$ give rather large residual values and the data should perhaps be reanalysed after these two observations are removed. The normal probability plot of the residuals shown in Figure~\ref{MLR-qqplot} shows a reasonable agreement between theoretical and sample quantiles, however, observations $1$ and $15$ are extreme again. \begin{figure} \begin{center} <>= plot(clouds_fitted, clouds_resid, xlab = "Fitted values", ylab = "Residuals", type = "n", ylim = max(abs(clouds_resid)) * c(-1, 1)) abline(h = 0, lty = 2) textplot(clouds_fitted, clouds_resid, words = rownames(clouds), new = FALSE) @ \caption{Plot of residuals against fitted values for \Robject{clouds} seeding data. \label{MLR-resid}} \end{center} \end{figure} \begin{figure} \begin{center} <>= qqnorm(clouds_resid, ylab = "Residuals") qqline(clouds_resid) @ \caption{Normal probability plot of residuals from cloud seeding model \Robject{clouds\_lm}. \label{MLR-qqplot}} \end{center} \end{figure} An index plot of the Cook's distances for each observation %' (and many other plots including those constructed above from using the basic functions) can be found from applying the \Rcmd{plot} method to the object that results from the application of the \Rcmd{lm} function. \begin{figure} \begin{center} <>= plot(clouds_lm) @ <>= plot(clouds_lm, which = 4, sub.caption = NULL) @ \caption{Index plot of Cook's distances for cloud seeding data. %' \label{MLR-cook}} \end{center} \end{figure} Figure~\ref{MLR-cook} suggests that observations 2 and 18 have undue influence on the estimated regression coefficients, but the two outliers identified previously do not. Again it may be useful to look at the results after these two observations have been removed (see Exercise 6.2). %% \ref{MLR-ex2}) \index{Regression diagnostics|)} %%\bibliographystyle{LaTeXBibTeX/refstyle} %%\bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_multidimensional_scaling.pdf0000644000176200001440000015311114416277547021146 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3505 /Filter /FlateDecode /N 63 /First 506 >> stream x[Ys7~_8tٲ-ٲ$v@Q#kTxȯ߯1 lmѣh4X14scyu,ya)J(hI-Iz1*L)a4LYeALL+I)&3)Ɍ4N20 OY0(3噓)S T`̥XKyaV++Fmh 3v̧XO{ PtR`AH:dK}2YP,P֣nA, %PFh fACv:U,&i;ʣRY8)CA{dh +T\*ZaGR9")*=0pd7|c.$bhp+o2w0~gOP9h6=_3{qt^\Mp6YX 9Y'.JN9槣8ze~5ƬTv+:EZjB4a]b|.`8]o.¬șĹyg%3L&5CmAGuΚ&oŮEmiן%\\2d2]p88 9<t& 8G7@`h$ 4h0Rft9byZzd![$[?}\o xv2 FXϩ1n6 A(kxhJB"h&v/֖Tqo%zה'\WZ✋&ZUy6U "gh]5F)M؋nsk꣦J$s2}mYͷ^oxs{|4$[FٹA٨aQ^ R".Hr|i(iWY1xRi9C)Sk֡XKLalx.Ϥ.4p5*Q #z ҡZ0hUF|Ym9nTOHQ-wK~O{;p:N9xv}>_ ~g>|§|: M_KH<>sY)_;;ME R%LKF}RQčqGjy3,>h5lz8p1"A"nNǂ`O?b M&Ѫaܩ2m17AEq֦~5ւM8IЦy =!ZO^xl:[TF[5B..::u~#j^U^cq:7z1vU@-j})DD\4DX$h-%Hu EWh%`ǒ"°Adi2wV-Cy|}HTm)egJvL6Յ-yO#4RGy0d~46HՓ>B95O#8T)<,v6B9D)rn[(kenX`m427 EFӛ@چMΫ-h_ ˏqNjX:5K˯ ? YqbqvK4Q̳Q<Pѷ[mi_{ĄH(ŠRMyme_h~;cA1^w |}ͻK7w7EIqnW۞*oݴ؀+܅8,@Tq'xJY|0FlFyM3 v6 b)CT-f<ǃ¿*rDe6A҂l>oF3hr8gƹFSxԁy6T MB)(MUZĹ]-CJF[2Ԗ4%6 IXQ=~{l9?N~9.oƣrW}}bp_z~Zޑ:*iq\6|^ʦ|pݜIkbʶ9+oۮ< pvM>m>61eA)]͌;uW^mC_7ܢˇmEoý&2OuӆjAIcۥn-/ ]sؿ?-$7Tn'!8x:(%VTV)&9kx2ʜ1ݎ$h I% ^.12mM"DxӹX<"%ùfG'. s?*԰r5Ilr;XX8*)r,bxC40x!ZoT\ tTS"MSct#WI.N8 =7H}q7dD[iF7X])bF֧)cꦋPi' E_u|G1}Y*oPMY6E҇6yMuv뗻g/b4ӂe ӽ9|P>m9յXi#-8J9yo2eڊ;jF91U_#Wb D zT~eFGl^ccL+(cݰꚰEqwk-h_tQDkrݼEr"ohcM m rmbH$.=O@O`g>Iyxxi'HC3``16l71Ď:Ći1hV`%Zͮ S͛>,nJhQ n*h&ur VJQ58$uNxlؙ2,NF:X 'u?_ki]{k ذ5h3xmj#6ZBL]2Is'ýqkv3O<-u|ɾL\\ee-ZKwԥT-3vyQ̊:#?(L(V|}hZ U=oڽYMXttCIn'@vtqyɸU9ϝPk1(AE s;vj͡%?`PWi]GL,o?]+G^S}+$"0ee}E[j_&`1Oߒ0Y~73~urbϑ!7d%HC7>:!Q6~95Ҫ$ mKPH ^Z oEA"~/.VWc=x^|3endstream endobj 65 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:26+02:00 2023-04-14T18:29:26+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 66 0 obj << /Filter /FlateDecode /Length 4015 >> stream xr}ra6>%'NT%:yJVH$>hTNR| 4}gk1ʵJ&_+g\{b]u|uw kUu&8:VY c Ѳk+XFoRyt 8Ey[qifH&̀\„1Xk|7u~l%߃g'(ctʭO#r<['{ß6[1*!ވшNô5l֣nPb4pQ%R GXoR pΗ/ /10i/u~x C).40H( =l4ѻ2Q 1A3*pNHñ…hEn۠<`PՈ ܬm>(vzx.pznx{+9mF4]^dp3!C "{uy0F"҈Hz"\2֜ ,}96'S۶ )2ߥi I*.y"V$\i*S6'bVfPٖ DXh Mmfk"lR@偈ZWJXn;lBHHgR-'Kj9tN<i'th.lUN~;ASU4A}˦K r}E{p$.$A+bV94^`N4=Y 'KM}dG/yGg*=Ig8X\1'A]H@A 1Kybpy@w >Afiŝ/ؖwE{EV YC㧌O JRA}C)y#ˎ_*Q9w:^Dw>htqi'Egd;$JsF: pB4ypgD; 1IpIvS&4p"-! ْYy%gY_e\1c08$6@a.mF [deLY|+P)DS_>L'of7/[`"4RX˧EvY5?"5g@贎ꨭymfeO0@<Uf*v5GaF:h٦OgxMï+\2|dE'Ź&O-Id^Bi]qwV:qYֈe{\.IEƏ907 bZ1> :;vJ1&|p9Oe!Z?kC4H)ZKR6K'k2iHƁ13a޺x 7=F;MsT|)s4A}2 ^K&換.ܵ3 ;I0n$ެo9v%10EHLpY ^SK -;%7 .r4{\6NCg̾4w|?n6:3s uQ^Lѫ::zcQ*XKǎ9'3!ڰEݭumݩ#=w`F_ÂWuPGutVGWuC])[Wo϶M~(_:-Z f1d׍Z¼.Hfhdp1FC&4l=Kr^ڝm,3jb?'⻢K3$- =~=gud+GihMS*Ll=r[ {e+^);bG&SXr9:^D@B@or;nFFK!a%p>y9t#yGEybrujc-f(_.C:ZpcJ+K-\Cp>FPTDvZjLO.l٨E|o[|li^S.vכqe)z|#aT)Z^J?#F g2-]pycq@:qlJ> ͞Vd9&%0|ӲH%\o;M|9cY҂3-|w }۬qݫ>#UGsg33x32_rP'y͍őA><6Y~Fhip#{ 龳aJ0ZŪN ,@9lR n#74yR}iuشZ+wR]8"\J)0 m.N}N `~QJI] SFe~YlUwv'oj/a[Z5A)j93)3tNvR|H.eM$9 Wyhw +k2u t>}^ryD-;n.y`0BaF Byޑ!n6"=WNl[_0;Ӭif̚VJx5. *>XJ8 |j}rѪĎ^b˝?j,=B9}Ssɦ$}6,_֓ea]V&\Zy&7~)Q=-4x֒|F rsx_kGN붔.gz\Lk XPT"|ѕtj#z̷{ǮeR?܀XL=hj=k)0%0_|aiDqFegtVWYBPA[$wv}tINqluH Nn{^fpr{2vX+tAkݥ%Gnt_qR.먵}b` )qh#9|Jo\ƮQ2SL')<1΢W&thڕ?|2!T]<2Y=p9.]O#.V$+@P))'B&).iGzf14_s` ۻ7B?rM6;15:'M[or>5/fSzAc-.L5K |O6 Jbo?qv'Z$bd !Tcpqށ]=#U+_ rM@E}>+wD{m ?}XĪ{[Œ$*P`޽O%C0!X8? ObiKhи/$dq+;f|FIF}@ӈݿVm7 kEi9qGgc,BW`QbKYqe ce 1SL%ܱ8ZihW ~sW@NԤQo}X:ɋ?eSB/#SI̾Z.0貣4< (s#]0 )pCq6ךǂً&> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xW TS׺>!sR=Wh{OpXJlUQ* 3*3$AfeHdCSk[wK{ںr[7퀴}k[Yr}/lm(H$ Xe6Gx^$`#Y xד‘Mv ۞y}r)X$Rr| i1j/yX|"/n剱a 0u<>LMU+W}5FNLIIWy(_i[J:m\%OLG+j ar<*De/laZ;A( ! Z$b!]aTcoPF^ȵW R6%}7yEMHN#W#Ƃn]+-SK-H0IpЂjyd4S5^(o|Kֿ{`/rx!Eȍ*Z)oh-2Sl{ )!$ҁq{Q9o#&␒E3as~Ͼ";6 Y'r;2St***@0Ȏ͎RGCFx /z-,f"-G6o6 쉧dBt -dӥȁt4[1]W\fn7&MnPIѾ&6ib^,y?\b6'rg=jKW |H^~ې."TQbUaHφ.m_#]^. tK%9]L4l<ߋ(G+Hr a&x2*h+dN!!n1u#G?ĝҁ1Z94[ؑ#S$"b d<+͆;Ľpc%^zP+46/6M}c6[m8ǡoi?Q>jy>tk$ȯԎG*P3I*SIDy@8x@XG2܃>Cs M^4(سGeiFUB*qLА]g{vyI6PxkR@ڢ&{yRpvc/@M ŕ%o.7rUJCy#| ݎZnZd%`Ox6w;j:T\?̥5h.Ӄa&}A rc54Y:5`b=v$E =7ެi<8'Ό>:ET&?¹CX+- b;zu{`+O0̔gQEAD"\E ~$V_;; Y.ÉkgnD]}C;vyMR= Ml uKCөjU*R#e!Y Axi,0$A$$Ъ!与[8XT7Nd}.:h`.ԣJ4kJQn$ _O0|Ǒ%Ą$2jk;yҪOpb7ϸ߮D⾞.i8:Ec#V !U4ꂋDr{\pogs%UNN"l<baReh4(+뽘WT(H/6lN r(՝5 60RKp?("zOѳbJh? t]We(m1?1ԖcA_X,c. Zs RZpH,F_H˫tl9JZ]^U|X[)l&61]+")V&o{->Z7(X,;=q԰yu䇼?| y'9 ]w`tfH4]~P+&_cߟF^XgDtWXhLLh9fu/_4]wZSV >!#w‰iIj.!!sWf28~&=`KƂRw ٙMpq:(Ic\54rmmvCOXfRŖg(:j` y g,!=MaLi#piuQ<@'0(?_b)f'l[?r-5iwtwV~Z&*iҬ!Acȩ!FZ94'@dh0 #/4ddci4e"B3:煮 vV! ?B͟tn qvX  m04"!"ZeoVPkCIxr+' k]*!Uh"ߠQ6Dgs[ e_wb`DDHRob# Wld֤<Ռ YsߣЪ S/% ޖgo/#CD>D)uMIFIN#j}y#%fB*CIV.[YECºl`Q8p( h#ȳX, :h(xP -x OVFџg1Qf{bLsh݆`E} )_&II`-Ȉ5eEgl8VSy0 w8$M}dgd};Y|ө̦ކ3}cJc%deU5'|k*O)^wf$/5M5Ё" GO&ūo쉬1&Jv6 ƵIϋ`6q= afj?Y2qܔӿk)&tE2åi!*M&Qt&ƆxR~ɯVHeʌѵv2bE w%va p#/B2x1Np<>(%~fBc,u|VjQ7 |hE2Ş%׭>יlJ(:smLn\a$(hl&=pc~_zV*$xW#vaRo&)gdendstream endobj 69 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 70 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 71 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xyy\SDTP V[:+:ϳ8̓Sd C J<S@@XVVV߷~o}ZYzeыy+NhC~ڋk_;,Y:՚ *zm@ y!a}|#Fy`?nĉvs¶{٭p t 9{l57"" "##ǻl8vk½vxy- [eg:xӿC^av+=‚(7'hny!C- _XdHeQˣ=VxZwvGu6n8iӦɧF>N>FPkԇ#5ZGS j#5DͥQyGj>5Z@MRE$j1B-R˨irj:VRS)kJLK{ ʆSCToHw}  Z[Xd!HEz-e31׽֗껯_dA-[mD8;p@Zl-wd9wm{6mYLۛ ~1d?jG,7[UKvv+d $0~Iss9Z̊PSGO6ћ["C֮|>zmTD:&? HRkIMO`1=<ɇ!ytx 8'`殼hnM@zm԰[G[h^؞8<0Q1vMItpPܠ}늰ыԲtOWZCzWwO,Ec&|Z ׄe^'M{, 4BLpyD__Pʉqv$v:hs 3خoȢM4jFiݭGF Rݥ >o,7 evOƀޱs$`+ Q>Am`uib`c8E*=xH`z'eեFnT=X/v&阷ƪֻWƤ N!@FWSۥ*!!S%&)j!TkoQpT"_Z#6G/5$0m$e {=ɁB Kg|EH[N0|Fҩheޒe[`qRR!'x%'c7솦)hD{nTLF`L4t?E x8Z&R9ڍNc?Z8Rͥsɰu4Kދa1g_n |'m]* "_B^0|MQu7=(Wфp3` Q.!t6 oq?:;F#, C=7S.k(&Kz&LD8q _S%c淡Hj_w2F6 3#k#Sfp3_''ngg(Lg R>NOEwٜ}dE(T4;YQLK}mjlZ+P娌P&}hF6q(\\w+D(vf Epʇȯj . nssi/^ɓv~5ݺ Β]^*'2C)&%mĨϖ64ÒΚ(sXM*]4]8fOWtu =TA=Q5C27>C5 ڌCe`=+yH jÐGw8m1̌]&9]fȶ(d䯫z0AuխdEwg=ځ)?D#&L.K;!'ڠŧٳesV`:- ,YUSRVڰM-n&1>Ub_- sL+TK1!"_}S|n]Zl*A]Ц46 AWpGd bbC^N}B#EU@&1 pn[Dlgne"zZUΈEmnH3Wh"XNC)ZNϮZU] \#o=8Oex3QYZ(!3ǒpGϙ@FylHA :wîG1ғ(QiDdUn;!?m#"xFऑcP$$QLMlr 3hl9u/%IK/\@hĐ"*("RslɓLGz(No45Qo9i@gBK"kʊ뾙8Sx'~}:up=ꗛ  r%4~i70b~Ô}h+o s4S1xCiɬ4@ї#Z7i$WF|mh󐪳뒨ߘvW=gBT)8M`5a[Kh4vm$:ɵj=9Gc<vTnhRSlgVggU{B['k֜=Pnps[9o'(!- 6wlRJE6,VTeBUB(oVLgUr~\* ]U*WE~Ek p t͢,Gsut&3aehn`^!E"ʟB0h ~9zHXIMRʓI.9s8M$iU}<N/Ex,qzK"݉'h) gd?](}{h|K?'H)'wudq=!cCR%ECQY][XVݰa 8LԿDVTFovHtE3En>eԏ-7@YTajEh ߦ{Z{N 뚎+hSĿPNgB$;f/0`dD?6LAxe-R`_p99BҴ)A YP[UQP"wwܴR`/\KC/C䪝{Y>wdS f $ )j m2_`?\x=/DwL[?hԖ^߳{W?j^VRQ0XTr֋_E4T@N2` 4O(ɳxI3p/@^ȀLD?iܾ`1,VV:`ߪɄx$$a=a}nKúR"Le}Ղď~%~#'DISQcOeHĿ{iHh.P/'CjXc}*9ow + =)ۋ\CΙZnlVJ uoLl~ʰν"K;pq'#~\RR]Ky}ЬC5TMdPxT'GRk8Pk G '_P/2<[r˾E?᦬x ;w:]Hz.4\ey !qsVs8HV&V^v>tT#̂dbǭ t6* (;!j|Mbȫ:Bf$(*u z"(*zWYΉ^;} "Ѥ [Ι00h[|Rp_k>}8|yƺdDۊ_͵ $Ʀ$/!a]%FT>~nCӟOz1H)doUH2tkʉZ5OUk(vXp|A0ǥkB]$[+Tɪpe $RTȈd,(n5/. rq]1ՠ=LSHYPKY=|#[í׆x7$ȁjsF vp0Jr0^] ޑb)ޖQ_rtӭu4~=Ƣ05ׇC2yCJ=V\|XHQ)A*L<`[SyVI2$Br!yWF5 ߖ]͌5!UnޡHW= - 2;~q)ۦ],$g$̿_q^R]d+i"G4loqP+i9]^/E_D$Qozm춺P̜sܺʗŲ6̣''dhs'Śi{%M^m\TyLH73&=VΙaڼ/o?C;g:Iӣ;c>BhK?o[sfw?^( L\|=#nK+<Ȃ~Z*N1xgl lp4^\}xOA# ۋӗ6cpƹ }%Dx+|/lJ뻯tĿj.!KtesR LJFZF޷7SnotHhhqHSj.K2^cmk2SBtDhv{\X`DJ'-&+ ܚǖ;w͒jC݆,\*δ,2$ ,o< iA/#W>lC>Do2~Ʉ?2*6?=.^B['ŨV)7Aw~YהQƹ+UŗVT}mxwpXO@WisvawQo8'\VzgfrZ[I"Sʗ: UyDj*.YCeF +Yf舊Eߧ'#yMWxrA͎!FLI?FqYOn}u& Ԝީ4`::$b1M[Iuba|B_}Y޺~.OQ(cvendstream endobj 73 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 74 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5056 >> stream xX XSWھ1psU%hZuZwhUq@$,!, N6+2R5h[NUg9y“ܓ|}{v'X5q*7M9&sFEpEƨVE$noOshџfqw_"<@'I"mKp$%"YRL虑⠥fI%"؀nk##$n9*2@$@?@A{+""WXF6Z.&VxA[BfQ̝7iK_wvOLY1xDL![/b+1Fl'v+*]bI!b.G'>$FbD bA|baO`N FKbM,#b ;aG?M9~]r#A0OECɆwuxՑQF=:Qxlcu)|S('Mћ*o\q;9pF.]H\50Mx \{B" (Ш~H@:9--$RyAVւf)bkn5탤 ,T/ȊzT^tMˎr@U\ %!=r!=F/S29 qt (gV216TJٓ׺sRlY d/\C O>}ȏ$/`>9|%u'8.gFާ&XgsA0cg̷X$|2Þ|+<s H6rF^ ^⸻t9 OOQ3 Nu;p4;G ~o@A7 Y)jV5mq>@=ťlvB Pm@3F8[u.ܾr5׼/ztASW >B8? fOեn_ewBȻo&eҖelu"|Hp|re }7rE 9">;X#tҴS#nDZdk^A '"+e"@c`Ucc>9C_FƁC1iLpRVl15'n=h+u֕7蒎-ܱ!C/VšASh)cSz[W,3- Yķb~^D#.N$_D_XkFZ!6IqChviI09< iI4[|0"b UlFlI`ltBf| =ɢY?%|`Rm|``-EwLzeFQaȀ\^tW0|y>G>Ϯ=Ȃ4\hu-O*y\c|2׃nݾwE!F9E\JFc=4Ac=Z:DOeіb X(Bbj>LTCc,BkCP:O7-OًB~n㎂sN3;F^-wϭliOx;xg qqkEp r.yO AۯUlא_,L?b2w ҄Ľ4Q_$[\;@vA4Ғ9 jj(˳όNL{'t,7;9(C5vQ ~)SY&+)`e^V[f(h2 _ejK@\jV؉d"ǝǯ#m=yT2 `ƋR']vh` (! ߶ Kՠ]1usz{O,$Am4ͷ~ V+crBp!4BW ,BR.)xaQl(w0 %34kquļ~Eu9 s4X<fV3rWxULRUU3ʥn&$2'ŋ^Ajh.R| !>׳Х(y%n`t <d)jIK۳P V '@jEUZ@+oM>hGh\C?TX`2nX͇9{:)H#s.,VԊP[Ճ_!s ,y_E^9bU1(ٹ_?|[0 e(Q3tPt0Ӌ}C Cxg !;?cuc F ڭlYtG7{k%/qFs{ B@;$7@#S! ]:3W">53Nت32]z҅^p ޤ!f LFww?MLF6]M{@Ry̶LXkeCO/\ޗ/ƙ'7t#*jz_OO8c{m#.@}{f_1ksJjT)nkޚKʊDUހzw{+BX!"eʘ@T*.HZ>6qpO=_ǟ$U2$,9HIɥ9Y9o-?~E֕[`oY;em̺_3UFP;- 3Ϥ@Awt,q JJ|q_q@t=uQnX.SHA2S}m[}/_`)/RH7۷?~$f^G9>o $s  lo3ްǜ#/uMMR0zA{4g,®GkJ3H!j;cV}#@ pEt- 5n @Gv~GYm ^VvHjy,HS4-:VSk /3k+ @89qLrAuPXb67JMA3 @]Qcue: lG_H:,؞iblqezY#'@ɱr9 9w6_i@AՁr~;x-H)KgsJ/tzF#,ZhHTKyL٩ 56yx%퍻?*%*Q㼅PG_z\%TdPhD 4E=Jc'{e6NZe5i֦Z4,KM ̺ZN'>Lx>!})3u{H^RЙ)M+fo3A>rс64JRoΐA fnPu6niQg{`^.Qq:$F:&<1#| ndȄ5Bq7̤XIU3"ӆY 'UD ](ŷ~b0 UxvI$^&'qw OWl뢕g0Vj+(;=p,qXX`STˑf]wfH/o1^9]k㏷7\u`#Yqٳ!e4 |rU]!Uex/RLG@]9sDGW}zAWhJ%p5㌢|GJjzH$ /nL{ a :pIkpap>Sh[xݜ;Ey%+)35J#eZb*sɅ**5JU5U<u@{sy'|F@,[U'4.mOB@~!Bv<~fXO%E)y pQdj%I*v UNJ ,ҿcf?[iPʉ/FcځgG (/Q麨4춝w?g ⾇#vkyw4iTy`& "^U[EN@NJ^ ̮}VW: ~,_x@]_, JWRYVTֲZJ!qɥ8$W)43h̪zgѵe#+AE41^WVs'Ӏ5Dt0pMuD*AHk+h-h|d<8yE[iσ Q)C_7rS1Ægl^Kڋ$$ \d.$8,m"%1h2$HEmfpLB$ jÛn V +Xnͩ`[6-#KHɌOCF^Ppq'ЀFqkn6+&.܅p&d4f1f8bq xIyi }FF{SS3@* 3?TrkmaK^2')?Co1ȌBKw|^:yZJy4F%OLcЗU4Ɨ%JrEܪDyHf]|paAdendstream endobj 75 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1791 >> stream xS{TawL G*6%T"hxjM̲;,`]vy>HfEVk^ Xo iH_ @ D"<]$~-[8ԁƃ8\QTsebcז[ؔt}a83ճG3+9%qcxn.PofWdٜ3tҊ:Sӛl~XA-AoNb7*l<*jԜ1X9S%o6o7ZJo4zΪ ѣ2MD4-f7ZXĨ2ף\e yf e(ScP[C|xp5O)jxQEh-Xͼ^;Ͼ5qZIaܐ*5hՆk yӕ%mE5lh: -xa%Y.i%N°-",0 [cK X&"`rl%E$F8dUvC#!"IQЋS&CAd⻰ru xS¥biDKO7ArK)_w7%iKvgZs/^ _LfgAdxQar~WCsu $|5RrķZnlxI>> 0,-ozɑs@yy435kXEZ\S[ '~u}, \)Td M&zh$|O!Duny^aqjw=j`;G9S/_y6z{{<{79=YТbagm[`H;5{llfڮU|ThNT;{rb2J*]UglύL]qhsVAj);p6ہDػYČg GKi{ߨg _\q!0Np#eDb{ 8V'%~gJ#/#Q"<)# مRIQuN! #mƷ:^ }/! _ߢͤa4ʂlPjOs h+3jzi ^NUilU;L `A-@'Ļ!~Z^67 {{z{Usk,f Qy'_@?!t53+OEol4B(MHI-(;sqis6( %nnju'r M1=nS%߄5t('J` :N <>uv=49v\ ?ɿ&lʒû/՚lL.Dg' K'x~^|uJ?s{ɗF_ߚB?8܃ 6mШRHxZPl&ws;L#2}>w-f0@?LDHQϽ]񭩱ϮН(~W}mmlW;TzcUMHEix)1yABs'LҳFoO:χiTB̍i>X@eՍoBaP!d:fv dvTUL `TT?7#( endstream endobj 76 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 405 >> stream xcd`ab`dddw441H3a!=kc7s7lB``fd/mq/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS ӃP%E )Ey  L, t^}V1x ؾ+}oU4tWO?cnWtٝ;ۻ::KY+јlQR5o vqftϟ]=wbߥ~o[7k{ RMS#9~+.璉<< Vendstream endobj 77 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 362 >> stream x_CMR7',   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern2p͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ %endstream endobj 78 0 obj << /Filter /FlateDecode /Length 1231 >> stream xVMS7ϯhIp%c];sXXߧ[i&)z{z{|m4Pܙ.B>>h5Cu$=nّI:)qAK:<M6 ? M?ŝzSWHShmOѣHMOhFc۞j؉{M-5@2dw6ޏ.nWK;_ѕE)01~u^ K&hgYPlz"a}BuwP%=S0ީ5mGb3otNy'oKQ9N2pcDFQ)Cn^mEȫi0#ңzLOTvnK~3 `1$q@t7"+I!HBS7-bҬI@VFc.n(nK9i`2U' 2GbVyE;4^}S6\ &&^2A L$F`I7{9,ƪ3YZ YG喾 ߭c! ;&cv8K]-4$  k5`Kԛtte TmzVZJ7/*=כJ,o]L1#!0f0m=I#X3'lۊ\|s)Xa&ӎԪ[MUt*ӡ(wJ/q..,eQ8M-tzL y!̅w Q' BP vW[/d5 /8Rא~}uPJ|Sui4r6K~"ض掼i|nVoqWsD|vu-OO~fp=5{|ͻBS׻a#lZŞ_flVldgkǂ}W5/W)ǟK=LyyZ ͢HL:c殍ʼwgo]endstream endobj 79 0 obj << /Filter /FlateDecode /Length 2807 >> stream xYYo~_100h'}@@qdA" `H.gzIҿW35P! >l ϶ ՙ/DzTNv5ۅ llGel3 De'9 QNL`5#^LVj5*J'C:m LBRxo+UiFq˷op"D<$!Z 7].>i/eCF_"1T-WucܗզeuVљe-t*ڗuYnIY(+YV?. nV~88ix=&7w?5Ƣ b)yJ! i p pє lU&u>2qi\e%*G͈ F@M7#RkNG3z3%3ڪ{{3z+#`2=tm~SLz\r\rDDʡJPm\TFSЌjܙPVqaSYF\F5LWǝ `b6>D$zR[;Iw$3+yD5LB_oDA=[G4Hp~֍F¹CX\OtMɞ8\.!"`< .4`kJq᭦Q x/B;+R rIF:1xA.r'#Ũg($U¿Z|5vX~Au:чN$ŔPYJ T*GW5Ε+i;0JRjb̴5CޣC-۵)4UVB=)dAtRp^HT, ^myov=E!]R3F;ⲹ 2~EsF6p}R n, BV}MV(1n{\q+8d>t?1BCDC #4k (flwz}ۼ!%T3hpPGde&Ơ8 7G7.IMӱ A C!dl"Ȁsf󁊸PS~a\)\DLK+n/?= e`? E1rwQZ;%B#<56Zi 4G JHHm=nT eb;!rΑB"t P bb.E  9DkQE>p&w*;F^N4$ң/)>(O&}eL r)˶K371-焂0^W $A=B,E4DP</rP> z>L~NK-Qs>!@iS6#9} 7S>m+ՎqO2kc GpWE f#YSP*2] wNSa'*O i:W>@v0ׯk' qSw1)1C7XhA9m܉p}WA:0H#)jpǵTU ѧd4CJHQ%bǹAp2:`$9ZT*P13\MV#˜|I3ή%W p$}KxM2uT_}Cr5*]7*@/ǽ1\7U1XKExFAp "f"?|Q|">$+{ '1J^^0DlNe\ݤrhLIwj̧iOAЧ(o=ЗCfıIstOB"LvҊDvҌ&x` Mu,#A~Wm$hH'aǸx9/PbP(aǬb}slޗW'9['AA4[9mgs}@]V%dIv$p]I6vR>j\'^JX"P1m*C&9 MLC& 06L\V,Ekg˹O ~ZgHsTRn?r6"3vKc,~{azW?TXQyZ]OC6XC# >2|ٽuZJ9у=uxӺ0!C<ֻjM_ڰ+endstream endobj 80 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 81 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3477 >> stream xWiTW@D;&"" h@@"&j:c4cQA 0b"#"[eԨɭkk03'>}^uWw~hJoEӴOBjNBvr\Z0Ä"  (d BzGFᛑ3,-V˦Nf㑞-wt,_+3!+91M>,rR3 iفɊKbӲEQN #<2<2eygY:7. />0!81)4yIXJbtG'3峭lQDSsT5L-PaNMR2j9NyP'eGEQ^=NPG9S3(* fS)cJBxʄ2hʌNPHʙLc5F_ 32lݰ.h7Qo 6#clev6scϸV oa5"wi: 714BZHt3xF! >8fZ!] ߴx#%6jQڜTh ;L%g"^[ WXIuM W,8 wNŒ[V|pVN{,a*X~7/ܰ fo jUCxP p!HE ǀ?cZE5kY5Hc- > ۰3楆z$Z"AF[!2^"X޼: 4fkidWI o楝dR|2k27t\1i|'`ëU@ x΀aX&8xД)+qc$?3#:8Hyd){JW-WzM, )R g9/܃,L|bq|k؁=ԶPY VX G=+6p6L#i6Atv`Hwu`/kL'zzS+gϧaJMۿؙdu59صBC- u|`nԎF;t *9BGq}Xb* Eq5+/rt_*Vs_VTURsgICZyBK5 v@B 4\0BؖVZW,\EuMnKDF<=6[7x0T;DU׈K e՘w \(جرd|d\Ncw&nނ7nK6ul~k-q[7]{9<y5/3;9ugK8]{|iAY{J2Ph7!A`P<`%UjӚAGn3?`xda2.Cr 8MCKHǓ6xđ/mq5I,}+w=𶣨wG kWR-g֟L?N4a;v퓃~cf1Vz">F鍶_W'#0`~*fIfx.R#jU̠sO#8~ģmR3?B"VDK/_S;k];uvK)_/"}-TqKG*&m zQ..KI=&#s=pT2^"g%cWcW,]\QyG \,=ה*|c jE??{Rաz#9+IYz!6Ò gDcttfBAY4XĖu\zbBh 7d*d/©R {Z- _2eqe;P7+*@\$Ď`gP'Ʈu"$׃=A?sSs^o%5qClRIj&(u0,NBmݤhUoq3H·<ֱrɫLF.Af(>'.u]ZΊ-=t%T(9d\$UO4XUc:q}տ_6@:hkVIw~טU}80WB@!|pCWd^3Ń S6Y ]2Ue>sVJVͻ%HKa"fWlNp4.7$^(zJ1kЙ&@;KBx gd |20Kx>m>(A&EA5+gOCxclZIp ׽n>8Wx9^bT7Q/ꔆ* j4!l*߈ruW- {xpfߝ/ԾǨɪ{a>h:!#Tf1;ȀNJQR;!!F'ñU[ jVcAַTB7-SƼ`]W22pO8R0 _`ꙧd3`l-`RSPG /h幩y)wrɃSIcx|xj!$E%c)3ȄGCz\^;Y5?c.W=\,&Ls؞C>?hG$h7vMղRõ!W_|orE^ ~1샰a/K%V o0K.MwG Ӆ ;wN}w$2tǐf\;ɗ_0F+ϣFvŋWH%殎 vۓczcnϹ,c-b<#c.hjV"÷TwBf9:}qmDDQl}Lx7'y8U ,g .C!- 3'o>!)ƨe[vĮNlDFt{,y[ZgCz ;晾zDn)endstream endobj 82 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2927 >> stream xVyTSg1{**]*ԽVgFq;U.nBX$݄Md#pEQRv̨]j̗P1IN^rNw^1x!ۂ\_WxcEO惷Hydu<)CMphyA RED( +c b%!%qRehX2ioT℔rEE8eh4EHFVMu`yBRRȣD ^N')Ri*qz$$J]0g.Al&[Pb;I"ˆn"xK"Vk:b=D!|W0QJZ)זCeF}OZ*4a\|! V`3ݔDs%IC}Gn<ɯN Aa<Trch9&ؾ,h\*wF22pVʧVThEn8 h mrnɝ9]g5ŐA+[j MIb:&VU5Kb Zy,C\]5#,K w݆&!oL?* qsC><݊+3VP7VUh4Y6J%|K-ۑ/x93VTgptr˂7:hzΩ}'el-쉕es׍1"V`CM47uExhzvi}aeeDž~Kct[JkLHLlQ8Z[۰:FxW|bD/1%_Sū#¬ZAI=hi# [(0ܕiun؅[V,<Nvg4ly{r[FP͞^ETBn BPӐq[y}ػ|nd TJF S wwԁB gKťzڼjQɎfbApXC d^]%h v.7:Q`t,JSAoGk 67| g{~ayzOs鈸ynRCԪߒ3W~NGwvhZ:aX3}IBX{vS~oG!yUGP}.`|vR )mJmfQbUyYM: Xhk.~ Jendstream endobj 83 0 obj << /Filter /FlateDecode /Length 1912 >> stream xXY7~ׯhJ\o88"vhG%:I>f~"$.}HJ_b3QDV_O*oG)I|< H@( g[UA k T(0PhтeOf٪4 QFeԉ3@F%u' }26UbS}5U)W.']" ^E ymCl ཪu6IRI[ϦJh| 2TM3=HBNJ6B4CN`M G,~XVCpٷx,7" G) ,2T9mb5~ɿߛ|DJԶ3U~L&QDDJ.QDe)/u?Qq>?uDԭW/DK21OHby_d^HL2X#[futaL?=P66s^29빤79[Ɗf|3^_sD~6#XU|3bW*{pcˑο&*o?#YO.MJ(귣n=I?HYvv1uuHchsČ%#zD1bD~D璘OMh#+lO`*b MvbUX ITa3~j%pōG1&1=Lf('@eJ%(12tdPfd- J2C &c*fEm*nviH麱I5xNcѺ9҄,m#FN6 8TDe0_u u Pa ,AcVs P)QVbT@8֚s>6ǥp kP!P$7 ̋)hh˜U^if6NHʻRTMDtGksy9كn_㲢]nVi+v+n*ȿhSӵى17W67)[#1KJX1D\HH߭vE1$D BފL~\L.Ƕ:eN^`dk+D7Cf~iNjH#A2TŤ>o6a!!mED~XžCQ4>z,knv0Ho-,+wqD#'1f^]9,{XS9'WMѶ7e7 USZlu t.e66 x4F<]ϫ m4y 4. I޶gp]F/gB MԊAdsR[(Hl U?Uy^t=oW!iFN2 #q}t1 q͙>Z8m˙7;lo"JO`.%ݓYF~ yQ͡D CQ֋ >ik!^qX:"qew=B4Zfqs&ؘdؖiq;8(x{K)ZZY8/_kl '"~c]{H.{[Q\ۖE+~wlG}`}T8qŠ=aE0ǵng^ AW4ނCE2|zhIs{UR b롡Nr ei1Nע_L8t4)W3P|Abưm+liay"2tﺅ\gv[ao$ww$v[&ݛ1t{WDAd>_W[yendstream endobj 84 0 obj << /Filter /FlateDecode /Length 1996 >> stream xYKo7W,zZ]GH$Hm([Z#qJ\ g?pPq&*Nr"̈́WO'V;y[-'^ZfC$pǬ3%/EZgc4GgW?oϜɄLVymd1E.S)6ƫɇh Y?KitFЊ9B(l9yU?|KvGSlѲ~6mεSѴQJ1+d.ϥ 4r{~$!\&K2;/[pK,5ut!C@ΤU#4^ 6FB+gGPFScHGwS-yAYpI@Ҡv8I{&5NgKc'`%*B < "! }/{ @YVfEtgT  B2JY!c "SiKJ(dn.{軼PP]ٜByWyDZqc 110PIRLg+ n98u ƴY)эi ŀr+8>P!LL~1@ƥCJµdw]o6(=8t]@6 eq@ ;:۬/g@#Q7PYn ET(ZJk൮ҚI]zNyj8^l@Kꫳ4qPGi4U)ܷ"=|؜,+ȣ086™b1_UO˳՜@.0naF[r;h=X2JA#AtGS}> stream xMTiPg%a"Xj]v7EQr"x`=cpd! )Pވ}&BFSuZ;hc];~҃ I^>t/Pz{Ho+Hi!G>Cө)5*G(HRo,3s A T- ]&Vф\*$49<4+۞6Yj]GnVHy?4>!/U:˩l)sVkZ/▒j$\2*3)hxxb Xiի+>ct{r;`?̍i >o!h&ɃA!!f'KxY2!5mdFb+5Zʏw/dA\VƖnјt@G1ފCTH2p'U?k7rL,DgywBnMZaZ3K@!NtJ>C%SeTI廢Cֳ% I %V˚]FmB(?x~bmT9]aj)&hX/E \27cnbU,׷:*fMPRWsxi)~#Ojn йXPE 3 @Ɯ9byo7RZôqD3x$WhVv䃩3 ` ,>l~Lۆ_.8W72|3¾BHqݗ(2SPTnVZ 5:]]@?r_]kj*Zd479:L]_8IWtPDdHRmZ+|Yn~޽t?1u4ߋ flLs7r6sDa޾cݽ{_֟$*[3Nv۝,̸c= Op\k.5(d> stream xZmo~b^c6$C H4$RQIQ(*K")v;q:vc!s o2g7Z`*%ݑUuYݕcY}ӗUհ۲,CY~2^B|VˏsUVXꬬ=jxzӠ$7peS(I c鯿4 !*mdž`]~0j׵T_}=e,_]Ö7_l7ۃ`BC29Y9'k\q[VezUmXe\ThU^':EO/e ʛ%.tpGYg>(:Ǥn 43()qǰUD* z-̹qpBEvzx# $_p**lI2-em } &d.+ 4y7VdZrQ(xd)!=Ĉepɡj `D q_t^cX<+d<[4bL9ʇ@^A_ 9KdN|NcE# 1}b+ OP :$:CiG,i-$hYN[XY} go[ Ax)92?^=) UY2 xۉ6ByɖjAےs}YJ,^ytW$T&"zuSk$3B,0r9?mfa,)5,[HJ";tbRRmc*fHQ"1ISl+FUFzdԘ LmN*N˞}  b \\-?EJ6(P8UBP+j2]]o-6rP\ m6mw7kJg<2a7BQ$Bi'!dJ"2b}ʔ=ĿBU_z|'.0rgEAh`2L勎W֥DmCGA=v)AHO"A$j|QxvB_vf!5EzcGC kel[ ޘPk|"׫<;^.*~FT&cv?;$d)b`[mRdG1%X}X?%p=XMJ vyJ9lFd}7[ F% /Y[)(o88fߎϑf#kw*,-3N&wf\㼼i73>_pPh#?JɆZy!/=4_nqSV!yu4d87 NOZm> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xV{TwQjYMPR[jmKQAHHB&!BxFH@yPgTڲvO=m {bOݳəd}߽as`<okV\,1a~Vx|:= a܎D^x"fT.QDdFY'V^)_$g % BE(_E'I3"Eit̆B+xa~aTظhXST(_Jѯ Eѳ~mˊ"yt4K$`dD**̄,Q8)V`vl%cX {ۋc[+ؓXFp`s/1kW~zy ms6|:PA >Nh *0 <Gka(<<=& m&g#; -|)[Zqv:*+?О=1@_&R'׶z cuKI#APdo gdƑAhTȞh#ᦚzW`ܷ3s\3N"b`WV^L-FZ&Y'Dd 7DsTpG#M${EewPܭL;%.Og΢Je8ڡCP(тz8=NWF\eg@xh!A'$MK]Tn^J+|г3W(cJQ-{ߡrۭv`iѻW\α V "h&uƜ F$;Ћ٩E*Rs6C q O"?_@oҨP*qJ;]xlʢ*N o,+eie_AOmȨ&:'oi֣& YR99ѷh u~݀G)N ġ&TxTSU 6pZiesM&]gv+.Ց27\u.sswݖh0 ;zB>KRY.(JVykI쨅F|P(=>1n"ݡzZ:*R R'$h!v44B4C 5cR"N*h!۩֌-8^( EKԓ-\*v.hXm:.[LKqa3HFL>x@ɋB/Ak޽ Nw{R* nqS:h`lބW:&P<L]QQ੪) xJ0àD/3˛,HM&F}>Nxk &QՋ45x$.w9gq쪵C[>>S#9";t $`nc47Z'FAܚ"F^ 0+4ȯ$ KCABĮt }^juY f"ː2 >퟾ CZ6N;zXԟ%Wr=%H{upvx K=D2򪎴zG{0cƷ-~Ϋ3ѴVGnz Scg=>^3K 4 ~{c} C;7W߲2]^fД_|kY3f X \53j23XLj5$QEEХNcЌn5zkf ପC}5|72AeO7/K#;}€g&kj+*Ϝ^C'j]gҴUJZhr[~8$kr!S#݋lpdCn8B7H=*JL,ۤh=zG:":pNx\m+؇V[ Es3j$z#2:8L]hv ?6槴@S}WﵓUN W>Tm5t6uxGF ~\x(}"#=ѩmA_j|LzѨ(H%T*@-2i@gd =REF}fdDҭ.)&]mS{QnWоIt`?`YZeuBnZ#Mk*ɴw^*9=k^J`riDaԫA6هظ#6ƑCeVdfn08LNqޚ`׳3HGȣNJǵ86}6eK ha3x*cN ޗoLMwӰQ 6㵗8ah˶ C"f/*Yw^hBrܧT/Za2/endstream endobj 89 0 obj << /Type /XRef /Length 112 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Info 3 0 R /Root 2 0 R /Size 90 /ID [<5921934032bcc5921b9f1fadbcdcb54d>] >> stream xcb&F~ c%H%bb`  @b-R@=8 $X%{H<'ALl Z S endstream endobj startxref 54473 %%EOF HSAUR3/inst/doc/Ch_simple_inference.Rnw0000644000176200001440000005240414416236370017365 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Simple Inference} %%\VignetteDepends{vcd} \setcounter{chapter}{2} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Simple Inference]{Simple Inference: Guessing Lengths, Wave Energy, Water Hardness, Piston Rings, and Rearrests of Juveniles \label{SI}} \section{Introduction} <>= library("vcd") if (!interactive()) { print.htest <- function (x, digits = 4, quote = TRUE, prefix = "", ...) { cat("\n") cat(strwrap(x$method, prefix = "\t"), sep = "\n") cat("\n") cat("data: ", x$data.name, "\n") out <- character() if (!is.null(x$statistic)) out <- c(out, paste(names(x$statistic), "=", format(round(x$statistic, 4)))) if (!is.null(x$parameter)) out <- c(out, paste(names(x$parameter), "=", format(round(x$parameter, 3)))) if (!is.null(x$p.value)) { fp <- format.pval(x$p.value, digits = digits) out <- c(out, paste("p-value", if (substr(fp, 1, 1) == "<") fp else paste("=", fp))) } cat(strwrap(paste(out, collapse = ", ")), sep = "\n") if (!is.null(x$conf.int)) { cat(format(100 * attr(x$conf.int, "conf.level")), "percent confidence interval:\n", format(c(x$conf.int[1], x$conf.int[2])), "\n") } if (!is.null(x$estimate)) { cat("sample estimates:\n") print(x$estimate, ...) } cat("\n") invisible(x) } } @ \section{Statistical Tests} \section{Analysis Using \R{}} \subsection{Estimating the Width of a Room} The data shown in Table~\ref{SI-rw-tab} are available as \Robject{roomwidth} \Rclass{data.frame} from the \Rpackage{HSAUR3} package and can be attached by using <>= data("roomwidth", package = "HSAUR3") @ If we convert the estimates of the room width in meters into feet by multiplying each by $3.28$ then we would like to test the hypothesis that the mean of the population of `metre' estimates is equal to the mean %' of the population of `feet' estimates. We shall do this first %' by using an independent samples $t$-test, but first it is good practice to check, informally at least, the normality and equal variance assumptions. Here we can use a combination of numerical and graphical approaches. The first step should be to convert the meter estimates into feet by a factor <>= convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) @ which equals one for all feet measurements and $3.28$ for the measurements in meters. Now, we get the usual summary statistics and standard deviations of each set of estimates using <>= tapply(roomwidth$width * convert, roomwidth$unit, summary) tapply(roomwidth$width * convert, roomwidth$unit, sd) @ where \Rcmd{tapply} applies \Rcmd{summary}, or \Rcmd{sd}, to the converted widths for both groups of measurements given by \Robject{roomwidth\$unit}. A boxplot of each set of estimates might be useful and is depicted in Figure~\ref{SI-rw-bxp}. The \Rcmd{layout} function (line 1 in Figure~\ref{SI-rw-bxp}) divides the plotting area into three parts. The \Rcmd{boxplot} function produces a boxplot in the upper part and the two \Rcmd{qqnorm} statements in lines 7 and 10 set up the normal probability plots that can be used to assess the normality assumption of the $t$-test. \index{Normal probability plot} \numberSinput \begin{figure} \begin{center} <>= layout(matrix(c(1,2,1,3), nrow = 2, ncol = 2, byrow = FALSE)) boxplot(I(width * convert) ~ unit, data = roomwidth, ylab = "Estimated width (feet)", varwidth = TRUE, names = c("Estimates in feet", "Estimates in meters (converted to feet)")) feet <- roomwidth$unit == "feet" qqnorm(roomwidth$width[feet], ylab = "Estimated width (feet)") qqline(roomwidth$width[feet]) qqnorm(roomwidth$width[!feet], ylab = "Estimated width (meters)") qqline(roomwidth$width[!feet]) @ \caption{Boxplots of estimates of room width in feet and meters (after conversion to feet) and normal probability plots of estimates of room width made in feet and in meters. \label{SI-rw-bxp}} \end{center} \end{figure} \rawSinput The boxplots indicate that both sets of estimates contain a number of outliers and also that the estimates made in meters are skewed and more variable than those made in feet, a point underlined by the numerical summary statistics above. Both normal probability plots depart from linearity, suggesting that the distributions of both sets of estimates are not normal. The presence of outliers, the apparently different variances and the evidence of non-normality all suggest caution in applying the $t$-test, but for the moment we shall apply the usual version of the test using the \Rcmd{t.test} function in \R{}. The two-sample test problem is specified by a \Rclass{formula}, here by <>= I(width * convert) ~ unit @ where the response, \Robject{width}, on the left-hand side needs to be converted first and, because the star has a special meaning in formulae as will be explained in \Sexpr{ch("ANOVA")}, the conversion needs to be embedded by \texttt{I}. The factor \Robject{unit} on the right-hand side specifies the two groups to be compared. <>= tt <- t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) @ \renewcommand{\nextcaption}{\R{} output of the independent samples $t$-test for the \Robject{roomwidth} data. \label{SI-roomwidth-tt-fig}} \SchunkLabel <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the independent samples Welch test for the \Robject{roomwidth} data. \label{SI-roomwidth-welch-fig}} \SchunkLabel <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = FALSE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of the Wilcoxon rank sum test for the \Robject{roomwidth} data. \label{SI-roomwidth-wilcox-fig}} \SchunkLabel <>= wilcox.test(I(width * convert) ~ unit, data = roomwidth, conf.int = TRUE) @ \SchunkRaw <>= pwt <- round(wilcox.test(I(width * convert) ~ unit, data = roomwidth)$p.value, 3) @ \subsection{Wave Energy Device Mooring} The data from Table~\ref{SI-m-tab} are available as \Rclass{data.frame} \Robject{waves} <>= data("waves", package = "HSAUR3") @ and requires the use of a matched pairs $t$-test to answer the question of interest. This test assumes that the differences between the matched observations have a normal distribution so we can begin by checking this assumption by constructing a boxplot and a normal probability plot -- see Figure~\ref{SI-w-bxp}. \begin{figure} \begin{center} <>= mooringdiff <- waves$method1 - waves$method2 layout(matrix(1:2, ncol = 2)) boxplot(mooringdiff, ylab = "Differences (Newton meters)", main = "Boxplot") abline(h = 0, lty = 2) qqnorm(mooringdiff, ylab = "Differences (Newton meters)") qqline(mooringdiff) @ \caption{Boxplot and normal probability plot for differences between the two mooring methods. \label{SI-w-bxp}} \end{center} \end{figure} \renewcommand{\nextcaption}{\R{} output of the paired $t$-test for the \Robject{waves} data. \label{SI-waves-tt-fig}} \SchunkLabel <>= t.test(mooringdiff) @ \SchunkRaw <>= pwt <- round(wilcox.test(mooringdiff)$p.value, 3) @ \renewcommand{\nextcaption}{\R{} output of the Wilcoxon signed rank test for the \Robject{waves} data. \label{SI-waves-ws-fig}} \SchunkLabel <>= wilcox.test(mooringdiff) @ \SchunkRaw \subsection{Mortality and Water Hardness} There is a wide range of analyses we could apply to the data in Table~\ref{SI-w-tab} available from <>= data("water", package = "HSAUR3") @ But to begin we will construct a scatterplot of the data enhanced somewhat by the addition of information about the marginal distributions of water hardness (calcium concentration) and mortality, and by adding the estimated linear regression fit (see \Sexpr{ch("MLR")}) for mortality on hardness. The plot and the required \R{} code are given along with Figure~\ref{SI-water-sp}. In line 1 of Figure~\ref{SI-water-sp}, we divide the plotting region into four areas of different size. The scatterplot (line 3) uses a plotting symbol depending on the location of the city (by the \Rarg{pch} argument); a legend for the location is added in line 6. We add a least squares fit (see \Sexpr{ch("MLR")}) to the scatterplot and, finally, depict the marginal distributions by means of a boxplot and a histogram. The scatterplot shows that as hardness increases mortality decreases, and the histogram for the water hardness shows it has a rather skewed distribution. \numberSinput \begin{figure} \begin{center} <>= nf <- layout(matrix(c(2, 0, 1, 3), 2, 2, byrow = TRUE), c(2, 1), c(1, 2), TRUE) psymb <- as.numeric(water$location) plot(mortality ~ hardness, data = water, pch = psymb) abline(lm(mortality ~ hardness, data = water)) legend("topright", legend = levels(water$location), pch = c(1,2), bty = "n") hist(water$hardness) boxplot(water$mortality) @ \caption{Enhanced scatterplot of water hardness and mortality, showing both the joint and the marginal distributions and, in addition, the location of the city by different plotting symbols. \label{SI-water-sp}} \end{center} \end{figure} \rawSinput \renewcommand{\nextcaption}{\R{} output of Pearsons' correlation coefficient %' for the \Robject{water} data. \label{SI-water-c-fig}} \SchunkLabel <>= cor.test(~ mortality + hardness, data = water) @ \SchunkRaw <>= cr <- round(cor.test(~ mortality + hardness, data = water)$estimate, 3) @ \subsection{Piston-ring Failures} <>= chisqt <- chisq.test(pistonrings) @ \renewcommand{\nextcaption}{\R{} output of the chi-squared test for the \Robject{pistonrings} data. \label{SI-pr-x2-fig}} \SchunkLabel <>= data("pistonrings", package = "HSAUR3") chisq.test(pistonrings) @ \SchunkRaw Rather than looking at the simple differences of observed and expected values for each cell which would be unsatisfactory since a difference of fixed size is clearly more important for smaller samples, it is preferable to consider a \stress{standardized residual} \index{Standardized residual, for chi-squared tests} given by dividing the observed minus the expected difference by the square root of the appropriate expected value. The $X^2$ statistic for assessing independence is simply the sum, over all the cells in the table, of the squares of these terms. We can find these values extracting the \Robject{residuals} element of the object returned by the \Rcmd{chisq.test} function <>= chisq.test(pistonrings)$residuals @ A graphical representation of these residuals is called an \stress{association plot} \index{Association plot} and is available via the \Rcmd{assoc} function from package \Rpackage{vcd} \citep{PKG:vcd} applied to the contingency table of the two categorical variables. Figure~\ref{SI-assoc-plot} depicts the residuals for the piston ring data. The deviations from independence are largest for C1 and C4 compressors in the center and south leg. \begin{figure} \begin{center} <>= library("vcd") assoc(pistonrings) @ \caption{Association plot of the residuals for the \Robject{pistonrings} data. \label{SI-assoc-plot}} \end{center} \end{figure} \subsection{Rearrests of Juveniles} The data in Table~\ref{SI-r-tab} are available as \Rclass{table} object via <>= data("rearrests", package = "HSAUR3") rearrests @ <>= mcs <- round(mcnemar.test(rearrests, correct = FALSE)$statistic, 2) @ and in \Robject{rearrests} the counts in the four cells refer to the matched pairs of subjects; for example, in $\Sexpr{rearrests[1,1]}$ pairs both members of the pair were rearrested. Here we need to use McNemar's %' test to assess whether rearrest is associated with the type of court where the juvenile was tried. We can use the \R{} function \Rcmd{mcnemar.test}. The test statistic shown in Figure~\ref{SI-ra-mc-fig} is $\Sexpr{mcs}$ with a single degree of freedom -- the associated $p$-value is extremely small and there is strong evidence that type of court and the probability of rearrest are related. It appears that trial at a juvenile court is less likely to result in rearrest (see Exercise~3.4). % An exact version of McNemar's test %%' can be obtained by testing whether $b$ and $c$ are equal using a binomial test (see Figure~\ref{SI-ra-mcbin-fig}). \renewcommand{\nextcaption}{\R{} output of McNemar's test %' for the \Robject{rearrests} data. \label{SI-ra-mc-fig}} \SchunkLabel <>= mcnemar.test(rearrests, correct = FALSE) @ \SchunkRaw \renewcommand{\nextcaption}{\R{} output of an exact version of McNemar's test %' for the \Robject{rearrests} data computed via a binomial test. \label{SI-ra-mcbin-fig}} \SchunkLabel <>= binom.test(rearrests[2], n = sum(rearrests[c(2,3)])) @ \SchunkRaw \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_cluster_analysis.pdf0000644000176200001440000041344114416277544017457 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 5487 /Filter /FlateDecode /N 94 /First 789 >> stream xVٙٝQ˵%-)%, KZ▲\˳u!"SȲpXD Ȅ,s((EEraQc%z>S=qpB+xep2` Kp@|J z@< WܵdbRʣШ|A, wnyq|'?@=|x߷| ˉs/\nq!ߠ5.!qH@w)s!0b0R `$Aw!!f)0`f: !LBP|x9P9S  $\Kf.A > "FfAa$` J:mI,_f<fBaE+,fEHf) 0K- 0+:`Vu D³ X Y)1pxyPW ק O3c-g0hKKPa8۪VjAӊ7&၇fzF5ۚ7c' A wVW1|Q܋1ԍ% ӒGiTw0ʥ1NdN\+mV^-kEԥS}Wp=c@i4TZS&xCoO1޴V`}|654`7[r2Ӳ|[ۅ*#N ʭsS䆆]@hU ڥ#x+!eO$Ƹ OYqGy*y"QZuUO;ƂwHw'WSpu6T' )ބˢ "Px47PU} Xe^XB;cyE=@Qi4[VD@i+yUޠm vƶֆ &Hy6[b&< S[4$ER%>}oKT 8T!]*Hk,-EDT<\Yp'19tyt-CcIg.5߻f`Gʞn(VWjh85V-=S@AଞjQ]=÷t,[[VoMTgw~+W85)PI$IR<:ok8(p/Ne/I]51WsH0A07.焵 iqn%YT&`p8+.q5: ;#gSrv9e\kθ8x9L8)q&)TPs*nL;5k3」ǝgAQQpNisPY봜T#֞3uUJӻ8VK/X+Q]R dF9C -y^U]IP9x4 Z^4V0u!Q0:c90># Bc##c Iu՚NFGvfd^dyp3c/AXcͱ6Y.I0vuL AٞMznaX\f٬RleWA>SEr;{Iw)]iO'{ɀS߮ǙhMJtYTyRߡ9!!c[.a>X(SߨّN*ʶ50B[Jmա%Ƿºxj R1a:9xp$~ $攸iʄxnԼHϘim '$qJ2Ɠpᱶy)vŦ46 9^MÌ&QV#ܟoP˘-8IaeNd^} P'Mvmាy{-&fyH@l5<-F;|L^mjýp!gcdGlOr}z:Ti jQG>i?mkXxj0 S 16``|WUW:ft%$t>OaكނssFШ'f Ѷ`gwRVfdjb(uRԂunނ3haO!;Y︨p JmFVo^+8AV<?|/*C-sjzSBUhסwB9L A. ߒ e.]k# u*O$%e'^˯zAxbܬҴ8^J8%`[ 4+[6oCo{NŪ㬿Knawfrmq :=[mUf޴2\ lfvE]^غsl(KeQw(z¿t挼kek(ZҬk. a.WKH=B}IfRiU$ў6wG16U}a.M$-g<. 5sRhNY^7/?#r8골`sOp8ធ>"-*AP6.~bK_•Aw@"奩ا C9C{a~'xy+W<ꨣVZe۶80 ~RBJ<>c9c;իW'pBWWWwwwOOOooo__ߚ5k֮]nݺoذa```ppphhhƍ6mڼy-[nݺm۶۷رOs9$T(bf7@ P j3 v@ `pn0@b8s;? . /袋/K.K//++ꪫkk믿no馛o[n[oo;;뮻{{xz衇~GyG{'x'zꩧ~gyg{^x_z饗_~W^yW_{_7x7z뭷~wyw{>?裏?O>O??//ꫯoo~駟_~_??믿9ڙ2C[6 C{B!C3{-K8:070Ʃ>x(R;mO\!sasXiv}Wv~L޽N\&8Aq'"FE2 /Qx BrFF°<ιDܡsHF lʈg݌#BӎHB |c[zmo~AOl˥6]T(+߬ئz`~MK̬ݢ[МDw?'8H4adF->0{}؆m+?T~(~r<͆G"_zTRZ:02NpTP S60`_SM |.l P hj٩EdCB*=$i| ߦ0REo+*դZLo7D_D'g0T~6mQR!neT@ ] υ[aE1@2.sLc'6e"vatKmWy ˵-ś+ȝ2Eln)_HismNTvi -ɢY+ZgϞ=vUj{J)hU3]6[Gh Kl\sj7Opb =]CFOƤ3S*?Zj*`13t c&bsnooFo 'x ÁCN=\cHp^ Eyƌ[`ÉK;!h6x:R'a&=e"?.˄菿Z.'(w@r^v&endstream endobj 96 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:24+02:00 2023-04-14T18:29:24+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 97 0 obj << /Filter /FlateDecode /Length 5060 >> stream x\Is9vcxfbK83j9|qtHZ-j 0:8`xxx> 獚FgfryLm,8٨7=>K&L!\d OS[h;i~ 8?z1~M|T))z!Ty e 6M.d!SqJJKZSd"ܔL; KSrŔ6dz?izgzc&O9ywDo Χ&Dc?n۫(]T6oߊ~mvޙZ;iFln`F{czT "\蜳۫\H9gwأ舘(z{s6v{s t}|) IyXt>pnf@=[&i&n`I>AGm*=4-I{0`fӔMʬ7ltM8 1G+f{ڗN0oȷ4v^!2@+t+#%^~W |[u/k{l,|Ǣ[;% ,(KfWKvDBS*|xMT0Tޞ ]F_PO8S׃!C&NgD[0]_Ec`&NN[[e%>z( *\B_ZbOx,1,,l.ZDo_b*  , fnRk$$݉O =2و(&lG݂b%9"[WZmD@CȴԻ޹mTe }5yBE뼟{i`%EpzFdo^kЃ獺j _č SsSdLJa89($'aOJ jia%:F2^)Q (]5;&#)cr7ȽXNêrpr\ 8C̃ k 9h%/6!nRJB5{O ʚ|xDxl"&1G#~+"eBHe8N?pRc}"pqDa{!`{vf_IA/*7%%\L ۱Q.?6B0Ѡ% b:_J0ZE'VWH +X}Pw&@es-f{I1"`f%"aAMȘM+Crxn0`cGjL!u "ޜpX:i,e3lIY gK؁ M 41[?3bm\ʪ ʄ䶳xz<7 2O   F#B0,(g}hI ѸR|h hLy0M(E`L\۟0f +E3 WP:̝IS1NhЕkf|b4'kIDn9K~t C:*| $S=.x؄ +!;)K׻j211e}i l2͋4=M"ūY;u]3{3B& {,i@%_cBPvA T|#-oxi3DwTS?nsė³³Sm@gu/ %{ةTB "Hawz ]Al6q`C5p"ˤ> z.  gl|AG4kӶmPdEEWJ˕?ҟvW]=t&g(hֈ0UhXddl X {FsEe'v=5W^5R%HLR C虻2\5Htŝ#s ] i?;R%c5p_~\. ae'uTH#mRwVlmO&-EK XM`? +aHc`4zgaV!'[BL%*Dh_A -bm`\aPK8SLZtPЋX_ז GY D>$1* ɯ/U"U22.n]꽹24̆Ƞ.R:׀P}0.ǶQd;xn(f]H;zeףZqx6d4)vOQF.Ծ4I{$Xnt.Ȝ򝄎"]扫{~[`\i,2(+)Oe$;qb1yT|> yX{;弒:v[)4(Jz 6kxGɠCt =mh$L*­ryUxpEer )%ħD9EѨWspMc"q(I[1)]b!rF~OuRۂXs&XƈO:/u0&,z% _4F7irH)vADA-OOw$]oIF_d|2"u!@Œ:CP_?aF{MZ`\ LU)0Ubƣ {7wO}KLԄk\uA|.ޔ.l'l(&b1GIvtAo ԓ`'."1׀.e@r1庺pT[B;- KDwTWZ^$D(:β;Cb2uS?=4 4>Fu%'7}=J[.i\LAAHW #@ 6V_֮Σ@3g<+hcN㉝UO yYï]7ZzzٱIΎZʄ:K| ~單 x%PVBxI6ʓQyPu|4Mr w] :g[gܲp R]_#!Z9^1+\} scZ#;RQ~`}f*ۮ~ucmP[w[t[TC)n=A|m8PPVV_ИpOeb`rsD3 d ![IJvy[ r^ɽ'Srt+iDA !b*\ 11@PVXЕMyU&ueHz2lyU8}:zz2kb䉺/;Np-i-:dg<#fDv?@iUCeW|,.?Vz; (F*ڀ\ItCwm^);q{ v\ZE%uǻE8GmE,| p(8@ҊxM}Pm(o_`6T94JkLGY!udVkyka%](vZkzm! gMtb2@2hJ֠ݽ'}q!+JܗHҪtw_^P}?l CÚo!h go̘t!>uЃȚr腤+rWKn}ϵ6?CDX̱I3KV0ye+uF#7dҚr0[n)VS~\m }5yV嶶kíW˅d̹Hezck}kݮ2HxzW[wUߴo|5.|E< 5)8 c W7'ҧWw5iġӚ5]kzI `#dPyj5q:N'$ڔA3#Iłs'nfoh]QmeO]Mp5endstream endobj 98 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xX T׶TQ+b48DqIQ2(C#43*3}TQ[Fh֋I&&_K)ry۠ZUugEcd2}O㥑2iT? 9m%u;9ٴ1;bne4udBTHPyg̟?o;/   _œ׫h'D.6-..noxTuT_ޚ v^즎8 p-njOuxd& ]0̔E.Qnњc%l\.d}ưM3gΚ=g Le1jf,Ǭe3 f#,f0.Vf ʸ1K̇2fͬd2Q[dOPP!2;x?)*r+e7{pBxAwwi7 `Qx)k@jXḱw kI7e2Qp8ySb^4 7>fgd~? q]&o d 2tf˯q\^@Iiac"C"p6Mjar)Ϧci"VW.ʥS=e}+s 9?B{3dV0o8J#hiF6o-9>m}z\Jn!q08YQ,٣lmI?֖~isk\"kB>}NU?9[Rۊ{*%t4CtXA\TiBPo{N&ҧ3-]SjgZr_t8 u3k 1ez`-4ws2%d'yzR{sYMLR` ?gyLSIQ18loi^W0BdCu~-FZ?bTIN c{LTD!v8M[gTV`;\ a'_S`nr6Ώ(kU/Svy .ݸ[<`x_t&z;!رGL2Yj[C-=A%Jz ֋C(0 ,Ϫ^[/&ȷ]/n*LPUPwX 1#vڪOV~ttI87`5Ǔ*NjZ~xn)L5u ~Ddc]6m_Qiiu2Sį;>?_jR7Vu{Gz,ㆶ8w~!pH8e}swiUmn8bNؐ/7!lpɀ ~h].JD.a/X#eJm j}:) Srgfc$k6Gޅѝt}#p.1wvddiQwЦ@WGtm~ K2Zd؝$l,)w ,pn0|߃ѝ>7ztk8zk_,ѱ D$[Rr P?!RO2Rj8zsL:Ҽ > BM0ڄ^5R+yC]sdXVmxV`&)f))F8F7)R/*#s$M<]v?R[QהZz KGq|]6MM{@6Xr yׄ,Y'qVDNcԏ ny6͝iyoR}}Evvkc כ;yj94%+VzInho5G;ȫaSFJrra@VeW g۫㷸xH$o#/6> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 101 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 102 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xzTT*㉠ kL4.қ6F``fޙICPBTDKhl7D7~0˽]߷\%)}sZ7&p}6l-mw~V x6pۇ>|é_*Ak 3kyU[FDP6Kn[&*3b XMkU?]ާi*kU{ 1CZuZ#9Y"şS4rH p`Οn^ݰ[!cb%a"+ eTg\D.)Ki',$WTBy.-|쵫9/]a [[ fK2F|5,iKI$Vm*thISOg'Q(߅E*N¡ޢ-4 %اUF-i/ů/0~>|Saad>"GeFU1 箟:Tb+dz~NPu~ȗE}=qX`Q+3$pvd]4`~8 iK ORgsF`L;&0{Bw.xZ` ] J&M2y\\R}H-է b6x+lQj7B ymz~Q2Y 㶄_(HZڪKjh`}W'~rbw4ۣh3$ALd@C%!vSx.tD" qN <` @[*A;BȐ@|"qWÆãVBn hm[ ?E352rY"ݧbԭ #8I4gEϱDt::GH-gQ]}P`-qySf{4KbKA %dsR;6Nj_ft':E! G+j<vRn3Q_E鑹V #Wxo^cB]wPQ|3,^+OJiqUqn>#ӏCpMtՌx ~QAҰX`G`f/hҝ'#ZFvڀv hkB4YUQ3ʶ 1L`mlJO&K(T4I?GI"@Y*` !eNUZ:ͅ7я,BcqM. >Qh`/^sѳ 4Pi8*"B"}Nm '>ƺ#eAskh^lƶ|gRA:Kz Rݣ,xQ$Qp z̑xN'[CDQ/ ե܎9SO)rU;( !);M..4w=*%t~рoGk&M셹W4C]5:a'1&Ҋ%d8N#!EYYy.t)JjC|RCB 5\`~slt{60;!3_f{RӾ&Z w Z2/Z܂-8!h1T_XwGxؿڵdž-^'xZ-o*v}Eb#ӣa%(Ȁ>-v',eTSF0q5{=o\u{z#/0ISv=zVMn7AS9c0rxEl݇+ M-FC:MRef1;˦L5m!?g"e lGuKVxYOpͫV*?]1+*&B>|0LYn Ƅ]>ёGUcZ҄W3&v !زĖ,ԑ[Ll̼F|(td9J 7ꍙiXq<Y4vѝTBqLHQDUEIaͷ3|͉_χ#E=vx\Y_7a$z;&H6M)<]jP84ALjCR7i${4Wlff#U[OueQg+h~k@/l:x(@O@ ,Glu0+"d,nD]H|pm{(!66l#*D+HKݶ9cM{lMHE4G9>ű?R#0φ##Á]ZZ`WE)$u1"lwH$YJ A=4o78eGuF7% V lBJI^(JT2ZL{_D!VOmvƫUAF?DWB+P&/&ԯ1X>6s.Y0Bt(MG#w* m,P|S>fPGB8H aqV&9A)OTr>Calƀ/4mS*$9y,r0/؍1xQhr'vC9oGC❸8e 2-x7S'@91O_~_I\|JT2%^uM^74_kHd t8>=@-(]dtꁨ^<P߼7ERBǩ"4mr" Iէ!(jf_ou>O DxQVK2sʪsJà RdOP'/^oi -4jH+2ڠUReDdgzD8\9:W1omFF!bE 3sAVoGnPŭZˉ_@/uL=qVIkn!1јd)0B!=w:3WD{2:j աV5 YxKE?[ް(2i4PCd?.y>-qn0`]< S蜎hZKXɳ!;N I*|OT(l#OnDT܉zfޅ~'hv)'F넩V}LSN쨾E)i{$_Slmhi48$Xbҗ֒*5>Qr}{~ z۰aY18e{ؙs)SA1-I(IO|VT5'pʄA}#Xr$R4#~RTTUEqΔiq)ΫTY#McdZZ;jz]o=C]$+b)%SćPqzfzqmNc&-I.?$*'N^;{mc,ê˫EPZf5 ( ƴMeۑ(KIC(("R ‰;s5i_A48N]H8WM] yxi6K,xsAPwUC UU!W5;@mdtJ$JdjU:/Q,F lTtR/1 V6|?+)09-ŃG~>wӣ/͞4LOӖNˠ+t03ofVIm$ B4m1~\-߁uT=i﹊qmH"l,lټoGUUBRB%lfꓠ7^'m~m̄h{[4E.&--ū|HmoSofYNηxw}ȼos D,:/k1S(Ud@%~*%\Hf'qTe:+kNA &vhRͳYx/SiIAjrrlo&hwٟ\4OA?5j4Q{3FXw`++#bwJRQB^jmwJrSHNM}:w[QBk Aw ­[>W2V1~03վiƾϮDc}k/݀ WXXEvWp.d+Fݯԓx!xx̀DA dK^d<}U>5PU!ji˖&[dJȣZ+|Y=gL(I ;mn4^`}5r~dΆWhNHd [aYc;ma}NSETOT cyﳩof2cXiQMzr@I/LeۯgbK1SB'3|uՆ]aG]m>^*Yy"T S&A*I;qL~#.3 'ti. ud G^rp{!fQJnNFSىF?f4V̛hw/ pnJă+DHw4ZOjIuQn"-IE$"aSBp-Z%A1|ļ 6=.h<~KfT62MWyxl!_}4+-uhoOҖIG" wļ%P7uTw{:쀋OTpHHapCI^V:Z bS,]&'+T0Ii)iwG86r;U?li R 3_7_r~WpwZxq>5&Je7I{*p^.|,{g3Yd/3̕EWErY3O4Sl1n?㡑Btqܐ-jvs3 aҘ~D,"?>ak6E9pnN0}~,8g{?-w֓U)/u)la>:rgLoP7BVpƟ:Tז;i$l?l$M_2+)B~w 1ʫk;9Pgk23LmS1b(:{mlZW͝Hv.`m[SBt'$Ij qdVh6v<$E+aWrpx,$!cz6y[ƽ-&=U!(<iY!C= פw#OI+@Y%y6$ /<qf)YE⯸#K]!AK;qL8Cكqn\S#/uBJ=lMÎM)Ʒ"5ͳâ:W봙F֔t5Y͞kr$MANzfXժ%A˝%r9YU097o"ZqJ`OU4a O)(յHix9ߩo2!i:2 O 5/h)=4rX왒6:331%"uKUES#WV&&LVR?fD-6t؝f1GW=.IQ&endstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5169 >> stream xX xSe>!4 2Ă" 2,(P XҦK%ml͞/I5i5t-숅hAQPAfF;Ν}•yɓ6y9}#5jm.9?EL@\cøͿ|0 ݜ4OU)9"gO[t^\`U"~b`OƴD~rNWSsr^xA,Ϗ̞%Jymib~N괭ɢiL2dQd0?f영;~q-TʧmaجS'Ntsgʊ))ǦC]>/h ƭӥFc!IEAKE 'ͰAK*1NY 9.fY8[C [:mmn*S$Zh0qkH'Z 36s+I+y^J@بZZ*~tȣؼ{DZC)WmhTjtJ(wÿsC\gZDc8Kf,zYC3S8(B?>&?|aQeD j_#ԡ!4S }A(4gV;ifsˌdnl5VrjWf0#PaEG\Ckl _o232әY3/m G\|(p>8ـ-g΁͇<Ѵws\HZmg. C{s}y>s8X5lPBA b7n3Y3 /UV,g&/C/֣z/>_ޯM=lb,>4L2T$#Yjt#o@n%Hwfo(;,{a}iEhGXgBu}>hxm {K 7i(nN (8,&At |hu[ 䏽A[P\4c_.\y0nNrMX|r3YD.z޵WB02/Pk+X\钃=PdB*j KjcJ@=)/b*FsA'}#?w8h .&pQ gF8xJҠ< p P CM?Ce_ٜ02ԿTQ`̾F.5YzsBHStВ2g~C _J(ř3\[hIo؍;s(='p*{L23w:e0ղM)9]('}-q[$S AI*lu #} 3׮H4>$}Hu(k;`.= d :k1|\8YXAXwA :0r_4(2Ⓐɓ]C/}H7L|?"?y fE;x6|hu 6*T0YABD%`+Ъ)XOb^ Y)|[aN')/5O=9 TTĕ[B}*Mx >/ l*l3YBTqZ2P30xY̽@mhC C5y27? C\^B9|_rg+$z |_pL[ssU:rcPhS ~oZEAh 9oJʭkA֫F3mo7kk&^G_xܚp =Ug@J*2Xm)em0 ߐݒի^|ʳ<\p|R!1}zaBntz[@H{:QjGb 7 h_s]:vQcOWF*H~zET͌a2>AEvf*}mۣ:|҇FW}'o7 V[~ UeNf9D%<-ؖ+_I^vfr΃*J7~~a V$fw F-ɆW"APXpփlȳD]͕T =yX*&)H}uFz<> )h_ z csaI"+F=F)JYe`"h^ɼ=kh4 d~^:rEiuD^fO]m]Oai?O:mY:<1Qoa[tȞd~u+9^u(} J\XF}J1!A}LḼ>f;Ϲߣ@7Yjo ]VP InO7~d3{|& O:1r8Ě^5ۿ nW@J\uޮqo>rM ?,4:gշ>4ﷵ^6-n3Gr*Kv9CK皣uP&JALV)+kڏ$H-b&T3"d}b\L}hFe&ˢS@ Z^5T"ScuF:Q7(%b&CW CSF^,͜;ioQm91-K\RNc>Jџshv^:5)&?0n.{^Kߡ/pc4yY|^DlCdBW] dYq iRbgn{B,VڒJ+Q tT¦Hfj vM&3jz0*3=L}cK@[XB-KYC}&;v6}JJ*V]潝\oQ蜭 _=:mNBΧ3œ&0ȤZќ*Z^ YUyMSA Xh ;#шUlT{ox=Ű{TwGt"%uB `s/\ql2cȹ$;f jZUg̥nh)-~4l4 ;B|rܦ|kSk{ [߹״v~ZK! u? CxjPѱxWMc}U^~`w)pM~|~InmϱA]؞ N B2!"x`pfQ8a+uj,2XfzSvkCϘJˇdC%-x6OEfА9ߤ&XcMh_d#W생EBPLo`~rx<| 'LfϚ{3)X]i G~Y>ĪacG]whJ4HN6sZ;_HP9ak?F1ctr9T%Ч?`" IhG&)ע1A9NSIQ^:˾'?B~qD]D,eb7mq7{иvF`2P6y `3Jkӕf}LyXa|v|Ŋ58)6dv4Uu4c$/l(\F]&$[Y䐔8b`TE^׾w>b&+PI7q ##,[XfÇGte8eU(*rv" W l8;kjAgg_jOܹdh(."%kn~q VKff)ye}Ba g$Jj2W6ZOo$5Y qSŇ@X#[pcj!mټxO}(&#d6?x~瀪Ge?i^j6Wx9LkoXj5F{K;endstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 368 >> stream x%KKQueһ+!LkF![Ԫ0Rh fR):iNQѦںl@vP,qp ּZ({,mCswiv:ŒhprLE%1"2Z hGJZ2(!Kt iL hi3EHvceEUՐ Br\Fj>a ]9CО a/_1Y VPB>J]|U?w^ dY^5ccͬ%꽾.eN^ҲW/޷ 4؉hFEf5h {EY皭LJfn4n[h[]o;FƏxa _( iendstream endobj 106 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5991 >> stream xX XS>!prTHC.u߫ZjZEqEFB @Ʉ!a ]ܫ5Wkͥvz?!,_d2sx +g4;pOAQ܁Wvmư7e8[|OB/J':Oyy…Lu=sBeg7/7KA>(IERE3fd^a%oOuKE||%{WC뼂}-MY!.8JBX,dxžPɪ0pW(=|m)(c|l團Eo-~oɤ'o2ufX#bx@l$&&mb31 ˉ bNl'V3Uć,b5B!\b-1p# .&F# G† ;`@b'K!Pb)1XBQį^ ck-۫v۝'BNv83(T*Pt)I}ViHhwiEe ʧF@n=xc~a}jU&>ӟ"[d;}?L6n q Rf^ ~ۏ~|~B6=:M^&י7C#a{ 3u.%gܾ|+}sAlyIh¡~sgT?+V]vUY]owgʝs@D2j7َhzn($>>] /Fްme0}y p z4Rx J:K?6DVr]q.-kֺ/UdCu/B|P` 13@177exro0}3 ܲl57cElc2ՃEM#5G 0f%!O* Mgi=7 X KQ&]] g]B/S'm_lwoJҔP@@,I]n9i;6` n$+|h}`&eϜ8т%2f\KKW3~R)nݾwEhF!^ %LkռG&(¨q]eU!O$TֳYUR?gIpGPĪ֟ZnU/EhmY\B1Z460BS-Fyl4`$N)3Vk!fF ѥDոja< cUrr\: ?D`'T4tQ`͠=D=҈=Q~ў Pn>i{ g|u؟[$dJ֩堆]6v=u#$&ahOpZ }vv^çzЮXiWLve2yLWۼamPxFQh-_<Ta `ujRqdcvn)HÔ!`V!, Fw@ W!Ieaca]O±UFQE޶ Ѓ5rY٤6xhěm"O8\c` |э;u\mޏ'`&ۨH,}_kI+@TNu-,U%5=B>2|;o8FZ_!g4 2 ECO4t< $6|˦1X ?[wd%oM#>2+9A1){tņKve6O}T ʄ۳SȠw bW xW\XlԕZ{` -^9 LlTg*΍-|P;lxK sj[CxX. rp,{ͼx d`.{bƫ&尦TS) qȱg62FUlt^;[z~>_TN8n;y,Ťt=:Z,xrtp"ݴ)[pWw* [ OTOp"Nv‘ݩxb6ץpD4DP> l>B@l" qȦ Ғixt?CpAh>~ymv,1AɡP(k2ӭĚDT;W~ZlRnrVחm/oay,8018`p=ޟ"=o Nyݬ$hƳgC?s>k6Ҵo~qd~/$ŤVM`јtpSpTr;\UԨ깵 17d՞8dwG\ZP%EeZ2]f 5?3-3wř;"JJY|ru3(t;GZ\8~|IA w4p{ q%C~rAB6StDy@b眕>vq]/yn^!T4bhY n F@!|z#ҍ Bxuw*q%~+bY0P8iEVZjRgô&M} vhGpO>/4| Q~UUJ=uYw">I?}yo=a?;.ԙcb5G¯9otXJV%1P7KbnL~LL\-S(J^$/f Ņ`?ּ؂]P %rPڣv@~ LbDF&30nV'n?z$r1512 EP_ء$_x#s jpu-)&WTN$%L sC1~rw?bќlZiq"8aς+-13ߞ/ KBL ݏioB@q\f2Qʪt%um~&cZ#OFCO!s: #Ƶg3S6giIֆVA֚vN{M{N{&<8KuV=xO"2$'sb@$KUv9jLsUwhp8rtspu$(ho]hCKU}=.=3{/o?qr.^]5WG 㰖,'xXGr)YYs@e+%\pq ☽fU_Rv!mh| %YGИrJY%>19P+pg W_Y>X²Qo>N'[}A.p3zNNe2"2_IP2>IP$H'? >D :eelB;sy<:wZ8w>i/bS DF—h*]،? , 4cs<`5e$gQM<2VMba+rA7.;HiYlqn6\WaN7Ѡ()#* {:h @8/;_su!h7rDhYM[lt]a;%%|,: adT.@"4_&E,=STb0c}=^s9"g#`m߫𪑧@ JJbsZVRach!$.9gd*eZ [V bB.i "(s 8by+zDMQS ieఛP qJ1V󙺺W$Jp>z5E -F.Vvqqf񾧇u%8]c&\rc824D@ˠqh +j2c,GQoXpkN0iylJ|jT2 EQtIËsƸ]>@ZIcV6- J\.V~}T^\aB|o}Z6xE5_IuT>j(] *U“1*̴JkHt*֕gd1C<Ee MQbF{{`?kjoendstream endobj 107 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4590 >> stream xXyXS׶?XxToNj֪(Z( ̊  0 C)*8bI<r}Zm{ {Z[6YƁNpNcG:e7b!&O HD$={(3rX#EIb"5>"WP8^+ JE$xM$!H$KeDa"T!#RT'oD&N OGDؔHx=*!>Y$MJqx J%"$d1h䘰dӽ2 %Dᓑ )h%Iedqzp(R"Ɔe{)iBLm}(I+횲bOduTa6|d863 " mOd76,Id81Eަ~AL_0K$INM ψό GEH6m]7igϜ1nmݔ }C@c"Oˉ+J$&XD|F#ބ%?ŸE#gO$b1p!=!1!Pb1$f`D ρ`l}T>2E _qQAv48u!NNNCCn3ai mx~+OwG:tzdH)0eq10iATZn~VS)}ue],fpM$f׉BoSXRvyi2T\W8Rp"(˅}+>2Vpf+X8)!m?ʘ6ШЧeWTTEUHlYOjZ*7Vu H_%eb~cq49P.P/=9%-,ɽK )DUS(3PLBh)g4dU%4s!9 C-w0nE_;%!$ҋ2p<9g=7bx4Bw@B ;6?y|)h84d߅_! _Œ}pnrpeLTf_,M ]~wN@*(dp,լUN+(,*(, I'w_Ԗԗֱu[ A'8C+hB&\5:堄Okr3 Mq4S{nb66@bTc 3IIXX= "ȇC<_| Kai +c7D ,D/zG454b kkjuٵlZC6+a&4&9v F#F.XU,EtNU4 KHc{NgTjHHԃzVֶ&a\/XBKkoZ^JB}aucoFЂYcۜK}iE|ǖTI~5jP]J1z&#[ÅBE`^qЪ,ZiKmF VuySIciϠ#έ͙u USLcPq~sHZ;}hBeJQ Ht~ vVc~_gn9Ūj3 !=s Aۋ @ wu TUjR-Py3:XLUkٳPOBUt'( '`rF`3 us"#jx3fc^h+4^c[VAQ|]YČKJ51P4GztL&`F";CedM %I>lb{DaK̜ln֨߭C)=@W/7-U*0tV+-U˅= V@_5Jf/Z^WK(Z0嫗՝g{0+;~!yбS2/q]؟հ{u%;GS`!MM/j#O|? ^xo, ^ @!9@אkp9aGM@HlS-[0,8{1U~žeOa/y怣&3 !Ps朘MF \XFy~s[_!W   ==nFx[tnˬoJ\XZ+,ՊTSU#]e%%'53ӜhKu3nBBR+/&R(=IW _لĦKO0.0Q5AN.%[}IA4 =UYԡ_rh/ Oy'`3mҬYJn99ƹYۗY~z4^B =+CkHt(hVZdXno#ZNM~dҩ#K2Sqp[%&'x/ nϝfPK[\1]>@Bd>4=%[_Y)S+ uzϥGe@d+ L=< Џ)J\O0%^bJ`O^ڡR ][]UUjK_m$^2\D{-ZL cwߘzFhM=^& f #mSwPp}+JF1F^RЯ\qǟћɃ Vr`_]M͍+N4>[_eqe`SV.֚OM% x2`}r2q&p9ݦOj͠}&J<ߟ\lJau'h/H1cզ's.e .aN !o2ƹfАhy`17!zz;6!?ښ064x4d9aXc:C\LSS4h˟(t fuu(hә}=Ιn-קһN{_GMܱcvH܌X.A7;#?vP! ػ=i!yxDX̡aQk s;60 I߸4fnxÞ;_2}{:: M22m0u&2#Ћc?]RNUTJKkh: ]PE(BY(rD!/+|>y5mBEya[sssVf:r4 MGvKH|0h)޿&[Y.vÑ5 ZBrBr.u[OEC̑8[.]`wK4E@|B4Fӵhu;@F쯓"ȠM> ١(ѧOaےQ ?Lq}!g"S.C%SuA>TJU jų,bg]bh4c'-$T2um(:sp5Un/.-j7E3ۏqFm[YXPJRyE^';ګAT|\J瓊2 ;3o*\``hkLk]}eS`s78JpDm|*Vidwū 鰁` x6{yS˝' ]X Ӑs̪ȫmj5QՆUSy0h1TRBaA_ ޒ d^je.h-;|6q C!?LE"D!ݾ9#&;##+"꛴H@/zmz> stream xXYo7~_1',ypN $ydYGc$+dZ^oK::߷Fȿzcwj}.6Hz6̹'SjLi64X:3RF3x!gampt-L[ ~{rSKB[IɚSڞ^o>ݝmr$u3oɫ_@3eu%")gv$%VwȐ1z 76^SoUv%?~t&x twHjV8 :Aec ;Mل%86ȪsC&&wUN3d씓ߔTYIUv4qYfvκD bi@J}ѕ nPE+8i_a(zd3nz/nO3.'\;J9Z'%̰K0,3H 8{;UHzLfcґZ2oc,$v);u#!⣞MC#%#}  \H'u v"IOvz< uGoEАagMp"C鈙gg _ſ` Pٜb:,fHUnD=-_:^` K ozzm40pV3Ķ%7eff/8 htu:v>LyzG]wn& 1c3V k\(yYى|"s SdYH0SOw6HoLz##1Q<d¡jT=@7#FЬgdfT7 uIz׃]@=Hh$a4l+$S N9'kDF "*FCE$wtk;IiK(ZP_. Z qӲ %Xm=<2Vv(qSV]hT7~Jcg.ZgCfI1&E˄Yn+j^k+V룡޺^-pVEeY+ʓeq2448löųj#]T\+8؛btEvjγjP՟RDbvD ]wܦ ٣6ԼhXý&i-M{Uw,0r-Σ3CtpƎ]i^$%LCN#|i]7xq׫y7ܯPgzB{/g͊ Ohٯh_L]h]glޮ{=SZbwBxPG)LA|y? ȳ]2~.{?Wg5GW!7<>Tǝ|QvuBrpbV20`=*lq!61V%)ȾUm zYnv~\)ISj7EksWRΣv8Xd2rċ{6W[7c4:Sc Xq` y]"~Tx/˜srf0댵. b,4Qy]t񒼩X#>=j,p٭42|'l=^O \Kɴ2[ym}Y&N]vvkV|t‘AGWf8'T/察meyendstream endobj 109 0 obj << /Filter /FlateDecode /Length 2230 >> stream xYYo~G4㮾H8m8 [b 0VDKqI^2`T쩩g-KEgmZ~X 0:AaCku8)ylHMQG R Lcn3*P1e\ ;Z%K:TX>+KsZ(ٯl4бlE,6,+G3b! GR5"~Mʒ'FL支[|1%J yI&ɋF5qa4ir B&\c VCl0zQel$묦XX0gأvDbT=\pubu,+#DE^o!Z%`tY6CZfGcThsAo-o3 u}ϒu&$dǼF!+ Ы&q iYvh+j?Nr $vke:Mѧ\d5^$#<,0D"RDAڲZDV,$TNþ;bP&ndzO AłD P"fN": JRH"Wo0mK3Y gJx}o2+u! 5ÏKxV*?HISNw aR(斣0 3h_e5MWN%3HfgFufA܆N}>@.3Ȕ{·~ =ljzZ@ۦWVa_ ފ4J‹pKHVu.=CODzP9ܑŖѡ{pevf2wv`TYe1)X}lTtH9Y4 ]RfR%=t+3 eYi'@XnHb䰅Nz6k/A{:wML=V+Cp w8-喙]tG#WJݫxe+2U=S=( 0QliӠwP$7߰ݳ`Z n5!8?UyGzNJ EO7Q8ߓ:.bbmAL:J}EpCH-.}&uZcvU1-}ʃOiϢ[ $8z]_ ^!ye'9duY}B]FŽ%&}^s# |tջqWB!w7r\ϷoǘO;7 n{ ܱ1\9#Y;}0З܀y0xh0xؔ|]}F[@Iue`{CWz[q=倮7-%#G#҂}֔Oe[i\ m&:y?sQTKKUE\47K\c~%#C3E~٨ #Jc]EV[iA6!v%qIF*n˟j#W«3*߻kp> stream x]ku>ȏhܓT~N 6b)0j%lHI.s"83oTsE7/YԤ>/d>DaH&L!熼xrUKA$ॕxvF n~yk:y2jPX)4WcJ:NIz cjo[z:݅F??<S&(L-Aix:_|ygq̔xrf9䣔Z;mmrR~¿R)_= " f@~\R(OFl\i|Oyo WM)0y fmߴ=}מ~ݞS=ݴu{z F~gSc{|۞ _ gymOߵ_ >y?`‡M=29NާE :_^J˫S^jг:ޮt7UkX xa|/5 {jg:W@"hh>jK״M'WW'g ο}U3eHDCZҰS r8`2}d_=a~US%\~g|rǧƢ7z`S0XY)/7V0; ,_\T:8|d W&l g71Io~•1߼/i ?Z/\Lݒ?\wTtjK,LB''7jV|˫d' HP ,9 e:},q44mBR{q^.;VS͚)4 A,msa Vi*YhP`/2HЙ(eq pgÛY!G (4.r[9:a P2'rHn AX18BjʴH{]3wZ2093BmR2PF0[ZU [=ySfCd!}-xI@m?Ķu >A?يC&dE&dk->OڍKAj A~U!㹘d霠e21fL97Yϙ6 FqE_Ώpn^g(=b2dq,V6gWDkv}Qt`Y ]k o>g ?Lfjڊrp'MZ12XxeQЍFHI`Tj2QB"~ {HMJsp:)w#lpdx"JP?|*nt-,'O܈'Q| 6t E"؀Ԇ6TGH%OP,lJ7dBLj`sq(J'/O&l2PaѶ5'sn,/_褡(fZ #!6)1%ZT2WdMJK Lx,#-=h!Z]8hN"V9Q%Q*h^äT7q3ѻu]-aNzIwη$:dž8dNl.i;֙8Wj5t,I(YٜBvYʷ{e/OMa,EKݤܑėh 6#˸y#4]1Y^M=hQyTblBvľb{( jQ+/u{:gI%6CCykwnXm,4RLoaҺ{9kGgH6<߅b!h%\|!RáZH!f2OҞtҹ\Bd\ kz[4 YR9չ# ´!6E˧²kLyV|P :om'|ܤ KuJ-:ЫH[g# ,R{ ϸ%rH-!K6=P>c,$F]x;ݪԳ*ku0wĖ<D} kA_APMr$}7ZYCiO,rd."@ d94!Bx:e4ʤ嫸/s#Q&!GxTt">gfE:=iwtڔzF GH}$$(SJ#0:̱jj̭R{3P;bXjL''5,Ͷ̻OCӻpڭxZc*[-7zS SI{:gHVR,A:4>l`?Hgɲ-MC R<%!w^.K߉9.U"~YhGי6,3&!&%g^0B"v+Ij2/Keq+ݐ#~iI V '*!(\YF~C#n@7t4Xv2/7xitJ⻖ܐ^}<75q iA^V֕TANZQI&Ҫ"'ZUUvIͪUE֭-pw01%nV ]čuTN'?Akǀ=4\(`4E9X MP2cGHuNHK5'9&.pdEa<7|~[XͶIp QjظCJsspY퉑{礥SQr!C9^)RGB*z#tR\FFU,#~1l%uV w #.YR41\ YpHsj4$L"H)*lR#HMJ!Tc;݅R]&FZ O/BXZcVڤ!^GX*r!F(Lre^ǵu*)MJYn'=ivH#v6A.Ow+RŒ8 ٖ-R{q~HL9J 2"6)ᒐJ!#jp.=he5w#+ОiI{8߹% 6+sY1FzYsRw7]MU\/wwFI4[QBU0Cs'V 3s_S[d!}/24K6XZo@Q sĽUl[yt WnLdiN' xeIy~7K7idK&r4!9Dҏ%!h+*#<yh$Դ}n@`/n? F*`XMd o+(*|nx^ H!OVsG,"s# k"4\O-+P%P{7Q%x XNoC|C OM#~>}7W?6~gC Hymj!0sr&} d-?L);B[)9g,i`1OZ8qVߵkd]cq~]f̽"<|1@jsF \"ֻƈywK揹OM,{y,;O[Mcq}YH]zilz=5vϦd7ʖts>u4laTZ,5.\t7+L?iIHٲɏLť/k•oB&%_j*8wz,eF&|BPoHU> #6)ՓցIcHg8 D|4ڒ %Fⷘh3SNjng(7yut\j]~ lLQmğ RJ/bZK] '\kUV<#ȺLՂYi%A>LHC4' +͉eJ"h?EuTFfj[ERNʛtKN gfc-m=7!(*To(Kn$?J U2xKgNo]BJ\rd^pdW=//N1g|Dd^&bH0!lr*uz7e,Qyo(N)o~3_,8Tƍh-@r"=x\ʖ^/oz͸>" okSf무 GD֙ZP /)M6+Vİ.ݬ@뛂rNRp{lSBIЦVtJpEI[{:<27x+o/o",桃Iڜ`d /9pi_m8 lHy,br笄2JE\㛛~G+QuFOҎ:Vew~hyN}mq5Bk}"#V՝H/2aUݒ}T P'W[oF\ L$DD5@0ٸtlLN;&J.ve3rU%UV"^r2H~})D[4Rb+\"e28@=S%߬myMpn>/t-^&YZW{Čh[۪y=->7+hW)֤y18>1K *Lm06!/Qmd4網o^vZ=hoѪJkp>x++{WrچnH%UqRFiuCR (CTm'|i ^yrfה]oS'om{݀{=ɮMjyxہG H+ &g7.+=|!BۅՅ@]0===+a1YzqCo<[cD̑=Wdˣ-'.ȣ`t<vz F*5VI>[,~2g+T\Mjg.O[sE?@%jxIœYVn^ґ=/Z;+Iva;@<$"t[ШܝAbчu)SQ8-G}#D%6XRf=^4PxߊY|5ah.$3yU$.Q\Zru8*k2u7vL.glXr+O %|cHD%HAC fsZIv~_Hv$Ẓ.؝Nk~ M6*yڸK+"k2g |6p=]~xхc zbȕ1_8c/tC5z_TC'pߧY{6m$y7{݈)0`e }{>"sWIً _QSngf>߮_}}fi2Z#[ocA {]=^endstream endobj 111 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3850 >> stream xW TSW1T U|;m R̿nթk]P4`HBX{^M $"Q@.VlmǖӎZ{fov:=]f漜wmW@A u:ό<\:̸ǡcQ; ظTU"B-6U:g3sg^(]-WEbdyLM(arutKjuܢ^HNN%NR,:Cn'UI1jkhԹY/D\%][(+X߸WU ꕉe)afCQ)/jMm&S(j3JPӨT DRۨW ʏCVQ?SרxʍrIT]1= aȠ\|]\跙QG9F]8ޘ1\|By'On%.t84rLF!#NYm弄5JjPNz@PΠ4|ͱM V2:Ǖ/hR<f rG#w1NƁl,#^gh9u}U  ajglpp DLo(s>h6E_gѨr(Kπl$˼yE Zo_/6J J`,At ejyb^`G3,SqP ;*1xl]'0W["JdԁjxǞwAcЈ4nWxPģS\K(k.@n^RmZ&)hڄ%h~UB)B 7o@P)m4IoMZKy|X&&!ڦRX0OQLg$9NE>R`_j,*eko#\՞ l|~do;y$hN78sZr0%dLN-vO*(4vL8LS(}/b 3CqyzeI$9W%e{SY5K șy>>9g2r]I&0鐓*46E%ŝ=Z {m VE鲪W*9 J b}&VAi-٧a-|7n7kǓXZ7?{Q4yC{-2Bnm;rH;B0O*?B I /]xpAYI5#DUW[|=+~i,O^s.:#FxW@;WѰd=G4hh>xД ;]zB1CpE##Di}`.EZ?E?ڔnT82UJQGEwc`*z1gl#Sј:JkԊ.N P p䃑g2( i>uxHhmp J}ahT3W!Khp'nE:αaZ!lx.]U$C}z B(hdP JǨNW^ -p-ĉ3Pe(ZDۑb rx!=gD,γ80&((*Z=ƭEYEL4AayQ9K!4z2hMKvn'>`Yw6@ K U@Ijͬ}3ScWq bmF"Tī T!Dwl^:L@K~J7r84ڐ& RkدoƚRV ?vghza*!@)*ٞnMjyv,T1L|]j_X>.c1T4I'ʌjKWfiⴳ?_ySIŞ*6r\Χݗ N #BŽI|z`:hMn :Ha bKBz rN,AwMIo~^x7>0-J`wkHr酟}!JK:I>6c ydlu ygpE\Br+(gV1ہZkuc%5?ph4@k=1& 2Ҕrsm=,&D"uK-} Y ̫6+)6 Qc)I`T*\fp4JLu6S0w`Z HzR r-ڴ4deVsS2| `LhjVe%lP{jw""j5D-#l۹ey$`jB~!ζ$4F+ժ `v"qQH.7//1ҙ!t*qa>8HB\.3WZ^gkZ֓3 F͟=yј)e\k^ ߶g/Du&(yNc^o,Wh=}aDn|/XBdِ&fN'chuCĿ/~~T8?549f _& |3m>,m[/EͽDsvA`6"t+ҖPam͐ 񃊴DuZs^}$H}Pr${ȳ88I*EKOQaI! & =M6˛NVjH Xa5D.י]$+^]`$1|=txy/%>ln>`[;ߪ#zՎ*Dp*`> stream xmS{LSW;Ȍ5{T@@p9QQ1񱸮B{KByh(U[BKAtQ1 ):,6d&?v l|{$IRY[Ef Haz0C!PGN\riӓQɫH7 mO $$iVfrfŐ5UҖ$ҍZA66֨Ej 1hmNU f^6oHQ)%o$`ӫ6kZ^mj g6Z(336Ej-& 8j;5YDd[DA&R5D!yRb-)9 1&I$_:QxG7xG$(PBcqNH:%0XSCײߘ#GI<?# =(Zks΋@#a4-zE&=QļEp |ő 8XudνLjG<戻lh`Uǀno=]Zy5g'o20XJƦg_T$r"T,ͣ#DHP+V]Vuw@8ӕm;o==7Xϥ.0nд8fhl_KC\ D!u~rAc5,df8Kw=:l{Z > ~v ,@Qv!FR"w)? KefؓWfߺ?x%rʋƽSc7ӣm3!e[Z̰BaJQ L1' xc[XmtE "qbi} u> stream xYYod~+kH/D"R@D0F^=ɿwj6sWgs8]IW+SNLX+/-!T*pǬ3%/&Zw1/|̙Ψm3mCgy.z(3lSVL|u1SN=Z}4S`J;R$bN!0Jq]}?q7^j6Z_εS냵RY!Cx\0~E[0o0jཷ Xjĝя@=IhX ͼE`0@/k#W2=2׍y\7qVua <:uuWW*ֈYہ쟚9 nけ~] d/!X0FLG߬>~"7yYW-W]-ՇbuuhorZyevQn> r:]e$v/+:lܖU=gNdW;uߎ$JCeu^7_>ʝ<hlpY}_WuG_ ܏GG뾮:K+]yٵm^4E(v~VW{j,7wprjm3A|[fFb~B'l3|5ڞ:?F?Z5OGћj{+wzgް>쵱6W[s颼> oWQ {FފJ̳ߵ!ŠR٢W(簖t<9EZ.i܁$&lNwtY9L*2,~H\|xqNh'-C^q0pُL)_pKfZa|~OL\̧ﬣ<Et3#^ ;#:F D&~GLrHonsqEG#E+_P\!̗E1;"d #hKnTSvp s *wK)1K(GOsY[K mW~$k)3=O6p9b!&\s =#ߣec><~!.Q$Zb:?O (5Er_ĐoKM齅Q{EDڵ.ւ6GD(dj뼻e^vDdYVg1F @LOcQ)}?hendstream endobj 115 0 obj << /BitsPerComponent 8 /ColorSpace 42 0 R /Filter /FlateDecode /Height 800 /Subtype /Image /Width 800 /Length 16554 >> stream xyչf * ;EH(eq +F⒈! FD *čQ`6D@AEˢ[ufڲ!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!$rvv}^vQY}KXm^}+ڱ3VZy %cG^MWҫgՋ}?ի?ѫW zc^}~^?P6ҫobmVB:֫C>֫?ЫӫSW=9/ϟӫGjzuzuozez/z o _+[ V!azu1a^ML"ѫWWooWW;Uu^/ѫ- 께76K*"*>ҫvBDzu?:zuz{^ ?Q^ KFԫ[[=^!?~"Lo|_^^n^^n^VN_ՈsWg37?ԫ=j|WzHgz zRoW.իӫeyz j^5QZ?Wԫze^s^{:nzu֭z_K.JWzyzusoo]NЫHo;+I>%̦9}7-US[|^r^VW] :^B1^[W]W:VWW-ҫGU#pjEWՁm'jWW֫:UzPVn4yeu>]c~\fS"{#ͱ7w~mM`:.0?.\1OZϫYqѧCK{|h鞦m2Ld0CFD"?GHre y/[nSYxW>||D >ꮏgO{uwӪ >d>o[EǭQЍ#Ra-qVI3'[+̮=_kdKD >2(df}=npp4o㫈G]=nŴK_G࣮>]_*|#5G##bQ}|#<"rL7tO9!-33\ I qrLI=^ 96FDe!qR||xnQ.)(]$~R{;p;.-(;^ai7-ҞNn G'JWZlJvW{CmNr|} WȲcmui='=WoM#/򠝇N}Hɜf/C |D >G/sF%㑈:M+4G|Q{>vtZKgGhQ0>f-^!|}JlݳV|VonӲ|g^U"{M}}Iѻ6SZ$⍻ovm1|df3K>⍻ǮX!||%W;luGqwZ<>Hg3;>m=JdHg3[ݝ;_οk|VsՍ˼]||쭏Tܐend_J Wm{#oTx{~A||W zL|dd3u>L:Ǘ.> >ꔏ#6Vvui4>乤M G7s=>G7s=>G7s=>G7s=>GĻsZ!Ghw|c^~8i{8vgYx7s_#oTn9{|xs#t(*GQ<>B=>1{ff, ɌdG|D߃\ٲ\ɵ,}H >꣢|xh|E#޿>*GqH摒GxQ>>~Ȏ9+Ҽ}]=33#>WpUQW{ >G<)W>X}>{|F秎L3--9Xmw}"&?E|au>]d!RLՕ|x ˺ GOߏ&4ٌ|×x'W[qI:Ⱦ6j|"NnS >'un|A'\4YŎa|_#O~R,>'/|n>ƒ|#<>SB.'8| bz\m$BGi;>;(ovm1zMG8|l,zbEk~F|W{E[5(Xֺl_|1>ңkY_ u8տx>BZq=>v~s̎ Oxi-[V}TGwǦM r||s/o#4Q񌍯^qç7#4(Ǘ:ٲU1|E|Gx^ᑋ4VD߽iD_=M1"=:h4wG|ԎտԒS|>G~[eY܋|CU5Y|'$޿k^,6ʽw33|-Γ5VMofvMg2[>?IC'*bQWT;>G~d܆7+>!wXi :|D >2}ȉOt7#_VMܤ43ΥWBm1|Y$+ uNq>f QB>}?dszcmuǬCGߍ_=q >2|d3k=;3wwcJ7ߵx`STnZ9.>'mUG}<=w>Z?I#pVझ5;W JOw[R9fGWA>V5XgY'Oχߵ.JG7z TPu$| (_[m~z<ݯe >voGxQ|ȗ>Քf20JOԴ&e{9r{)BlSz{D1|D >P5m>DTu}%3|CteyտA|D >տ;!e-F`O|dG˜xk wkGwbWV?wK#Ran{ٿQOǏ*bQWT6;=yڹOQ+G0|#=n;GP_z7|/$޿3JS7=.>r#>$=_c > )w|hݿ>o+|G_i_|C]_*(rnM|?|S|GxjLJuЇi{U݇|=HR >j|}];+qw-kk-GvտkY>!w-Hߵ>o Ek?ؓc#ѿVǓߎ|ɇ~[X{|znvmAys|wOk|C{];9>>Q>T0^ӺnS"ijdLk9:7`ZmJ*ײi՛|m1(@7Ƌ|ÍMwm>]u/y]|GGտ{Μpο^$ۿ>> n-؇OÛ W(+տ.|QZ/>/7Ƌ|#R|Gx*WȗɴMcѷbZ˦Uo2g!*!c"G^ӪZL"?ô?y|u̇jWyѻ|Q; lv|QJvX֨^>Sמ|'mܝu_Tn\8XNܕsq%ݛ&_d> muVyҿkUw9}i Wȍ9R;: N|ո;liuuj|"N{|>1%]eLtOʖ+ρiRɀ܃J>uCCL=yi|#>.yw}>!xwT>_ﮭ|#U߽.->rjfχ{]Bw8Pٞc^>G_%O|ßw|;.>(d O-<GMeJwȭ*"ţ#gi'!mɀ^t9&E=Ǚ #W镐>LL@33>>c>cW/fP.,2'|ࣰ|kvPzzبф&񁏂ѴGO;gmHiMw?ڲ(h/W>TC>ꎏ_74͊[$w[tEN/>rG WN,4nt;9Gn|M]`e4נ-O~|CD~yny1|}|#<>“9}+EfCfR 9RDL+T> >L4-QGqWyѻشl|"; lv֖~O|WòFzXz[|Y>r9/_|ß9^Xhׯ6=Cg4vg>;>^2ݲfvlx MS>Q[>˾͵./M\e  7W;: [V>,[Z]]z{ Q"1*OOkQ^>܇1Gx =G6zӘ7hr-ˎ 1-eLS32^eyO^8yOѴ$az||տQ GP|տQ GP|x4{A~T;^.> w#ѿ+?*᎞N]|G YXn|8>r#oTnG%ECT>Q>J>܇1>ƒ|#y`ȩɵ,䚔cRܦaO޴wSɇ߆>Q>)[Уw7.s>(27~uy>ճE#xe=d{"w9> ?އs]:#]2Zȅ տ{Nڗq|ț+տkY]:|տkYM>ۿU-E|>=r+̌tcɛ֝iL0=14Dݴz{|}ѶX|"׺ǒ>G~Sв<|mO Q>OF4{aCZةnX\8>g͎k|Æcڼ}ۿȅo*. vRFݧWOq|UnwasGQۿ{s+> Ǹs@>$fwyeUGq~N^̪:kk|J^,|#%mGY,5azJۿ7gƣi.|{֝\Rie˭ 1zGS:=Cֈ1M9&_AyϬhTSM| W2wL(J/׻[cSYxWGQ`hzOw+ x>Q$>gswnZ5(R?݁cs3JS7T{G.|tQ̒/xRIR[ۯ=_4F \hyOͰ~%i28e=I=|c_#7>}|U9*q딿i_ (J1qXK]_*|+.wv&G>>꾏S'>?F>꾏|"멡[mEOZ{ijѧmZR|3џ4`gĢ+bi9y:>[Hʈߵr>Ҝ6> }|9m|B]>ҝ6> GǰZW}Q>n;oGf/X[q󷝴>r~|h%ww9J>r=1KWZHʈӿ{_ϭ.~ 㫖W P\oA6{];yG^/zG]cC'ʝQi#}h``u|߳NC%/9]5HtأDȱOn/a+#֣T.q'lw|x>U&G76rQ|ࣀ}h``gBwc/>ꎏ 4e`տJ;;O>ꐏ 4z-wZ<>Gq~4xG5>GYD6>'u9[U7 ߽{z`ڤE"gJqw7m^|o+|U}Fcտ񌍯>)znǗ.>Q>xiWu݇ W >D}T^rw5{L}izo$B{)\xEAGQX7^ixs| 9?M(.s]&lP&OË|XUO/Aտ띆(2=!ѿ]ٸI>G=_)eU V >.>7>òԿ׽ uտ.|Qix|Qix|D >Q>mbӿ|$V[/鍏>f.ɴ?32FNT0ّkYYjUrf1VL{7!>=vDxZt>!kx25.y(FvNC׸GOć7ZbWm][(Vw5{alû>6yG.|g7$.n<*um| *w]|#>ʛ:+}wKO}Iʈ׸{W>:!]|h}Lw/^o ٸ|kdX,-)'wamx}kWSb~y>Q}lgAux+o|m|ȥeZvY!EiG!y>kIGtϬ1vGي|#5U_^}?d3>Qt>!>T'W[qУwgd_ ( ح1i*9^o<lГ:}{GouSտ[Vw=pw+w3=)N8Gn|dտ::i<>=nnA[*s˻E|>+ۤŴ|r1irMOB0ٙn\rUU/C13]&z>Q >'}M>KĻk~F>D>|}>D?ؾ:b|O쳬ԯ_mzeF'm8gn̎ Ox2[5|Ԯ2˲пɇep|ȷ㫕[V>|lӛm>ÚTWG|Gx|ri5Ɏ)r年v\Ӭ}xӞ9rHI&-;L+;Xf)|DSK:A(z>!~[eY܋|CU5Y|×]/޲>rտҞukZ?孶ϩ[.w\hV`<}oF8Gn|+w|#'Mmx|>y't>|>o7m$Bu4{IDdLɴdQ>nU-o\l|8,Yr^ Q{.w> {ߍck-q(ɔƩ> dz'͔.J> OmgV\)M> Ǿvsĝv9ʔf (,꾞[]8b^ >Q>6pTI=MKRnŴwS$1vhzu`reZ?tN7D/\ҵj>l@5m>|IZX2>DoJZ֘'|8>݇i)k1b{G.|7S>&~yaw\pmȚͶWOp|ȷ㫅c;{a>tײ||%LWE0-2oVP:7u]鞦m#0>|ӿ{=/ :n;cGpwnZ5?.?n-˝_|GySgVIom|u˷^.> GsG=Gx|S׍ L,0-!ɇa/MǴ|c`ԏ>އӿQGP|7pb>(> wۿ.> {ͲQ_tҚȉqVڐ5m>r#ߎ? ?R?>t|#<>SBr7^Vї"6M|ijɛ@F\bZU}2rʭVD0GHٵq|X>v|8Tw:ӿmekz~|ࣸ}֣G.|4Wײv~sMȉ5m6W.7>r#ߎFc_Ggl||&>Ǘ.>C|Gx*Wȗ)]ѕE!E{πͭt݇i2|#|y#ѿqwIh7->!+a_|C]>žz9>|q3 4|^EW:+K~3d{˺G2Ȣ#vV`G6Guӗp|YoW;: ݕ:-(b3˖VWW>cT=qO >|Ð|!\"#[f\LR3-馩E_i]DfдzAƴzM>d鞦ń|i_B|dG׻Gb.m-H|8>"e|׽Gĵ"^ߪֿSUnK#'>!k6>p|+|q->xQ>dѷb!".'b݀i&&WieG\}u{|M uM>|TqwhBG|Rij:~|>t 4:Ⱦ:j|>tnSIW6>9-qV5mJ;wLTz|<=37>2pտ(d͆hTZnr~RbGʰA#>2JcUuux|>tZ>^Qw|T:=_[mZQh>O*C > GZ_*WViݙ&DIoUozֈ4`Z[򞦱艾9||æg߯Q)><|>2`|dY_ UJMdfdž'@_sb9> ]sVBk~w"a?٫7>O Lc2&rL/nG7d5DNT&yyji=ݴM|c%\SDGUu̽>j{GP]/#{:g> ݝ;7>ִ~p[mS2ȅTܐm`m߭_#7>j;>Of#>2ĒN7>O{D'2\L{=P3sRu %1W ̘Lm cJDZC>qS?6n>P{aV.>rᣵm8#]3N|ǡ;+Ś}Ս>r#n(6|Nz>Dje|>|˘M"V䒔Gr,c}ȉU/W{O?3D^=lSLZK>QH>vhf,>\cFo7 -k̓>򷊠[|3!e-FT]^.> na L:bWV?q}aw~x:~|54߭_#7>x|e Vw>[>?jF|>|IRiiICL3=#c'"5"%1W#ǴBM3>ݎi+> ǀw>SYxW>RNЍ>|ݴj>,?nT5"'|G叜/Owxk/>rgN˓D&>r#ߎ]j2|]_*|#({499>ƒ|#<>SBtE&Bii)`<=i"'Ɍtrt|c2->TV ʀ}|V\w/>rտ;p{~}d+c-[|‡ۿq_ϭ.w+Wȍ|;?=C>\Gh|$>ƒ| uÆ҇iDVi-De31= S\r1S{t;rEgD}ѧGl>-3Bͮ;?|! :<6]="|࣠}hGRMfLx*Ga8iPZnĝٴmek^D?zeؠL(>UNJq ֿǪ,[Uw\R ߍ5hS_fBǦM>r##W֗w̐^FcC>2gl||&>||ɡ_0Gx|]iMVqHCLKٴ#VDMXe>nL{089}G> ǽێ">xvȼ5>,b|!ummȅ7K['>>r/8igrҔ9Gn|ՎNC:|3liuuj|8{O||#<>SB]j4}1nz=M33*$d&ٵ.)>! kҴ۔{>GXHM>{Em>"|Df1X[baY%}{Wp>r#P>m*>ƒ|#<>SD-YebZZW+ӫjY-ԫZP+s֫Dh^zu`#jjP7ЫDաUzAzՠ^5lW?Uzρzz_^5nW%I^5mW-Y *_ʛ\Louh^j/u-iNvd1LWѾz5^=czTz^u^s^-WmzD4Ыbemz2+>ҫvUgOّԫsꔿՙ/Uz'SDz5.1Rn2G%?(>OOT2 17/p/7/p/7/p///ԫ=W׫ޫWޭWߡWFUzpZs^W֫ud˄˷@az5 zugzupueo֫hWWWOI{Fod+<ʷ1z([JՄB!B!BHF?wǽێ^fƝrwu@3u]#ڶSW-Zyشl}.,wm7DMǝ3DM'QyӉWt|ړܯ䅚LOFUj2Rq*w2jLEUj.jj.YݪJ^JEUj.NE*>7Ik.mrhrHsWh7-P'_֪[޳xKf6z}=rypM _?Sm}~4fo7DMǝ3rTtyI|'g2rj2,>r&Vd9Q\E>k[U 5rV\8sQSUv$'-w-Bˆ8w-TJw$}T҅5Iܿ>[eYǸ}XK[{j:~wSftʝN%|JGIMFWUBM&'VdT&dT*5i5nU%/\ʙ\7֞\T|s$'-w-2'p"]{b_ױM&*=qڮ_mU?2gd_z;qNǩ3vTtʝN%|JGIMFWUBM{Qd֞\T6"ܭ䅚\T梽\T*}Jl}k.ܭX f &sciw}[wۭīzFsv#ө=$re~j3{;ryy 5rītUr:j+t7xSr2bދ_xMJ6v6v6īkcW\"ܭ[ w.ʛKnřSsIT\s|rn%.) /v~s3'[IV |ULjʱM{Ufvlx {~}Vw:NN'^%Qs/I Iɛܯ䅚L&㌹ITdm:IT\1w.M{sџܭW\ݹ$*o.6$*o.Θ315'-w*y!LDQ^i+Uu_ϭ.!:\'Oǿo?-[`<8;W }xӉWīt'qƼ$@zQLٓ;_dʝٓq*w23r=.>i5nU%/\7oRUxcJ%\\k.ܭ\3ǎNCE0YK/׻!das;{{V&o,Uݲ:LyUuux+Gr:*9xNʛNJN٘77o>JGIMFWUBMFUj2RQdT*5i5nU%/\T*5oJEUj.jcj.5OZVUBcfj -hhxJOvnS|'Mmx=^qç7ۮנ-O~iHN'^%8>9Ę7ter>Jݓ3_U 5'*5w̙wdT*5y:sZVUBEUj.3JEU7I?OZV[, ߚ)h>F%t˗/9T=QkyeURU?;8TW{nyh$n#9DM'Q%($*g>J^h/=r&Vdʙ[9sq+ڨ^n՘P/ *¨J0RS|cޛCI f!B!B!B!B!B!B!ӰM_K\9%R;#$rGlԩ?ϻzƎJ8sG,qKb듷]ݽֳe,~ |"ǘv G˚R}$?35B ,Rzk~:hϞk-~g_y":sb1Ͷ?]u7A/ܴr=!B2o^*\e}#uF{~W-}ͺ*Yn}##KޚV'ok|qHZϷ64]`8vuGVwX>eYbS; i OZU]:ﯦŲ^?bmIþ})cHsǦ'cU]BHƣ~35!jxχuQ:)-#.xF٪e!b_7ĞJDŽT3D=,ΟL}_ú~{GE|R}۲Ӗ&^zj >HI҇uK~榆WYЖolrnr||)f8W6LI{bW>ukOAP4cK.zrnq|X}4f|WmϹڽ [A5k !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!l\2endstream endobj 116 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 117 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3033 >> stream xVyTWޭl"`B+(K"l*`@$a4"K 3j☀+j\'l. "-U&8љ_u^339wN>ョ}wOBM$yHF挂YD[)9.2ٖ"KB*L)T"byl-\W`PiZh;G2؜!WSNݔo2%'_(9C@FU^~AȦДԴȌ벲ի{(-Z` EEQT45VPJ*R3OPr`* ¨ʓ5Q(N) 5I͢&Rg(sj250I$$[rwbBЄ^HH#'uɔdWe/2M0L.s+XÖ1 <~*+_4!/1D7qߨZ,i+$Zi39wbJ ù۶tMJ]ڗ墟3Vq.T _'*|\I)j{럶،LH?9ۏ~rӋ}Ojل-/?pJ:9ř5Wϵݯ̉ݧsdO  E0 юi9վP3ݻ;]EeТe>h7x@oP60DH01as[r/\pV))D([VUv35X DeUd j~=VTt\}R~g{ЧaܔݩlOl7b]ސ lbJ2 Ņ{oܘ[ZYy: !Gvde&a++9vq#ǖGuI >D^Beq G ybssǷ[fք'nwfĻCv`S{:a!aJ b]c;a jHooND`'u++Lc%=r]2HLȑo<?)`NT褆YQOzZ'hqQ'{=]K"Lܬ~TRbb5'ۍI}bPSM< ]rVt"e{)k*Bm0ͱGBڼt]2.}Cڊۻ9wErh ,)p8?.312墄NaZA(#i#F>f>lL2Cyh-;rto/K.Xs䍥k~/ |/cyͽ4<鱇L"Ka>9&$VEA-sqq$ޡZfex_0s5 wQ㝶2BxԴ`ީL5M̳щ즔T(iCqA8x ^*>!b2M4D,S|>x-:PaCQzm⽽!DMϒZkkφ }f\X ~>pD< 1L6n)ƶr]J&b%CRq7N*mHӌo>DOꔪU_(4ɟGN3QBxƥ!96 HtusN'C_T=X7Lf?]W cLYډmûx^.velDlIf ;,a6=% uNj u=<Σ!~કބ\Co@ӗk;քaoGGKL@9|㥸{ hW v./mBvuP21Nvj"s"?vL!_H Kꁰac~WWE&6/-T3Rn%}bIzQܢB.xt])@Od+LQ}'A)ocհ %d>T?nCaCPBܰh#N^?QX=O:(_E{3] D<iK.+a1Fr@pbV_ooqS~tc<+E56zs$Oj^Ha  ?RzP{Օk.!#*J!9.f̡0~B Y"Ї0MkGE(~Ssp3hH(t<`y8Cx!p8$%Ձ=1$KPKUb)<:~ BXZj"WM쑈}=0)DDJ +_hbQXqdcsE~K˾C(_"endstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1404 >> stream xTyPWKMԈºR f#b@Dq@9 D.9P" ZdZ5H=鈱Q0ӂT{x+U6} Z3}= mEQBӴ9iWAj-yNl#LXonɕ 9"^.>Lϳ3vP8㑘-q6}bCV̌F,5oKҲ33JYi Y412SfcRg+gF/gm0h"22:%B.( E#W(ţ@䅂Q( C(-CB QCW)%MUtRtC<_l&`NXj]a7 xxE'4.{]XK?s[x c&vP»t`. fvLR]m WۤaXj}d)%- G %A50pc@w\1 UA $t=yFJ`uUge0!؂_ƞIh='3dL/6ݵ!SC$u>&o\ARj)}ϊ (Ek2gPj 0x{q6b%݅\bϾ~>,e8D-4QDNcjãκa3x3$$w0]BMRYxj2lW'J]DnFn֭|S翡̍_{<=jk>MI {/O9@^?V}LQWj.t}֤|d~$t`h+!p(r2~/_7hv.߷uXE'䰂ޒ!Otzieﱥ}UWky2r8) 8 -?)G{jXD~Evzj{ʰ/Hk"P+Gkؕ.ԛuֶn!qe)E7ݦ%E&w\nlrįk`GuXNɟ5(E'&ۑeD9u @3''lLWb\%.w7fN{NR34" h݁i iN9LUk&uU74,ګ/F`ZWH+Wd M^0z9mؗIp#M>_՞JVʍկiUƸS> stream x}[dM{ @+/keD!D`7A~_Q/׿>E\9M|8~__?Dٟy&1<=}g|_?]͓Isri~}_?חOv[;@?:' l}_] ?#|6 z}'_ҚO_=)1Z51>Z-ILV&1[V7gqdUt'_=8?g|̇'篿~ *'\ЏRX+=e|kܸ<i34BOW=fF'|tϞ2u|1fܞչM3Oj3keD=Sų=k_=y,lb`Q_3Z,O~([,n)*LOrГ\?t_>Zwﱗ )ZRz{>nM[z?=ˆ5])rل*5 Zr-y˷.۶,_Zdu+Yo ͑e7DhB4Dc\MF"ggJ dc8zoh/uVNDjRF#[ ew#Chն&pR\$iѴ&RF1Ev`g_ݴqy(MFAYۻ*Za-fu+37DzErZ72FZiٵ:My=EeTpfy 金PDѓ&p!PqO 㤊9RmcsK4ISQXs:v@cNT7TY6&"D%+R9DWĜmc@vXˇ&[ocfc^ qWui!CFz[޼ͣɀ+/o~oMXxn[5\~]C[ȃGX~y rA0%Fz ڵIݻ#SbV;1BբJb+(UyqH_q ,k`.FR^ 7XecѪQ>Svw d`]Z1&JB|8F*MClb_Ppa:f50eOMݤڱ`7PČѬ5!4Aޘ08b[0e8`6 qM%II* gBhLfSYd1B%Ah*5sݤcTi*$H)1|McbE+ɜI50BU]΂@k`*ՖkFa* \`۱p ;nKf1>v-^#T2tb!tTEk/U Po l#Fg5&f`V+cPn2J:+9U[VԪڍ|}^i1ŝĬ.9Pvρ fN/EQC1D,${40Z8nNLa7JJ1ʡΈgs͛{ շC)bSJ{1E%VfA!IA]{2M4y!dˈLnBߧedncdtI3St!l=%Fk5eHCcl58V֡#TDpaRƈ)qT/U^ mqJt2,FZEH'`3*|z%KNnpʪMJ*ݛeu2Q{)`No|QL1 knR-b7ݥ[׊[ #T-;@tVl%FF:Ic܆N-b`T6[jDa84.T6#*-VM*[^#kU+^E"&aLj?k.ajð(h07lLtu)މbW*և@jccIa@b<kKf j,vh*#Q>WS6*;#F=H>uM6JC;j]׉GS%3 Rd_@iyذrPqVw!PQ0-R;'NuGKL7ôXN-wFh`6 (@ \P88`BK@jp|#y݃SEK5vElG/bZY6(@TP-3 u u$s-fKiQ7d8Cbk&hSyog$H bv ,%:OUZ CĈM{mFuFÛ_w  FaH;lq HJXDL`+I#-P89m-8)d0x;&%DrWd Q7jsx-$3D B2Z9z(l3'y`tuȁ@ bW1bCM0%Sn}8Se1uّq( &US<)5œaV1` Rj]zs=N!R"u#*w *kh/TvX-QX- X)9*U3!kM*X ; @}!y_}$+4>xP<^VhKcώ6@LF[^DTl,!}:e[0`^b%DN̨kTwXtRE,;h@Kc$bI7 V-1)1}"dEAPa˅Q'3#Ul\k!7L1 dIT,~BtV?A8iQ[[4zOT[.1]=`h ȩN 7%cn;`&>^gnz6u\'QTa02)%9u;yI8QE>m=1aG``Ky] 0 6Q QT:f8"~e{&G ~cXAZ5V1n_B|yarfSwx5'-훻Nч:&CK8FVCOOCS(A-HA-\[&b%!V eW*C #(aڰ{/0ﰮ@P~V!0C >#` ,kqR`{, fmr51D(zSE?W7a5ňiVt14?AcENwKOBqC0 hbg,J ä0V/YIvJ"W/࡛Fe0,8 h;R7 h:'mRc USvR&5xP^)zatrѥ0e1ׂԒչZn@#FZHJ7al͑f.$@Pp) #fΦ@SPA28W0s #VlkRsbvsB!Jar02|7m䠁-]g0WʱPPor8Æc}gL3K˛gс'('N`#%t;:pw) k1)7913)(d$w =Q!?nk2Z swlp{[ѓb7Pa.˟ m*Y)9 )ܒ,"ໝm&N qL?tH/SRPEr8W`;ޖ E,NǥL5X= AmC&COE[/ d'd$Z)BKPZVu$#=?5^9iqҶ/m@xc@KBܞhGJm7ep8"hSm`%g݃ 3A`͢y@Rw[86QS7i 5=µp9'ArKl|lXƦuɁP?0,ن~Ʀ`G)ap-µ z͛]HQC7 [L996:OwF5-e8GЂsxG؎rJvL`nhf8Aѕ>4 n9,KЗEn6=JI554O̱Y^,j͆Ro0@zMY 3ZpyH Ji*㸧ns s.; W{= a&`h!` Py)` *f(G.feYn[a5-[vЀ}?NsqWq ^Aù )q1&0Wln\tkdI, p1́%Kk,|lߠPz?ݐLq#޸d}޴ sa1rRe8EPPKr8Ó}wo㸄D .e}Qnז P`,C&W&rAC^ !õ jIz(T`.ylG5/[&\L ft3l"Pbs%8[a P'C-%k^zi'd!"! $^P`r 3jWCC}(pG,<=a9{6yMAmOzℕovņk2 (k@ jH*':"r{gd xC$i)Ҟdݼ!!reIu&:#hښq:d'>A᧐aqr1pZ]^Ll QpT ==`^t4X{=$^I G2^\r#a2 OU$ dE ׌ 735 ,`>9;B|=^OP1SceXv6 %F{͗]8q`czgr l2|*Fվ_~L/EPPKr8ÜKC_o }`K_ g^)fMMO&vcZZùKQLqWv ۍPTZi~%f;`T[wmSŅaM\$ Fbj,NؖlׄX`.ԏ,'g옎t{Bú':NQ-s(8824=1}~Ρf2^AA\1o[/e#S)Ų&k܃ik*5)j;B@d1a>QS2 F jA jIzx n^#])G`|LJQ- =@sL Y e7ԀTP׵kOvl\|wL$IV]/(`ޮqSaY\v\]cy] M_ow FS!3˟E6U}"J}:+':ℕ<93:é=M/APT4 z=束u|`j+E+aqL؂&'S(aJu$s-a=bdN'^dИpR ;n MpL]}p3uaBpnW+N(5w V[\u \|e5eb)a 5p9rK"JQ-+8L Nԡ9f0edwpV6n/t L{`RW&MggY CRPEr8WmXCL_P\qc=ەh] [n;[$C2)aoRPEr8WBGi)#;z[3:p,pVMJIR 1+] RV7Y"kM1ċ|K`E6BpyjwXy ~XhkW/ʟ+:x;>e pm}f 3lߖ&ȁ@ bp ^ævS(A-HA-\[6s03* }GRvZdZUg@d{K P7-Zù%{g3PT/CSkj  =n~#5bЩ9:kA9y"x]úY2-Zù5f}y H x@s,=,c|4HAPPer8U|$]ӣbTc[հ"AA25Ee@e'M21x2ɍ5(:TϕYsNwSn2( VyĶ3i2 a/Gy] ]3(`*ufsk8rk|p{Χ VOUS&'T*} V[BFX-cYo9V,)V D|a]eppe1]\ WX˖Z&s=n2qz1p-q{,}r+*|;A[:A;`u(+< o >K* 6q2O3o;նxa c7NѪ@dM7 N/ sEPPKr8o~Ȏw2B1TR3G?C6#9~D+ -HZ:zTӋ(ӉڻlۧMxk@wJ`( yfj8o2WT U0{xy푘ò2d+;`>dc %/h6!昺ˠP,-d&e`i CMqCa@ bׂsL{?zù+K&1cSQvA|x`ݕe#G)g@O-L Y>Xd%t Ut:| A 揯*C VWQ}Iq/>9}EGi La .c|Rb>| hscG_dNz3S#L_ M5X1 'J_~ M!|t=# $zd:^<ȣ"Ø#ޓ֫K[I>>\ mA gޯpϸBC~xOM7>Dt<QPHʩ~ T8o20(IeЕ}e6!վ(O|5z֟} !#Z>x;4%g^PjҰ>v@ҭ@4*eB+¡*|P]܃>ȑ&]endstream endobj 120 0 obj << /Filter /FlateDecode /Length 3782 >> stream x[[o\~G,>-'_@8@Envcieˎ^G<+% `K73zGoY3;rqxnp͖1?ݰQ1/6[)Ȝ>_o7ÿ%cb3ÿ`^ >zu7dJ+1<&w& GaFÁ;f.<.ϑcLɂ̇hj'4q$W.n{G{'qW5).R'-WJfvx# g `lu Qj/#"@*E$>Gkn0x5\PY3 5<ӒN-Dh]pg+ Ϙ)`8P8\h, h.O^>ہk`5,7^?&RĐ "ϠO^?1)P;!6 5 \ieʂEzU&ik0IdT/1nh8mcؤZj9Aeo߿-]?m4 &;xDnĐЍ:;&D_' 35A uk03|dȞ]DV}ڴ4<4-شۘUCiXZ7%JvKKכܳciwqΔ9dXznnzl(㭇UI\V,S첄,.*e妬MU:Bee'dkCOTjϼȯkL%*|IG]-,*< U,'ȋ &V@6[٪a'|F9fX퐀GkÔuU>I: wgHdi;f00ITe,$#+u'iN|e!(̈?,m {|\4~y-֓bf]kɨT]L&vD I25SI=1k- (8fP Q f؝ƶYc#1J c6S|57}վ'%>馨5߻SueLul+"M 8odw;Y573#4Mπcq8]ǔHyݼAvZˡ=mpI{<L~[?@;č80 Nc.{6.hv hM0崚mB!Hk%[5e:KS`(#o[,0I؝3wxE!t@𗻉N|U( -tzx/5hL kT+}%a@LKNg-AgY-3H:,ϴ;\erkS֑p`9gtIFb"8 c֜ji hy&0YJmR\ w?R_`;<(V;3^ gPBI6 b"FCȵ6ƗOj)#54;2nzG|Ze,|8'Nln::x<<^ F B|(t)/뾟vyC f/ڔ_ v |՝Ki;} W^= ǭ%('}JyzwvI5)ZJͲHRM*7H7cYP(uߓFR Ý5cQ]o/XJnR%p|Ys£{-:j)(ֿIϣi+?&a ?qܛM~m"@bZ|v\; FIF5  m,8/NvI4*vzL$Gj27gfuS({$Xͩm'nqnh*`Vb`h?NR_4??4_⏁[ w﵄vM&w?a;|3J|˴LCq_̾@S ؔOUeVbF*no`u?~ I,e nt}侓6"Ďc7۹Hה<$[%GvxbfbЙpݝDKCi} n4LNv> t/aJs=tQByV{ wG=D&e{ID4T|p;Upendstream endobj 121 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 474 >> stream x0CMMI10'J   C`]ZouCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI10.CMMI10Computer ModernkL嗡f?~tBqyw%ԇ}tM{IPc‹}wBtX_x~L6[d{xt^o];Ciedce|uCma  7 ̿endstream endobj 122 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 331 >> stream xcd`ab`ddp 44H3a!3kc7s7{' ~O+XP_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@ݧs JKR|SRYBt^}ω33G[7]z}r[~kb}vEly~_d}{O!lYwVWG g/d4mn9.<'yx\Qxendstream endobj 123 0 obj << /Filter /FlateDecode /Length 9014 >> stream x}m\'1_w< $ǘZ Nj$o4+iw+ fuX!N=_ҩl?݅ïZOw#S6\~s~jez+pe*q cR)Z;|;TSN)!xZ6ӈ4B:M&!,<*ỻ4s|y)vZjx!|z/~mo٭Ԓ_߿B9S?,a!_a0Z%ZrJ m y 'bSq?h>9@pJ‹XNcO@r&xO'}U>O[+G>tOgtO?ا7ʬ9٧W7lOF|s1 K}}Vsp޻~oo Τ {ۆγ)ojU^h1Z#W0[?~v>|g}׌Ώ7zM[MN˜Əlzw#W/Sz#vHaχ8rx_wwTX dX Xm`=)C1Z&M'AK)#W 60p55x3 \CȅZ8960%H h#wUZ:U\[>Ն4ǨW5rJNlQuh4P~DwS\pD m yR HV eO!Է`KQ^Bԍ8r #0whWjP{# x(;ukR^gCUŝ,SnR^iϛ^,%6T]%,s׼j/99x0~vuգBu  P ,\B\5Sar)e8 PShµR P<9J a:AaWDd2|#_$u>GT$#`-(4YP7~?oC?3 3T{}9뷏_߿GDksx@+P+}/ ,^0͚X ae)W`bTM |'s'WX}P;VI 0ԛ(G& T՛DI^5aAs'd`ުCOaD/yCޤ-ޤ czIO*zoZO*(=ɤPM(#S):b74Q^b߫*ZQ&jO83Bw>OCg?}ʤPM*L?>U^eRZ WjA_)L\,*$u-B@\eDRőV\}c \ 8I6_h/tc"5NU+deM"Y!XZՂdꂽN5!ȱR@##jA[-yý/TR_ WazG^2JG *CyC\ rP5ѝ-sTC(&IhX`XRq*aǙ@"*̆k(08A+ fĿF4'APJ8S7jJXA}k6 Y/{5,Rk`JkY[,VKu$(5;9E<`հQ-İc֖DR  zpEB:&R& @-ЕiIq.1I Um\lIWmd ;pNO) .;H|o;M.N$_=\Twe"U#Eq<);iT %C˦'ٵe%ô ~omJݾ 8Z1O6q`2T'e&CJ2$ok5ݾ{mQJoDv4JabrT,#pCOgg &|OyQ[, bCܠN#p[2(hiTK;T< jSy<ӤD%A:IݔQe(`O;- wH˒Q4@H);lEM abLBx4 );lJXaHdrs,6c-3&l')AD-3&J"̘'Uw;p:&m1$=*-֨ʼnG'#)@ HGe5n|2iDC [a"H-O99M Z6&l)J0%emAi)vXV'zw1Cj}j١>lem8ԷjЙIq5C}aZ]?43%99De( vN%eԌCJ2rjH ӥCRvHM9LKǂA U:qB);tbT zɵj*8T}8j_:R=B2FγAR Hlh}+s -SƘ@kAhw}LNt!~} &Lxy(d!GL dr pZ:&~ 54&ĥ¾T1Q >BߺƤ . ,xI= ] UK 픫ˠ E/tBMybM2F2c`L#a/8{c<eIc7cD,JO&M %YnEsIfHvsxV[Yh4Ɵπ>.:JFq67ށۚ@\97: '}RuTDIC Nߚ(>'eŴ%>;46B4VY7e}c Pfs1) z"q9ƼѴb]~jLȅFX -YQS@xgӶ>cXXr)Q.Rxek\mgpdw/Nę䘤1 X=2&Cn$l' a!az UkvBBs\ROȬV4e%(WaE旳\r]Y?q'c.炻h TZK&p qI=ኈjK+Tȃ\l)H$h\8(q 7]0qj~%'=@Pk r&U1#?eBB]tnn%G[\-K|"I!y"' Hf635k<ΏR$%?ɐ!29KL>rGj`!sS8|&xAg,WC DGf{m0-|ʫ$&-?ذR(e39[^i|,KLvLO\L\\oLGW؎В]Ph;.m؞jhd"ZP뫪2luMyx`coG(t|cߨ7?K05C{@]Dk) `ޜdP,>V;GU8A{1>3L4C7 nEz,*IxPqTg`<3G ;>cco[C.F^7jp]6؝D  Ls YQW8;_M;k&qKeF=_TcYBy-Po#7 mwvFgJyR8zv>J}`W˄ .|ogpvQYbƣ0>Ec)7zXTHRƣ@[]"Y_C.{='&.K P^';(eґ'V>C ],&9`^F']8$NCTeDI/e[I mZHuW oۙ7M wgkoZ siжfs&D(0IIvh\Fq\›e%LJQ aW{j탔8cVR5mSXRvdJXq~o&<k[׻}q1rp`ejnHٍq6&A܆&!m68TKc8Rfd2$d[%Yfz0W|R/ JJቬ^v.iCL\Opc&lʢ=}rUˉ1=Z!ʢYID GOq*LBrLRm[V{1AF𣢳sj>?җf uzI8~_W_|?o?🯾7W `?o@_17,%3͞.#ܠC7~"g:/$_bh-}w?oQ,zm8>^`z<1=blfѩ9wYH=$QJȥ !@0( 5Rjm%Rcl%3xOoaڅz;ǐ?#u~ăeX0 1iso]^g@%n]q B+ex|E?"À]"wJtuz竾`f_>@??=~rJq<|çyIKç>AQ| z3 (^ʼn iGy'_& <:O0H&e޿C!QWaEL!F,g^0~&I?a'̣?cUCSF밴%GohIl1J?\oqY'@ƨ*;`I+>_lp#n6Wӈ}ot;lώN[-c}F'Vvj:g@͟¾U+ps슴[e7\x3l Gtm,w50'*v8~YozplfeW2D &stDSy89I(A7Ou66T 9:8)ps ~ME@N۴ :MGolTv=i֖Ƞܚ4Tnh9GZ!ndqYX3{Cΰy;*>~Oq{v{_˨8?^fyOGG&-W&)۳ }?r7endstream endobj 124 0 obj << /Filter /FlateDecode /Length 18291 >> stream x}[fq{#? i'}y$Āc$A %H qk=-Hq_7GH'a^MrR,ɵOKy?OoKOzoR^FOseO}7?yfy<ͻ_/R"GV/T2zJHNWzpY鍨e=Jm{J2_UJE* G*uJﻞ~o'OO7:˾h7BP:/R|͟?Z*RkKv{]kZOӟ/{')U/jJeYԡ_Tvy}7*{?_/ wb__/O_,yЈ^F}J}h3+6sjpy/K+~}J)[~Jo_iGx> b _>bp߾__-U_-o(ooo MM쩕iJ=}f _h2<2g}i^;^Ij;~?)5I<9zI~ӗ~`-cr DOs&*TmH5ҏTv^ɉiƵKMi 8>ɱD5)Uj?0zVkȽ!,7ΥRuw )=a zx ;Mi!ahR \PWGN6C>hm{jE/l75O{fHdǓ/u9t{#W xh"YEu@&O}]|{?gEzkQ?;$!Tb.p[wسMk)PKpm@f/wnl%hGQ?{ۀx۴y{Zx vCF=)׶ޤ{ ϗڪ3Nhc^Bε7?W)S#AR,N1'7//`?~l9H3Qpz| )"Jg6mVz+Yu11Z`cjC4Z*c |+:*Z fVxq!K/_<@́Sc9Y_lY<uuY3W7tu{)\NՈ32. t6"B{@Pwru.u;q{>*vה*>v*ZpFpVVeVCx 6i}s,CV/C$gaɞd?(2"ብ⛛DZzbSBo3j+/FJ9pDsʡToy6F*0@>M '\ougّjJ'3ʒȋmh-p uxE{m//k8b7ɅjUz 9'2٫ ;I0lv/>JpHN PGwcG+ޟ-HeV:lpDh%X,8ZFmh<-2+lK/iat^i7p|9'nS9g 3p#[*GIG<%uafSH$$(#!g{9gy_ˑe$D3r-l7`jK ܻk@>ג=@6VCk*GJd$B$lLwNas gyl;2K֪QÞ߿A%<VKwݎf=upՄeb5†LO3JIfVe@ieywu){͎޹,QW"=0rN]wwsNZdn $;gHrq_fXGZw ` ͦR CBSBhHԥ}\3%_Z{t7j2oxeǢȀ|BeeeRQ@<8yyqᐳ)@|t.V8eeub }&B>B$@C٣)ں#jۄwYC,eZ}O[eSmZz^Emh[h4߼xފ޵JN5 Ic6)N^5U{~ٿ9b9n ɶu5p= =NǏ8cNG-]-&UzHT:!Rͥq:z+o-:fozSCHvѣ 5td_z:1ԲUǑ~qX,myjo8٨ ]Z-';R*t: *{#ٌ nhnaT4@2H:8 (ܜn X?!׋(6A/6٣]Z)H.4rK{ڐNUZ 9C)Kc j;ns`(JtJJ^1dFUd OOev) و)`%M9/R#PGv^)ۗZ=7Ȇ|);tI=`a5SQeg kLZ^͙SSEOG䖥 K:CO_DmFfʀY켎1/h$ht2C{Y5pU4E]O-#M5zN.]b75n*hm6#)UKuTEv<46UVO 9qE8MՄ N̬9x:([寥aZ ƍ&Vu{T]jꈕ%ۭ={ :}V \DQpH0J∤j|g7%rT; jkz*cU FvPP`RZjP[l M*3^FcXrJTDS\zU@e,ss6{.#/|S';&n\I$F 1ڼ$;8V` .,H#l@>ʑMK8RI]7ɩnJ$M)E)g!9RZ:+AIH4')Ajgr;Z9H <)R("J#A~*V+1HwehV$D}thmVQj=-ZhV Z5l 8HWDCcP=d ɑLCj{QACj(7rr9iHM6,js7!` yH@FNDj|UHuED$O &d"RA = BVMERrf0 p}Q@PQL>JYiICB&Qc bij%8G١8*Cu#9Gi; ܟ4=r"R<pyVA>GY@YjCzQj=v=jϪhD5w^|>A s"r<|8f+6)}W賳"׹8*pIqTX sޑ>j|_3tQ##<(R((J#G)zm%4HZ}D-^'}6th((>J`Q5 wBRZQónEƛ5K?iGy6(\>LJ*#JيWlF0ۭFdQc72H&׸!.Pu eJDyG2wD_HiGJM(XGv98GO01RQ;{/IPɔ/Ȑrt]~ MbNK F)&YfY*&(& s%J07UZ/QG⋢v4x#5#TsF\@§OG*g2 TkSu{N^n39 ÑWMþ~tș3y)@V=)CאDrQO**r2?A6r`Fl#>ӏ5 O:b[ k}Wr#L <(R/x'[NIlH:SRҍIt&qcn恪9rЍ.ƖQ[t@2({5It6PE> S0/*F U7/m;rc/A7*L :Jvu猎dQN%kCFd v+Hmz&5|#x7J7Fm_SP)B@2ۨ db`)t#rHzE5ȃmHf=v0%9p*td0b 9Fjd9‘L6j%!٨]0A\,gQz#]/ܢ d_^F[_)(L7J+ |JF h#7jlRM9F`|#ȑ7 3Q60=э1Ӎ"m$ȧ Q|[ԫ\#2ը>lZըqT@ՈV ƋRdB5>[L羖JFYWrQ lأD6Ff&Q-@A6j zQ"(3ψ:f<#RQ(Mb4ѹlg4GhFi5QZsgѨ=ߨY,2a(?EXF2˨,Qk[F22 1a$'1yfh*#r V2[d{S'S|oHMdtLJ1!Ɉ++v Ǩ rp4I-GXrŻK9Fbb $]PdDy$HF1u@2s;+XF,#))TfCЌd 2Ri,z/ ed2þdMPeg2Jg)3@LYF ȐeHS.cfZ`]ꊳ 9XFa0Q8F22j2j{GY22e$o/aK2*WXF,kŽEGI4Aʩ޼ e}Y 9˸95Pb,HP8#Љ"Fy*C 8R ֍{[`EA(cO^@gWس$WS(lGV# aꕣ z#?yolM+bS6A^Þm\lRopv$^a[%ID%Msېf%xzÑ6fmm^R\Uea3ap )܀?nNƥM >@~CscyY_o0p14uV3}LRcۀɇ_iC o8k G,i1OE}4{%4[xWBhn  /ށodȠ]Z zm+ݵ1QeE[s7% W~Ts@$,EN$#W"T ? 4WC%I7m~-B4rh  a>N!v¸e&@]e#C+l %эYטWx=q/mꓘ=̼&?㳓쇐^%Yߑ_EͧT_RvܓkmxD0jm&姶Yx9 Y 9ޑfY-mG; r- OE6WMYL1||\zswr2SLL;p=o|صr8%SD]DN91]3*_e.*QP5dFu]v]i3QCl:u #y15pnG][䨀h*Ԇw`L?CMǸ/ vt0J=hOUL9٧.X$l*#!Ϊ}x܆L.)kђFuV'mV6Uê~9.".l7ϬҬ.\&ekX;ePNWmI"5{\^M|gjXƥHH(#׋@ƶ}YhS+N "h{h=-QnZNUD\ovW嗌m&k=b3},4h^CWjе͜%ʢTV m6neM+$L}FYvCՙrĂ89]?Dȸ = `fuطŋIF@laVT5gעh\jo|VbncUMGm^s,UD`qSWW}q21R/Bc 2֥. ip4LnjU' Lf%]f!9 M n)2y4Q(v㆔_~#oTZ^ O^;I^*Wv. F,|nGlZSƇpc U>B$t^[UAdÆjy/fUA&05@r$b؆>i^ [N":bFltLױ"0XlD5@/ijth90gpwhETܧƵ%&% PٚK%~orY3ٚ~d-ӘB.Q @̣  T 1dm޾#=de\+G&R/ۙQ/mO xg5#I=׾4`lVrݍJkE%o4}/,v<1iC4jƿ"qÄ 6^Dg>%q39HXvRs.Ew Mqͫ!~1/R l (SpΉ%VY$F0M^8byjF92#Vy#rux5FVl _xhuy٪ D /in R}bn̐ؤiQ$Y^D7g]m! >HO| WfgUG>"x?{ #Ds_&^N{ԋ˟9lr8be%}9`'nˇĹt`U o-+%L0u_5ubq|<5#ex9")i?ݘMŻśd>"=~\~rȭQ_Fش{-3Q9L޶ r Zz⳷Ȑ Y2WMT)8aӧVp1Y_hŘg\v9<69֛Iz~H2[OwGtȇ@4U PoKpמzx2${i-yr%#첷 ?!;/2>?Dc_SrKBLi] /5b H (77JOpUD]lVYgcvjԳU>jԳUw;ZUѨz>4I)>!%OsJ s~ rLh 3@ШE'R('J3c1/hQVK/lG' nDw;Y^@EF{J4VW;ǪDZαjq:Ǫsx+(`D_#UjG&=bϩ'ZV…zvx>A %#hINȫa۴{ЪfQT'(JBH@x6C W@I^g+hCf.B7SI(y#ǬwL% %HJpd*?PUr|) %_e)PKp#S{B ԞPԈ>JB ք$d6.;dc'Q_ !py;& ! sd #: DbD59D@ !x\3lCD,'"BHj20]OSN( ń 1!GBL;%Ksh ZB pwN)!pwBKܝ%Nh 9 -!pwB9ܝSKܝw' bB$1!pw\LSo' bB vH;H;yTN^;vKNHFyHJɋv򢫼Ux;!`,`$Hv\ AO5!w\M&rC 9Ԅ@ 5!vL>&NvJNY ;N;&NV2~N 9ZBFIRBF #JB 섒;YIP $ !!G;8G ;IH(9H :BX;IFȮ8:#$ s G' 9ܰ]HX;rd$bC :I ő$b$$dCHH:#dYF;IC;s#IC;IC;s#!"dIDȮ!N*B䍀rvqv!c$!Gvcgj3u$v 턊H;YEW g'gP2NRURvZc8֚2Ρ"d"dȡ"d+rH@F xOBD K0  y-) X g;ޟm3M@lmtJm#m&j,6?oTmHmvhۖ}gB(P/H}χg6K(<|k%8`@^ +U[ lq Y7^fR]Po5Qdf "2b%? _BoWugCUQMEHNz ]@T(y53#P8r#G xOr" aקąrb)|vB:PLlU }H|wLSrzxWخ/tĉ1H_0j{e! Ia( Cn<'s( 5X0Dsv.zB4d!0/Lav ȶGϪhG[L&> /g5Pc:SjLYPag͡iihȆܐOT[ÑPJ&i*$@bȑjžt$,)1=ӯv 0H LH_5TPȩ )'_4C*r7RD| EEF"C@Rz4 OJܟ u>%]jy;rM8 ].T*CʐfP i@SHU+!ח 0CeHK')$Q*Crf.3*Cr*"Zeġ TTT(d:^#_:) BF 2Ci 2C LS=$j|( ?Yf(V* JQX̐RMg1cSjRCrԐr51H AX(l,K 5& -i 51k I ĵIZCicbCM~YI wag!6ؐH BIMbCiSEI<IZC HE~LӠ,$)bob3k IZC5$ PjrՇY֐`EBMRCԐ/.,K!5 RC\Yӡ5kj BBZCIQ"m!Ϋk 1Ak(p֤5~#Pcg8Q !е !?p&ڒP4wh v!Ү,n),WsZ mn<Ć ! xjC%m!9Qm,ҮIRC|m, t!G\jȗn֐%@Bk⇪!9[Hĵ !eBMM򋷮5Ԗ~bCPԆ8/ yljCPc6ԆC;r$ 5ڒP_xkoIJr$ UՆ:6$?*P 6Dƨ"`6D+R[V zC>\rCqHNFMCPK|lšƣ !nWc}(QܥsPV#)vT5n\qm58+|ǚ|C$!6:ۀ8ğ܇#8g%'<NC2q8H(C$!_d\r(4<.9qڐOUPecFU  !_]n(<.7ԯ!,7$  $(]HiMYmeW ՆpZbC~ZĆlņdZ $ ņ bCkIlHmd! JObCؐ|`Ckʛ $>֐2ۡ5D %P 5GzNZCd6mֳiM[OѲ~6?j o1/rXBL (g8*Ʉ΄BLk빜VDeNx~oӃ#}ğC15Dg2!F0L1q)4JgyGܣJjb-1x{HZL,MkŠY%+ 6-W,ZǨ8ju&Ȅa!OIb F{r=NopGo )7}ciЬvEmh(O%Y<]xx9=|+Jx T҆lE&t>+%HK= H&dyeGR.KjBu}x+lHb%J8ۑ1όFLA#5ѓkfOOGF{|pɉщq:qM%9qo‰w바6?x0@29qa7a0;$K&CS2 4~4AI &̂ycӭ`rL Ai0Kß VJd6#( &D|ϲwXFvN w)ƶgiyl!/JYS0PEB[;M>(|G&/Koĩ#ST4H$(Aﶫ`jÞ)PKp#`:_>ȱ{ݲ &|Y3Sw5KKw~k; p$SY:d[,d[],9y42ΧΉa80d L|$(L#6lhH~fmP4Q )%ij#80b:-H0${ws`"jvd"LgTӥxeK@ݛ^<.W(ʡ>x0d -L odL磳f|\\`:JSӧ I:Y0/AJI0'3H&tfLgGq I0E$K/A $`:@Me% ZF $`HJ-H&Puʈ@2Ţy|$RI0F R+B@P$1w钹mK/$Ws+Η+z=m$@䴓^^rej Y멻`dLOhwtQ@LfϝnkoLPp6ėέ4?u+3#2 FZ`,-;`d)O idnndC|Y0uh'c,_{sdX02`,٥N@C6 dLgyiLQ=ۄ@fR΂-k,Ⱦ<u X0x4W7sNt+Ht^ҕh~jWtB)(0dXF >:&̀!3Thc1rzj{ j{ ɰR Ye"Ll@&t{S?.Dra6KLGx ϗ@}~gWI7}Wƃa'$y 7|cˀ2`d~a>F!۸:j #s>G׌$`W3`80@2F@.yijȹ%/Yٟl' j낑`d -͔ӶLݏXL02!Nb@ugjLGbB :hF10z1ҐfLl)saobv1p`dL,`a q` 980Ww iGP(I902 L@z쬒#?rUiʟEnvjֆXFI0rc( C,Y`d\u 8c.gW+ FHa&4xh憰p`ܖ-Fi0d@tJ &{,^c "Tln؏T@r*NT@R*"}b HNUhG* 9CRS݃_B/th@g^=P k YyTMu=k]G*Cr*qdmD* GM;Rrj,75\]S6J:4гҝm!?Vcޟ]R޿_uWKՀCq*8٢n9C[ėϿ?G~K &xM|;FQ\KOǴ/?7U) ~~].k?\V_qڮI2U_Rʵ a>T~'Ni=-Rx]_HK^W}_ 83F]ֆKGN)xs\wmr4'/4E)#ˑʪ1Z>i7ϭD/-GV|Ehõ%)NX.!W=ȊNѪ|nѺ x*+ u$+U,°N6'urIP;&QX-a,aBfyn,6߲#-]b~?~J^ EDjVhSh@߉, 4?)ob?1um;F/WG+/_0Zwׯ>_ׯo_)~k/_+WJ+>_޿xkCH{U&k RKſJ!+̻5lR;ߋTw{=޾b rG67_o0__=#4,51z.Ұ{jٴX.vQT%e\[C 7$3}͠%Jb(HRBck[7miǨC_wFϟ9I*V#_r4O8_IG4ƣ=p{)#ʻ(?J:ZK'56 E&8laQ085[547дL~K({+oX#eU+YQMi7icHk>[x&\ϔU?2ΕlE:5YO(췪0<8j-~Ī;VZsx`߅b~EQX~LőSI͵6_~M?+J ?M+t]ygnGK*LHU+Y=UߦZ8pVe[w%O`7D0ﵴhl,現pT*3~g7v"kߥ^E9;O(gZOR-}+-Q=w3fےpbFnMɖL/yHH%.endstream endobj 125 0 obj << /Filter /FlateDecode /Length 6365 >> stream x\ێeq}80p:N~ypIArk4-G-3VWlS$bݸwno|n_~w.?+brykJw[IRKr@5di#2`I?m+~mۭ捩}uz>O_Χ䩗tb>}5|x>::9#Gwdw'Ok2<__/OzOnlQBřՔUHą?7f>%/-y=!ڒV&@v ChTJh%4yXh`XRzQ0ZíE-<Ы6]<ô냧G ̜4/7]/aãN|wHEcl|sP9q,2C=\`V3pA`zn-Wj;5 A`7wե\zRQ hh~(;yQMv:e'.}?I-*b7>bcO ă|tjxX"o0J|Ch}~{'/ _Ƅ- cv[ # S, 24:*_H#3| 1_̀!`7pl@n`]|@@l] ϛcpk`g0PHs^gtq8tC@ݲ@9faUe 7͂x p_UZIzGid"e 2Ux'*GDУP*E8dcsc$$P@/ `QY53!r&BppCmQ4 n#+,Ov7fLUwQOC@U9+O^hD`" Gpl!'f0r gp:CGIO'B (,,0@@Ff|kzvT[c -{6D΍B&Ғiy"HTpXUZa >mC*uPyq*<JD<2{IuF9[ *yuKꢃ Iʲ=56Dw$$b4׵!H䭺O13~OWJx_(`1U|, D3iwP:js lFO̖L&ݜr4.RTn 5FRbT*g=$JIm5H{=q,4qo7n'-lq$;h*XL Ţ8l *\1x{ }"y< Y~64tRPkVoNHΤЩY}@՝VTy皤Tx $fzlrV|*wAb;/M=K9Jy"r1X%Ta@ g yDϮZߌ(RI܆*[hxWILyJ4$KmBڥțVu>'Ir&Db⌤L4ÒOΆ_p$InYHyxRTeHRI|6$]@5 pqI 141Y%%3d/\`U~V[B/ 97I$  UDE`GzEkzHih+`$IȱTLHB[3{DƸnWJoWCub!YF[)X9Tg<#ɾUg 6FNLqQ9pBp"XYA2<Χ#g4 =jA4q0Yh`ˡmh}"ǒ1BJ^W(Sga >啫Iv K0&RqD[Ij } EF&o,iȡNU]T*1n{.0XriD)~f`HDU =fPQ v!UUE[ QIXe 46WDf*cUgVz5A!Oݥ\Sݬv}!]z!lȓ*ljh+ &iڰoqToRX-YRgjJqXwH'5N+EFQs;*YK12p-UMDW$UXr!Ojm^q+eu=W'B<9Jpį(2(Q+;VQ(!fBRUߑ&؂[橘LMZVy/@iQYG@&ݑJ d'YR6Ll#I#%ϐtM ֒~HG&I u!~rqf )GU+7^8E{V0QWflU5DeB.h,9T SnnemaH*p1L؋|cj >)ͪ /Rܫ֣2ES/Iu,yk,e]׍ ɮZVQ;|=^ ^ma/& ? N*z4,5mH(TjjϵaȱTjC4Hepf,,T` z H .;K{[_E*78q;y'GZx5u|0C9RQndA1xHT)qA05qQ-n1D0/)zi6Hd$~wDWS_\/ev ÔuաmJ^U-X#X[`Cp.Hz5ø0 F8Q"rn7P 9\ 5vV~Kl32\Ŝ &v1ҪI.bhKg?,VڲuǻmHƞu>.nU%S/'",'!":+_fo&b7xCm!z [}ƬjTefȦ!Anks^'J3 85Ⱥ.a94B!$7~R<7o6u0D k'ŇTa\ ::zNTɸWMf$nߚ:ܨ;u}@vٱɀcKPU 7@%ziڦpA(ox ~6;آgz+ڮlh`ɿGx-+Jbc4ʮ=6&)if kі\L F8QKr_9^k@òLq1[wz6Y"Y#yEmx(^T ÐeC*otXn;h0f rzܥS??Ta)~ 2F"|dХj߈ЪV: i::LSo; SWM~>vҕ'oC;S`>(Eq|mH${lNǯՙspۑ)fzendstream endobj 126 0 obj << /Filter /FlateDecode /Length 790 >> stream xmTn@ +t\'yLhh7/N}I+#kzDЂ3|g h#6DŽRk20nӆ2Lz'B6yC*5ʧ`Uc jjHl3wM*y!qE0[\QceHMFNlj3FZŮȈƅ͑Hwh1.Il)(ٔ!1f;tmK"?\b'sU!zQX{ow0_:.+17jeFz'^nߏI3 +K98,!q i09-t_igH73ܖDL}|^endstream endobj 127 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1328 >> stream xmLSgoi b&Dݽ5s A\"c5F -J"pO-o 0Dd4f̢_-{9I?8Ŋ>p2}z3ACˆXoK[q[ŪP7f qHO(ߝ7Arr*?]*T 2~@)Jp! B&R*ڥR$㝉|X)+ja?K.SB7 J)TEB ðJeP(H1,;`Xbcb FdDL}gnC8hò;Cz Oh.3?{=ח\&J _4㦹 !aL*>Ufd,~c'&oblHa=!m;oI?<@yBк?:cTo/x4PKfFu̴8ۆlÝi\rt(aGRk@nnԧ%`?(^BkEdotU5|u u1W`aM?x V|Q/2#YMZB+TShp6:_8;^> .+8[ o[A]]'1Ւe{'^%\+ wO;_嬤(0?^g|M/+֗Nh4(Yã1i;&fO ]r'dFp.Gw-OQҿ|{&`^Cg0zX(qYRS鱉ٳ3L vjh1|UF3D b)7Τ3kw$s~F2|7<`l^_>=T^ GH.B/GQ4 mݍb47\3(-EI`/x&mtx?gUk.L*s}NL>D m=-v )1@ GxX .5UK1q( WA{-.<~'"C6(Սa욼b`l,XLTK;TGepbB3b6`֒̔YMp%myIp51;ZܽQP̳D G-tZb1endstream endobj 128 0 obj << /Type /XRef /Length 149 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 129 /ID [<74ffb695b27f04eb8b7e265373c1c68f>] >> stream xcb&F~0 $8JDD,eA)GD2B`QD2^2AhX8"<*?HN`5w@$*d\$3Xv11l`5 eLKAr+b3ǃuu3$ endstream endobj startxref 136569 %%EOF HSAUR3/inst/doc/Ch_logistic_regression_glm.Rnw0000644000176200001440000011117014416236367020774 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Logistic Regression and Generalized Linear Models} %%\VignetteDepends{survival,MASS,multcomp,lattice} \setcounter{chapter}{6} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ \chapter[Logistic Regression and Generalized Linear Models]{Logistic Regression and Generalized Linear Models: Blood Screening, Women's Role in %' Society, Colonic Polyps, Driving and Back Pain, and Happiness in China \label{GLM}} \section{Introduction} \section{Logistic Regression and Generalized Linear Models} \section{Analysis Using \R{}} \subsection{ESR and Plasma Proteins} \begin{figure} \begin{center} <>= data("plasma", package = "HSAUR3") layout(matrix(1:2, ncol = 2)) cdplot(ESR ~ fibrinogen, data = plasma) cdplot(ESR ~ globulin, data = plasma) @ \caption{Conditional density plots of the erythrocyte sedimentation rate (ESR) given fibrinogen and globulin. \label{GLM:plasma1}} \end{center} \end{figure} We can now fit a logistic regression model to the data using the \Rcmd{glm} function. We start with a model that includes only a single explanatory variable, \Robject{fibrinogen}. The code to fit the model is <>= plasma_glm_1 <- glm(ESR ~ fibrinogen, data = plasma, family = binomial()) @ The formula implicitly defines a parameter for the global mean (the intercept term) as discussed in \Sexpr{ch("ANOVA")} and \Sexpr{ch("MLR")}. The distribution of the response is defined by the \Robject{family} argument, a binomial distribution in our case. \index{family argument@\Rcmd{family} argument} \index{Binomial distribution} (The default link function when the binomial family is requested is the logistic function.) \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to ESR and fibrigonen. \label{GLM-plasma-summary-1}} \SchunkLabel <>= summary(plasma_glm_1) @ \SchunkRaw From the results in Figure~\ref{GLM-plasma-summary-1} we see that the regression coefficient for fibrinogen is significant at the $5\%$ level. An increase of one unit in this variable increases the log-odds in favor of an ESR value greater than $20$ by an estimated $\Sexpr{round(coef(plasma_glm_1)["fibrinogen"], 2)}$ with 95\% confidence interval <>= ci <- confint(plasma_glm_1)["fibrinogen",] @ <>= confint(plasma_glm_1, parm = "fibrinogen") @ <>= print(ci) @ These values are more helpful if converted to the corresponding values for the odds themselves by exponentiating the estimate <>= exp(coef(plasma_glm_1)["fibrinogen"]) @ and the confidence interval <>= ci <- exp(confint(plasma_glm_1, parm = "fibrinogen")) @ <>= exp(confint(plasma_glm_1, parm = "fibrinogen")) @ <>= print(ci) @ The confidence interval is very wide because there are few observations overall and very few where the ESR value is greater than $20$. Nevertheless it seems likely that increased values of fibrinogen lead to a greater probability of an ESR value greater than $20$. We can now fit a logistic regression model that includes both explanatory variables using the code <>= plasma_glm_2 <- glm(ESR ~ fibrinogen + globulin, data = plasma, family = binomial()) @ and the output of the \Rcmd{summary} method is shown in Figure \ref{GLM-plasma-summary-2}. \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to ESR and both globulin and fibrinogen. \label{GLM-plasma-summary-2}} \SchunkLabel <>= summary(plasma_glm_2) @ \SchunkRaw <>= plasma_anova <- anova(plasma_glm_1, plasma_glm_2, test = "Chisq") @ The coefficient for gamma globulin is not significantly different from zero. Subtracting the residual deviance of the second model from the corresponding value for the first model we get a value of $\Sexpr{round(plasma_anova$Deviance[2], 2)}$. Tested using a $\chi^2$-distribution with a single degree of freedom this is not significant at the 5\% level and so we conclude that gamma globulin is not associated with ESR level. In \R{}, the task of comparing the two nested models can be performed using the \Rcmd{anova} function <>= anova(plasma_glm_1, plasma_glm_2, test = "Chisq") @ Nevertheless we shall use the predicted values from the second model and plot them against the values of \stress{both} explanatory variables using a \stress{bubbleplot} to illustrate the use of the \Rcmd{symbols} function. \index{Bubbleplot} The estimated conditional probability of a ESR value larger $20$ for all observations can be computed, following formula (\ref{GLM:logitexp}), by <>= prob <- predict(plasma_glm_2, type = "response") @ and now we can assign a larger circle to observations with larger probability as shown in Figure~\ref{GLM:bubble}. The plot clearly shows the increasing probability of an ESR value above $20$ (larger circles) as the values of fibrinogen, and to a lesser extent, gamma globulin, increase. \begin{figure} \begin{center} <>= plot(globulin ~ fibrinogen, data = plasma, xlim = c(2, 6), ylim = c(25, 55), pch = ".") symbols(plasma$fibrinogen, plasma$globulin, circles = prob, add = TRUE) @ \caption{Bubbleplot of fitted values for a logistic regression model fitted to the \Robject{plasma} data. \label{GLM:bubble}} \end{center} \end{figure} \subsection{Women's Role in Society} %' Originally the data in Table~\ref{GLM-womensrole-tab} would have been in a completely equivalent form to the data in Table~\ref{GLM-plasma-tab} data, but here the individual observations have been grouped into counts of numbers of agreements and disagreements for the two explanatory variables, \Robject{gender} and \Robject{education}. To fit a logistic regression model to such grouped data using the \Rcmd{glm} function we need to specify the number of agreements and disagreements as a two-column matrix on the left-hand side of the model formula. We first fit a model that includes the two explanatory variables using the code <>= data("womensrole", package = "HSAUR3") fm1 <- cbind(agree, disagree) ~ gender + education womensrole_glm_1 <- glm(fm1, data = womensrole, family = binomial()) @ \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to the \Robject{womensrole} data. \label{GLM-womensrole-summary-1}} \SchunkLabel <>= summary(womensrole_glm_1) @ \SchunkRaw From the \Rcmd{summary} output in Figure~\ref{GLM-womensrole-summary-1} it appears that education has a highly significant part to play in predicting whether a respondent will agree with the statement read to them, but the respondent's %' gender is apparently unimportant. As years of education increase the probability of agreeing with the statement declines. We now are going to construct a plot comparing the observed proportions of agreeing with those fitted by our fitted model. Because we will reuse this plot for another fitted object later on, we define a function which plots years of education against some fitted probabilities, e.g., <>= role.fitted1 <- predict(womensrole_glm_1, type = "response") @ and labels each observation with the person's gender: %%' \numberSinput <>= myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } @ \rawSinput \begin{figure} \begin{center} <>= myplot(role.fitted1) @ \caption{Fitted (from \Robject{womensrole\_glm\_1}) and observed probabilities of agreeing for the \Robject{womensrole} data. The size of the symbols is proportional to the sample size. \label{GLM-role1plot}} \end{center} \end{figure} In lines 3--5 of function \Rcmd{myplot}, an empty scatterplot of education and fitted probabilities (\Rcmd{type = "n"}) is set up, basically to set the scene for the following plotting actions. Then, two lines are drawn (using function \Rcmd{lines} in lines 6 and 7), one for males (with line type 1) and one for females (with line type 2, i.e., a dashed line), where the logical vector \Robject{f} describes both genders. In line 9 a legend is added. Finally, in lines 12 onwards we plot `observed' values, i.e., the frequencies of agreeing in each of the groups (\Robject{y} as computed in lines 10 and 11) and use the Venus and Mars symbols to indicate gender. The size of the plotted symbol is proportional to the numbers of observations in the corresponding group of gender and years of education. The two curves for males and females in Figure~\ref{GLM-role1plot} are almost the same reflecting the non-significant value of the regression coefficient for gender in \Robject{womensrole\_glm\_1}. But the observed values plotted on Figure~\ref{GLM-role1plot} suggest that there might be an interaction of education and gender, a possibility that can be investigated by applying a further logistic regression model using \index{Interaction} <>= fm2 <- cbind(agree,disagree) ~ gender * education womensrole_glm_2 <- glm(fm2, data = womensrole, family = binomial()) @ The \Robject{gender} and \Robject{education} interaction term is seen to be highly significant, as can be seen from the \Rcmd{summary} output in Figure~\ref{GLM-womensrole-summary-2}. \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the logistic regression model fitted to the \Robject{womensrole} data. \label{GLM-womensrole-summary-2}} \SchunkLabel <>= summary(womensrole_glm_2) @ \SchunkRaw \begin{figure} \begin{center} <>= role.fitted2 <- predict(womensrole_glm_2, type = "response") myplot(role.fitted2) @ \caption{Fitted (from \Robject{womensrole\_glm\_2}) and observed probabilities of agreeing for the \Robject{womensrole} data. \label{GLM-role2plot}} \end{center} \end{figure} We can obtain a plot of deviance residuals plotted against fitted values using the following code above Figure~\ref{GLM:devplot}. \begin{figure} \begin{center} <>= res <- residuals(womensrole_glm_2, type = "deviance") plot(predict(womensrole_glm_2), res, xlab="Fitted values", ylab = "Residuals", ylim = max(abs(res)) * c(-1,1)) abline(h = 0, lty = 2) @ \caption{Plot of deviance residuals from logistic regression model fitted to the \Robject{womensrole} data. \label{GLM:devplot}} \end{center} \end{figure} The residuals fall into a horizontal band between $-2$ and $2$. This pattern does not suggest a poor fit for any particular observation or subset of observations. \subsection{Colonic Polyps} The data on colonic polyps in Table~\ref{GLM-polyps-tab} involves \stress{count} data. We could try to model this using multiple regression but there are two problems. The first is that a response that is a count can take only positive values, and secondly such a variable is unlikely to have a normal distribution. Instead we will apply a GLM with a log link function, ensuring that fitted values are positive, and a Poisson error distribution, i.e., \index{Poisson error distribution} \index{Poisson regression} \begin{eqnarray*} \P(y) = \frac{e^{-\lambda}\lambda^y}{y!}. \end{eqnarray*} This type of GLM is often known as \stress{Poisson regression}. We can apply the model using <>= data("polyps", package = "HSAUR3") polyps_glm_1 <- glm(number ~ treat + age, data = polyps, family = poisson()) @ (The default link function when the Poisson family is requested is the log function.) \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the Poisson regression model fitted to the \Robject{polyps} data. \label{GLM-polyps-summary-1}} \SchunkLabel <>= summary(polyps_glm_1) @ \SchunkRaw We can deal with overdispersion by using a procedure known as \stress{quasi-likelihood}, \index{Quasi-likelihood} which allows the estimation of model parameters without fully knowing the error distribution of the response variable. \cite{HSAUR:McCullaghNelder1989} give full details of the quasi-likelihood approach. In many respects it simply allows for the estimation of $\phi$ from the data rather than defining it to be unity for the binomial and Poisson distributions. We can apply quasi-likelihood estimation to the colonic polyps data using the following \R{} code <>= polyps_glm_2 <- glm(number ~ treat + age, data = polyps, family = quasipoisson()) summary(polyps_glm_2) @ The regression coefficients for both explanatory variables remain significant but their estimated standard errors are now much greater than the values given in Figure~\ref{GLM-polyps-summary-1}. A possible reason for overdispersion in these data is that polyps do not occur independently of one another, but instead may `cluster' together. %' \index{Overdispersion|)} \subsection{Driving and Back Pain} A frequently used design in medicine is the matched case-control study in which each patient suffering from a particular condition of interest included in the study is matched to one or more people without the condition. The most commonly used matching variables are age, ethnic group, mental status, etc. A design with $m$ controls per case is known as a $1:m$ matched study. In many cases $m$ will be one, and it is the $1:1$ matched study that we shall concentrate on here where we analyze the data on low back pain given in Table~\ref{GLM-backpain-tab}. To begin we shall describe the form of the logistic model appropriate for case-control studies in the simplest case where there is only one binary explanatory variable. With matched pairs data the form of the logistic model involves the probability, $\varphi$, that in matched pair number $i$, for a given value of the explanatory variable the member of the pair is a case. Specifically the model is \begin{eqnarray*} \text{logit}(\varphi_i) = \alpha_i + \beta x. \end{eqnarray*} The odds that a subject with $x=1$ is a case equals $\exp(\beta)$ times the odds that a subject with $x=0$ is a case. The model generalizes to the situation where there are $q$ explanatory variables as \begin{eqnarray*} \text{logit}(\varphi_i) = \alpha_i + \beta_1 x_1 + \beta_2 x_2 + \dots \beta_q x_q. \end{eqnarray*} Typically one $x$ is an explanatory variable of real interest, such as past exposure to a risk factor, with the others being used as a form of statistical control in addition to the variables already controlled by virtue of using them to form matched pairs. This is the case in our back pain example where it is the effect of car driving on lower back pain that is of most interest. The problem with the model above is that the number of parameters increases at the same rate as the sample size with the consequence that maximum likelihood estimation is no longer viable. We can overcome this problem if we regard the parameters $\alpha_i$ as of little interest and so are willing to forgo their estimation. If we do, we can then create a \stress{conditional likelihood function} that will yield maximum likelihood estimators of the coefficients, $\beta_1, \dots, \beta_q$, that are consistent and asymptotically normally distributed. The mathematics behind this are described in \cite{HSAUR:Collett2003}. The model can be fitted using the \Rcmd{clogit} function from package \Rpackage{survival}; the results are shown in Figure~\ref{GLM-backpain-print}. <>= library("survival") backpain_glm <- clogit(I(status == "case") ~ driver + suburban + strata(ID), data = backpain) @ The response has to be a logical (\Rcmd{TRUE} for cases) and the \Rcmd{strata} command specifies the matched pairs. \renewcommand{\nextcaption}{\R{} output of the \Robject{print} method for the conditional logistic regression model fitted to the \Robject{backpain} data. \label{GLM-backpain-print}} \SchunkLabel <>= print(backpain_glm) @ \SchunkRaw The estimate of the odds ratio of a herniated disc occurring in a driver relative to a nondriver is $\Sexpr{round(exp(coef(backpain_glm)[1]),2)}$ with a $95\%$ confidence interval of $\Sexpr{paste("(", paste(round(exp(confint(backpain_glm)[1,]), 2), collapse = ","),")", sep = "")}$. Conditional on residence we can say that the risk of a herniated disc occurring in a driver is about twice that of a nondriver. There is no evidence that where a person lives affects the risk of lower back pain. \subsection{Happiness in China} We model the probability distribution of reported happiness using a proportional odds model. In \R{}, the function \Rcmd{polr} from the \Rpackage{MASS} package \citep{HSAUR:VenablesRipley2002, PKG:MASS} implements such models, but in a slightly different form as explained in Section~\ref{GLM:polr}. The model we are going to fit reads \begin{eqnarray*} \log\left(\frac{\P(y \le k | x_1, \dots, x_q)}{\P(y > k | x_1, \dots, x_q)}\right) & = & \zeta_k - (\beta_1 x_1 + \dots + \beta_q x_q) \end{eqnarray*} and we have to take care when interpreting the signs of the estimated regression coefficients. Another issue needs our attention before we start. Three of the explanatory variables are itself ordered (\Robject{R\_edu}, the level of education of the responding woman; \Robject{R\_health}, the health status of the responding woman in the last year; and \Robject{A\_edu}, the level of education of the woman's partner). For unordered factors, the default treatment contrasts, see Chapters~\ref{ANOVA}, \ref{MLR}, and \ref{SIMC}, compares the effect of each level to the first level. This coding does not take the ordinal nature of an ordered factor into account. One more appropriate coding is called \stress{Helmert} contrasts. \index{Helmert constrast} Here, we compare each level $k$ to the average of the preceding levels, i.e., the second level to the first, the third to the average of the first and the second, and so on (these contrasts are also sometimes called \stress{reverse Helmert contrasts}). The \Rcmd{option} function can be used to specify the default contrasts for unordered (we don't change the default \Robject{contr.treatment} option) and ordered factors. The returned \Robject{opts} variable stores the options before manipulation and can be used to conveniently restore them after we fitted the proportional odds model: <>= library("MASS") opts <- options(contrasts = c("contr.treatment", "contr.helmert")) CHFLS_polr <- polr(R_happy ~ ., data = CHFLS, Hess = TRUE) options(opts) @ \renewcommand{\nextcaption}{\R{} output of the \Robject{summary} method for the proportional odds model fitted to the \Robject{CHFLS} data. \label{GLM-CHFLS-polr-summary}} \SchunkLabel <>= summary(CHFLS_polr) @ \SchunkRaw As (almost) always, the \Rcmd{summary} function can be used to display the fitted model, see Figure~\ref{GLM-CHFLS-polr-summary}. The largest absolute values of the $t$-statistics are associated with the self-reported health variable. To interpret the results correctly, we first make sure to understand the definition of the Helmert contrasts. <>= H <- with(CHFLS, contr.helmert(table(R_health))) rownames(H) <- levels(CHFLS$R_health) colnames(H) <- paste(levels(CHFLS$R_health)[-1], "- avg") H @ Let's focus on the probability of being very unhappy. A positive regression coefficient for the first contrast of health means that the probability of being very unhappy is smaller (because of the sign switch in the regression coefficients) for women that reported their health as not good compared to women that reported a poor health. Thus, the results given in Figure~\ref{GLM-CHFLS-polr-summary} indicate that better health leads to happier women, a finding that sits well with our expectations. The other effects are less clear to interpret, also because formal inference is difficult and no $p$-values are displayed in the summary output of Figure~\ref{GLM-CHFLS-polr-summary}. As a remedy, making use of the asymptotic distribution of maximum-likelihood-based estimators, we use the \Rcmd{cftest} function from the \Rpackage{multcomp} package \citep{PKG:multcomp} to compute normal $p$-values assuming that the estimated regression coefficients follow a normal limiting distribution (which is, for \Sexpr{nrow(CHFLS) - 3} observations, not completely unrealistic); the results are given in Figure~\ref{GLM-CHFLS-polr-cftest}. %% mess with the output function <>= library("multcomp") op <- options(digits = 2) cf <- cftest(CHFLS_polr) cftest <- function(x, digits = max(3, getOption("digits") - 3)) { x <- cf cat("\n\t", "Simultaneous Tests for General Linear Hypotheses\n\n") if (!is.null(x$type)) cat("Multiple Comparisons of Means:", x$type, "Contrasts\n\n\n") call <- if (isS4(x$model)) x$model@call else x$model$call if (!is.null(call)) { cat("Fit: ") print(call) cat("\n") } pq <- x$test mtests <- cbind(pq$coefficients, pq$sigma, pq$tstat, pq$pvalues) error <- attr(pq$pvalues, "error") pname <- switch(x$alternativ, less = paste("Pr(<", ifelse(x$df == 0, "z", "t"), ")", sep = ""), greater = paste("Pr(>", ifelse(x$df == 0, "z", "t"), ")", sep = ""), two.sided = paste("Pr(>|", ifelse(x$df == 0, "z", "t"), "|)", sep = "")) colnames(mtests) <- c("Estimate", "Std. Error", ifelse(x$df == 0, "z value", "t value"), pname) type <- pq$type if (!is.null(error) && error > .Machine$double.eps) { sig <- which.min(abs(1/error - (10^(1:10)))) sig <- 1/(10^sig) } else { sig <- .Machine$double.eps } cat("Linear Hypotheses:\n") alt <- switch(x$alternative, two.sided = "==", less = ">=", greater = "<=") rownames(mtests) <- rownames(mtests) printCoefmat(mtests, digits = digits, has.Pvalue = TRUE, P.values = TRUE, eps.Pvalue = sig) switch(type, univariate = cat("(Univariate p values reported)"), `single-step` = cat("(Adjusted p values reported -- single-step method)"), Shaffer = cat("(Adjusted p values reported -- Shaffer method)"), Westfall = cat("(Adjusted p values reported -- Westfall method)"), cat("(Adjusted p values reported --", type, "method)")) cat("\n\n") invisible(x) } @ \renewcommand{\nextcaption}{\R{} output of the \Robject{cftest} function for the proportional odds model fitted to the \Robject{CHFLS} data. \label{GLM-CHFLS-polr-cftest}} \SchunkLabel <>= library("multcomp") cftest(CHFLS_polr) @ \SchunkRaw <>= options(op) @ There seem to be geographical differences and also older and larger women seem to be happier. Other than that, education and income don't seem to contribute much in this model. One remarkable thing about the proportional odds model is that, similar to the quantile regression models presented in Chapter~\ref{QR}, it directly formulates a regression problem in terms of conditional distributions, not only conditional means (the same is trivially true for the binary case in logistic regression). Consequently, the model allows making distributional predictions, in other words, we can infer the predicted distribution or density of happiness in a woman with certain values for the explanatory variables that entered the model. To do so, we focus on the woman corresponding to the first row of the data set: \clearpage <>= CHFLS[1,] @ and repeat these values as often as there are levels in the \Robject{R\_health} factor, and each row is assigned one of these levels <>= nd <- CHFLS[rep(1, nlevels(CHFLS$R_health)),] nd$R_health <- ordered(levels(nd$R_health), labels = levels(nd$R_health)) @ We can now use the \Rcmd{predict} function to compute the density of the response variable \Rcmd{R\_happy} for each of these five hypothetical women: <>= (dens <- predict(CHFLS_polr, newdata = nd, type = "probs")) @ From each row, we get the predicted probability that the self-reported happiness will correspond to the levels shown in the column name. These densities, one for each row in \Robject{nd} and therefore for each level of health, can now be plotted, for example using a conditional barchart, see Figure~\ref{GLM-CHFLS-pred-plot}. We clearly see that better health is associated with greater happiness. \begin{figure} \begin{center} <>= library("lattice") D <- expand.grid(R_health = nd$R_health, R_happy = ordered(LETTERS[1:4])) D$dens <- as.vector(dens) barchart(dens ~ R_happy | R_health, data = D, ylab = "Density", xlab = "Happiness",) @ \caption{Predicted distribution of happiness for hypothetical women with health conditions rating from poor to excellent, with the remaining explanatory variables being the same as for the woman corresponding to the first row in the \Robject{CHFLS} data frame. The levels of happiness have been abbreviated (A: very unhappy, B: not too happy, C: somewhat happy; D: very happy). \label{GLM-CHFLS-pred-plot}} \end{center} \end{figure} We'll present an alternative and maybe simpler model in Chapter~\ref{RP}. \section{Summary of Findings} <>= ci <- round(exp(confint(plasma_glm_1, parm = "fibrinogen")), 2) ci <- paste("(", paste(ci, collapse = ","), ")", sep = "") @ \begin{description} \item[Blood screening] Application of logistic regression shows that an increase of one unit in the fibrinogen value produces approximately a six fold increase in the odds of an ESR value greater than $20$. However, because the number of observations is small the corresponding $95\%$ confidence interval for the odds is rather wide namely, $\Sexpr{ci}$. Gamma globulin values do not help in the prediction of ESR values greater than $20$ over and above the fibrinogen values. \item[Women's role in society] Modeling the probability of agreeing with the statement about women's role in society using logistic regression demonstrates that it is the interaction of education and gender which is of most importance; for fewer years of education women have a higher probability of agreeing with the statement than men, but when the years of education exceed about ten then this situation reverses. \item[Colonic polyps] Fitting a Poisson regression allowing for overdispersion shows that the drug treatment is effective in reducing the number of polyps with age having only a marginal effect. \item[Driving and back pain] Application of conditional logistic regression shows that the odds ratio of a herniated disc occurring in a driver relative to a nondriver is $\Sexpr{round(exp(coef(backpain_glm)[1]),2)}$ with a $95\%$ confidence interval of $\Sexpr{paste("(", paste(round(exp(confint(backpain_glm)[1,]), 2), collapse = ","),")", sep = "")}$. There is no evidence that where a person lives affects the risk of suffering lower back pain. \item[Happiness in China] Better health is associated with greater happiness -- what a surprise! \end{description} \section{Final Comments} Generalized linear models provide a very powerful and flexible framework for the application of regression models to a variety of non-normal response variables, for example, logistic regression to binary responses and Poisson regression to count data. \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_multidimensional_scaling.Rnw0000644000176200001440000002740714416236367021146 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Multidimensional Scaling} %%\VignetteDepends{ape,wordcloud,MASS} \setcounter{chapter}{19} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= x <- library("ape") library("wordcloud") @ \chapter[Multidimensional Scaling]{Multidimensional Scaling: British Water Voles and Voting in US Congress \label{MDS}} \section{Introduction} \section{Multidimensional Scaling} \section{Analysis Using \R{}} We can apply classical scaling to the distance matrix for populations of water voles using the \R{} function \Rcmd{cmdscale}. The following code finds the classical scaling solution and computes the two criteria for assessing the required number of dimensions as described above. <>= data("watervoles", package = "HSAUR3") voles_mds <- cmdscale(watervoles, k = 13, eig = TRUE) voles_mds$eig @ Note that some of the eigenvalues are negative. The criterion $P_2$ can be computed by <>= sum(abs(voles_mds$eig[1:2]))/sum(abs(voles_mds$eig)) @ and the criterion suggested by \cite{HSAUR:Mardiaetal1979} is <>= sum((voles_mds$eig[1:2])^2)/sum((voles_mds$eig)^2) @ The two criteria for judging number of dimensions differ considerably, but both values are reasonably large, suggesting that the original distances between the water vole populations can be represented adequately in two dimensions. The two-dimensional solution can be plotted by extracting the coordinates from the \Robject{points} element of the \Robject{voles\_mds} object; the plot is shown in Figure~\ref{MDS-watervoles-plot}. The \Rcmd{textplot} function from package \Rpackage{wordcloud} can be used to annotate the plot with non-overlapping text. \begin{figure} \begin{center} <>= x <- voles_mds$points[,1] y <- voles_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") textplot(x, y, words = colnames(watervoles), new = FALSE) @ \caption{Two-dimensional solution from classical multidimensional scaling of distance matrix for water vole populations. \label{MDS-watervoles-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= library("ape") st <- mst(watervoles) plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(x)*1.2, type = "n") for (i in 1:nrow(watervoles)) { w1 <- which(st[i, ] == 1) segments(x[i], y[i], x[w1], y[w1]) } textplot(x, y, words = colnames(watervoles), new = FALSE) @ \caption{Minimum spanning tree for the \Robject{watervoles} data. \label{MDS-watervoles-mst}} \end{center} \end{figure} We shall now apply non-metric scaling to the voting behavior shown in Table~\ref{MDS-voting-tab}. Non-metric scaling is available with function \Rcmd{isoMDS} from package \Rpackage{MASS} \citep{HSAUR:VenablesRipley2002}: <>= library("MASS") data("voting", package = "HSAUR3") voting_mds <- isoMDS(voting) @ and we again depict the two-dimensional solution (Figure~\ref{MDS-voting-plot}). The Figure suggests that voting behavior is essentially along party lines, although there is more variation among Republicans. The voting behavior of one of the Republicans (Rinaldo) seems to be closer to his democratic colleagues rather than to the voting behavior of other Republicans. \begin{figure} \begin{center} <>= x <- voting_mds$points[,1] y <- voting_mds$points[,2] plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2", xlim = range(voting_mds$points[,1])*1.2, type = "n") textplot(x, y, words = colnames(voting), new = FALSE) voting_sh <- Shepard(voting[lower.tri(voting)], voting_mds$points) @ \caption{Two-dimensional solution from non-metric multidimensional scaling of distance matrix for voting matrix. \label{MDS-voting-plot}} \end{center} \end{figure} \begin{figure} \begin{center} <>= plot(voting_sh, pch = ".", xlab = "Dissimilarity", ylab = "Distance", xlim = range(voting_sh$x), ylim = range(voting_sh$x)) lines(voting_sh$x, voting_sh$yf, type = "S") @ \caption{The Shepard diagram for the \Robject{voting} data shows some discrepancies between the original dissimilarities and the multidimensional scaling solution. \label{MDS-voting-shepard}} \end{center} \end{figure} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_conditional_inference.pdf0000644000176200001440000020060314416277544020406 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3534 /Filter /FlateDecode /N 65 /First 530 >> stream x[Ys۶~oM';qlVYNdy+K$g鯿H %vQhx|g"Yife9, s,L+YƄPN0;&LL3)^j&0iA#&Ӕ1%)pϘ2Xw+S|̴ "6Yg͌L@0cQf%s9ӌ9( b#a'G8~挿F䊽|I_Oa>&IbqwEW$x贬mUoE([]e}eE Tm/1iޟvgT 8#RI<$/0gV̯5;CT|L/g&;N.9l>L9z49_>W7uQ5xdJR.y-{V[* J+{ުfYS[W.1Fʵ5z6a L'wc.?IEf_XȐ:S P\v<̉8$lz2c{EkLfq\t. 3 N9'>/Cg/@Yi v>3PԪ2e=.F#A"u!JJP-WmjFhRRxʯgЪ hnX˾&&8Yh joF/EϕJѬ&V1ة.GЊ9dNEd]TDM+˞HDr5:-,*3L.KO !8U:PKAm`׽[QzX\ίI IG [jA?$:ld 쿃;dqB{_Ppj1YGp:¸FcR]Y;B0ОꁜįHPȳˋkxxIK6w.o>?/&on<Ϯ~ůy#~|'úK"Oz|m7W/B~/dByԿ"/VX_e_r /Ja&o"-ܩbj|A1wt|m*YߜtNO>EǯƳbbq-ƩM'l6/Zm]_דˍ}Lc&[lvHj}|;pxms5,ֺjF?=`rtzw3ihY#ue;e5J Ex\b ` }qiR~$v!D[RKMUh'AɃAai nufima#yʣ%]mϻAmgȖȻp$_D XH$[-NfoMY2U/mC4DoprbV+BGyFglNSP@aqЈb$&H Erc˳d4:˦IiԎF27)K͵[iY^7z]UJ $2 K< PYlPbtHJz7lE/A/Mſ5ʡiU.',˗ IbͰ\Q76 (fenGw`j./F 2i@Unbaס@!mzC^[XM)T|ݫ?7wxI~uwt1*c-e ȧ$LG(BOs+ӅBM\ZE٢6ՒvYvh @1GsPzg;r,M^ÅRb}?ʻ ։X`j ĺnݥEvq"Vۓs(أ)&klhmX]~&]eRUF?ng%hok<8xZJ=ixLacZ$oa+!KzB Tg V ml :#[^}Vbbw5P?ڬoֹ8f6NN]5m3*1F6Zm(RJmulUi?D(9+:bQڬ\TedGVmi?FR ej˹}{^>ϋAdt5vi͕mB5vnU3 @iBl)^#5qr|)$2WxڶhokQ\`sLa2XFǨMDIL)$Y5 4|o@۵`v;oml/s5mle/iқ~f|dB\`2d-c!-V(ik D31Bn1w] e+vR]}^|鏭cҾYMiy<MٺM~25j1WãRlZmb@wz)ZO$.XkВ4*PE#|)K[;׷ke{v=~QGHbWY8W :ݭÃm:۬xhلqD^Z µ2)b?4xQxHFfR=mx%[1rvkA s#t]}F"]ڐz`` V@.m%ct R&et%=Y/bq:$YvYtf,ڡl:j<-thʹ<2LcdN[¹'Dm~>;w0m!<&a> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:24+02:00 2023-04-14T18:29:24+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 68 0 obj << /Filter /FlateDecode /Length 3590 >> stream xɒ +#v/$U79rҸrupx8PR&.{CMQHA뇷oOs9ÿf&zfl(KV;3̜0>^G|i+M9n_ . ,%h˒!AS;ePڌ57>],>-8IKGd~q2n&0H LSA ~PEIGp㋥ϜY!=2=H8;xe{ACFGRr߸d2hLn |ZS)24p啒]2B~ )3| ϳ.Y!E. >OEa8iYx`5`eTFk]Dg8\HE rTAҒ-a,gD(cg1z  l(Zgc\=r̭Vj w914$/,Xt,"x9@/GjB(>غXq]``^\aB&qĽ#x]zK1h30)o #1#(K>Ŷ="9Z'ZBfb@ED zҏ6A!x:(Qrl6U(7ά 0>MHMZGSUz2`\ܥ,sK + 1_:0zB<.8OgEhK艂v@1} 7DȠJ"qWa҆EEBR}đ1X,8w鐑xÁ|Wy <~&KTN |b|Pe<٫]p>AB} q:+.} M5І$\q`%v:lhD.*S&oJ>$<^^Ekv$(9(@|DuԮ8#c}/1|3ۈRY\G|,P=KE:q} 3=yS"iE0=:僐V7z$np `X)ByY2Uo`+beWd2GNDDTX-SY%I({;LWV.K,JU$~,g}) -%IDeS hߦ[\ao> 晩] cJI1BTWA7 Œi3[p"+n.XΡ{LX[tcCMIa$Ψ lŰٞIx.Oxjr CjȤpx8qwX+biALQ•V]hmˎjl*y5fQjW"ъhT˲4âфZǣ 8:۬O˲bDEoҹi|݅YEAl㜐Wi3X d{`Ϫd=Qao:1$6@<H'Z?j!KohXw0o!zCSWޤ 'ۚ8y\k5ZN]Jb$<ի1ixORfwЋ*3 F@alzo ZQ=Խ QPbWk2 'n.@+__蜗=B;PI4AbdFvO0؍_;n͛@q=nZTGtZڃ.v >H:ҩ8D:UyCͫlt=9]lԇA3;y2&PfBڟ10suC{)Td \2D$;뙎cn=HdSFOw4I S6CaêIP%$3lq:1Ďv9+}SUxc(TDCSb%'s7ssR%H w~,LW6"JْST\=gC 0z5VDT o5`#ǺL>hO|u^5$źaKF믋nJ:+UF@zOC0T]2p ܐ ܐT X IXp3fc*&\u^]4Vi JQZ6ۨ~ "G]k"F ?+cV[F>,bnMiJU?0BWAAf"W/^E`9LGL*!_ZO510*fryS',)ې=yUEf|åV]5*ڕzk?I GA4^ BTUό-q;+DoJWtAqFrEtzdFj-qReP*Q]@yD|^@. x].jxj ʖ9c+X#U t3kOÊ@ÓP󊇃#3O-xO7fKrG%&BFh>vGBMnb;~/0~jDM?-_ұD$[@g$5fq=G c_)։^c9.+r;5YB~F }V ۉHF RL>" &9 hYՋ6%n$|oO1<*rS/ Uczpa 1!/XG !mԚ %q.\C>!RHH,ޕy4;f&*endstream endobj 69 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xW PT׶mýWE}q"4(FQ"-(ҍt2D ,Aqis5IE41&y}O7%yUunskV0CBzz/c4M'~GpRC13x{4fͣBezj#3B_pXh9s.  ָzc׍p}WIIIcuy5)ZF.<>1Tyflbf0 ff&,gxtIIR=Pi4fg6okYq'cI"dnq܏UݙbRekku4Jԥkpރkn|\d%*o0[T}6t@,scqšdLA4 *D 6c6zkUr ;5tJ:%A䔲גQ*+*-_`2s!LnhՁU֬ m'*߄~ků-ބnf5CofQ}q]=TŠ_FDkZ魻p WI{<4iU㲋 H^꯿(q׊e*2lCخɲ&[*k~Vdw'~&.X/=*^ud_s-H|w8ŷW#Nb?'#nԆ9M^nY뛎Wgvn'mn+;:6tc1)|r ؜-*$ًMT8GHZ*/bM\HՎj3mnBKi>"AvE9B Qb u| [r;];GC a7YK:W'#+~ljdy7r|7'dбr}8z̅ vD6?XRT$$O`R٧KJY!3\氠ih{2ǜF gLendstream endobj 71 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 72 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 73 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xYy\S׶>1sꀕx.C):uGIf"2$̃́ 8V^[VYIz߽G9gַ};ʦ%Dsrdm~яCXBѝf 0fψ7]ChP N/}lg %h";Wruq*Ml*D1UIrcQCCh':&{0I&t#e׻=^vjK6^I4 vrz(Bs$`;iF(CXF"a6p _N-7y瑡paaMmPlPM']Cv 3Ր©;Ҕ*:H"ճ_:4bL"Uk2ɏQfJDR jr'wϱŲ}C^ͦ[ Y_zs7w'`qZb %M\'C Nx'co썦)hDtc;ʍhL%0+]DJgY4ʄG%R=yi;0g&#'ڻ{G*j&A}(ݽwZSs[I9Q0MI:]5U"wd*pKY#8AII~"u"l-Hkcc:l^BBZI[ ЮLQ %`o<+cʼniiIfI[{Rg <ܪmїZ36"e@}D8}%uK<0Zm]pLIo1XDf ڒOE>4T䉼8Q5>UCׂD2C9A-:v,/؇xw;x؏h'*Bouq9~=:mh<\[sX?~} dp21K*kZ͛n$?S" [AO(]d 2SLBqjiAEnuYj_Ǜnˀ8GvIJR|01n BMBx C;z):n]JXFdhCh|}{cK>B6vq-V&DGnv1?aM<_O 'msMVJtIӶ a1PZٍ($=-C#Q &H? ;T] Ѡ>wA㗱 2 }ijՐqԗEV,~/ EFELuƪH2S:QWב\F,jZZwN;}}5i(5Rhũdh4\Ъzĩݦ|kBԯ]3 Ȅbn>3:nqyM T}6ojuhcmxQ?2@2N_ AF8h&@f6ͺWƂnis!׽}UK/uLg#ḖWZޮ?ػ'W%B'߿*]{|T>E!ki .TKcTAQa#®\'r@/2ЖnG}~G1]nV1r=97hv.!.]wAlɽ(!3gqK\= JՁ uˬ0$?38W_1`5̄%| $MX ZL*(!ր.[h*ɣ:kf bfۄ^ ]T-f~ٳ_LG!{V#>&!qxD.a;l;ɫ66(] WY*kp,BxZTf#)#}cK.u>s};+̧bL{cInL93 6՛* G@g:|2T(OIm*&]΀tMv0<ʸ- =>.,HҔi2^92<:$s҃EH#KÍ%FUYxoᎫ$ȝj&Yv<$$za<4Lr2J3=ޑbl-~?%efC me'ȡt1Xp4{9 TشM nJ׫I(xHߙdq-ǿN0n͋/ FF ~Q[IW:a2cMM189(cF"1ˆ7#u/ A{&zњv6 5Ig/#lDJu!6}iܜkPL+'NY %ɛǡCp;J Y;o P)TFb>s9b>w㷲[w+@sKϯo ΐp'\`O>5i&<ڷp-R#a+]W6ׅϐîߛ۹ĂO1cY4xF]\G,szw9wn8CgIhsG~whKlSFm]V';W_f.%-<bBH_M^)ËU\ 'VFʐ9KJRS ULF2 OU/VW 8%@P лfE`4،=+v,/ K(ăN`3xds%<%g#= hd vb0 RuE籧gulbݪ"KSp+$;!!dz?4GfGhDA]hPnW il!_$ҨՐ<GǷ}yGL%VD@"\RQ]]5&ây| t&k-"zZ+O-{>ͷTE9yNgj?XEP])-e*~ѤӂBT.Dh9{$F[G^)(5(eSV@G> stream xX teNTFx bQ@aS8PR}mI4[o4i6iӕ-PE,e,(Tww/?-xqizyydL`2S7m%C'%FMDL<1 DGP£ 7%,QtLk֬Zlɒ5҅٩ɼɢdKn~jv$:,H', 3_Y0([; ]X'ޑ=y(].1h`s`H\X;{ܼ˖X`1v21v1egae013[[331V0~X͘ňb<0a̡ĘfF0^ɲNl{%S;]X״iק1c߬dE?%3u`QQwBE?Dh0 MVgςhUC71%n?L͐l}9b[2t -:UL+$=U&GQ;؅&^5op@v 2H$+Ntm4o X}NB R zQV[YcȐAēk 9켺zPs9zq\N٨ZNZF3Mzl$8@A"GL]uh f"J6$]U\*ʡĔZyG񈉎;ըA'P먙ol hFD|U'}Š|mp.ΈD dz ŽzUH\jN4Qs 1}DU2.{.2AzLlZ r@_7=HG[8H.FƼL_@Z<| ,UFׄףXs ;.UBC*'A+#&{BZ0,2FQ(Xp\c4" -P+Rs@*綹 4ߑq ;3Y7/YD}(ӣU>,G<.Y ~ dB4qP(:oJߖ~nVs2ͅTPb [iCMSew_ʉשi)/Q+ =U C>­(c79{sYˉ\ȦKdPppPC:)⋗yt=5"?a|?ޛ~u(QQtL6 DwhnѦZz/;4s]㢇$KNcXuVPYHf|JvD$u: H mYKL]04VۡBDh0+ lF+1S FW[r; XbyOp#Z>̑`,*F3Sw(4"?6c+x w_P zWѠ$\wـCs&=uptR"8 O$dvM7sh},}3mCw?ĭ6ϯ2weQ–ǻ^C7ᑣ \t-F9͏9j>YRLz,|>Q3ڛ!n*hkhnwz2N .%8 0r-A҄Ԝ)Kt06zSeya<ͮ5g!zuO_.r\; u FPCQgkI<8:g6ŢS +b?&>逞ydvr C3A4{h;E[d5h&ڋ;Жo8 HI77$uV\|cǪrt$T-ӕO;4mS?qL{/I~Pq9QVRwcJ$I=  'TJ^$9懒8IBzl Zw8yP zRgm4?z *g!pw8\Tr])>8qko&l~N7ZW98BDTw+TDFi- D ^ Ju쪏^5GkiPBl5^HMzXbzcە)B*[ J(6+<kUbD(,J.ׅ2:ž-H?ۂ'E_r W4lnT(U먬]/ɕvop mxhZ+x:<ꛣRAKlj25F;Qdijbv≂UX Qi2hvh/RXTyfjz$:Bu+!!d:*rA9-4;xT?]x)t@ ֖췄 G:w'xjE!dKf}"|믶ڇ؝m:;Ay8s`F.2,;+7ϝ%$Jj'f.uhy.Q mdxθ0cMF}&TfcSp4HTCiD5~yLa/S-R`:aT:\x~P AWeP ԕ'vN4F:ܖ+j.,DZH@5jah b]_R9w$[t,#&*0UTkjp |U 蠔endstream endobj 76 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5813 >> stream xX \TоuZ^ֺWPUW @$,a KٗoX+.뫭ֺ֪zc/ I[~{9wF@P@}d1k6SqI`o_9FEц!P HZ3Z'9yyLt:ylRg7/7KFAkB}}eJds~[.O *DgL7WyihyWsuz- !:nPhAНe.r(>n1}wIVq\.xbrjZ3y}sޘ޼qo4a▷&mԇ(j5ZCSk7uxʃZO-6PbjZB->Q.4ʕN͠VP3)7j%5L9P[(1IBmXUjHPNN쨿PSj.eO Q|j1eKESٌQ*_z~ah'%Q"̜ߙGڻ?64}W VfHڐC= 0ߡ]!>ʸWl>UW [:,qcN#$N7ΈGl0jYS S%f@[:SMX>6B@j_N<ueMDȮ;aB -#Zzo0~B9mxʊOf_GԔ˟6RJQMq w̱P]l6< <}.wj@q 0St岲,y4;$mnLNL +xjSUIVV"~W61Ta[ױ0yR.,5?  D"HJ\ߩzOof3=}aB`>TIM4f5px<6]%{]C|v2K41mu ypI\k`Y jTR ̒xKpO{nr_GߚYmʀF@ScxOt2ߟ9qsaw3DGO0_Qz%NQqqsBSVpG+ۍSK)>yԓAPm)4-$qirN?ˁi,7ݰ݌k?,=8C6ۙG HhⅦ-M2'WA9Fo'4tjm쑸%@䃹T9= 6A˟롑?;d2 5Eh bʠZ!$ iNFBiif+iS_IL+!;3GA+k7zEuq}^\"H[ydb^|/IÃ7L3N 9GxHa yn+HQH"Oũ7P/S^󺟄ւ4!x.Hx]hDY!{IJRYGLvh9D쁊Nu+M Dl FL@3-jRLfSDF(C-"s2$/;4tJZT> %99h4Jt8Atv4/]mv.25eҝ1a^{|ڞFYw͈;Hև@"!]%Fm^E?VDhcPZIj}iõQ_^2Fr;i&;6OB#4TK 5=C3ߥFvySV"vϊ͕f' rs2u"])FFUf}/ސR1/fDE/X}6J=t@bbE{̥E"| E5i_ i0] (fΊ^_\)K/g@YOhv*-nk.6 &Lb<'8mOhXsּ^ָUsEkX}9"zU<`XR=XxsӢkա0We٢kN_yoJr`=!ҙ +:JԼ-U%ŻL֍ȧcW[}9qyhyQُTh13VoOdmOQL銹K⸟gR3 NU0_̴X5+&?ggTGUHe>"69#K&Swp2L-iʖ(K)I\phBEڸļ؂BvBB#WD@4(Vu9\c}mI"00"rA}IUiEqC%7e04\Fv>ƪc&3yIMƔU9]fnZF\.Mv1,gvwg@3H}\gD_Qɉ$FI" UI@A\+k>Pvo/t}w.=J쁒I&. /T6}:p<{r8.|?A։m8449<zn.nfg g/|̊K]2 EŞ~_QlQX̭xVYOH:L[jҶ<0;P+ѣ4MC7্,֑F:"L* ,[L#Iءh#JBD,3 ?@<: 'K`Yu_wz (XOy&R %Kj}Y"  &[56W1y_MS^73\tx8[/C؃{n^ϬD +E:J ]֮\bKj-CL<,%'BO܅c䆞e\Rd79'ȍ۳`!Og r]KӪQDɢ$.'u)++C3["ӵ,'eE!w '@dKsHSRaGҲ;Rj+ryb{I|HD|'9p`De~RvfaA1A;0GLV8Ik6x)#_%-fpģhk%y}$*C$5ǘʄZ2YfE\jBZt )g"Ȃ}u9ڌHNxWX%1 O,3/`q69+K{{6:dľE&5M4pmC)7GӤendstream endobj 77 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5341 >> stream xXyXSgֿVQ+x1mn.u7peSĽ "D6/#DŪ(-@/Q:vM팎s}^fM${s~w+(H4WuSbؘe呉~s/aH |}u \S6vX?VEECVx{ѼXeJ"2*A6vԩM)'xEdl$Un$|,[!E\6b_oG# 'dax,"6Nm# W$(bc?yBeJy$O+>)q[L/ Ibep<"6&A%Ϸ'Dl|B|XB #7_h1!*4|o0cJQ0*N  j$(OjESj5ZKͧ>P 15ZD-SK2j95P)Wʍ@q;5Sʑ5{T/jՇEQs)'*Q$=wpq1N_Г'y%v"޸ uwOL}''Zm[~1= ;𔸏S!>.%&Y/A#ksd&h7(lf{fvN1"8`&u4 ;hQzhSW ICÙ ̂v^Ԥ4 _t DnMg#3?7tä́nM46 WnGI( iUvl(ȫBCIn K^:OJI3 "[Ga0` fvv7q?]8@[57]8&|/sm+EhɶuACfNkQ]~zUz})*g m ;bw/j|}~$iC'Sr#&O.ehtikI\XRXX1*]VFvvJOkOLG lj?G60ء0`_ZCL὘P|xd}@»_,+ IVCYK+3=|WyKЅDB\/`IaqiQĠg1۷-X-T\KFdUUu}Ћ=LsfgH?mS|ApjuEu;IҞrK!3hgQ[*7P3G!X9 k} ݿp2iO;2Y" bkQm(-ji#S~/>q`{ mwT~IFTöiؔY'-SQ&Z\Sgڪֲ֔n1ڙ'u;r(&:`MNS9OwGmfUJef5=ЗB]^ZXd;HKՂevQӯ+ cvl^˷E# =򋺢b#_ӱWpFfԶ>:> W)gJI\d@fg\l$:E]<AXh<<[NODIT>\SxW&p5`j# #ѪՎfα=&*AYSU>.=XY^*2>G)PgICf@lB}?FԒFMBC8×!ݲ)_>[~c{}4k!ߗga}7, b4ڂG9 ]a8Ja6m Bcg&J\E1>B6Pqgw,؉vJZ7nւ~Wŝ'q6kRx$ql7u؉=Cvb;+n38TdfE֒ $2o/ޭp?ݹemesYOs[[nQF7r:;_lgT>wVπ;B:ێ|O=vbD K DB;h5^9P!=CI$zefG"JiQw{b)v|8k g 5ee\}:/_-]eV2z\yV e|k˓ "ku?ЛD/[dј&tpx ,y0a*| 0ë6q9;! ,z0dX$> zEv`*/CWEel ̊tU@hIi!w3qXe$sviai҄WO;ߓ1?r77#)1cw w\ly+}+X$ufF/?o:\wĺy xǸ=O=:4Saʳ_oulH'nmsLls̼*+o];,:֤ɢ.ȶ.JlˈdB|ZS"Lڅz s8ߊ:tObleVФA4]KM"[=Ϙ̲ۼq_C* kBx-Dhoe he74O`g?/vӘl;{uƤ-G;QPEfJUs=25u[jgJ:"; %-N|`iw<B`9 )9IapPm^j[3: BԠ-~~Tyl͛7qB*>WB*ۓ oZ􇉣 \S۴I[W؝;+2?Kc[3F,i)^u~Wy ƐDr-@7F<d_gᰉi #^+' fZUjKBYyw$I%ٺ\ҡJ]* ZCo 6@foxk>H UqD)ˌW@oCp>*b jړGN^|OQڥ)U%(صJ>u||~aŽ/ ~\4k =ײn٨ic'Eƫh͉W`LB t䫑Zb.庒>jӝ1iI P#3J]T.$͠! a!$ag9k[G_=?dx&xigYlFZ,Ҭ}AGr>0.m'IB 7;81P?G(UmSHbI(zdzͻ'Bo`'fˤ~^m 4=%%-,]z/pi˒$P]n=( 6`O"B&˙/voOr.r|nvy 4r#N/єkuEZ#]VUo0֔tzd -*,(*Њub"i~l@;Py ֳt-Tcb~EG*QRSBV`'< YiFBM?8b A#x: KwYem)8vpF*1F֪u7p9IvVOM{4l~X%iQUYeUKa6P5 |6&Ɇn9{nQXNn? v(xHFp5חM..J-endstream endobj 78 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 983 >> stream x%]L[uϡPfbdqѹlΌ dܠmY?9 {Ibi6{C&8Cb4ٍ1xCJ13LFދ}8VY8^nkk=< >VɆ$3[@!Eҿ>>p} 7Ma1"2>ocYȧ=0 df5'RY "P :^sܠ@y6> stream xYKO#COaX|H ؉$0 IѾinY ]S]/~`m'u&vW~刄%yHW>JL!ܯ yg L( gUA kBi3„FF h 1oUskAy$M\#e5Uԍ65dwznwٮ])mW9@K/EoDz#2c q,yYd RoIiN*uXoV"yTT3)i-2I ?Y2dilëjDlXmHH"ZobCt[wee_*]Y23h^]/ޕ"U벺_`lˇ*O㒰E*s;bSov#g ViڐCvUhj MrS9V( F8ϩwn;\]_[of!((? BR)AlH+.W Va]d#쇖1)tLZaU4%:9f$lDz˰0_\,Y"/Ufq ۰ϕԨ&[BL3[+ٝia$ Nzcd$CX;grO$kE%яN-p~#eeoYJHe2Qr `eVhMn# {+'Lj(:uOvx2B^o%)m{(:Pd-agQrHx|z!bj WY;2@O$dc\` hI>"-'MG.ޒ梔T$4f\Ɍ\ڧݝatEz)x:F=O():PF1疳;F~{U \) dhהj(]@h~-F̑웕nP Q5 p9NfƢ"JP,3ɕ}hfZ\ 9Aĥi\3B0&> YF@%PKBPȅНobbU.AX8r(^4j&(MCpr)^HM< M P ԕAK4Z :tˏuyWuPiJ?╲'\* :xڝJh>آ쐩؎cx lane?d),$lΘ0R@ޒOhM~ Oej7Uӄ~>' ɉasнT&*D2Iy"F: Ef1Jd=a2a@irmZBNL)X%5HT QL~sM8ۚdK$m&IsG{z0 ML\$M7h]6VIUL{B*DNND1byσ[g5nن4(4 o5o/>lor,V)-j|`ƤYZj"Q Oɠɖ\DX[LOѨT<+=%BB͊}xi/zMMEsL -ႩAJ V[rRJ1m5Dy|<ѩbUIt.}:ϑ¦^|')4vZ)ҧ?58H4&}2=ibZag270 ]~!Ldi Rʚ"eI> $@ƨ8P!:H"-M?`7m-MeZ6qn4uV"E\mf5PTdOq5C;eԭͷx2haaW\SWߝ2ct(X1B})v>HL9Բ}5`q؊iA+ uy;Au9U@Ip2wÁw78 .urxVI1pݤ%;fcNevTY8mt)oo8-wz*H%]FbE<<M-D]̢YuuFGnddhDB=2lsKj04Kpcg8 3׮U} T+$%wsVgXۊ1l]mY[*8O.8w@Sv9tF9ߴpm5a "WWatq<9&RxEM * I%:sհ3sㅴ@ӉKB.=ţ5IB57 8Yʲ"{aAs}?1Y.`l-b .endstream endobj 80 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 81 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1286 >> stream xkPSW;)ZޫU*)"TtĪ(Hx)IDK@KQ"( ZAUFZb8:{鱝hGw잽{~])daczNn=;-uޚctR#IcXnAX#1ʝ~P _}$R0̴E%|j]>;3.~6%\\'w#MegZ@zMϱ5[qUlb|&z~~Fy[mvc)=#3,"-D(% GQȀŠ8  ]c+83y|@H` #,N.a%.Qܽߝuw_˓G41.ꗮK㹈4L (Q-HE 09 CA)^a\`RYK/^ h>Y7Mjn)^xx 9z vA?ȘC$TD̒S DYS+Tm:Xty3LP(զ1ݕy|~Ŷmu4Z9"Áí:?jerz%IR`yHHD2&?OfǞZOeW%(h"Pv NA3_PK9 tCfLjI3fPjJc0':l=Ю+$ΚO|xP_֍َyyEE¦B ļcu7cvvsKuGa,J f팴-GV;:j MvJa0 ~ub^$UVGh*6$sN% \=!%/ɠeQQOora|/ 2!Ֆ:.\;n9~04G!DA9Od> stream xTkPTGD^шsHUH") ".Aa°6G !q}h@@IBLAFIIEyz'{߭};}shJF4=/J]3eF~xݰ ҙ뎗{PC<%O]/EHܶssry}&UP`UYFQ7|M.;'נ3b3 i1?/EQ@^d~ּ7]i\*Jm_Q۩TLmT$Xj!IbZ$@ɥitZ">,&_#EC:md_5|*^a\/';<9ر7FIi*P!5{Jx $|%t.#FYA;q"N"H#G>kIK|“ <]:v VTTԡ#u{+-^`qX>RVD+JqS2 '3`q'4LV`o9!X!s2qDF }ni,DKG֝j(TԾS{ "a9`mύ>CiNЕ7. }yٸB9HW<Pe_Ћ? ׾Pb6ĵ HhE͝9rGpp) )? Vm촦ze~ۆ; 䟮$=7hJɼbѬ٩H n`O>廉M,z$G|A#endstream endobj 83 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3396 >> stream xW TSgھ1{x0R֞j=^’.%7o-v (P@ĥV;qѶz8uweΙ/8s:$'9yy)}z oC בOQcO(9eo>6!phhy# ti:))R& u+wB/@]D7iuC Ԙ+͕#"4BE!(ЈPI!(O E&(nNszn3UpuVڌ79y\ηD\uxs8zkDn m#R\X {) }{^$?))ZF0,dk.vugQfyqn&7<<@A".c@j OJ{ᬽ{֤)[{ԱYRp7ZhguxtߞCӞδuK "^~%NIh3P~'C44K4 ͘Gnx8dx"_=.? CסH 21ҩ܎[!Uw[R&ȋC#2כt/N"_7ǗbѰ$wNr|%=CpͬOO ~H x B0)2k1wu)PZ }KR1W ZFND|]c|t}nR Tٮ$ _Nitd=ʾⱢ&C{nA{6ȩC!yͭ"CRT>s3\(ZLfQr ~`= ri(˙!N:Zݠ|R:"j,2@I=P PՂ0-؍򾹊~s{mTe-0PO.XwRˢjB>kn3Iomܰ^!|yiɽm50,s HXĮcpF;S٦4MFUnQ}s7eh-BXr{ RAQ5B9$UjUMimcܤ AiR}B#SU s;v|+|:nͻVf`  iLE\XrCn1%M2k20Sc!\Klx*BG}dTH\&!FXYP^hTU ~( WIY=Ha}}]ЊW\wWJib(Mmb 8(B$O\])ݠlu8[Z{*bxMPcg/`ytmJxb ]3>3 .WT{v"w7Ctq |jTC.\9lcb%V _Cq cY;+mk$\+03[hafǺ m[L&`/^Ф&i MP{`kt;7B-xHЀ4s 2\;JjXNc9Bc*=ã}0R^H%;4xygzo~*FPN ؝.};=;Vz֣o3@&N&(4!haih)nؑB[o0W\ٍ:mN^Z@;)Bu7bPgg`(W$ dw].sg :,+R)Mk}/s3_p9|lC z`rKD5Qh6DВ#O3Z,I|`1l 1S 3q2 Ǹf9𭅝(Qy(3n b5&=Lsyr2ށFIUY_VyT;UJ65CaW{s^7j运,.%h@a]h.eLd-ڧ)GS ~;;n9l1NTZQkvB3-ZS0_񪵠ix.qJSѬQX1Mvc> /j̨.BCWvO&Nt87m~ukGX&`՘O*h-Nw z7>Sh2>??Q_G4{X=c?FOܛ)B8씪wY+`ۙTƯ߅o3ƟuZ5NjIsc Ypb3`Űiưh]eh{vb[ǹŌs?[yZ^+TleiA!Z5Qn57@*- h{ShryYiH (Ԧ`PJ2K6"xh[È41;--%Nd6L&PRNyWGZjo{|>>MwUtm3{r/PVɗ9w[ګlŖ(dL) 95[8oQ\?z~pǘ-*2b ˳:@Pɩv6 Y\tO:M4oYkvK@ƀ' P endstream endobj 84 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1308 >> stream x}Lwh{iA\<iLEMTpq^|3]mmj{E`0UPT&[ZU@|w7%94K;7ϒ|}~8&p'RVJ|'0٧>QT8U8PɀJ~x KB&Z™-zLcg&$̍eg'IFŠQ45ռ+9AQyޜ8cn6Zs ŲvgWhZV&63lڨeCxChZ mZL85z2*, [a`bl KbrC>o_{,[)O(R~1Ahy{H"Qh('HiP_@֟Nk8zp<x`s;8? cf. =8 aM4$r 컄tf.rSn߿J չ5tz$:93$fEC"/İjW:"Γ;F6tmI,~tÉ"( %&6ӊ_eaDž& KuUX O+_Y80Ks ݯz%'{{}wg#$j]S'}=Dĩ[qz?Px5βZ{  %Q(8Ni{zhH:C~6ƷZ2,&Ec!uQ&`Oe}05eC>.{oDxqH.Q("v*"]=K=2KA)X?!}+' ɡ%oc.ٺ 9Z.}/lG"8zD> stream xcd`ab`dddsH3a!3%kc7s7JBcG``fd+nr/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS%E )Ey ! L,~txݽ ?|wꜾɽts|g_b[] 2uzYrK;L'9BY .uݝ]m}SN;QwU3vslb[,[znʺKWv/_޽gy ]3vN2{9z'N+]yڴiNƾ*|%yxendstream endobj 86 0 obj << /Filter /FlateDecode /Length 2446 >> stream xY[~ןPb \7qRb+08dkYk_ j^s99霸s\̟ϔ9tQ0+k+aZ sb͕$-a!eOJfoXk/6)nrlb:76E~a &%vٟ_29ULW3d:#0c=}aBg|Z+`%C<{XrsEY) 0f7MQaԉJ`j /;fkQyd1;9տUn57)6_"j3LY,$k2Fr`Y8؅YnÛM]]Ňћꏷ$Z s{^-D)NˊR0 "n*lsC,Us,(W]4r,nV&b'(&xVv$бw5V;.8];%N`zPm" g\eun9gt5ݷgQVdhFЦO}@aN-\2"? i/74N u NS81\"縬JzXrBw3OQéFd0(enJidVb;֗iUv4d.N8$iF9uPP){mR&Ç]#N nz;-2* (yj}{Nd/7ُ3K2Vbɐ5<66"qs;: ]rAQO _P!\6WbX,6P@'>MGe@:Pe@(.8%_RɳwC$LvZB_ydgZ\ӄAB%-h30]GP(NCX%%mT( @ll*en,Fz*&tS5:`;38 sh-@:"h3 G !}:XZ?Kw%:&Q:rf)\{7I1ljH;q(ӷ}$#YFr6@IF y֭+ ^DžJnro@#4.> @A&Punk `oB'7]{M}SWjzWUٶo[g}XDJDWYWlՑxw59U~޸)/LˇҊ` OQș6ғI@0ѽ˝vس*3=IO*|NLb̥\N,Od~%)Z NF$ VZypDzú1P$ kwc?eWd7}cE&B4{_d)cW;لԎڟL#yYL!$ڍ`[g CACx7$dm$H;\ xpEy>P3 ?]\J43n=K'ƒHau7ֲ\ޕ~KH=vRUrlpCg7vkIk;Mi7Ch:^CK.J搔"JЏS.Jadc7& t~6nr]8AvbքQM'u[.N^ ~x.Q2*POS^O"Ɯ Qܝ2tG%$}lvM2 7wpY}c~h9r[4Sh*x*m |.v+Uq.>IJ `?|}҉pMbt }؈+E"8>|nC_]8M[m< vi[WH`r~oBW\s̆xfj9l~Oq75(d*Ltxa)EL7{}}Ƌk0jtjm؉ (uKSx]PDDuc;PZ7*"L4x$9}ݍg{Ձendstream endobj 87 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 88 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 328 >> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 89 0 obj << /Filter /FlateDecode /Length 2629 >> stream xYݏ WGAVi=­/qQIZ9^ o/9;э5~0oCr~pH)kDOM\L6ufz7N䛉OQҊ5:pidJ+K*Gjd,]kujek(m/\J5ԍ6}lz;nwɳ+FfaS0pg|ٜۘ{uٜ1lpzÔi^@knmYwL,SVIml.h#B5>G&gnp7W\˯mh__Y-=mn,>Qb kU#Ok4g"a77sC[!F4=ed;=tʛf=- 3.PdF e w[@ZV/PE/w/کr!wV;0cS?s5Tx2n8n oZln& qinPcs0KaIQS˜b3jNm\E};iD6# Sۗ4]@;-,+yB|wM3 =M ?9Q##8g6æ 9N`;K?y[@' Q]ʐdQQR`jHA$>0ᥧu>zmdrK1MA$3kt(#'GP.$pQ\ۼ[P#3/}2fYǩ9- rQ7:k\ V Q(LD 0o_<9!yp3PG$vĥB#EFhڅ|D#k;e#i#hX[.ʗ"`%zFo8 %CBH~5ˎi6$ u6hpJ;p(B!\I[ՌcӘxH狺]88#3`]G螦QR9p 1lb@&YA|3 !ui{v%yB!1 K^pBW^25s6:c +%hY#׋+bg0) fSsC'6dXЩʪ2#Ocr3v \1| /^J rưPZ'X*4tq q^j2=&Go y?*o6-,BaU&r2|Cdmit%"o&̘FPyD*$J |BQ>܅@ U\C'YRs0u'4t|ت]QXX#g3!؎sh^  ~Fվ >B"xQӲm~ortJ?_T{buJH]:QD@VrĖҒ7T$$~}**+]8BC r;Bs@i{| q|=>:I+ۅFdFr V?Rb23$w&ꓲw/'Ûُ U.ؿW`wk\unQ.+DPu1ڀ=SeQzui&/M'ωJzB,@yDkO8$·#| _g2üWMn*k˳fXXk_Uk:kDWbٕSwΨptO!VAdHD٠ÇAeӹhXvfHO才;ܭwl93ȇ7"2*:F9K_o~\5+!pUUF?nR82&dlF?EÃe؉C먻SP4^|vmV5Px[E[7pC r VUn]=ى5%V* YV8}" 6L 1j_Qm*go7#>ˏc7s1̞>ỂrWi^I ͒1=hvI&iRJ'p`aa>aXU!)wUhWsΛr;ST\6t +Ll$C '[ T~8vtd:]!hty= (GWOFTkSӐQIv-p\;eۮ/}S6OQ-6Z $DⱧ3cLXCm-$ M'Jv_i>2 7zMitQ v+UaeQPiW9RctFa9eֈӠj7oҚl*|LwzU:uOx~gOkcb,yN[,+zVȋTW ^:ЃhӯB zB*ǻYMk.7uw?~Gj1 p&iZ'KUw>*~܍D1𺿆 {_x=:H$!j @| lMendstream endobj 90 0 obj << /Filter /FlateDecode /Length 2699 >> stream x[ݏWGAVi#)m X-:A'ݩW$ׇpR΀[$]NܥSpfHw1'Vw)pFm5 ||SSPY(x*AO0T bpaňͪs}>pe%`c+EmP2T7NiqfJ09TQ[U2l8Jk7l&* mpqwm^uƅU;EX,E:int&`N'}Pن_X m 6@X]~18›` gnBD m6yteWbР)h^!&$SlmC>vSF8?a0qבԿ#uTC*Oщv*RMjؼ XFjӯV?%2}T{V)]Ig6D*|o׋Es'߁Dëg(j*PX}yIYRr!- 3/ݤDtm. k]>Lx欳6) 8u ۤpF)J< 1zw.e3zܴ~zy? T)>lKHMgepN 6REslĥ,dUs8,s,H~h/S"yܷqn,~{8nW+\]5r!6,\+!I6V9,W޺ .-ŘqP+s0N\xG<0qt0]NV&G#E'0-~.ڼ8#E:+ JsEya蠬]6hxPr FRظ+ ?!PnPk/B9(;Mп^#AHU? (7𛇠*A0 j1B  !zm3"k-j8x<F*; 5%q*g.ߧd={}PY d}Lb`:eAB+Pwc[_}>c_kTUn#LbʙJLPB信'tಀ;v~Ϸ+ݛyv]nt˴Re #Lz&Sqg%~yKTܠXD  AZ!3b@I0`W-W-HeT2,qvPoOL p ݡPVN} &CK˜X U@g8B~T~:RT'kYLm7m7d/S|>?>G9d&w蘮w2G,~9mJrv݆߹91uڄ~,2sZVAW?{wo:^>C& B J2܃SPsgJ7C90L yEPY۾Xz{{Yh[;$4f]<ۦJokccpmY(vVioo!4N{!Z="2 h.Od]džתI6FW'eרI`_7#kƹ;n:NF"4Qa2G> stream xZmoG[Zݖ/nZiҦbuwnɎ3$d Lfp~{z~_q{"zOߝ?{ũՆΜޞXzW':~jb@gсJ '{UTҨ^9Jȋ8.RPF^OrJB5TTI$Y9U]\S{#IT3?`(.nOl=lzW (at>1H¼cBЇ8c`Rz۽zb6RFxWD"8opw0\Uӯl(]p/N.~u7^ }2Pzָ pͼ;$JXGq׍[+%n)|7Dޑw Ω^; 7a fSVuCI_nCr-h;X[v8[Ҽ:kdV "KliͅU ^Lۙh֜V e5˜,K!8paA`KR$S;]09M+a`x ZpM.p)\pSLW2|j-Ǐ\K2c~ w; WR,U/\X8Zbw8\DKA݊kiɗiIe#^Z gi^Κ_cKl=e J2RF/zR},Ey ^Krb̽x8|{Ɛgs-5I0i6yˣUm0=4h1hp5ỵ<:+/g(+oǻ{7@֎:^_"HpdW[6i[KcɜDh Z[iJY6y=;2B~a:S d`)?> mXu/֛p?|lv\zLXmwѐ  r s@-nv}^P.^CZWK>O^> #@\-xuWvQ/~ƛiCnrLZxD݃ WղVc*c]KNz@H?ƮnVb5&D~2]^?ލv}V&w~^FlΔi[ ihLwpP{^G2 FR\ —!2!NB ٳ(ur;z(̈́ |DO\W$ )Da^$'dzm5Z%":2 uC3PtH0sO!eO''&@ κ m@4tr)EqYph~=" g"fV(`2!DpP9@H2?4GOsb;eԊXIf[WNhjkaܨzXk)B1ܒkypge "Cx K "&cbx'u~4MɠGsU~fPVc6.,ˀ˝0yI?Х#5l6\IebŽn꒓dt4r"a;Q ꃆ`+A̪Ni9j!S)5 ;58}o:wvt[ԙDSyXѻI.ZYS%QbXf&- -[ Fb r&?z"%hY'x1`9$ӈ^!c)J)yRĈA{p};W$S <ɣUo,7FO&[Ѩ 2~rM;Ar^~"KP!MϹT]CQrʷr,ŁNJ\s`w#2YD@;),]ᕿBȚCN 0/]$E4j=V|ձXwkU6BQ)gS: QLk4OEFM0)02;K;!\P%nB.L{L"'@nX@.[TЏxp(RW!p IU*nYjȐ2k;/2ĿNHhκZ& bv)]ñ2ђfU.vv݆XH':iϬyh~V]bƋreOڧe$)ΌCE=+dN`:;S\᥀7:wYlNjI[=p:^b4M@ J:`܀TpPP¦o1)Q&ztL(l"|[!=)pYjR9AwT 2gJ&SCԵmS =$*S}%bd`zqS 3;|O\auA uhJMX>xb5D<NPU Qҹc0tvzO;t˒g Tc`&!ѣHyF"X*y*FٲE1_R'JrhQL YOWiM/FH~9ݬֻǏm>߯wf*L0/r]m5Swn*_ތo*/=2Ẑ-$ _͙>O ya]īό>%pPzp@C{j*jZN5%c6Ąi AH95w (gäAwm?Y82PRg(~\c$`V䔠K}+/n BFwfxwje0R uAHgP{HzFyU"5tZa{NM0_9U/J@~*Mׅ2^E jW#_阮H-ai4RAYxc!AD'#,vbCf 0|Lk^I{V^xEQ vELllMTY" x1M=}qC+*胚ph"XG᪬Y!A 8;TYendstream endobj 92 0 obj << /Filter /FlateDecode /Length 1100 >> stream xVnF}g}gi$Emh$*"Y^+ =h4<3sfRre.g3 Ofx̽u(b @\+BEH(6 hr#MY)՛X6!5:RNN7N =!SN3htaFND)&S&Af^])#G\ˆ!\ͽ)I>.?\+@qDEcb?+ڏkv]I~ B)dކ_^p/DPYoUFp24wa0bO@` >+M )H}EVE-tDkV*Zm.&2qnfsߗOqaW-,KKNs΢rRs%qy_^]9R3'r4B a5]RH`}}(w J}s_{Ruv/]sNvL)')4|$G9JzK_+xvcsh kXҲ>S%8ZnöjJ2u޿ _]s<1yTv]S(UͿc/ 1Z+{1\9ጳJN]Ws5tU[ggG:Ez߁.?.?ϚSi M nA+XنHM܍h5aNR nCMX5-49E8@:Aڣf3`;I.`Be2ز ŁR,#@+=oe4%k ;j$B@ b$|PI'M0d&@Sо7ۂ8LWc-1 L %$s&ZfH;NQKȨPB{",AI;eQ΅!Bׂ6Ϟ^Ai.A0La`->Da`lWܙlwC殛~JV{:!+G;N96> /W [ 1 2 1 ] /Info 3 0 R /Root 2 0 R /Size 94 /ID [<5b0aab3f3c7945999bcc777966dff31f><74ffb695b27f04eb8b7e265373c1c68f>] >> stream xcb&F~ c%'9`b`$?` $ #@>u HH@B @HpL[5$[)b-Hp+@_HLeo endstream endobj startxref 65528 %%EOF HSAUR3/inst/doc/Ch_density_estimation.R0000644000176200001440000002553414416277464017441 0ustar liggesusers### R code from vignette source 'Ch_density_estimation.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: DE-setup ################################################### x <- library("KernSmooth") x <- library("flexmix") x <- library("boot") ################################################### ### code chunk number 4: DE-kernel-figs ################################################### rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) lines(x, gauss(x), lty = 3) legend(-3, 0.8, legend = c("Rectangular", "Triangular", "Gaussian"), lty = 1:3, title = "kernel functions", bty = "n") ################################################### ### code chunk number 5: DE-options ################################################### w <- options("width")$w options(width = 66) ################################################### ### code chunk number 6: DE-x-bumps-data ################################################### x <- c(0, 1, 1.1, 1.5, 1.9, 2.8, 2.9, 3.5) n <- length(x) ################################################### ### code chunk number 7: DE-x-bumps-gaussian ################################################### xgrid <- seq(from = min(x) - 1, to = max(x) + 1, by = 0.01) ################################################### ### code chunk number 8: DE-x-bumps-bumps ################################################### h <- 0.4 bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) ################################################### ### code chunk number 9: DE-reoptions ################################################### options(width = w) ################################################### ### code chunk number 10: DE-x-bumps ################################################### getOption("SweaveHooks")[["leftpar"]]() plot(xgrid, rowSums(bumps), ylab = expression(hat(f)(x)), type = "l", xlab = "x", lwd = 2) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) ################################################### ### code chunk number 11: DE-epakernel-fig ################################################### epa <- function(x, y) ((x^2 + y^2) < 1) * 2/pi * (1 - x^2 - y^2) x <- seq(from = -1.1, to = 1.1, by = 0.05) epavals <- sapply(x, function(a) epa(a, x)) persp(x = x, y = x, z = epavals, xlab = "x", ylab = "y", zlab = expression(K(x, y)), theta = -35, axes = TRUE, box = TRUE) ################################################### ### code chunk number 12: DE-faithful-density ################################################### data("faithful", package = "datasets") x <- faithful$waiting layout(matrix(1:3, ncol = 3)) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Gaussian kernel", border = "gray") lines(density(x, width = 12), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Rectangular kernel", border = "gray") lines(density(x, width = 12, window = "rectangular"), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Triangular kernel", border = "gray") lines(density(x, width = 12, window = "triangular"), lwd = 2) rug(x) ################################################### ### code chunk number 13: DE-CYGOB1-contour ################################################### library("KernSmooth") data("CYGOB1", package = "HSAUR3") CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik)) contour(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity") ################################################### ### code chunk number 14: DE-CYGOB1-persp ################################################### persp(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity", zlab = "estimated density", theta = -35, axes = TRUE, box = TRUE) ################################################### ### code chunk number 15: DE-faithful-optim ################################################### logL <- function(param, x) { d1 <- dnorm(x, mean = param[2], sd = param[3]) d2 <- dnorm(x, mean = param[4], sd = param[5]) -sum(log(param[1] * d1 + (1 - param[1]) * d2)) } startparam <- c(p = 0.5, mu1 = 50, sd1 = 3, mu2 = 80, sd2 = 3) opp <- optim(startparam, logL, x = faithful$waiting, method = "L-BFGS-B", lower = c(0.01, rep(1, 4)), upper = c(0.99, rep(200, 4))) ################################################### ### code chunk number 16: DE-faithful-optim-print-null ################################################### opp ################################################### ### code chunk number 17: DE-faithful-optim-print ################################################### print(opp[names(opp) != "message"]) ################################################### ### code chunk number 18: DE-attach-mclust ################################################### library("mclust") ################################################### ### code chunk number 19: DE-faithful-mclust ################################################### library("mclust") mc <- Mclust(faithful$waiting) mc ################################################### ### code chunk number 20: DE-faithful-mclust-mu ################################################### mc$parameters$mean ################################################### ### code chunk number 21: DE-faithful-mclust-para ################################################### sqrt(mc$parameters$variance$sigmasq) ################################################### ### code chunk number 22: DE-faithful-flexmix ################################################### library("flexmix") fl <- flexmix(waiting ~ 1, data = faithful, k = 2) ################################################### ### code chunk number 23: DE-faithful-flexmix-parameters ################################################### parameters(fl, component = 1) parameters(fl, component = 2) ################################################### ### code chunk number 24: DE-faithful-2Dplot ################################################### opar <- as.list(opp$par) rx <- seq(from = 40, to = 110, by = 0.1) d1 <- dnorm(rx, mean = opar$mu1, sd = opar$sd1) d2 <- dnorm(rx, mean = opar$mu2, sd = opar$sd2) f <- opar$p * d1 + (1 - opar$p) * d2 hist(x, probability = TRUE, xlab = "Waiting times (in min.)", border = "gray", xlim = range(rx), ylim = c(0, 0.06), main = "") lines(rx, f, lwd = 2) lines(rx, dnorm(rx, mean = mean(x), sd = sd(x)), lty = 2, lwd = 2) legend(50, 0.06, lty = 1:2, bty = "n", legend = c("Fitted two-component mixture density", "Fitted single normal density")) ################################################### ### code chunk number 25: DE-faithful-boot ################################################### library("boot") fit <- function(x, indx) { a <- Mclust(x[indx], minG = 2, maxG = 2, modelNames="E")$parameters if (a$pro[1] < 0.5) return(c(p = a$pro[1], mu1 = a$mean[1], mu2 = a$mean[2])) return(c(p = 1 - a$pro[1], mu1 = a$mean[2], mu2 = a$mean[1])) } ################################################### ### code chunk number 26: DE-faithful-bootrun ################################################### bootparafile <- system.file("cache", "DE-bootpara.rda", package = "HSAUR3") if (file.exists(bootparafile)) { load(bootparafile) } else { bootpara <- boot(faithful$waiting, fit, R = 1000) } ################################################### ### code chunk number 27: DE-faithful-p-ci ################################################### boot.ci(bootpara, type = "bca", index = 1) ################################################### ### code chunk number 28: DE-faithful-mu1-ci ################################################### boot.ci(bootpara, type = "bca", index = 2) ################################################### ### code chunk number 29: DE-faithful-mu2-ci ################################################### boot.ci(bootpara, type = "bca", index = 3) ################################################### ### code chunk number 30: DE-bootplot ################################################### bootplot <- function(b, index, main = "") { dens <- density(b$t[,index]) ci <- boot.ci(b, type = "bca", index = index)$bca[4:5] est <- b$t0[index] plot(dens, main = main) y <- max(dens$y) / 10 segments(ci[1], y, ci[2], y, lty = 2) points(ci[1], y, pch = "(") points(ci[2], y, pch = ")") points(est, y, pch = 19) } ################################################### ### code chunk number 31: DE-faithful-boot-plot ################################################### layout(matrix(1:2, ncol = 2)) bootplot(bootpara, 2, main = expression(mu[1])) bootplot(bootpara, 3, main = expression(mu[2])) HSAUR3/inst/doc/Ch_simple_inference.R0000644000176200001440000002256014416277532017025 0ustar liggesusers### R code from vignette source 'Ch_simple_inference.Rnw' ################################################### ### code chunk number 1: setup ################################################### rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) ################################################### ### code chunk number 2: singlebook ################################################### book <- FALSE ################################################### ### code chunk number 3: SI-setup ################################################### library("vcd") if (!interactive()) { print.htest <- function (x, digits = 4, quote = TRUE, prefix = "", ...) { cat("\n") cat(strwrap(x$method, prefix = "\t"), sep = "\n") cat("\n") cat("data: ", x$data.name, "\n") out <- character() if (!is.null(x$statistic)) out <- c(out, paste(names(x$statistic), "=", format(round(x$statistic, 4)))) if (!is.null(x$parameter)) out <- c(out, paste(names(x$parameter), "=", format(round(x$parameter, 3)))) if (!is.null(x$p.value)) { fp <- format.pval(x$p.value, digits = digits) out <- c(out, paste("p-value", if (substr(fp, 1, 1) == "<") fp else paste("=", fp))) } cat(strwrap(paste(out, collapse = ", ")), sep = "\n") if (!is.null(x$conf.int)) { cat(format(100 * attr(x$conf.int, "conf.level")), "percent confidence interval:\n", format(c(x$conf.int[1], x$conf.int[2])), "\n") } if (!is.null(x$estimate)) { cat("sample estimates:\n") print(x$estimate, ...) } cat("\n") invisible(x) } } ################################################### ### code chunk number 4: SI-roomwidth-data ################################################### data("roomwidth", package = "HSAUR3") ################################################### ### code chunk number 5: SI-roomwidth-convert ################################################### convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) ################################################### ### code chunk number 6: SI-roomwidth-summary ################################################### tapply(roomwidth$width * convert, roomwidth$unit, summary) tapply(roomwidth$width * convert, roomwidth$unit, sd) ################################################### ### code chunk number 7: SI-roomwidth-boxplot ################################################### layout(matrix(c(1,2,1,3), nrow = 2, ncol = 2, byrow = FALSE)) boxplot(I(width * convert) ~ unit, data = roomwidth, ylab = "Estimated width (feet)", varwidth = TRUE, names = c("Estimates in feet", "Estimates in meters (converted to feet)")) feet <- roomwidth$unit == "feet" qqnorm(roomwidth$width[feet], ylab = "Estimated width (feet)") qqline(roomwidth$width[feet]) qqnorm(roomwidth$width[!feet], ylab = "Estimated width (meters)") qqline(roomwidth$width[!feet]) ################################################### ### code chunk number 8: SI-roomwidth-formula ################################################### I(width * convert) ~ unit ################################################### ### code chunk number 9: SI-roomwidth-tt-T-hide ################################################### tt <- t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) ################################################### ### code chunk number 10: SI-roomwidth-tt-T ################################################### t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) ################################################### ### code chunk number 11: SI-roomwidth-tt-F ################################################### t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = FALSE) ################################################### ### code chunk number 12: SI-roomwidth-wt ################################################### wilcox.test(I(width * convert) ~ unit, data = roomwidth, conf.int = TRUE) ################################################### ### code chunk number 13: SI-roomwidth-wt-hide ################################################### pwt <- round(wilcox.test(I(width * convert) ~ unit, data = roomwidth)$p.value, 3) ################################################### ### code chunk number 14: SI-waves-data ################################################### data("waves", package = "HSAUR3") ################################################### ### code chunk number 15: SI-wavese-boxplot ################################################### mooringdiff <- waves$method1 - waves$method2 layout(matrix(1:2, ncol = 2)) boxplot(mooringdiff, ylab = "Differences (Newton meters)", main = "Boxplot") abline(h = 0, lty = 2) qqnorm(mooringdiff, ylab = "Differences (Newton meters)") qqline(mooringdiff) ################################################### ### code chunk number 16: SI-waves-tt ################################################### t.test(mooringdiff) ################################################### ### code chunk number 17: SI-waves-wt ################################################### pwt <- round(wilcox.test(mooringdiff)$p.value, 3) ################################################### ### code chunk number 18: SI-waves-wt ################################################### wilcox.test(mooringdiff) ################################################### ### code chunk number 19: SI-water-data ################################################### data("water", package = "HSAUR3") ################################################### ### code chunk number 20: SI-water-plot ################################################### nf <- layout(matrix(c(2, 0, 1, 3), 2, 2, byrow = TRUE), c(2, 1), c(1, 2), TRUE) psymb <- as.numeric(water$location) plot(mortality ~ hardness, data = water, pch = psymb) abline(lm(mortality ~ hardness, data = water)) legend("topright", legend = levels(water$location), pch = c(1,2), bty = "n") hist(water$hardness) boxplot(water$mortality) ################################################### ### code chunk number 21: SI-water-cor ################################################### cor.test(~ mortality + hardness, data = water) ################################################### ### code chunk number 22: SI-water-cor ################################################### cr <- round(cor.test(~ mortality + hardness, data = water)$estimate, 3) ################################################### ### code chunk number 23: SI-pistonrings-chisq-hide ################################################### chisqt <- chisq.test(pistonrings) ################################################### ### code chunk number 24: SI-pistonrings-chisq ################################################### data("pistonrings", package = "HSAUR3") chisq.test(pistonrings) ################################################### ### code chunk number 25: SI-pistonrings-resid ################################################### chisq.test(pistonrings)$residuals ################################################### ### code chunk number 26: SI-assoc-plot ################################################### library("vcd") assoc(pistonrings) ################################################### ### code chunk number 27: SI-rearrests-data ################################################### data("rearrests", package = "HSAUR3") rearrests ################################################### ### code chunk number 28: SI-rearrests-mcnemar ################################################### mcs <- round(mcnemar.test(rearrests, correct = FALSE)$statistic, 2) ################################################### ### code chunk number 29: SI-arrests-mcnemar ################################################### mcnemar.test(rearrests, correct = FALSE) ################################################### ### code chunk number 30: SI-arrests-binom ################################################### binom.test(rearrests[2], n = sum(rearrests[c(2,3)])) HSAUR3/inst/doc/Ch_simultaneous_inference.pdf0000644000176200001440000031671514416277550020644 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3569 /Filter /FlateDecode /N 56 /First 450 >> stream x[r6}߯[JVU|QbюlV#Jbc)ô`3LXfQ5B)ü]$6xcFɔy u|ƌ3&RM M%0aHӐ||XtsCB[T .S̔#3o1oHe4De %<LƠhU߾㼜9D1Ӯ\| 2&f^q3~{ x+/y~~.5B8SG㡼œ "aʳm]dL;SWUo܂i~8u[vbz4/svߕPZi$Ie |[<=߰Ey.1&?GٖCx}%r'nӓz[nd>6hr{[(kLIy_2ojeG~^Jveu!ޢ_ӮҪ}hVПڦUo´kL6yALݪ$XTKц*0+Vc9;HQ{ZZKZ+6]׫2_-'Yo=JlСY]6 L>56Y/Ntɣ'2T]b-Y?ا1^GƊ2o_yHxn!?&WzkkU9JLGm:*fjuF\{p R7u+;dmV-SQf;ZlibbŅ^%tpIC~#?OS;r߫9?9ϯK~ϋ9? ~Ɂ@=_+k^} 򒗗<5`ށJX/ j[z]YG좑.]TGr(wX~$}r30ٸз@y}.=}`mgi"|hۤq%"f838xɣ_°ɤ+c6gb/%- 5Hw ETB+͝IڮTip)cD6S%< QSʱg#fL뉪^j7O }zF-<83RF ̄:daWhCI.CP=;>r mrˈY֔u;߶1~Ɵ_ +~_[K f:_Nc|P>}7_ӿ{QW['cXeLmm8VL- ~߭2t3g$m~UD-> B17랿 }}#b-")d=WjF:9̐Sɓ?>?jrpr-F?+iUm_ QX]=5:#!Eay](U+TEoF6.Mq3:_ x+rMl 5ߐcxl3~ um{)@tSCSd[Sma#.0-h1$UlyNV!m0_zԘ\uCko?h0 VmA*|1h鶸@yyI=_9RQ*  @Ckh@nN&+۷GGlpw2y&?*;@ SJO^&?r|ICpSC0WT}ō5=*-bO?9K*ZEWei4B|(XHR}|m<!CIJ˦X1<:[/ aq/Z&ߌeN{q}cvY.֛ vUcSҏuc{ z`vC]ȩ$yv+Uc W9n3ks!PݳoiL73B&"J2$!4Y Xy -{=pCDlₙȔ$M<3] ӓ_s-:G_>(_~b1wuz1ffzͧw6t$n?lf6>!Tݫ \pҽ@+ICVN:6c6M\6@/ O$!K ˯{^?>Eqn=^ߟ-Ga=˧69:7/]jl蟯9B]E]׿(؃PsDꔸ-NB6U'M}@̑C鳘 CcԱnH]|΄J[L +T70UF #0_um|xo,px2еIDї]^'*F<_}U!#Y}26#G22$*27{YCXUؼw9DXrrhC,|bͳČGH0&-ǝseN (LgL,֏5W$e)U.xZS]RϚvckR m+K L:\u^>_$b9ሥSms#5Y)qF@U[[k|FW?53smuS: 9x38\dA_cS0ny*y۟ ]QMpb;'@mBb ֈJ6*T{_5JؗhQ[.yF 6lLO5Q]Ţ{eywg_$כ5}7{ͷdzOo <#UrWe6k\D5bMt'Υ:$:xQi&Nyc۶yd߆eck\9X62bnEgoX?qx!8֎N @k" ǍylLKGob lY;}T)"eXMӯG7wK `BG& h"ܛt`z'ßErXcj>9xtʯviz 6+G5g4ஸ3~Eaendstream endobj 58 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:28+02:00 2023-04-14T18:29:28+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 59 0 obj << /Type /ObjStm /Length 2696 /Filter /FlateDecode /N 56 /First 460 >> stream xZYs8~_ݚ q_UT'8ɔ#KI8%dLd 40ˆKK JE%1X 4cgX8x@'\[O,#KG,'{A BCgVa7JCDr J2b-sD:WO{Ljlj ٴI,g)4њ+ 2Bq@D0=D֜\=&=Dô\!q(0Jki%gڂS?ѱNelC1%3vGCLjH_efi_ogղb;WiA0ᴺOE#Cy7Tϯ t -`6Dܼ)˫FV m_3"E=vcPI8U&u|0[K<T(#jGlkn-t}tRߘdjIjf,(YT6@&c ? 4rX`>-Է Я4V*ez]ogtV]W4Af TS$  fre1L_ 8u&r lj{`pqHRc I d(!_mb{T5+d逞Ӓ^+Hc:qItFtׄt,)`>gh9c$Xq wXN;cm&kl7YXA B%@B$r޵p`)"iϴWD鿧?,I4jMW&.,$ڝ+$4JWI _6/72ߥ7ș0oW˛e[7u9y%4Mwkr(d$r$e2dz^N#yXF\-計vtTpԅha9Ħ܊Bq h@Ư-LɘBk-ۯ4JH[xRi_8%1#F7/$"sX8E;蔗'j~5-$MQ+K-o/zp6p3 sˠ r(:xӛrWf< MO~9='9fE4ɳryVz~&\u5k0KM!0"Q'AM}-2تy s`8D0?췳KI&Uށ\U9`ކ|w= vw=boЃ.?o}y c=sr|g3pVEanPS<7蘟A'3 ΘOf'UYo)GV1XSx& d;״hǯ,'d7zCwŇ){žX0c_ xvUX"Ե! Pz/ gVg5sŦ<4ʟ]5D:. v?A/9X?wٗSHa`Uqa_XqydDo84ຝ(#.tYq*07%_t&awoNs kQ|c)ғV|gy\{GoOMUе&nW9[뛪[tYρeڒR1PَJg7v.6Zκ@23\A^†MZ*<,äZ-iLR{V&ŏ2+XΥ}ێ^b,$ ѪJBjv_4ix¦c {IكT!7*pwTe@V\?Šœw*YCnrk-~ ƙW=oplI Z p|[hc}Ri]-EJ1\Tk*TX*@BF%5@NPxd ͟ltE ` G;Z{Lg?{p#&~Q;93I[ 1}cINãqINHt$f?l> stream x\I\qyG!B?׾@A,ђhÇ _̬-@ vZrr|f#f_݉Mܼ=ߝ8g['6w'AXGnO8΄wFZ:dYVφM*|Gγ_Cw^*0{ˈ&l\d4 $MݜLS=N3s 2i4P&\C#8YlN9Mק'8G$IDn'y {MĬOVFDet[XϷ;,ioJZzX $9_©0>ƠtUhG-0nhDFJO{B 6;h'~z*{eFXty:N[yT #϶x4c((otpN1.aAԻ$(#|A:ߩ9 acoؕwn6َtiʛmZ鐅CR ~CΩkbew>+R W,zݡ D5# jek_%Ye[5E{T p&Z),0nw[dɓs} 0' `4^:l% `9S;yspu8dlf:>>LgEӵ8ݞ_#.1)BYD'}  x ?NhLc7y;ɴӓ? 2.r#7l9{-[ڙ(6Inw&XΫbR* 0dAj@X Kl-G{L:U0<ЌPHA22U% vq6dA@w߰ mH/X%IJ`PĢڲ,=B% 6OjHU4#Kf9=H ړaO)Ӓ9%y)b 8AM(7W&u!nUϘ_,p8=i ]f輻[V&J#@'! 4>oʜ&ɻ2{W5S&_xF?U^J |i&EB}Zxx`A0! 4 ˴W&H*yLD55]AVFM@QX63iåm6yDJ" B<]lɕT^Ct7ʬy{ mhF)\0"[2x"z?n ~k"ɠN{ۄLD5]03v C6.+g$+Wp$STfOy>*!I(H{,pЦL)]<hҎKqc& 0.축3v\Ao]:C2T"{kM\(HNx쁐9?~bɲh&ZIbD@Ш1lW[O*ĕ ~MH߹ͷW g$Kuf&rUx"Bu&z$kWc?Y)ҷo(k-l;mLhRNf^"l- s~,R]366y>ۦ4'oUS}/ktq e)JD9]]>'/i,OY‚Kb>,`;j|ΜH*U@*ce b'PE_4*6g ؊WOzhT´d)ӽ ((,P1Czo@f$7:QSu#t=7Ú નpFatɂΥq)#fFS'*Qy^BD [`Wɰ E^ !v"n_];lfX7((9 j ԀgqeAre Cda}Oæj,d֭m,]@6[zL2d<eIOcXL͖Iҥ38ލԝZy` ΐ XVu0]*\]Q *W?[)4  `v|j/K3kC_np G @An @(n^ā2,Pff<߭ym>yUc!ɾR_nߛD5x[:ykzI[ 0>[ ՙ]3gE%m\mgŃzo:ノ}ҝ% 0#x.PֽgEç%Y(# -؟zI98tXx: YP HB8Jv.B:( \=̅un:%E0]AtN :++8~O(K[bCU3d @@pzl⬖ q@p^ \ \'W=mİ"a%)hՋa`Ϛރ3lL z"5F!ʘ,;/1Hǂik%dAT22`9sS̫5vl@ѳR@%Ufd8jD (/A ]x "4|^1XoK ^8X\|b5Ƃ+}/[cnk$6 Œī8J 0Cv5X_E|YRSCAyʊs`zV/-K]xUm|> Q Zгv7lֶEI>6^tZ*xaU$C5 7j}~r%Bzb=m2)J-q?By7M"͊<7YVIʆпʲpYc]Hd>NZ0۪3Fbuqe3]˯>b>nSu+z-"UvBTRpzhKna%V'%͘b\}_֦֢Mu_68=l]d]C]-(/4$w4M3IqNtH8Ygu=;r[+qp2(sF}LP=䴅j=My0]ٶZE=@"rplŠXV3~ Wt)f䍓tqm&@)j1 ,5R,' qS%,4k`+ۋ@GS 'euV{y, I /u,>egT1]S#&Ԧ Msc *_M+ R?veOJPyQ=s 4RPSbs׼EKSJjҎٵ~t1t4n+U?DTJ~^LpcdiISLS :J|٪L qclk{k)o@Lvҽ9cm=_zyxܘ=֓i]8ҹßYҨN\8X@??SO bjcy3Jo}. %FbsI쾯X38a$mz1 !8XNDR4z[Ža_!VQD)`bv ?Xcx}K>S*Ќ5W @8NB_-XasXfhNNf΍nL1;˹J!~[騒+Y'%di5厠˒-!h`n>l!{>d;4]=9鸦Vumcu2 v9&@G Y9 Uyx bk eS#ۖW0[fj+ 1Ş9qzΩaIzyITʏ>?Mdb5}&un )zM'+{m=Ⱦliҫրdޥ" c:%BPCXzdԀ,(vGr 3:YO *O }U06OjuCO埫h_h[?ވ+m+]_Qf륎R ojXR#[W讽"𜊇irk(YjuU\5׋Pla ,&hg*Z|jHkP@ayrp 2Ҷf_rǣwrT(ҒX/Ai(z}btD`VYzZh8D٩ܤ$4Q+0T(sScb|*J>Mb/֜\v"'Y<\O$] 1"0:" f>d-x[nىendstream endobj 117 0 obj << /Filter /FlateDecode /Length 626 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&n 3-[FL"O;!FJ px;@*9|FUkx:qpYUa d {; 5- %ک• k^ZhEN_ J{n͢yFUK}e5Epmb:W'?7Rn& Q('^6plLy7(bg5?.ۅjlIVcB#QoD)톞g1E]Dd)+YcMOib~ K[&2U4V>ZFdaĨ9> 9fE1,$tHh1kM癡'hg hFbˏͲU,E8|K]{ҡY[P$4|Ŝ`c%d9)6ۜ x _ģ;$|%# &endstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4269 >> stream xWitTUE%u/1JPVDHDF 0B扐!dNU$$d d@"#22J\ƓNU?zZV 瞳L&Sx?iL3j 1z cshOc^=.s\ٸ>I2">/J2i|Vc)!vȡǮyiFZhAp*|zጡxyf{Ad.دB#j"yUZtC޶6H#Yp΀(ɭŨKIx=S lG{B䲷=dh;^0a,?O[(U*j:a~h^º X%pN*o\ UIXycї?!Nok\O/ KXnlu ckV-U68VWYBȂ];B 8I-,|@#p)GwM auDzt'v? }Ц'?`KfTfh.2!J?p|p|'g 9†[ކId+ HKd"8SJz9uE&x_{ xԍ*6|c!3̩P\ܤ"NJcew)t[h~h!3yoRv~_™%;Õ},aYPfC6$rC~77w{5Mܶl$`1èxgEOb7I^UK߳uچ @05{6 zVi":GAy"<8,n:v). X]X0O %ā0q anE.8 ɩ[nt?HV`ZAOwǡ"2@/S.4z+i q*v(xp)Xw_s|2" VVYI);1#']H)Ք0n{ѝdz/nj! 8-D&AVuʫ 5PI1vPl(.QIG{Ê)͜_ \S̛3D%';:AwLop'о4Uvժ~B×pޅ/s>#/k|Ol&Lד~0{aK=!6-*jˡ6ӜaR ,Q/Ztt-o2 .%u}CPZQTW$ц`c26f8T\3fqQ6n3B4E+s džtLRG'M4x`jS96:%U#+&8 +g7e5NG'b[}&Ƿq&ΝuBbm}] Ga;aEԆC8Do *t^ +|qqq Ma1/WH:Ȯ 1 />4%;^jo$_Dv doWW \!JN Uu8b5`=裻emMpHsTqO`yu#8-B&VZ:}8um]ѩ`#_ x@8'.: nm[aݹṵ/*S+nnMnSg;G(?yocOXD{P`dd``Gd_@Oʱ B-^8Gi!j'{ɥ]OMbcC6뵐84TvYue3ĕK$·-G0VCQS naLu¡C>RߢŤqʠCbGdFU;9MYK iEt<1O4$f}[W_)NZ*kjYuc~>7`T%(md[67ֶd"NVk-P7,6Pe(Ȫ'㣳 O<ԁReT"h#ղz0B<74%/\B@_Cqg tN, S 7Ö^+eN2vlOh )G<4-Bҽ qOW%=M(W+TmZkcQKV;B%M>Q9NZ2yn3!K.E(yIOeEXi8QE-lZ\.{y#mI *N8Vv,js$0:7|  e{V'gZ8)5z =UIzDH/+,(. PA@F2=4"u?F'@w6R%kz>>c!$c}Е%'iT::\],X.mVzW[-|;yq{}@33l_j>oLz\.,N]!akJKJdeX-øDg5xp^F~?)1+:!䰸ydw32ΣL. [endstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 120 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 121 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xztaL222%C 1c޻-l˖t$"ɖ M1 B !@B{ cJI彼/B{{},whN{(uz`+y{ BXm퇪oPB 8"ynHhLoNӦM8~ܸi<܂EzE7kB<"cG QQQc݂"Ɔ|8rc_j^ B#Wy9Z67:7$(T<+<ly^ #Ir[,cy /g> X>h8&N2yi?xe#f|1qc{RʙJSèU;j]j 5ZKQ#(jC6Qs1fj5BͧާP㨅ZLMP$j5ZNMVPS~%ޤX-*OSj 5QG1ՃrzR eKP}=(gR-;  M-!,uu6gDSEOh%\1疞z5j.{ 7{_zv^o}3oorux8Ɓtm?6r?HJ:96:v N|ːCCCwmsdw xm{2&X'k-䇴/c q yZ>fG:HWh:CMpcVH6DuFAk _8UJ-13$dlXdo`Ȗoo,5ءnץCzb="EA cj"kﶮH$h[z.>Ju`l_I2@Z|˜$+ hI"A"L&*% lhކi$Bf5wѮB>m7 p?s8 oe>pA8 NT>ܢဴj{vX^뤮RMX*.0 нBWtӌ:`LtC J& DGr x18547fLbxlSi7_@$ y3~Q2^ sY"y{%hm-51ٝ|4D߱MNh &e ߩRPiX q7:&Zцg8$%h'] ٲtHJ6nx=p?xt&4;4.G|o"q9[*nu ᘲpAҙq"qwLps2Z\̢ؑc\9;>$A :ƖGIp/7 |U6S"(cH6FQ6uM%9::p T zw"M(K"βsysaC,6jR ġh%Z"'Uhj`> 'vг4ï5p UT1!xC.v;'>|%l'Dv$aakkh(l2M B𸓄h(l }:-Bs$`[vQ1g w`.cSDsBUN`!5FXHT94eϿ:+@_CyMG25:9HS咟,NSBR"HߙqxR=[Ek|KBúW $?F)YM;}з8t-&r%h7#3"gު 5YH+,-;',18 Pp+d<a74O@%+pj+2#C!&4U'@P:Ƣ&<- 9LgZ}xTZ7E𸔳s&dAC!6js&b6i^Z$=Nĭ(~k`OŨUDjei3!>:hX}!Me)-/0'`M9֩o 6&WelftFVEvF{Ivnv9R|.IT"!ibI ѐLOsqwT'/$8T2 e$:+!/ D0JФB!dfz[-3eGM edY)&ںlCA8ڏ@u*s :jj2 k&(Q%f󃲣'4HV@uu^c(( >3Abާ&+'h3nʐ?r(ebM(Pa]-OДKWHc:fxT?[t[r2| *\.O?ɡ44^&ϽJ3mAت2]UAZ6H>)GNyx7*+}\sdpx_y s\67.ER;Ha-Bsrv0aR X ~TY q;w⋸]/f.qc}Vrn"$9yN̫17NLA-ZL^-DPkϞ#U-fX)Ta5VX9LL/i?dmr\be쀭PkGڏZtƤZhVVZTZ`?sdq|)a@^ծb4C ȻfՇE_v, ;i:,ntu`# ۷3U"wA_'9p*ܵ.;ׁ TF42-:j7憉pbY} Eq&by'q:|l{ ex){B~mcx1U#Ǥ*%N2-]BdHSfV5A9g-Pck/!OKL'J׆,X i@d̔c*$2JsS*9[~%0Of'I<@,rxyO箐A"VUS+Ŭ~c _7A: pr%M6(<QСueL;z8AKoTH[LW|d#U{{ueQ_Xfϡ鏬+gT18=7 f#:G=7 S1B$⨳~.oB݈)p]Gd(!!!%ڙds+fHP=E]NϿ FiG_qH7nZg~ƐF 3/:c7E) "npUĞSļ5iқԟ Borɏ%T7V#D:,a`tbUBh/*QJgUr~t3$*".GjhyAڬجl t̢ ң9;2&_ ;d{=%8yD-\y'!r1MLOݵ ;,WNЕ: M%4-N+a!аPCƨ#UjjWcw*z+gޞo{_8{}`S]8fRUTwuPdN0x97B%ǒeOSwxB16͝<+zn U*/]Vpgsj돛.<$}ǭP7 <_|g4%xjmUÈ]JQȕrc=^kE - Hh[`{?3{B/>;:SQ,"m?[#sj&<<#ҿ*&U`S=u2PEZXڕU:2)$:D>Q"PeIB :kܭ=cIl4cr ^ef ~Ӣ4봠Tם)~XrWs *PϟQ?z_)tdTd΄;y!֤3 F`"uJR smSRTTHQ`'#ɲ;(Ӵp$ uGJL4#\=]94Yvcޚ`4Ļ \'F؉G&+DHPvGbBMסm,59lZ'O#ͪ *%($QɛlުO*I'GH)h2rbJ5"rOח++c &]KĿ" ^߁ZգRUK>{&vߘаF]Q^iZ R.[.IJ";T0wF=96K!w#y<,y_܁m&cr?.]{ϸ~<Y,L"~u O<{, {cetF^QQaXnʼa#Q[`SO6- ]4~DȇmlMteaz9.kKrdg݀BRO,nH@,wH]Cy1>~s"sVORȃ`QXSm]黡9Y+6]ٗ3ij_5i̓ >{lƥy+n$ŪIkF 滻6y5sn,;&%V8hôIs=]wkܫӿ |d]fh8t۪uݡRSD4.(s oK @ b1.9wH7s_ ~C6A&8 fl7US@O_KA@2L5376&&Dky[.|OڅG;E4wFwYbhf.; Zu]ԀZe59ƀ Hkx`lpmf Aob&&?ieCZH5L(ĕ1R?gDؽ6ԋ}wCnޗtPmendstream endobj 123 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5572 >> stream xX tSeN  ^DD@@@DAQaqeJ4mӦm&iIӽBRZBp3*wg98NK{|lQ,6=f햝/ 8ΦE}/ ?_͞> ,Y)*NKIϘ0w˟?cɢEgHNK'NMʈؑ$.1TXg$¸)/ϝ?C&N=)');/)qƯ3[2f‘ok33D[2,kj̵us67n,MA–ĭI)i;vg,^V,X5zz555k+4k7k + ׬ ŬMͬe-I0d55z=w5g`iTGC6\▌=;f촱q}H<~g>nh# Ml5ltXTDzJ+G'<є:(7栝(J>ը4 D VC  5͔֜bwJ]UIP>ì(b WC R.S4l0R\d_ zVI3^-s3I~zRі~*Dky6/; q%yH@ ŐG4͵ՠHOEۀ3U׻ut }';{/'5Zb!$biF~< 2o#yhRjKUi֤_,V92tpn~t00ϧ}E!kڀ@ ^~R4.Ph#⽈K d.qJ8'xPh^F1Ӈ%MUo>gTRS.Ơ1w?ػE13^qHESZHѨpcTg(XX %bm䣉\ĪX'2 9Ig*>%j Y[n }<:6&Dp}`6;*Pz]QQ0w_Lr)pnMZAe,-nԋN4,`T٪<gCq MZIՖp/'LjUہA}*MԈ] `3(i| T{4 DHxkbqZ?p+c av(W:]փp AԀd8]%`))A!fpT`hMOYfX BGWb9??SDt_5r'b2s#\@}@x<HHeZ >--udn:"P}`x6&SMYX~o64odIIGp4ƒJ8CX-ho5MylKXyPt!8l.6nQP -עEZEu(BqX,wh.*F#s/SŒ٥ϡwyc #[Z)ix-Κ` oXWqXUב`K<ؔ`'aP R$!EA/q 7{,?O禆}xI1Q@.;`3c{`F$jEvGdWٻ_|z4i[߿P1B^+wCoEiq#m8f|Mɟ¦&JM^D_Į잾Ӎ6_>уc'B<2ğJ\3,`8mg1\ bRَ$EV @4RYAm#^Rt43K!h*_6Cd_3 qDeW5\Pa9żIwAe29jIi| , 6򢀨1Wz9~zPa"pN N5Ugn!7eBL̫tl&{lveHKa(]&uWl̨W1tdi9΀F ɡFdtZSS3I< M>wl'Sh4iPVI]Bq]^٤i\ݏjjkjX tPOe ߧ_|Y#H?u +!~żzS'df&o31s+( gpOTt&NV;YgmD_Qv_[?.vi*w4mXesI,+A).g*N;0}f.ai@Dlok?ӳqzzhZ36Aa)hT# 0΅_މCx$Pm2UA鴠3qQLB~ڏ^%q4áv4Bc1)Ch?i2ͷw}TLL鍆pس/-)@lgD5˳k]ׅJ*;̸!ZVz$c GpNRJ͕CYnεjPv\e͙{G~t}y GOA?~W-싋xJfr&zs0CF0]Q"!L~|Bek!@]GE/0O.}~N-ˉ\r=&Z,x9`Un6rGczv\O7nLHtJKRtPbM{M\ī:~gk1dD UN>㊂9TfQ-e8T*+Ż-տJy N||%Rގ^e@`6ZC&J_C籂R,A϶Դ}#EuJ4 ڬB=iP%1L5 ]r;SY#MYu"%ԊEr31!^b&/Y7h Bzi(uzH8eNW'3sD^-N4nrM*mRXЫM6+u>7!6Gu=:LY=8RW6x5Fި?ph-dQђhu"@[X-zP֠|ys`R0Ap D/uN̼*fEDn2VVm@{k}rq6B{m4hK߈/&]|2Ba}j_P[<&S/c_VuaC{ W+e ŕ@kA~}كP yG[K-vN d"`3F.?xjr짅҃?4o]l>Aξ̭)G<'ab]~>dۼظ|2/^ȸmhY(om9m[4 }Xcho`)a^ qH͑EB0ɫ=qMEϴ$n`.|UשR HJkm^/s*NO~zX*\&3&0CƏƏg*endstream endobj 124 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2449 >> stream x}kPSgsWKQ.NsbV[Zguu[iXzbM!H!\$ɕ!Mꂗz ]Ķi;VNvǾ鞶Q::_{Η>""6e׮>x]}>}]Hw?07穅Y%ػXg=)2F!,rWsmڴ1ڵI a.OS sr|eJ%߼fZNII2EՉ\P%f|E ?LI9Ȥ#E& .Y_!|/W 2iO")Usu,kT^GyǗX{XLVkMka"0J;k ck$y6v!y7Ģغ؛hQC|km(bob߸1TUP4&o3H-SpGΈ{E_jUjТSwJ 5`'թYtZϟ1p t$e]֛2{s Jj44h@5n搃 \ TJ ڪT|8!xt,{ Ukऺ bcow}@e&4'0v /+sw23 DTͅmij5a0& چ2jJini4tDtO fmaːIļ߿_GgCU PrOiWe\_.8&R@3hjqY{~@m4*%zPA/lA7*vVHE9GgVқ?7K~ЪZcHB@y}L= p qb.$)8;Z]±UQS%uH'ˏ*nvtd`A4V8Ol'0(TJe 8^*r?MV=P$KsXˎ7^V+ըDY~{ &\70C+Ury_C&F.gg~E+ѕ4PuEGhT~J%p4&^Sωw'06ZUҫ22TITs~)M˴4ƦNƷfm\!-))>=av4?X^ de6:ɉ- G63]$p9; T 2#C5ShX-;7c Acݮ#CQo,vSC,ۡI{ yO9n̲6mMKLAuazOugYj^P؅Hcwc7{m{b̜iB@Ml1Q?qrg{ \Ny̨ϜŇ՛Eyh2!4fGδS+hNh͋}iI"*\:3373)WQmN~ u$ o!7ƭ>D|70~N? ECzxdϨu*Y4@Ngr{MhH_NNikrm>PV+/ E3?ΒncDdsX]NJd^8of]wVešhÒ#4ۻpQrἍaG\~>endstream endobj 125 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 126 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5845 >> stream xX\S>!prT\#PwjuWpVQ *WHN a%bNժqyVֶk{_#w?r><{%DWMbsq/Tm u[\q`̓(@8$4Z+usiڔ)syKvy;zyI i}.?oiӸyRiɓe2$I!8;Ný%޻KV{y;O7kqHPh[*d$% ,]T.])Zseݫ]-`C`T43g3wԼ{g 'NLQ#5Hj-5MP)7jr6Q(gj3HmPK2j*rS j5ZI͢VQ6ʎN)jIPʞRè x՗Gͣl|j5Z@ PT4 XpЊʳz*\'4Xϲ6L9DE"39gTT }{_^7O_?`̀ 3yՃvK>s!Ӈ\b'C3;;wa6t49#)#X } lݹ)\ֻ`/MxKB?/{`:]Dm 9 Kiw>[òݢyuy-)藛_,G~QQyH=x5°lo, \3e5@Ah@[Oc`V?v3م>ڵNjBzc^p/ Q{l Nٛ©R*VۮDgɺð+^7 ap E*>靹;3e/0yKs1Ĵ i3,d=\ T6A>̅RⅳW\X4cRץ>>1և$4!~1 [=xzUڡwa5Q<0@AxlbCA`' fŒ0;Xq5*yC< -nr*щ-G~(ƛ Y`f=ǃU<"RHH̫I]4t ]eΜ7|wc]8srE0{16گlPɍ<ݜķ'q˰V$D{X to w[ԘϏC+L)iZ`= f#4ᥲTjKq޴"z/by)lE>"-iRev6mfe^K=S82}cMQF%[qĂ2TZQFIf%ӍT 9ÎvXE4Z5'$G ެDE77|GUȫuyj4"M!C.'4>!qxi[cNH?xMHDwcWW TG?8njȦe(0y&"5Bxb+ dfۢ?[ 0@2ae[yVov(􎌶,O,|$FQz~ȣRP_@G5RPT> jidE*vD*ɜXIJF\TDIBcüj{q 3GrB`,߫%qɱQ"fߞԁW|xo1G"` ~k:~4Rvw@wx~= !ΒBQhq[Βñ`B? yq%/Ysn\m[!T:-6Y,HD=_,xaeGZo96d5o[wKߺCs&j0ֳ?ᡸ߄| x9Xp8ltbZTiCBZ?d4آ@gJFT &)M6"N>G \jmUһH3c{%<@u2 +R *O>"K-E¿ۻXmTZBxdƍ;M @<,%~ɮBI>-{?A K ^'~zO>޶q;?՗P!۷ct|EAuf&;*ibJ ꫢ7oQm3qɂY;Jx1 AÐo$/n33_!0oZOmbs*"f)bQb%"} Wر -kj5%y6b\cl LmA qa,7uR&haNۿY1./6Ewt-N~ZG?}9=PSHe$@^sM} ~(H'Ąg܄*.^ZI/2rp85h/t7FF.2$$""$2BqݭݙkPri6cu_ }y![2vq^uԥ검.:cevQSw(H/J#sqU Bs+c/yxNބdm{}M Jvl( U`ެ] '5SLZ0<d;wBh4JahD 0P@Q\"]AR2IK#1`{?5p }:I0OLzE71{ GIsY"` xv ]{)CN_!7kHIm k?kAV{}p} ٬4h: 翏UgPz,8yeu<3}L8U5P4b̻W<,*{F">8\Ua(nBLӂvC#LkS` XX=`+rZ d_˾ }a1a,ҭkZ}ep7MS>A > LQKU ̈6w~~zׯk~0>++'i(DCB=|?C7]ti0oH_7DQ"ONINBJ*&*P( Kcdȋ%Y9\#VW܏ꐮT[\_ʺh7@r^x؄Xbe^R#YZe{iPzGk9)׏ Q:Vw;$u|k0^F #Oc=8k=O_-۱'6# i6hwLVgԙh:e;R*% xҩ?|LuMǂpB/*Ã2^e3NƢ(Y=4Hᠬ2M ys.C+bRzԲ{M@ GYJhmDPKa /$c &Џ3L G7:JZMĀ*R2(q۰nv']``!3ZAޒ= aMk9|uEZ WW~gU{opbxMhǶjX!Y8/U1RYO1YTS c< Eͩ%&ġX/nN$r[bWlL@}Cp7Nl~Na.*g i%] ɱ(Kۡ(!CMh|Cbcn݄U-hF--{HI_6^cg򸒼 M^)4s*ބ-YhzoEIx5zqxmI~N&*frSaxvy-'|\{;@45 ~۟x{pHe4fcA1I=ç(HI̖y=4.O+7v׍Xp Y :y:E4.O%4uѡ 0D)鵚PcjG 0SWy*eъB`-%&#c* >[0 vL@ͨ9^3oFּ͓򞋙~[! ޻ KfIW{7`~C5 #-tx(bJx$m)R<ŽSY%U&KݛB@QSs4(^ҜIϱܛ<'vm$v)osqBo=5SG7m\#k ݋85̮Yhx3) ˔)JeId۲$DmeNqa67 >߸8ϧqtHЏkbGokkOQ[endstream endobj 127 0 obj << /Filter /FlateDecode /Length 3758 >> stream x[[s\G~_UA0KPeqx֒iHs?YE+ޞL_{tÛ0Oj'glr_-u|FI ~2:`iUU -4jRaj8fwU4o2MF( U2d*L ?6,_`!9tS?y#pr3p홝٨Bq9y7~d=~NcΘr>z>PN@"!w^_`ȝ3~ RB7#=?|hqyL2Ab)M IBg !a]9$7Ab[NA o2 e .ョ-d.ᅂ\_1iI^o '):IA5>Z'pT|R qS(/+WehFިX2:/2:εɦNC>wZb[*M%fsR< l^tF֯#mgE=]^w`La;1d<Vm23Z$~e$C%B߆5tKO2qVV;Xo㻎MDB{m<錪 G?:Uo?Heѓf{Y<^<˃v0U]<ʨ{2GHq^U[cxաs1Z`k,#ד|}/uMR JIA&cPJ;Y1\ 0P/䓱f^(Q531u IY"PsZ\hdwB!-r2|x&+2=PkD*AF3'4ѯBKRUV$/RGv}\V(*tu8 >{dƭ@8!20Fs NIyB;8 *M` $XfJXc (R#oI K7L k_jrj!mR D:f52ڢpl4lt#E{)`U.uޜ^T.=nrh6{Fr<ܜ ԗ@þ*Â\̰V`%Hv ai2ddmgYH+Qhڥe6eoG܍" $5]4hb=e9~FT0@}ʸ'˧O|}7'BEL>x{u9`; KY@z̸>xygіnfɟ ]\S4+ * i70hs=$soOACd\47:r'[a2 7gᩀ3 Ps-ǓW =^kxgF>\;=Bm _MSyx!򊁺& 3^Lk1apjK2[e2A9$ux6!2QpXBW8vn׽%&yѷ7_H)n0z9&.]Wӫp)& 7yh#㻆fEW&> C:2Ukbn?^63hcRxLN\x=>X=o{epƠF*Lry"!)$xMc8v\͜P_kN6/[f4b0`l4 P| \I.tFxV"0&1ʘ&5wraܲ,kx͓NKJ~±]QWe' +@294pe6J3j?{]rK/v htm4%Z4+9u]1 ۯn{#:v$7Wio$̑dQŠT']#8 c% (Cje6A 0A+Cj o(`dcn>maU[O+npDyd^%(WG-}GSl/r OʪV =7VHbj{.7Q]ezs؍9]Ƶ:QW* Y%6W (Mp/. NiK! >b1ew9*3UwuVc0rE 4A#JLJC8*k"\G!I9ff3bj:n!6^b؎KE{c3CY "=B<.#c7{P[LR/'kS&[N֢Mx|V=|z&q$nvpn ӽm(+YB\wҘxs:~؃h'ݥ*Gޒ%Q+4 GVם ͳ^խU>)^4׮|g(~̟3#/G3rHN:ᄃC*'eN;~(RðgJ>Woz)O ; 5qpyOͭخ[c+MʥA/zkɴ%Q3H1+$۲l.&=R^En?긊|sg4z(*')GD6If@` &I(a۠h}u>%teP[x,Bv'q]=3TT4DxszL2K>_ YY(Ő O_X$0 e>ct̷Ǐn]`76n;|^7Pa,fdgs猺s%}|@߶jV߲G sJRr?ԯE蘏jqEm* B(`@ljNVhg«E)WdV.xnހzjuMôj*y]P̚u9dlՠءNNQSo0$NnQF|~rv?iz|6j;;faRMɎMuYJ2wS{j kó}.[45IM2{@mc>|\JKϚI?_U($tS ʦvdTsrcqs..?ks_E >ko;%oɱkXٻP8[IUmpo=P?=l֯{"O梩V밁bf/:)t[e ڼendstream endobj 128 0 obj << /Filter /FlateDecode /Length 2506 >> stream xYKs OTN*OV`;:cmm*Q%VMf{ZJb;hz~ZN-%oioކ Ϋ."j"y[ UZ@L_:Vc xGb]p,c&v'STR0ҩ15o}H̛RDʔ5 6vB׆` )⧅Y_W˗TXµV.NHR{ݥ@I] aypxZN |%;-VVѤTR&V eB ()}LV8[!V-1%뵳L+ӒhϷ ]I;{U#JNlVm6F/>f5jm &[Z)A*uNI#Z60{Z{>Eri>Ƴ^N(!jלH+E^I["%fmjSVqZt81ZT6!䅭h)aA(81I$/NQ@~,.2U(kJ)J3qL+_ѪN1zMwتە+.c) t䴍o% -v+.{gRRҨr+\ ɤfBjR#銲V KzV؟s}i Zӹ #^B)˕5EE,5uwu ,Ws9ūcȨ0hXڿ[wm޿{FeޗnMHI/&u3z( fymҮIM:nv&nL͌3OOgbM.t5gW3'{J{'(S:cvŬ-a#ψҝkik&5iCn KkR5RBuT&f1ڭiψMfw7YvK&C qb9x".x'8r7?'6*Mkh߱B9LJx0E1r/!ZOv"GS):+=ϸ7m\Ɂ[+ )|u*޳ aj$wH,,{V)p{+$ iMc^*>%.o巕L q%)éNH@I[Lek+-TƦxiHom K8.=B`kd wjj.DCQ8UR74X$o.JJA-cpq$*_ y:ȗjس^mi7I&ma~`3|nfCwofg\#+~j;*n3};H _YDOy>Lg|˿Nx&]4c&miǙrU>}j󙧒͝X^L߷s[?mE'?€M8)ضulW|h55q+>2bMN'oZ|; is7W(E^v dsH_-=}:뭅yeM*OWA'>jY^zj(?"9'}m)R&?>Lc3'e~ja=:[L2LQIy'6R1HO6jB%ӄ>/@tT?2A~1Ii֋P}x~\睝t$$?wޤx1X_endstream endobj 129 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5452 >> stream xXyTSֿVījgpD@q $2O2$Nd`BA8ubki՞w[߹ ^[q'ۿ{F~[+b E&-Gq>n{ xڃ$^r^>~]A}G9  Z7$xѣ?P#N*ݚ""/GH?e YLGҕ24>J&GˤV[/bdYt4#L D1XI VD1XM"kd'U;wG02dIZA%zNC*FRƁ\]((A6h@>YaЊ $PW֦SӡSUYR頙GO:t̠7M}0`R;iO8 Iʘr.AڎF-Qy_=).uS ͠-6BU"EF|<]H>h@bDFai~"mB^HY` W]~aVcvXu!>O9N M=y9 [|FOJX@)]6hulɖ٩+$PoқJBS{HeXs0ף2go \Y^ʴHFvb:;]\$v"&F;بG]^< 9Y@8 [q}BN94k($E\I5T!6|嫴z l?8Yҹv>„HJ4٘HIVyGLjI: Ңܪxl;6ᔒHFBSy8Ӌۘ˂: 곶9=4Fǣv؟{+F>=Ø[W$WUyD >.C"(ϻ5oKX5sS'"sZW+H@}~.e4b|qkɡa8A{dY&rխ0udl/= #KRrg)Źsdp,Oi,r;m?'ϸltfP]m- ݻ.$D5Yh4 4/wZ\d뭻X"*ZUH79w^¶_9t4ݩ@E7&,za-Eol&뜹g20"v8_|dOIéoj2BuG!rnrM6wc ^S'Iu(K~k]Ks"45ܺ ǓKwU3.Na=HɁ@^A[(cݹpSTg?fD䋡$lH_>.9XY\hL*mnV%ٰ}V2@q!0Yiۃ Or<ԣ/p8/ r!kUU Wx/k(GiIIkTۍM`<:}nF'mH|o:-/V`4`)jiLc owt|"3\ra[] ,Yh 1n4s5/qpf&ƃ0{ xڗ1a]ʓ*m:\sb9_R!%\){Bf"M_q?O[s}HSh@f<2EP0\0I2dIFrFuqA^_(9QzlZXDWSKWW/VU:$2)E2 B K ;|AZv p]y4c;v='cy %ݜ]wJ!\b!rƂee/PǦts2*ش%qEάwb<6MTC__1|B224ѥ˥@>]&JB^tZ{7q6-Mm%n\I9QT.!zLƚVQ  TV((V"Y[Pgg#Q~n…=vxxcMKs_[ц$8_[) (`J++3R$՞mX&CRP\bdzTv.]c2s!3C=_g.H<.Ha̻ZshcxAӨy j<8tv-D]XDAxE' 3wK ZELp0ZH*\э44n}H*79s mA#r꿕vGUFe;U/ 7af›灊7¦ j}ݹKq]n][sz‘#@|pOvG䏾\.LSQGևF$[/<ܻy8$xl+]/!ApkGn#&Iޡb̒)q tgrVfJB&ߵtO1Q)[ }E 5ǠuA)5r<~H ٴwޗ n3s}SeJА'9LSN5GPIWdA}1[^K)[+|Xܗ)QF;FN\p)tKm J{68[6X^d8ȿF~D2Ы302'J1;[, K46 \u{[5-30֤ lS챌`o~|~bh*q%p [˱ &B22%U?}1\{j@+~KKJK˦~"[4ײai&8|%75)olS\ ticQY?*˯]PizhNZSS(15Ik3rZ[ܹ*PQY\SX{8? Gnؽ=Z2&<̤\^W3 ۪dX\k ]7k%l&&`]?}XULdWY$FLjUiϪU9>]"՚`eh8$X HDZZvi CAߎERD!I+ܺ c;#ߜ9)+CO^lھ-Jk RiZH3"B&ֳ%Tksӱ񻷱ga;^9׏/39GW?/2wYLVvw6*cۯ_vݪpŁϞ>}17^j d2y",o7PRBkRkuZI(g61e7ٿb&=ƍI+e^k k:WӉt< I uAh]F=+yUcL.] 7-P\V]}E=G~3 G0^˱$m1ǿGPУ*8A}AhefcMnդ",Œri3$u4 <ݾ` >,,qbahV:E endstream endobj 130 0 obj << /Filter /FlateDecode /Length 2808 >> stream xZY~W#d},ց$ث<89(K 0SMvcm?$a[f_UW9+Lfl([JV^:3Ϝ0>fof(7FR 8vᔖVPA(5᧵nyWZM6LFROdrܖq*S>m t2%nHofx0j?x5}0,Ϲ`X =_g|‰{eY[_Kcb), GwL_|9#+8 d_9gBݙ X},9R1_ռ'K@R P*m6iUuZ-ҲJFߦ&viuVmZ],MtE Y}>[b{hO 00[ WoNm~kzzX` Fc-"JR ^ra=#u/7Ur6VF|D!qLq@X)5BccL(ѨN':-&rG]Tbh`zɩmHƸ  9!2:Oiu?%%'_\BH?%+d*ICZ]viX`9kPq/EèX kTYl DevRHچmLVY]pP-dZ)4R" f^#kmlq_2 "Eɝka)ho=B&J2NHK}gARB0:O@1i2ـ(]tWI tyKI>q!'C>Dc`@Wԧ(t_?" [b˔ DkTu,3oZCVSWQogЫފfmܥf+DqKE`9WzBnPnC>g=vpA4*)xg#P.a0(&Ԉht{CAnHQfǥ}?0(u8[t`\ҋ U9nRe Kɪt\;aNlڛIuV{EOoκ:܊8_]C%ʓ4S׿euuwspET$[$|{Ǧ58p_qɹ6 Jrj7z} ; _mBR*zY' 'b \ʔ晫(=,NF,Ѵ1~ՇTr @8x?yL^!oM.3ONfINo~hdd$)F cyJSdA/~D#nkA fs'a" aӷws[#3O9/4a@옑ۛfNcͫ=$sX^5ƎZN(-R!zq_gVX@ҪbulsܤmgPWwRtKz~K`I6\{hzyͻ龏*d>i3YNrwqȻ!=݈A#61H/3h 4Z8N|cPlnP3]ģ9d߇mheI#7pqG_&r}AHMzf<]p@"Ca@E!#|yjÖc963gGC!p4bАaplCQhoBD-@M\Xet/=Z(PQ.T)4s3p_zW1 4aK=<iލ4!r@cVdDF)刼ѥ\s;!R61):='. կ#4&HcGvk#kC{C QR$7FHv"$4_{fBG{ѵ&c;̒^X3ȒWaFDHD RST%6%"s*ƨ$4N3!iY8E. xɉ-|tyCNDEseBV"4Q#|{gy}tDE裢ՓjbGd"ܕ]q,21n뒈o)> stream x\[qOGu# WnJR#im/Po C8m` g~8]1+p>h.: 6WֳܱY>X;kTZ89hErF Z+9 /"qTy7X]JT)#ݠ'J9nxT{*T7D+L٥l\_ ;?x#Lw}{;f f7W_f2ɔ {ntlsƔ'`>Ƹ? Hϟby9ͿC)anG~;&? GJ ?lo_0~ICg5Led%=\ = SCe #tA9&s /a,/혴&k__dLgoC'gW?tuh25 $pv~=LCū:ۻȭώAQ&dq=nTv1ۏUrqX> s.U79Ew=d=;Wq%yE~Xy5[/ʛIiSj{M r,/>'azȏä W(TyˁQ|7Z8e|z{0#+JN3!Bkk՚ Qeyq }!tZ9w,,OOYyXb󧹵i Y50gysIsLdњ*G߸u\paׇ}n=džU\6G%Z(gw.O[?g*~T7xc׿ʝ֘bʢm.e;2␂MVym4AE!1eStY׹u[6<M;x_>AU9t$ 3ď8/ѓvƜ瓩 ?\ uJy6J|y rl|`߰Z5RJ cC\3Wxwdo>E2yc.ۆYv/ yD/[' rUfgA&4?b1>ԢŖXLz zRxiX~ C4ZgWaZ6{n[mS߂7'^ĭVM [g3E' nXZu|(o/S(/~-A[BgWqAN(Pu\{Fq?nm/^3U9zN=Hk:i,w.ƂNm~7ᢋn?_mN rXKeh5x~*N@0p~Rh@GB @f% e0PD;58qj"5p,GpYS3oCn6܃TLTjU!THIr>RC,`SJ{oKr:7Dz `R3αbZFGɔ{݇Uu=(KAp˂6pQ!HxL$Y;(J L-{P"\7}7T̆fo4Ed&Gfܪ$ě&qsap ,jïpR\`'[XVQc Y J`pp6mL7%N>㎼C $B 3&U3 \Xq°D^,=n0 Gx-}y-L A@{@zዄ# "9ԓG0kG ˴N #)Dc aoEguY8C氮kꐌ9`T43(/ $Ԅe72g PY#`ydP!IyS}H/͢?(ykXB$6:-ᮝ^ia^,$7,!XIJI @qU6L !(U)Ti {0**+C02Gr:7[A [ސtЩ: ꌱlx2<.Gn { !dN >`Wҙa쳑뮑 J4QtVEXH4X+(FV [ d|Th%=-y3TĪ Dt)Ô }6c1ohOYEdO1Pɒ Bk2<:?<-Ln?YL )Baax~Ijr>l;9T`P(CzΩ\.3H^sDjG,8e% \Sǘ) @ȘlPAlBp9W+1(dbzP"&?jGApbx71Co)'lO"q[#6q/Y5\Ȅ3wq:\"%N~ xYxQs 0^nv Dp" ;-m 9[I] RxbW  v7C00?' R2. %dh'!QtۉpJsKwP ߿ LJd31/ޒY4.@ 6tN麧ߕ7t7\ySxdfDYs2^4Ve d*^rU8$&Z4-(PoF]\i~e{)@ NJ )ᮮo! `S߯Vw ?së8NZ+o"d=c4,Fɯ{ peeZV=YE2,qDBXpaPyה} AU3\gj4o:<I  rjB[rX5[v#NZU4CIeCa(J\}7,Hw<'a8q>iZ| # wC @ku7DŽlS%M/GZNjJ > stream xT[PSW!@AIj8N}TRZ @L!5@KHx%$ &@›Pmgth[uS3 p3gZ{agSOZ-™f.ش_`.&MH凢 ) dŔ\rID쏎>Wp **Z[$KrRAP! P"˕ "FPݷOTF J#eKw(% YT*2B(, ^|}9%+*.SYH.0lXQ+*,zÒOXc X"}sb<,Uyˌ!yXf9ˈf7U4]xU%Ht7;a0;i4֪U`ԐS̭0tĬRb2+@.(Kjtf2 p^QXWU&34-ӋSclhI*1jqS.-ngw%ɸf~P5=2HUM\bP(;t>d*Ђ.d  TѴFdR%UG{,-]d f:&ogoG{]C|Vܢ5A%bC੅c2|ܿ9 0L(5d7:a. #) e"Rܱl/HcqVs0jS͞Vw̶:G\׺|I/.D2@ G>D`VlnK T7ZiJ^Y}f);r؈7PEܚ+Wq7;<|Dr}eERJksAV8Pkl6; a]`ClNn*آ+-^֥tXu?1o'o3i4ݨ%eu%3Uڙ$ le7p9Q`cp޷endstream endobj 133 0 obj << /Filter /FlateDecode /Length 4969 >> stream x9qƏ˕NnNr'N&qHrdD=tmv6-w&yռ#MS jm-)H )p6c}^c]# ɮ*Hg\n&ZLFƨVgd̉+7FαV΍|"pLdsc Q$1Hb K f4^fdSv{*`euKVz ~oğPչ!6.$e@l'Q"J+PtA(ߐ8" ǯE=j v3㟇m.F»#4{#lC2-w5hR隭]@I"!J-E,o]fZr@1!tyikbJ Όj67yT`4!!F5jse!Iܛ B nl$u2[ 6[b`> 4d~gfx} *?kEi%>LLfWV*y?V@<1yJĆVh:k{R8 ׂh%5ha>)D7h8F8P rͼ"Y*cP%*iHY=%&AvG{%<:̑vPBF|C'gȣj `*>R?0ʠ T~;FJWdEYWg{ [Ƣ!7p'owg+i2r?z{k)8XMn/szbK]f$6pږDigmg Z23s1i+GY7yf%ўp_&XMi &fc :|BԀj!Sv(Oʫkž̠(k(c]t-s6tr/* m#%CB,Rm"]*92,zDLd-VJ13x f  F=0xesC`h~$|eUg@7 JgBXa_lߕfa ^ܕ 0="D[isC"3l4$msJxrR\`< נW\qL ]L. #W{vh֧ s{n4*&jNF 3AS9t%.rEo 6 Gf^ۼ cMушE~t߆l"ڐvK2tr*t-ÛEiU38߀ J5K$3ƿk$AT~$oƯ3 Vhg%lQBʹ$'f` hSmP)xdsSn*;dB8d`}WѕoBQ&@i&5^ToBGK:/#2GQв tP1hG)c|'δ2%[$Hcom^*leΦ\;~bhS^ƌ첤g^rRR8٭f$h@dҳ}gx⁐eB5Eж!9%>`,U}U+;IW)ܟe3ŀu sudn}PLeӰS5REƓtX&ȉ5w. #A[J?LDvt$tCN)dfcongዔ~jV+g8KW1CeU&|&6e yno'6.1(}m]}m]nݻ 3`$nH"zs8"=цO8a;qF֤GybBMJLJ%o恥͚ svJ T)k($]{NZuk]UVw5/:hl;Gw9ǟv`zNw}ב[m]wDŶ)=$̓27]X[w wd9P. : tӹQ5"g]h-{[;,Xa7 0]=bzԹQm)tpAtSJQisjJҳx?o:=$[zD萱'w{zjz::mrd-sݡ wzC_sJ--Og=c E_//Í箷໶o0\t~ۘ/S]5@>wy@}K0 d/[GˢKZz=T=Jg' ,I0KS͗;v{CjA6<$#.$Ss2,'6,H4{wKA.B2@ hEVtL)1Z^m{ R|Ƭ6aRce!2{ZZ痔"E>3%xb ~,l> stream x\Yoeq~g#. ē r8r"E&5'>_UR}y/M=Tsig63_ݙB}wfvrݢuJݝjg%-); b"cEW+˧1h;[-U5Sɗ-*6o؅W837g:]^gVKWDvg ɛuq싽5ZղlV9gqߜ[r SoR_39Uwt7/}&O1?Oܶ+tD?O^ eLjŸ>l!!ov?[t5DvHvCo PIiL2 )L'FH\@W2at o93Xv " Nsȭ@6W3G Pp'a9vh"FMDv4&:BX` O: qЅj&TGvItM!:ms>m+~GY~ w:Bm_'l!\P,@R@ExuWKPxS(iIB+ wBo0 LڱLT*ҹTu 󀡼P#&t #a,@Ixљ)X0aB$X)qK0ml5 } c=5.S谜A; ,5tXjQG0Hb߾ %Z~c ǽŅPM+vǦh(LX:,g[hp#.3ѹV9D68QA@zV\$WOaӋm@a:##PIrm+*=$A{^X\̇L 1GpT:FwNarr2Pt22qFSX`bA#mXxYcXWjm#!%%cȴ;LE埂@ip0`9MNiSI~E\6 rȽP+Ac[_E4Q QɤoM&pa9vM["Fm0I0h0h\ 堰hsjpb ܡB#yjΝ0EYA(tXΠ}ŏM 3ѹV9H6./"4[X{(a(M ,Vo9D@I~8]! !j+ 5V[Y(,X=M`H=^W%+[ WU G 4gBy/lDyP7~svXIdElcu\O>"nZe`갆x$Ӈ7L#e^" k(OovWd~{ӡoYPjJhn5o_{v9* H\rAPb"jy|CnU!r#Ov3U*(If(8g=H2`{D9 #9v8KFh%` œXdHy1f!rR +EVP%*.jnEM4utQDDM0 a,+EM+|MQ#U.+QcdRՎڤ3)_PQ9.F\; K1!j|E&WglҨCE&f/ -1B89Naj4 G XKS+]pmpGpfQu 3hG_! N!Y iGct.;UMnKlbCh;Cn7p0`>7X? PխN`Xw9ȕLv ÙWrIe0zW5F7B V(2FJPgL;:s)rmyD3)ܩ$~dI0  $1l\Q, PJr:[V?Ye\ȵ%ߟEri$#eNDqB(ǷFD&P,lc4S dv\-<ίƔN=LyZ}Pޤ#Yo&牧I3yޔh<oQA?e(h֑̏AFx,D=bQE&>\Q$#78u)'R˿*-d}7~zq;^kt1q^iy k"hr=4Pyj.߈Qa5 ]Kj `/O]8**EN#9+nOW IHN|d@ ۢR!=IB( Od7Se%_M]~ſ iT,IB(%3d[Tr |'x o.1nqy')T͍x-kFw EMjqƞ0oZYq.uyJHk VB')}5Evg.rHu ϝ˪N wƉ{Ʋ|i'2=yGnJdRu,OX4~Cdaƾd%trp"6hf. tWE;9EɦXyvoZ*>5ŌG*G +ǃ =<Ru({ZE>Ho䷕/~3@w=v(ZPvOUj'O-ٞ!.Aֳ.UԉZ)CN[~5V°%~# !1`:{yȨJ)f{:/]'|G*\&AZ,dq\ ܭdQڮ>f Re8VXxJk-`=4ri^i],~FC?{pXfZu*B^ٝ"mfUؤجM/<7{bz8Pǭ)]R Z$ To*pB;P g2K?9~?28K}>L%U'LwORRX9e%e_=3df=eDzX?dzmˇWF)_H-9q%=H0zuOR0V)IAEO2=f? Ψ#fNyABOV{)F)T)g{ķDI|||Һi'^hKGg-+fQUTht>R/;'iy~y/?x%?+eRSbUK,"3[n?`i$ɨ,)~]O"^u9" Io19[~R85¼> stream x CMMI7%`K+  ^YUnsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI7.CMMI7Computer ModernijJK(Ҫopnqnzv`~z\e~}t;_bdw揗cT(]z~ᷯpt|rMl`zK~pnpop{uh6zFVQP~xwlqpker \OK}~ſŋzk}wCp`  7 yendstream endobj 136 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 912 >> stream xUmh[U{.1bn3+vmVR8).c ͋y]r,ѭi6}nmmZ6u.biu Y: M(xmP9!:ApwnR#{qꡭ*9hx]x c'$}CpvK4;:o 8-f/m0cf>86B=`Y mmp C-t:7 1VZkL6L˸eNm8fOD&qFr$JDBvHU&$%~=]x&ć -!i_&x^|wѵ\-?0\h:c8ك/ 7=wF9qi8q0xq.|xnT❁HzHz 8k}o)8Sy6/:s$r%G(wW.4\Ě=9->+,o9X?7%0 !IڅTL)ܧ3Veϝ2P)뎦F'a)dSB91*ތow?$G^tk$7ޮ˹09TbLK.Ei>4^kd*NcQ%>qrH T<-n3YqM5D2MD|BuJ]EyODjjff!@Tǒ"pxftj$Ŷś T\Ej .pw=4QgWFhזu^'׫UQS$FC9mQ0O_ DZL^HR4}l5ӧ% y ~֩΂G;lJ%G /.Kendstream endobj 137 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2195 >> stream xU Pa`%ȡvVMl< Ѹ ,*GkafAۙAPeq5\c$k^cc%=VjT%U]U}lm0gexYc޶a~69`|p{^6U$'xRYS&O ׄEK)N_޷fJZqFsՌ(aFx&df絎Ee#4sL'J"a,RBc]Xgdrșbv2BGeGTcpFgG:LG ,R;!"Tai2QbLwoY(eBYxݗ3$u]p1ڊCo>qoGlR5RjxD/LuM`gJczLTOˢ.M<9R5h* ȅ} usޠŞQ~|vZUX1>!zqpmJ*hCق9gj9N"aE14<ͬ' LhVĺ/Ul˜tWxR(9%!RB8|W A9oY6rBwqJMP%xuIJ%@Kj̸I([o߈ƞF=>>$|Q}ۀX/ޒbZJj)T1q.NC|d+!M7;Cz"KtO`bQBDBX(R/Y􎈾񓷑ZTJZ- xm=PjJAb2XPrPYEh9HK/Gv7/9(;Yn35qx9B jka]wGA8x45=sL!WaRt hG,GkLpF<@6 eD_8SrW]9oN\)ZBB]_ޯTѩk7! NA@NPZ9"Ӎ.Fݼ[wPs|.#YכW~;s8>3m2άڶlc\~jw$%14w?[dȡd'|M"s;EgBm1hSrUՕѐfuҍ-]f KA".ȕ9}l"Z23rAKRk&ʢ4%e3 G8 F<'M$,#Yl2tvR2v+'595YrW(OL&ashI<@qW1^$fd(tbĂъ0=2kziWg՚\+˪>Җ֬'uDk^-N"ޮ+8;Q@i^ZA}J /;ug)h849¯O > 娕rʤ6y< 8^0 rhlÛc֪i;tNj5- 'c 4a=B܈n@I@6QWSO ㌐l/:l>{-]g.܀VӸ~֏C 6@8똾a>ͩ/igKRzjbpƍLUanH,h"8 h"ͪ1k/ѓͼOQ>sIUr[dF,(qזg|S vjvSu_8ue?_*/ELbe1A8*toJ ؘ:l?#K0X00 i] endstream endobj 138 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 415 >> stream xcd`ab`dddwu041H3a!O'nnM?'~%Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SRtYV%ٽǓ]տ+1a){¹[WvKŖ֝ܝ޷G9}F%m{ta}R S;4P;;ß'b7o7vwfߋ'vwJV6wgtsİo{ڽ{s `ya9=nilc'-b>s$lyx{x{endstream endobj 139 0 obj << /Filter /FlateDecode /Length 197 >> stream x]1 E{N cCcd2I.8"ZY@S̼a]]){Y`:`0ZGxIUNUu7d ؓTyH/F mQA?;Oe"I15bN]*MR$"DXyB)Tb>NQeendstream endobj 140 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 899 >> stream xQ]h[e>_Rӳ.Q1KqҵԬ"ne 2p4 4M4f%kyI6˺b ıĭ ஦ ,^f΋yc\cնuy?tIm{yWyS`5f~x;~ ~X$\EX(=]{Ffp0,B]^+ŰW2h+$JIaAIط/H4yMXͽB"$~16 H$EjzEѸ$ƄΈ_F1wáP`mڃOGXPV*۷lkyQ€LcYcXbtpIq6ZM!]}^^~d,2|xϬ/Bޥ_Je>5 ܘ&;? |K&ȳ@J;Yi:YaO`ǟ1pwᫀMrMS )9KvR-dM:Ӊ&Ӆ]܁El,dApjD3F@v |H :JBCk>PN'|}ߪY٬rݦK</(4GXH E( I89rY܉e< xi \j UʣFKTQjTeq2k~vmc/w@Gbҳ6Ȍ#ԊsF?tR I'.WNޯ> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 142 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3496 >> stream xWyTSא+"*&)(E@A ̃ @@+֩rP_sAPQ*Ӡ(@`@ԨZo_։xke%&M鍢hNHINY4?u?Upޡ|!?̀BdW2u\|ߌ񔀦m Y1==#?391)[fo7Q6__d Yɉi2 r!OHHݘ% M߃?SEYᙙ1'76o_~\|@ºĤаT{ǹd XΚ9̨@ʜ S ʂ ¨pj9ZIQ;5<(OʖZJyQs(oʇr|)Gj.GSʈS)DS4eBM$h O DL2*aB/pl+J)bRDڰl G/Ac٘1ykf2k7mlB8o8dS|sm8]Bl#ߙvH·̀<uHiOr[:a6`wFZʽwœ`W! vph]T74!+qihہLh>ӛ= RIgے7]H3l_5ٔvNz&P 8|Xxq=pWf5#' T*@!)lHlʈa"< Xdg`ݮ~] H?P~F? .2B@.`=`)h>rX,Op Op TF9~J磜Wn!)R[˓S"0UsnOmhm*VJd>'}yC׏x,jaU<9&4X}wi'QڹGia{$p>1oL?~\OY+cO~eVnBlⶃR"]G3j}݋یy|$xkd>WJxȱ1أ)([X7]P9 b,[j]w!-4|9 f1Lm3O62raˀ 9y۵U}p[ }شϏ}ƫs%Y_`{?U@ӫҍ-^۱])[6F#/֦)Ϧ oOgFߣC{8cSfvr#pNyiʎ˳J9otl!BAW @4h 30!9QH$V\K{l BZ7pKWfK,p1yOjHmk W#TXKiɄxO!3-IYP. /co?$:8N~WC kS- g~guv.20 m0t>S0Mbm`<zA18ȨU;H p)TZS1g/35RODx uFR<66gJ5䩠yZ04uj^#(WjU ? u}yc^[3{YX%f` F%z(4:s==}3KJ5}LI";K'/*H*0dy/SNv(M)CFo6.@-RpL9ءҶ,M5_tzIYx ;D}2gLpVi y`G.'[2t/c6!H.%xKG>[~e9AR/ĊL絨'mp@㴣~{S?;7~t/>rlM̄1_Ŏ٫ҒCl׽`~Rpl9olo§u^nK[`r G0;(_J|L8Rْ4H$HwN*~tB)0~Q69Y%jzߩC'WK zMҬm) .s] :d_nӮNg2 +ium;<2"8(fvsUyx=b_5vܕC>|0xÕ_RHoރfS#J R7F@{^A%1 ?krA 1y#lxڲʠDt-|&s^bg؆ "-zd9q}-oy1pAnԎ6uU @!y3IMI9jfq$< $=-Z4O%ne]q Jă\ۍwȘ%Wմިiz{B66Q2"9ӕPZP X'PVV5VP#0F`S|y~ljeed`L|T[zFZC--?ZsFN`l@yIE=A4y|3CoC 3l%)6þA!};G3GJpQ3A ^-2Ľ`{?0F͕!8`b{BsN9<׌k`}`,ESendstream endobj 143 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4091 >> stream xX TWC$_PN~NǢѢZ_(^!K 섗r2dzG!%d B ]4#0`>~0 膨PpxGcGr(p4[Ɇoli1Oo`ӝq%~=ܭ C$s+Z;e `zDk}(tߑ[v)d.d#k;eC"V l"wW򠜿iԄˆpfT8 .q8 clT6)%w]Wf YOT.nDx`۸l54udmx.B= uedx6LҍqGKa}*2+I^RN\ss|EXKU.11sYRm4 M4ȩ*5ť%%]zf}W{-IͲCeKjJު`sחȔ2J Y_ \ s n+V1&62ıyh9]ƒgv\& d(#"VuRlg)f5 ZخL (>'OY2Q##SXXmonyސJWS/CqQMM ĸזJk= RSև@$BDmE6eS8*M߯-ro,;mUhAq4tAdu}0mƻ|ӥōaZd@xHl]6o&)AKA5%"Vqv%O%=cР(Tt$iXo#]m9m- Qꪢ'?xdeŕPqv&((eNsW1ݷ׭c=4:_ cمFDZ)7oYjecZ;D/,oblL aR'y8&d{Kab|r0Зփmv{%Gc4q>+IWK˜)_ouF(ʪf .Ahk^'0zOxM+T[U6ZmpH{*hjLu-vsG>^I4X>h3Rel1t QjaIVnx û(!Jy ECeXbkhNz’w)7A0(Zd4s9y[ȩs ѓ72Wdsh ݷdw>8=ݍuY O|9WnĨVi!ZJN9a6&R:o1S7 #y"ȄjVxsZ_/X |Lۧmi0ܿ/#ڷ\4:M%MO^"c{沂Ҝlm^^5qn.ھ_8C _3Z<\ 59w6th4/x)9ЕBWX!.bS͖NšoMJ؅ʏ_ v]exG_;.hl$=EY p5H爘j_KKp0}22⦂[0"jn/q4t۾^\8{f>mnrڊ [Xl&"RߴZi~ Gtqj#,[a;|=v- 4Jѐk-MPX֖ʫDžbh,&+p`Z Sfz" z, >yIڊȆsDÂ.Ճ9$b|lTn}PdOP3߭}mgS+Xh5B#pwC֐We(?znqߒo 쾢S8}E$ᠢ=RzP ܧ-P 9zYe^Ӑ{ )sq{]̘YB>G5S7B=F 5ҢCA50mYyz}V43z洆ͧ;oެozB pTrݡ(9mg-"}szf:}hɐ[Uf0TI3yGpot`vLR##66A_$$QA߆6BŲ *tul:UQotRr]|v};nvMPP\a@ 5iCҎ ]B@>a48={C26idxgk.:Cp@!$^|{"jC"? 8̯&}U)9øu9Pk~mzv?{8;ֳy+F֩v/{6?7wޖB6evx,meyw7 yH' $L$i s+]G9ɯ[t}j7Sp;r>]O@ћGE䫎DtwafKcu`cς׈[\J\&  f_º\-bĵIJuȈq9-iIlf&V6IȮ*6(^0ݨu{a3|endstream endobj 144 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 842 >> stream xMohw4.t.NeVI6fE׺PoM B6..I6juj``/&cf^;<<<|C:$I}RA[KjiLOzj_F&Jpᘦffӹ}Ao{iwsazY.4p\P( }71!/a>dgqfc},ֲ\]~_ ? 0q8H D+7f<ɐy4AV$B+mvSlLK|P|*0#~ wo(g`ˉt`B2z9 %,.H |dpZNY*\g8G,ݭS҄=q(_kC4~TߠB76?;l9%jzo&):BLNWdC[AU5BKyq4N@)GXR6FUi˪a!%6>n]ڤ0!xj9[[HJ4nMG>8Dg҉d>=F_+p<#) JQp`FЏLhf jBk ;W$*@6skkՄ'%L3u!W 7K$9UeFvk!}Idž~Js˕,ح%*I  3endstream endobj 145 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1005 >> stream xRkLSgN/J4U sT(aQИj)1@q278[@q̩~52$tq.A8 @le8 t|]lyy_IDa<⪩(O;PI'3BHX/FB/~x/ H0یI Kt))GTU2^7tgMҠbuY.Sp/*;?hP4,U5E+l7vxxi~L0Սڽ=!EkШeRxRGZä0&Z}Jle@Id'&RXmWVV90<3B)pArlr~k.W[;깎WN};J=͸N^knȯt|qD3=tH" ÷>NNb_g w{sWݚy Lole2䄠[|Fxa'}fd:Mr,Ty<훔$\TڸS]Օ #;e{/30 bHOpZJnd͆X j:^܊'?;yj)s0Fz*=$Hȥ>hئ2{{ܸ#uwx_+k!jgTOFu@ZUH%S2m.)/}E8UN@XPez$vmz>C{Q2yԳtoLesK˃w9%;1\o*b‡^ $).PPlIH +EyH> QviF"U In~.3Ufl.\> stream xUOHQsqLX̼S2eCĪL밳L" xYbDn vh,&ѩKxhv/m>}~U *#8Z`aS5pasVA(xd%*NTvv7j jKk5+?(hqTyN4Luu,C*Y 48](DtC jTFdIC|H@rG)MPWT @)u./(`1]jLN\:IgdlD4UD/&1޸~ٙ:Nb{b'<8 p tv'>pg%IAγⶐU۫n_@Eɇcu":tޯ4;Rpk{%ȶNՈ0+J֌/ì,H^Ĭ9끻xKi6GL [Lef0f?'|endstream endobj 147 0 obj << /Filter /FlateDecode /Length 4758 >> stream x\[od7rgav Ѳkh書 12r0OA1yrG3&TfXbwG2)rwv/U\1:V'GdF^b)/uPc5z#zjZNCD B8|G _ #A#'0ip !8p ]<?bTN6U 89XLjl _EzcOk9$Fk+A9['úK3|BA/;w@FaCkAGpm%jQ :߽AHDV.- g q.c +L5)Ķ3dǖ1}m@Ļt8޳v<i{S0͠} _TV@7mB x .`w.hd5Tv8eW~wEvb "Ją.+ADa6LnKU3BvuCNg[g Hkؽ%t6z"k1̮Ù'%0m͛ q8 ;(6i+}B,aSTS34VIA+M`NӸ,H  6|-d=BP+^Q?(7{ yF{wG:X5_NXQ@EZ$pxONUTqAC&n!}C04>Gf1Tog(LlK+'iuaϩN ~D"ω;q9?:al8 ۩У%q}fݚ` P QJc9mm\xئ?T8;'Z1PU10<&lDP%F"Fa?q!a厨LeWK+,y!aT!77UO_USH:qs@ ZISW|Nhavm-*۫j)Q"J RTbrB ʫ11Fu`OmD N`'PwTXl%<ZҀiz zMGȍ.s2:8["[Ww䄹D٨Sq1 [P}q %9Hl@ܺζ &0#tBwYcCjo= r6d֞U^~_a˷u5 Q\ڦu)S5Ykt( Bk.&#Ik\o3S9F}: s OAs2u2noA;vOVѢ{ǘgw C'qVUY:j85JEO[HqGågqƪ vY{ɺ`.${̄on֘y%I2wYD 1(%78ڂUyU(7xğ \?رݽσ! 16=E|^݊b%cA9.$# t(Cff6oСxEu$ 2)HL| 7B yJz;IJ>Ļ;a2nY޴G"J 0iH(.K XIZ&Ru2QNo~ObH'OG%ݯj7߸d0CwѸ)DF-кhv,En$7.,a,Kᆥ"93a>7~a1]<Ɖ1~]2$~vka%"ı6fKXJ8&dGYuӈ0D# oud?K(l'Os3ۆqe#So3\cp%4'7DMD1 /ieRAaˑ+sƌqrHML<3X eIl (ALQ"CH,n38Σp8 ΅,BXGft|;P,aOLm&Lƒ=[Z<~KyCUu;ze:SUO f7 <c0m5S5ϩKf!j͕)$gW:JrNIyaYaR$b|fsY }fEa: @PGGX]e4e ~1tOnF+u9}Xq} -uf2n92gi< Ŗ 2;0^oԭӝ\_n>l׭KSӚ[ڳ(kW7 L<;ޗC@7b0#PJ(DLDES,w mnF3+aڹ!)gCCGq 8>8wvg<\ih0PsYGcþGy}BSeCǂN]8,I{@xC ՕojV`uSrQT*ݖڕyҹW3:Lmi]Ciyim;׾+F0,~ߙ;+Mmd[7;sLk]"̩y9AeO召L|EWS2=M-,/DuG]O;u֣ViSnϟ,󺴶u՛*Xћˎ?tH_>J4rrnq!=G4@,27 {|t_~'~ăVcgx4 %gUņ줣׺G23^X1Z"̾VC[6ˣwT9΁ֳ|၆c BH*;Mř Ŭ2p&'H8J+PBz}s2j,n떏)L2U?Sj2GT񜎞)Ao[ ~h^\h3,OQGbƘ8M (SٖhJbŴj?ui06 _RJnk$(N1 42 }_ה.nl V$"w|Jndם `OlЯJT,'_,s~T4]>ڀrӖm$㋿+xu_[(fքfAzv={F/\ gK)eͨMFxRPJE{ 74؇! ݱ˽WohmvF_gu,THgh86SNM2])d;-?deӕɇ$هX?$f>mN)@u ]_;"̀hA}}FC%MNoϰμ%2OY(뻋~=ϧgo_woHXِ^eTfN=| ɚsծN2WJ7}.SFdWE~O$$IIBwQOL4Ndlv瓐H*Jy\Ed,bUHӰ%CtT᪋R1^P*<)?HYٞOҜOڰ_?i2qW]U 3OQjO_D,R3S A+9mȣQ)KN`j+j2yXN}A\drcPf8ʃMO]:tn ?<Ȩ'gPW+3*۔OpkZ:*u _YUr5"]Ř?lnDqUʎ]j\c,'ćOWg}tA'#xǞɿbf}MHώ"<3g~7ǟq{pŻ?~-q_ؕr|ټfyϧ۬XLYc??FCq C 3-C:bt3 5-p'σgEN +kdFtendstream endobj 148 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 272 >> stream xcd`ab`ddds 4H3a!s=<<<, }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤10002&FF|aӂg2ً/)鮒󂭺hQy?헰ξk<<@\endstream endobj 149 0 obj << /Filter /FlateDecode /Length 4716 >> stream x[Ys$^ t-c${m˲,ѱc=4!!_( ѬĠPDf"oT0I7+58_w+'dur nY(`UrA1i:dMPV=Yà L& 5z"\lǙm )5/a ьP0+j BD B8~[)iԐSe;&|~sWBD<|9#Md0xf &w6/3'wJlD'rL{!X :h9[KEe Fןi:)QC2'f8ju7R8=:cm:W ?dt`ѦNf@9 ?←:ڲKm 6.7 sutTGl<:kOh|}P$p7o VdP_)Z+3/yh9^_45`{Zw)ZDCmr#V-Y:.烊tL.v?q 頾<^ vɃ Z<ޤp>p2QkDC9RMqRQ2::C 0qkQTmU* 21d/$nR.,[Ӂ U2Ȓ&U L%8!F'qg.L8 bYGjgqQrtV M2@##w{$ʖqq$! O‘)Hf͵;+&UY{VE&ei N-HF)v I"ST;+O* '$cA,IERw\ڌY,T PS8/)Vh7iFN!_&PK0d۠<ӂBBI1L^*=u:;O KO$}sAet ‚Pa~[H^b*ɶG~N+T3ADfPeHsl="xUvʎ*chihҡatmxj43e3$a҆;: .-`#aԲ>b=pH"0?=hER7c@9푟iL Q.z>!Lge<56Idg4N+M[<-Ҋ2H 2jlP옷(ϴQ! e}BbgdA~GAENYߞlN||p~6 = <4 ۋ1?C e/ Bk Z 6bp zx*m,Tjs<ũv> ؾ0gcuM!F!&#u:D@NZ$ڸy %BiP !ABY X!ͳBF*wIƠB(+yơCjNGlB(O@(c2i G3"[s ~2'mЌw.R9B )oWTS]112 wI vmx+, r.J`pM$7mrwkJhUaqceBL`v4b !eBͻ#hq?BEcpqW;lkx(Ŗ%?_dkiۃǥ~Bc𒛅Qޝ-5NF)y%  /5z?[hneRn K%lZoz锘>;k;ǥ]N|v'kk>ˡ4aZ=Tw: zjŨήCZ®/hI*yCJTg-YF@Y(l $2h5)zهX9\ ^&t2BB )]pO.9*C)Prڗ&6Đ1WtԎz*$ =ͅ/Bz+u\W)BJW7H&0ǖDr4S6 xS]>L1"PZ@  8EyYo'7 5@}TaՏ9ɣ\ߔt8tK|GHi"ĔX@Ϝ5̠7\7]J)]<7Ҋ>6eҼfE7թ)0m͸a$UV_u2ۯ 3W+{\L ^\5Lnfϑov̟e6H.K'@SM2r< t>oof\~6GM49."ƖfDAO]uۢ)q_>Ej@m6٧W)I4=6s5ʾ)6Z.v>L՝3-~>gjJ;-!ʅ9M yμyK7eN_Ǽp: -R'ǎtG76):#O߲eKyB-fP%3]fυxT.P"ҹ'*&g-wcdWsM*wcvs ѹL?866W-jVCnnl$/G&oMA]Bnt+"%sL뉙V..rcp"'3ܴH:aa;%Č:t]K._h Kz*C+ K>R2&0"/L@DR&W;:=W}6eix^=RB+!5f~zBZ :O>6 WnKJ&tRNڑ1h59˅o&cA^Y0ifa\GF*W=/ZfWwN6Wmj($HKBC!M)bbfMA8 ]M!F}M8{ė2SIG~Vy;U?JfN} ݉mayy,$bSU\vtY;q}Rrm=I?Vg,K{ˁ}简YoW*nۓYE_~VXI;>X!YN/oqV*ܸ4ԿIc*ʘ¢$*oPJ}GV3XhlimyOn[>HŴB ]]sf - HzwGSe4o> stream xYKs#R 1 CݙQzۤMV*;r=wun:ӐݛUqZ+k`X([V߈mf6埿lCJQL6|zo,L),q"Ha*}jF!^(+{LJ\oVK-HR%'N?PX鱔F/JSx}/I6u$Lq&yWlZ{ !#.x}qCw! ʇVq{@J|qvCcJͱVCrNM)5L`.9 )AMVCZQ%2Mɔ{;c+;ōj*j:qx'_R'?6irAE鶩u)A'G`b0,uj!ܙ4#7CHEYH q~s Rc^>> )e)l fՉޙQpCN'YiuJQ`;㈄Egrr]KR$bbiژH6erPe1 9#`RZrZYY+IRpvqz,T[`F/ܜPٮ^TWա~U]}u9sIXqaNo#iY{b= eϯ5zVgobϺ5]|Mgd ōSڦC%(* Vik|HosI$=Gy@A:ͪc$Z % ,5 2,CMQB? U&|S_)Y3td bcVi}1}|^sq~ƎP_wEx)o~Q G"M8tUg͋l2шR'zYeCCb\YU-EDžYan$5:9Xҵ=]5dqF"./g־t-$ԛްڏb^w^4 ]60sT+QEc#4FUii)P/3?)Gvr6vus9sfMJ[gQ%2x71s|R1+ KMnИժL T qc-{eip>#3~j48AB5vo+{endstream endobj 151 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 153 /ID [] >> stream xcb&F~0 $8JRvfaKͰH (TwHAtDr<A#)."9߀,H KD-N R"d; $E6ؒ`E شw``w"w@$3/`qa P7 endstream endobj startxref 105485 %%EOF HSAUR3/inst/doc/Ch_analysis_of_variance.Rnw0000644000176200001440000004721114416236367020243 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Analysis of Variance} %%\VignetteDepends{wordcloud} \setcounter{chapter}{4} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("wordcloud") @ \chapter[Analysis of Variance]{Analysis of Variance: Weight Gain, Foster Feeding in Rats, Water Hardness, and Male Egyptian Skulls \label{ANOVA}} \section{Introduction} \section{Analysis of Variance} \section{Analysis Using \R{}} \subsection{Weight Gain in Rats \label{ANOVA:rats}} Before applying analysis of variance to the data in Table~\ref{ANOVA-weightgain-tab} we should try to summarize the main features of the data by calculating means and standard deviations and by producing some hopefully informative graphs. The data is available in the \Rclass{data.frame} \Robject{weightgain}. The following \R{} code produces the required summary statistics <>= data("weightgain", package = "HSAUR3") tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean) tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), sd) @ \begin{figure} \begin{center} <>= plot.design(weightgain) @ \caption{Plot of mean weight gain for each level of the two factors. \label{ANOVA-weightgain-fig}} \end{center} \end{figure} To apply analysis of variance to the data we can use the \Rcmd{aov} function in \R{} and then the \Rcmd{summary} method to give us the usual analysis of variance table. The model \Rclass{formula} specifies a two-way layout with interaction terms, where the first factor is \Robject{source}, and the second factor is \Robject{type}. <>= wg_aov <- aov(weightgain ~ source * type, data = weightgain) @ \renewcommand{\nextcaption}{\R{} output of the ANOVA fit for the \Robject{weightgain} data. \label{ANOVA-weightgain-output}} \SchunkLabel <>= summary(wg_aov) @ \SchunkRaw \begin{figure} \begin{center} <>= interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain) @ <>= interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain, legend = FALSE) legend(1.5, 95, legend = levels(weightgain$source), title = "weightgain$source", lty = c(2,1), bty = "n") @ \caption{Interaction plot of type and source. \label{ANOVA-weightgain-fig2}} \end{center} \end{figure} The estimates of the intercept and the main and interaction effects can be extracted from the model fit by <>= coef(wg_aov) @ Note that the model was fitted with the restrictions $\gamma_1 = 0$ (corresponding to \Rlevel{Beef}) and $\beta_1 = 0$ (corresponding to \Rlevel{High}) because treatment contrasts were used as default as can be seen from <>= options("contrasts") @ Thus, the coefficient for \Robject{source} of $\Sexpr{coef(wg_aov)[2]}$ can be interpreted as an estimate of the difference $\gamma_2 - \gamma_1$. Alternatively, we can use the restriction $\sum_i \gamma_i = 0$ by <>= coef(aov(weightgain ~ source + type + source:type, data = weightgain, contrasts = list(source = contr.sum))) @ \subsection{Foster Feeding of Rats of Different Genotype} As in the previous subsection we will begin the analysis of the foster feeding data in Table~\ref{ANOVA-foster-tab} with a plot of the mean litter weight for the different genotypes of mother and litter (see Figure~\ref{ANOVA-foster-fig}). The data are in the \Rclass{data.frame} \Robject{foster} <>= data("foster", package = "HSAUR3") @ \begin{figure} \begin{center} <>= plot.design(foster) @ \caption{Plot of mean litter weight for each level of the two factors for the \Robject{foster} data. \label{ANOVA-foster-fig}} \end{center} \end{figure} We can derive the two analyses of variance tables for the foster feeding example by applying the \R{} code <>= summary(aov(weight ~ litgen * motgen, data = foster)) @ to give <>= summary(aov(weight ~ litgen * motgen, data = foster)) @ and then the code <>= summary(aov(weight ~ motgen * litgen, data = foster)) @ to give <>= summary(aov(weight ~ motgen * litgen, data = foster)) @ There are (small) differences in the sum of squares for the two main effects and, consequently, in the associated $F$-tests and $p$-values. \index{F-tests@$F$-tests} This would not be true if in the previous example in Subsection~\ref{ANOVA:rats} we had used the code <>= summary(aov(weightgain ~ type * source, data = weightgain)) @ instead of the code which produced Figure~\ref{ANOVA-weightgain-output} (readers should confirm that this is the case). We can investigate the effect of genotype B on litter weight in more detail by the use of \stress{multiple comparison procedures} \index{Multiple comparison procedures|(} \citep[see][and \Sexpr{ch("SIMC")}]{HSAUR:Everitt1996}. Such procedures allow a comparison of all pairs of levels of a factor whilst maintaining the nominal significance level at its specified value and producing adjusted confidence intervals for mean differences. One such procedure is called \stress{Tukey honest significant differences} \index{Tukey honest significant differences} suggested by \cite{HSAUR:Tukey1953}; see \cite{HSAUR:HochbergTamhane1987} also. Here, we are interested in simultaneous confidence intervals for the weight differences between all four genotypes of the mother. First, an ANOVA model is fitted <>= foster_aov <- aov(weight ~ litgen * motgen, data = foster) @ which serves as the basis of the multiple comparisons, here with all pair-wise differences by <>= foster_hsd <- TukeyHSD(foster_aov, "motgen") foster_hsd @ A convenient \Rcmd{plot} method exists for this object and we can get a graphical representation of the multiple confidence intervals as shown in Figure~\ref{ANOVA-foster-mc}. It appears that there is only evidence for a difference in the B and J genotypes. Note that the particular method implemented in \Rcmd{TukeyHSD} is applicable only to balanced and mildly unbalanced designs (which is the case here). Alternative approaches, applicable to unbalanced designs and more general research questions, will be introduced and discussed in \Sexpr{ch("SIMC")}. \begin{figure} \begin{center} <>= plot(foster_hsd) @ \caption{Graphical presentation of multiple comparison results for the \Robject{foster} feeding data. \label{ANOVA-foster-mc}} \end{center} \end{figure} \index{Multiple comparison procedures|)} \subsection{Water Hardness and Mortality} The water hardness and mortality data for $61$ large towns in England and Wales (see Table~2.3) was analyzed in \Sexpr{ch("SI")} and here we will extend the analysis by an assessment of the differences of both hardness and mortality in the North or South. The hypothesis that the two-dimensional mean-vector of water hardness and mortality is the same for cities in the North and the South can be tested by \stress{Hotelling-Lawley} test in a multivariate analysis of variance framework. The \R{} function \Rcmd{manova} can be used to fit such a model and the corresponding \Rcmd{summary} method performs the test specified by the \Rcmd{test} argument <>= data("water", package = "HSAUR3") summary(manova(cbind(hardness, mortality) ~ location, data = water), test = "Hotelling-Lawley") @ The \Rcmd{cbind} statement in the left-hand side of the formula indicates that a \stress{multivariate} response variable is to be modeled. \index{cbind function in formula@\texttt{cbind} function in \textit{formula}} The $p$-value associated with the \stress{Hotelling-Lawley} statistic is very small and there is strong evidence that the mean vectors of the two variables are not the same in the two regions. Looking at the sample means <>= tapply(water$hardness, water$location, mean) tapply(water$mortality, water$location, mean) @ we see large differences in the two regions both in water hardness and mortality, where low mortality is associated with hard water in the South and high mortality with soft water in the North (see Figure~\ref{SI-water-sp} also). \subsection{Male Egyptian Skulls} \index{Multivariate analysis of variance (MANOVA)|(} We can begin by looking at a table of mean values for the four measurements within each of the five epochs. The measurements are available in the \Rclass{data.frame} \Robject{skulls} and we can compute the means over all epochs by <>= data("skulls", package = "HSAUR3") means <- aggregate(skulls[,c("mb", "bh", "bl", "nh")], list(epoch = skulls$epoch), mean) means @ It may also be useful to look at these means graphically and this could be done in a variety of ways. Here we construct a scatterplot matrix of the means using the code attached to Figure~\ref{ANOVA-skulls-fig}. %% %% now uses wordcloud::textplot but xlim/ylim needs to be increased %% \begin{figure} \begin{center} <>= pairs(means[,-1], panel = function(x, y) { textplot(x, y, levels(skulls$epoch), new = FALSE, cex = 0.8) }) @ \caption{Scatterplot matrix of epoch means for Egyptian \Robject{skulls} data. \label{ANOVA-skulls-fig}} \end{center} \end{figure} There appear to be quite large differences between the epoch means, at least on some of the four measurements. We can now test for a difference more formally by using MANOVA with the following \R{} code to apply each of the four possible test criteria mentioned earlier; <>= skulls_manova <- manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls) summary(skulls_manova, test = "Pillai") summary(skulls_manova, test = "Wilks") summary(skulls_manova, test = "Hotelling-Lawley") summary(skulls_manova, test = "Roy") @ The $p$-value associated with each four test criteria is very small and there is strong evidence that the skull measurements differ between the five epochs. We might now move on to investigate which epochs differ and on which variables. We can look at the univariate $F$-tests \index{F-tests@$F$-tests} for each of the four variables by using the code <>= summary.aov(skulls_manova) @ We see that the results for the maximum breadths (\Robject{mb}) and basialiveolar length (\Robject{bl}) are highly significant, with those for the other two variables, in particular for nasal heights (\Robject{nh}), suggesting little evidence of a difference. To look at the pairwise multivariate tests (any of the four test criteria are equivalent in the case of a one-way layout with two levels only) we can use the \Rcmd{summary} method and \Rcmd{manova} function as follows: <>= summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c3300BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c1850BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "c200BC"))) summary(manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls, subset = epoch %in% c("c4000BC", "cAD150"))) @ To keep the overall significance level for the set of all pairwise multivariate tests under some control (and still maintain a reasonable power), \cite{HSAUR:Stevens2001} recommends setting the nominal level $\alpha = 0.15$ and carrying out each test at the $\alpha / m$ level where $m$ is the number of tests performed. The results of the four pairwise tests suggest that as the epochs become further separated in time the four skull measurements become increasingly distinct. \index{Multivariate analysis of variance (MANOVA)|)} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_simultaneous_inference.Rnw0000644000176200001440000005557314416236370020636 0ustar liggesusers \documentclass{chapman} %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@{\fontseries{b}\selectfont #1} package} {\fontseries{b}\selectfont #1}} \newcommand{\rpackage}[1]{{\fontseries{b}\selectfont #1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{\textit{#1}} %%' %%% Math symbols \usepackage{amstext} \usepackage{amsmath} \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\L}{L} \renewcommand{\P}{\mathsf{P}} \newcommand{\K}{\mathbf{K}} \newcommand{\m}{\mathbf{m}} \newcommand{\argmin}{\operatorname{argmin}\displaylimits} \newcommand{\argmax}{\operatorname{argmax}\displaylimits} \newcommand{\bx}{\mathbf{x}} \newcommand{\bbeta}{\mathbf{\beta}} %%% links \usepackage{hyperref} \hypersetup{% pdftitle = {A Handbook of Statistical Analyses Using R (3rd Edition)}, pdfsubject = {Book}, pdfauthor = {Torsten Hothorn and Brian S. Everitt}, colorlinks = {black}, linkcolor = {black}, citecolor = {black}, urlcolor = {black}, hyperindex = {true}, linktocpage = {true}, } %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage[figuresright]{rotating} %%% R symbol in chapter 1 \usepackage{wrapfig} %%% Bibliography \usepackage[round,comma]{natbib} \renewcommand{\refname}{References \addcontentsline{toc}{chapter}{References}} \citeindexfalse %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections \newcounter{exercise}[chapter] \setcounter{exercise}{0} \newcommand{\exercise}{\stepcounter{exercise} \item{Ex.~\arabic{chapter}.\arabic{exercise} }} %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.95\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} \hyphenation{mar-gi-nal} %%% new bidirectional quotes need \usepackage[utf8]{inputenc} %\usepackage{setspace} \definecolor{sidebox_todo}{rgb}{1,1,0.2} \newcommand{\todo}[1]{ \hspace{0pt}% \marginpar{% \fcolorbox{black}{sidebox_todo}{% \parbox{\marginparwidth} { \raggedright\sffamily\footnotesize{TODO: #1}% } }% } } \begin{document} %% Title page \title{A Handbook of Statistical Analyses Using \R{} --- 3rd Edition} \author{Torsten Hothorn and Brian S. Everitt} \maketitle %%\VignetteIndexEntry{Chapter Simultaneous Inference and Multiple Comparisons} %%\VignetteDepends{lme4,multcomp,coin,sandwich} \setcounter{chapter}{14} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} <>= book <- FALSE @ <>= library("multcomp") library("coin") library("sandwich") library("lme4") @ \chapter[Simultaneous Inference and Multiple Comparisons]{Simultaneous Inference and Multiple Comparisons: Genetic Components of Alcoholism, Deer Browsing Intensities, and Cloud Seeding \label{SIMC}} \section{Introduction} \section{Simultaneous Inference and Multiple Comparisons} \section{Analysis Using \R{}} \subsection{Genetic Components of Alcoholism} We start with a graphical display of the data. Three parallel boxplots shown in Figure~\ref{SIMC-alpha-data-figure} indicate increasing expression levels of alpha synuclein mRNA for longer \textit{NACP}-REP1 alleles. %%\setkeys{Gin}{width=0.6\textwidth} \begin{figure}[t] \begin{center} <>= n <- table(alpha$alength) levels(alpha$alength) <- abbreviate(levels(alpha$alength), 4) plot(elevel ~ alength, data = alpha, varwidth = TRUE, ylab = "Expression Level", xlab = "NACP-REP1 Allele Length") axis(3, at = 1:3, labels = paste("n = ", n)) @ \caption{Distribution of levels of expressed alpha synuclein mRNA in three groups defined by the \textit{NACP}-REP1 allele lengths. \label{SIMC-alpha-data-figure}} \end{center} \end{figure} \index{Tukey honest significant differences|(} In order to model this relationship, we start fitting a simple one-way ANOVA model of the form $y_{ij} = \mu + \gamma_i + \varepsilon_{ij}$ to the data with independent normal errors $\varepsilon_{ij} \sim \N(0, \sigma^2)$, $j \in \{\text{short}, \text{intermediate}, \text{long}\}$, and $i = 1, \dots, n_j$. The parameters $\mu + \gamma_\text{short}$, $\mu + \gamma_\text{intermediate}$ and $\mu + \gamma_\text{long}$ can be interpreted as the mean expression levels in the corresponding groups. As already discussed in \Sexpr{ch("ANOVA")}, this model description is overparameterized. A standard approach is to consider a suitable re-parameterization. The so-called ``treatment contrast'' vector $% \theta = (\mu, \gamma_\text{intermediate} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{short})$ (the default re-parameterization used as elemental parameters in \R{}) is one possibility and is equivalent to imposing the restriction $\gamma_\text{short} = 0$. In addition, we define all comparisons among our three groups by choosing $\K$ such that $\K \theta$ contains all three group differences (Tukey's all-pairwise comparisons): %%' \begin{eqnarray*} \K_\text{Tukey} = \left( \begin{array}{rrr} 0 & 1 & 0 \\%% 0 & 0 & 1 \\%% 0 & -1 & 1% \end{array} \right) \end{eqnarray*} with parameters of interest \begin{eqnarray*} \vartheta_\text{Tukey} = \K_\text{Tukey} \theta = (\gamma_\text{intermediate} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{short}, \gamma_\text{long} - \gamma_\text{intermediate}). \end{eqnarray*} The function \Rcmd{glht} (for generalized linear hypothesis) from package \Rpackage{multcomp} \citep{PKG:multcomp,HSAUR:HothornBretzWestfall2008} takes the fitted \Rclass{aov} object and a description of the matrix $\K$. Here, we use the \Rcmd{mcp} function to set up the matrix of all pairwise differences for the model parameters associated with factor \Robject{alength}: <>= library("multcomp") amod <- aov(elevel ~ alength, data = alpha) amod_glht <- glht(amod, linfct = mcp(alength = "Tukey")) @ The matrix $\K$ reads <>= amod_glht$linfct @ The \Robject{amod\_glht} object now contains information about the estimated linear function $\hat{\vartheta}$ and their covariance matrix which can be inspected via the \Rcmd{coef} and \Rcmd{vcov} methods: <>= coef(amod_glht) vcov(amod_glht) @ The \Rcmd{summary} and \Rcmd{confint} methods can be used to compute a summary statistic including adjusted $p$-values and simultaneous confidence intervals, respectively: <>= confint(amod_glht) summary(amod_glht) @ Because of the variance heterogeneity that can be observed in Figure~\ref{SIMC-alpha-data-figure}, one might be concerned with the validity of the above results stating that there is no difference between any combination of the three allele lengths. A sandwich estimator might be more appropriate in this situation, and the \Rarg{vcov} argument can be used to specify a function to compute some alternative covariance estimator as follows: <>= amod_glht_sw <- glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich) summary(amod_glht_sw) @ We use the \Rcmd{sandwich} function from package \Rpackage{sandwich} \citep{PKG:sandwich, HSAUR:Zeileis2006} which provides us with a heteroscedasticity-consistent estimator of the covariance matrix. This result is more in line with previously published findings for this study obtained from non-parametric test procedures such as the Kruskal-Wallis test. A comparison of the simultaneous confidence intervals calculated based on the ordinary and sandwich estimator is given in Figure~\ref{SIMC-alpha-confint-plot}. %%\setkeys{Gin}{width=0.95\textwidth} \begin{figure}[h] \begin{center} <>= par(mai = par("mai") * c(1, 2.1, 1, 0.5)) layout(matrix(1:2, ncol = 2)) ci1 <- confint(glht(amod, linfct = mcp(alength = "Tukey"))) ci2 <- confint(glht(amod, linfct = mcp(alength = "Tukey"), vcov = sandwich)) ox <- expression(paste("Tukey (ordinary ", bold(S)[n], ")")) sx <- expression(paste("Tukey (sandwich ", bold(S)[n], ")")) plot(ci1, xlim = c(-0.6, 2.6), main = ox, xlab = "Difference", ylim = c(0.5, 3.5)) plot(ci2, xlim = c(-0.6, 2.6), main = sx, xlab = "Difference", ylim = c(0.5, 3.5)) @ \caption{Simultaneous confidence intervals for the \Robject{alpha} data based on the ordinary covariance matrix (left) and a sandwich estimator (right). \label{SIMC-alpha-confint-plot}} \end{center} \end{figure} It should be noted that this data set is heavily unbalanced; see Figure~\ref{SIMC-alpha-data-figure}, and therefore the results obtained from function \Rcmd{TukeyHSD} might be less accurate. \index{Tukey honest significant differences|)} \subsection{Deer Browsing} \index{Generalized linear mixed model|(} Since we have to take the spatial structure of the deer browsing data into account, we cannot simply use a logistic regression model as introduced in \Sexpr{ch("GLM")}. One possibility is to apply a mixed logistic regression model \citep[using package \Rpackage{lme4},][]{PKG:lme4} with random intercept accounting for the spatial variation of the trees. These models have already been discussed in \Sexpr{ch("ALDII")}. For each plot nested within a set of five plots oriented on a 100m transect (the location of the transect is determined by a predefined equally spaced lattice of the area under test), a random intercept is included in the model. Essentially, trees that are close to each other are handled like repeated measurements in a longitudinal analysis. We are interested in probability estimates and confidence intervals for each tree species. Each of the five fixed parameters of the model corresponds to one species (in absence of a global intercept term); therefore, $\K = \text{diag}(5)$ is the linear function we are interested in: <>= trees513 <- subset(trees513, !species %in% c("fir", "ash/maple/elm/lime", "softwood (other)")) trees513$species <- trees513$species[,drop = TRUE] levels(trees513$species)[nlevels(trees513$species)] <- "hardwood" @ <>= mmod <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513, family = binomial()) K <- diag(length(fixef(mmod))) K @ In order to help interpretation, the names of the tree species and the corresponding sample sizes (computed via \Rcmd{table}) are added to $\K$ as row names; this information will carry through all subsequent steps of our analysis: <>= colnames(K) <- rownames(K) <- paste(gsub("species", "", names(fixef(mmod))), " (", table(trees513$species), ")", sep = "") K @ Based on $\K$, we first compute simultaneous confidence intervals for $\K \theta$ and transform these into probabilities. Note that $\left(1 + \exp(- \hat{\vartheta})\right)^{-1}$ (cf.~Equation~\ref{GLM:logitexp}) is the vector of estimated probabilities; simultaneous confidence intervals can be transformed to the probability scale in the same way: <>= ci <- confint(glht(mmod, linfct = K)) ci$confint <- 1 - binomial()$linkinv(ci$confint) ci$confint[,2:3] <- ci$confint[,3:2] @ The result is shown in Figure~\ref{SIMC-trees-plot}. Browsing is more frequent in hardwood but especially small oak trees are severely at risk. Consequently, the local authorities increased the number of roe deers to be harvested in the following years. %%The large confidence interval for ash, maple, elm and lime %%trees is caused by the small sample size. %%\setkeys{Gin}{width=0.8\textwidth} \begin{figure}[t] \begin{center} <>= plot(ci, xlab = "Probability of Damage Caused by Browsing", xlim = c(0, 0.5), main = "", ylim = c(0.5, 5.5)) @ \caption{Probability of damage caused by roe deer browsing for five tree species. Sample sizes are given in brackets. \label{SIMC-trees-plot}} \end{center} \end{figure} \index{Generalized linear mixed model|)} \subsection{Cloud Seeding} \index{Confidence band|(} In \Sexpr{ch("MLR")} we studied the dependency of rainfall on S-Ne values by means of linear models. Because the number of observations is small, an additional assessment of the variability of the fitted regression lines is interesting. Here, we are interested in a confidence band around some estimated regression line, i.e., a confidence region which covers the true but unknown regression line with probability greater or equal $1 - \alpha$. It is straightforward to compute \stress{pointwise} confidence intervals but we have to make sure that the type I error is controlled for all $x$ values simultaneously. Consider the simple linear regression model \begin{eqnarray*} \text{rainfall}_i = \beta_0 + \beta_1 \text{sne}_i + \varepsilon_i \end{eqnarray*} where we are interested in a confidence band for the predicted rainfall, i.e., the values $\hat{\beta}_0 + \hat{\beta}_1 \text{sne}_i$ for some observations $\text{sne}_i$. (Note that the estimates $\hat{\beta}_0$ and $\hat{\beta}_1$ are random variables.) We can formulate the problem as a linear combination of the regression coefficients by multiplying a matrix $\K$ to a grid of S-Ne values (ranging from $1.5$ to $4.5$, say) from the left to the elemental parameters $\theta = (\beta_0, \beta_1)$: \begin{eqnarray*} \K \theta = \left( \begin{array}{rr} 1 & 1.50 \\%% 1 & 1.75 \\%% \vdots & \vdots \\%% 1 & 4.25 \\%% 1 & 4.50 % \end{array} \right)\theta = (\beta_0 + \beta_1 1.50, \beta_0 + \beta_1 1.75, \dots, \beta_0 + \beta_1 4.50) = \vartheta. \end{eqnarray*} Simultaneous confidence intervals for all the parameters of interest $\vartheta$ form a confidence band for the estimated regression line. We implement this idea for the \Robject{clouds} data writing a small reusable function as follows: <>= confband <- function(subset, main) { mod <- lm(rainfall ~ sne, data = clouds, subset = subset) sne_grid <- seq(from = 1.5, to = 4.5, by = 0.25) K <- cbind(1, sne_grid) sne_ci <- confint(glht(mod, linfct = K)) plot(rainfall ~ sne, data = clouds, subset = subset, xlab = "S-Ne criterion", main = main, xlim = range(clouds$sne), ylim = range(clouds$rainfall)) abline(mod) lines(sne_grid, sne_ci$confint[,2], lty = 2) lines(sne_grid, sne_ci$confint[,3], lty = 2) } @ The function \Rcmd{confband} basically fits a linear model using \Rcmd{lm} to a subset of the data, sets up the matrix $\K$ as shown above and nicely plots both the regression line and the confidence band. Now, this function can be reused to produce plots similar to Figure~\ref{MLR-clouds-lmplot} separately for days with and without cloud seeding in Figure~\ref{SIMC-clouds-lmplot}. For the days without seeding, there is more uncertainty about the true regression line compared to the days with cloud seeding. Clearly, this is caused by the larger variability of the observations in the left part of the figure. \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) confband(clouds$seeding == "no", main = "No seeding") confband(clouds$seeding == "yes", main = "Seeding") @ \caption{Regression relationship between S-Ne criterion and rainfall with and without seeding. The confidence bands cover the area within the dashed curves. \label{SIMC-clouds-lmplot}} \end{center} \end{figure} \index{Confidence band|)} \section{Summary of Findings} \begin{description} \item[Genetic components of alcoholism] We were interested in studying all pairwise differences in expression levels for three groups of subjects defined by allele length. Overall, there seem to be different expression levels for short and long alleles but no difference between these two groups and the intermediate group. \item[Deer browsing] For a number of tree species, the simultaneous confidence intervals for the probability of browsing damage show that there is rather precise information about browsing damage for spruce and pine with more variability for the broad-leaf species. For oak, more than $\Sexpr{round(ci$confint["oak (1258)", 2], 2)}\%$ of the trees are damaged. \item[Cloud seeding] Confidence bands for the estimated effects help to identify days where the uncertainty about rainfall is largest. \end{description} \section{Final Comments} Multiple comparisons in linear models have been in use for a long time. The \Rpackage{multcomp} package extends much of the theory to a broad class of parametric and semi-parametric statistical models, which allows for a unified treatment of multiple comparisons and other simultaneous inference procedures in generalized linear models, mixed models, models for censored data, robust models, etc. Honest decisions based on simultaneous inference procedures maintaining a pre-specified familywise error rate (at least asymptotically) can be derived from almost all classical and modern statistical models. The technical details and more examples can be found in \cite{HSAUR:HothornBretzWestfall2008} and the package vignettes of package \Rpackage{multcomp} \citep{PKG:multcomp}. \section*{Exercises} \begin{description} \exercise Compare the results of \Rcmd{glht} and \Rcmd{TukeyHSD} on the \Robject{alpha} data. \exercise Consider the linear model fitted to the clouds data as summarized in Figure~\ref{MLR-clouds-summary}. Set up a matrix $\K$ corresponding to the global null hypothesis that all interaction terms present in the model are zero. Test both the global hypothesis and all hypotheses corresponding to each of the interaction terms. Which interaction remains significant after adjustment for multiple testing? \exercise For the logistic regression model presented in Figure~\ref{GLM-womensrole-summary-2} perform a multiplicity adjusted test on all regression coefficients (except for the intercept) being zero. Do the conclusions drawn in \Sexpr{ch("GLM")} remain valid? \end{description} \bibliographystyle{LaTeXBibTeX/refstyle} \bibliography{LaTeXBibTeX/HSAUR} \end{document} HSAUR3/inst/doc/Ch_simple_inference.pdf0000644000176200001440000030307214416277550017375 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4485 /Filter /FlateDecode /N 92 /First 768 >> stream xA'k(: ݃5y"عL䏫1 ,fll1Ŕ+[MǶQxQe`"yXo X4χ~gLH?o8xgo t_A'"6V~6E//ᯄ#Sy!O׼8]7('=[̢DZ/Y,h42jIUAO"1~FA•,nbpNp esc%W cD˶+Al8wCi8WQÏMο'46pDj:,8i-kmZ%hْpgyxw Ģ/ǃp|0@ =YKL̨ Gj:B6R[LB\e|*B7͙3]$2QԝۅhG_%/'QEhs0߂]kӦ%YUDwY2G_G0:uZk6'b1ZٚMNg"U;bs|}TF.k ծ)ШVuh$ pB~O~A/U<؀R9㓭,&:,59A9F·X?Lǯxx~v4>ᅫeFHqR{~cLURhly$KULTz PEMb)ֲE{М\GL7%Z֓8;&[t:uR2؍9sR#ԊCI!0$E;%m7bR[R[RBigSr$7uIn5U,tq?‚e>-T.,ʒE}>%,VD,[V{/ 1=FRqtZl f8?.mɁ-񠖛න-pW0 d¤`'t[T{X8u W_xĒ+|--t̞CTD2FjvD;B{xm`hd3ܸP)ٵ÷߀d%!GiBN >)l&oO1] U'c: #쥑^:߅.|faH#ujx#OXmW*РI{>2Uߗe+W#]OaSn0}`8|6Q8% Za(s}L)/fE8ruX>J+_|gn-jȲ1;hpxZ`V fwAdܰޖga^|[9m0M.^X|w2,Wf@>$5=A Jڷ%^^}mm[Fe!q/Ha7_܏r6O$Yp#BC=JenлȨ{?EƋ >ʐbnC>=8?G}lʟmbce},V%ps'ƵȠ1lz;pDjP$Pg_TX+ƥ~=EEQSkWU%Iڲ>?_f*|$<>r&MK7h\y)YӥJ{Zahh;&Cmrk6}!7O=b~e8~ፍU$l=zŧPP"#vIےmKtk*JxEQCu#UEGTB븙I(vE55 5An*_5(;WޱsIݣr[rT樜EI.f6WC56wZVpQ}nOgg"خ $z]hm|K-LEA]ip**XZ,YBhcp3-N2VS1Jظ.T:ֲr2[f劯bVNZ0\g_OYz Pʹ 4 ]it,NKl _7Kiqg&qmw|uK-E 2, C$L,|m}&ϧSmb"G "Te3)oT@K'3 n"l%QpPdLe*~%T,&\M3- h URkgy;=:xW] C.iAd5 MK@|]%{jڢ9\c){om[nR9z2߀}p[`՞/Y3LVX`%u:s+?A ބX n-͸m[i+8ᬔߧ,vgBUs̱m ~\%endstream endobj 94 0 obj << /Subtype /XML /Type /Metadata /Length 1483 >> stream GPL Ghostscript 9.55.0 2023-04-14T18:29:28+02:00 2023-04-14T18:29:28+02:00 LaTeX with hyperref A Handbook of Statistical Analyses Using R (3rd Edition)Torsten Hothorn and Brian S. EverittBook endstream endobj 95 0 obj << /Filter /FlateDecode /Length 4003 >> stream x[Y~'#@80r@ ˆ~ZrHzس8@j5{:vFd'}~ raK Y,0̼^XxfGF)`Uq܏FUZXEyQ ~Ԅ~u ,n&LFQOdr܎q*S]&5I-D;PW$u1F`ΏV\̖ L,ts~F"_ 'FX fϫ5c^oWlT 3^i%竵r rKاZ!5|M,RA-y3#pN NknxB\p{p)npA>ܡZ釻.xl͓9iF)$I9j,Dd"f@,(,xZ";Dxr\J fCgawT虚^<8D(M=/gHzXS^0 hc>?S)y<_UU,45Xvq*uJ/6Ⱦ&\(Ѡr}{oQE쓳w %p!IpynoN Hw@Rs83M(U_|+vw'w\WkX8IQRAl3.)[ppVdP%|*g,>oE[$@(ʶ"_W╒KgQ 6! )ՄX vťC١itO1Sp#gH@<vxg0QnRs+ht0` ’zRodz0/";9KzĹ:Ah2늡718QiI"zmo`z@C ɠJg,Xvj4eEhY]yPFگa=ݜMOjzW, 1 !.f^'c>;pjw9: d8E!@*(@lKDK7 o2hCB!nAml;.&6"s_YJm '"$Hw+!wF7eh[F2Zu| JgF8&o "OtL/0DUyW Z ɲ\K"61p7Q(_}`֐E#A܋RRMI7$ :>mdoJHuo?1i?^UcE8{s[ hg!&#mKHEEDGEX'4 rM3)ˆ" (Pn/ChgG|B._4b3%P4jYs( BuILƋ2:v~2+dzM}ZF7On輌^u~,]%:lы2z\Fߗ2a\49 =` &P 'w!C댐b*N c4=&4wxDMuM\!Җ`]?L#o5Ȅ h %3h6;l;4<g5yle,6R{x[7 pD.&X >yd hO9K SB{0Q"I$,%#Ȭ-Hm[ƁV' g,[Es(]@ǩ0DӴ :|[9G!M3{2IB +C-qq4 eWDPg2I ?K]O(ws+<&V8ŶC( &Rrv& p",j:sR '2f9(>}lnM'|jZq)94A#ȶpGh큶cd/jka u0`nVḺ*;+ cfcUp!2yk5D8뽞qZ;P'H4ow醰}@7e,a!n}&m "Oz]p 1rv\b;!i 3gK&@bcrXN wMPX&zy=X(Mz%|n&P(]\΂zNibbE+0f9{3]Kbg&@tr&A}UQs3v{QanO&CCkP6 e9PMz%esmt6ܟYDzŹ${f퉨W! }TPF.4qa*3 RuH5v(A̫ؑZLxzf!6N9pHЯK~MX+WhxU3)R*9rl(B\yZ=|w2tosP\.6T3E*Ii:iiD b|ag4?1쁂)m*P3*n'-}ʽ׀N5b V5u͇٧|pUV5Hcj?yYInz:dIhݮyx[FhiE+ߕܺj tu:.(7yY+#mins]Gnו&ks,#QF# Q<}j05'LWeNmMhƙz${K .ΙPZ8_7xK9͔^LUMPMJviB;n֛6{7㚆[IuϏgs)loV' O:UTN(>쌝NnG4?ĥ6 )J/tEMS]NM RJQylf6-VZ)1š*\>qږ.h9dؓ<0fdz'ar^Hg U=iH\Wo8@sHGIj&'p$[nS t}U\ ~i:}IYx^*$'Է_4)l^л|. ׈?T?\5x߉w$`7+obC.ɝni!b"Djk, 4>..v>Ekk _0-5@E̷#17|~"4} m?7B"7<4A#pEJ4eD+? Q6z;'[gFQN|ՀMyG1dͶv[6??I(U {d[E^-͔73)"Xp7%ir#f@.NȖț;Uvd\CӬ>vaF]oDaw `v!ɓDjGjSB3kme;rGGHixoC@ Ӷ] 16aӢ-U릍-Ȧf٘u·m{RxK|DWms.k,M蠵=IbrL۽c Wqܗw?Z!cT䜛ThķO1? ¥x ) s/w@Ko-zEK`k+D _*Y,O^⟐Tendstream endobj 96 0 obj << /Filter /FlateDecode /Length 625 >> stream xuSn0+|t1޵{R6҂SKBY'yy~Cxwfg!Kt߸5RE_s(VypWNka U5<2ٙ;Сcc\;XsGj- I'tivM΋f&[t-GX }槝^#%8 V@> #DPժ5ZF|&mDȒi0#Ŭ7mgZ^6Q5]9v,?6rTA@RVxeN> stream xW TgP8ո$ㆻĨAUdoMeo7K,"bᾢѸD_2j31or̼wIf9wީs8MwU~wd2R%͟ސ^IIsv5 #Fmơ\& I[s'Ϙ>}Ⰰ?p{gUp@~}_H*~`*ri۷o35":7'oQۯ wWٯ 7wiDXd* 9? :a×DD:F;,S}`33,f683y- a1ydQk=3̢2VL2@&;on~+*ªzuXEG֓-^?ؿ}xkИAWb3C Cz.vhm+ru،auO7~:"mzADɵ\&ŧU R ->UkT [kv84NdX*[Pn f=CaZnImqKHGԚVH'A&#T\TȥxߊJK7 Uҭ=KWKNAE}3}ANsYt]脋[Xw` KEc=KxǽxHYpӯ}J(+;y >;~I^hvqĊJҟ|c'Nfˡ*=~;mHO?HFRgJL58\.bcf>"?my_@3)G@͇+C4nw 2rlqI*bFB#;PLӮfp-0?ώ@eK͠A9iԐ۹߃$uu՝h]I{W􌣈6ѱ_X{(ȫ'Ǧ \%J=K %Ċ0Ӻ%UĢ>E|h#GWo}AMHpη~{mm->1 ڇ EҤffQ4J+^+҉|oiኦTG{h:?j8@%Ǥdac/grP[4Y-EZ%\v旖KKW\8%,Y*w>xz4\kto-Т1Ti*hXAx&*S^S!isymzBUFi(I}9l&\ ߡ3?hSNU"qoa9Q] (pӇXn4r.'ToJDg8Z.!4 ɑ OHCzSXP̭p( w@h%=G 6Rb pA?OO'Czc{}lV's 􇀻x}2%d;=i`C]Q^ U##ᾪf#>p_k -Z}v1?'?92Doh&8SP[*jsr@r֘@SSrI֧St#3&idp˥8@T'R`o)%&(+CV.9JyCpo#XwviR@C#ivg䩽cccV슳pJOTu%%5TD{4{uq?E̅N!Ii2*%SWXHFΞNħoFסUݕ-dl]`[EBKBKC/Ҩ)S̵u<_T 8m2L~ZlTz/(zOCxF@gj+*n*imn:0%P~i;ZՀ ^L'riA؟;̤6?5Y;1xm/(t'r TJH6WHؑQwSCƶΥZftLbA{p+ #87p ~CTҧ%[Ytzlp&38S-&Mdh?P.G/(}Tʂ"nO)H6o~~")HY\P7WdA*]p@iYUeror:$@;anEj;e~*6?u )[B27`w_ǩd,N0;'uppvRv/DOM8z(U4fK)B=o LB)Z:։PGcN1,Y?O\I_w/kA_FL;7r8Uΰ PJqQ%$2k{t~/+39ܰnJXwW_'1D;$;8ۻ)xD RZ_~Mucv ɒ4>B9u &/a9LvϘivˆJ(Ǐ{|}W5> J"b6<3Z8 _2ds$,MH bE[6.:͟"ke_wr 꿧v]20G%Xb.6'TRN5ymڏ6U% mtTFj*Oޘ44-P&\6G V;z0ԛ^ac\!'YEfuXV`*Т#E})= @\ gS[㕧)Pp`bs!1eϾ۰8J4MMlB nv>1p[8U!4o09>Xl!ڝ'z ^=uak`:GA)wWds>Vܩcg>sݰvkP|@MAstc,-|sj-ۇt%9f¿*b-(MT̨Ȕ`wHXWYA)lTTt>wdhc ,?;Zxg']p2&Xp;!:u~"Mlj2P8:n.0it45uwH7X6 &Y/W1-6pݳmP!OA(Q]pRu}]E[C1 4Զ)gW lƌ8VΗ*ȯN߇Cc&M&MMh K+J)(yvG_ =v˶`oe ^""ɥ=d 3P`5|PVàA4d0 Iqendstream endobj 98 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 363 >> stream xcd`ab`ddt v04qH3a!Skc7s7˚ﷄ ~O XX_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*c8)槤1000103012ԽK2>}wy߯jcws~7yŞ>~nSg>;3wߛgO^-ym̾^];ǂXπ| wt\eXp~`:endstream endobj 99 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1925 >> stream xmTg*T:hQIQc*$*TI#BawD*/{YayGXvaAPUIi̩ibFHKP$1Dju9Q$)H2<5IQlUժ Q~HWjRUŒujQf`e!XOYLjT+ *}*YQ1*b*toHmdT[* '5,eJL X"'D"P _VMxf⿤+*Z:ZAE~RRD0J7P _@Ksr=^ly>Ow Iȃh^ôD6߅"C/Wߊzv~Q NtJ$?ܥNOiȑdߜgk$_qz,c[p9ܚ8Xg-WŨ]'ZK-e%`6s@quyi/цد/^h JHQzx~H{p/-#@Cns3"Z$7I9(@D[t0xi{p)(7߄^oXO%})="m2  6зEDcMnk 1Hsq9E*?.%=+HIg\RVd4\H,8{̜g@X-57)/h;^d4@+W6-_k+ *٩qZo$BGݔ4rr~%Tw%'%>ZӔn Os{j=W`=kv{RNZpl3Q><wsh>Z_k'q=1DKSx3,qoO`31Qsw NO BOB;ohrdHׄ"p桃MxW/ G^\VT(saJ`;)m*ʿ;:TLc Iѹ}Ecݝt_s}}h8Hn4ɵe5k3MY-G<ߨ*~k*93 y3,qbe;9p\PʽUpn\+Zƫy!(~(s 0k06`jMȢ]Ǔ䞂[9=s~oC,7_]N%#nkelIN{/t<ڛ4zX=vy]7뺅 5roq8FǨ58 >nTp*-Ns!0" A|= 'tM3Ha ڪ*m"4|@UJ=} 88ڍ.&ۨh=vu~Y.)(VWhaYóYaNߟ9|}|w8endstream endobj 100 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream xyw\TG*㉠3M,1F$n!Io#M`(3f^ m@hbFݘd `{~~d8gzg=kكV;L0C~փkۓ5l @T@ !1|"G{wpt6~ NA<݃헹GyG_ׄxn󎌱=/22O>1>$1죶Eٯe $8~{p-?J#헅xyS5)xNȦ_0rt(%Kc߇ާVP#ԧHjZCRuj=5@mPM\cj35OmSP ZLM&SK)Rj*ZNM %Q,5!0zQ eMPTOJ-"(wXskYM=wL$s^[z7/߯֫_NhQm3my|϶;C>rz𡗇y ;U{粹g=퓆/`BLbIȿ߾M+TfA(iسۘ;֩@\_&hU֩a7+EVV0VR qy_,>z,.2XDjPTA%{WދdpPҿ_>q\npP2h _[s-d#eVड़$+ hISO,Q8߃E*^¡ S/< %٧eUOU>"a"dx $M9+%7_4oH5 A]T{W  Նc^oϐaؙuW}pa8PuE~i[ouRWk&`,o}!m:uF0&:P @X Sdt;b=^L d9^[ w#+C>[_ԨLζ.C\HsE ZG[HMlNON_X쉦bM{$ɃȓT\ a,womu L8M<(vS Z%%-KOnO# ^I؍7qޮ9hv,~f} 4iFlD|ïbԭJʆw8Υ3 3"縧Dt&FI-.bQ]spQ`pӜS6S,(cHVFQ6Dv8U*H=ǻJ*\%e"sy aC,6j7R{ ġh%Z"I)=J:gC1XCĐ \} 5x8 1!҈Pg`,hݫ'',AX|ڄw аh}dh ;ΫfORGI{H?*1pYX:ϊPK(I:Nwݚ-dm_GYԃ3,">Qha/^ 'NF OPi8**˜C.ƍ_I-&t3̵F4@f [ҿ%a>xEBz6H>k^wӒ?⦠X0) ؚd~jM1KcrBYC8l9ќPLH- juYрA`>ǂj $u^99D/*<5r}#!Pés0Y&B4%$&ptw ճ^Ư8J*? Ocu(`їwϱҽBN͡dd~CGV0|f9je>%/t(Φr<OMƓjxUk[ҡ~ !(uGh @KE* 1G\CO/W_>ϝ _K/p 2Yp@ȷ/FMu$S8 UqnE _<4\% }7\ ~"--B诞"R+3H Ah~MցF#LÄx[- LKoiЏ]< 8N}Tלe߻m!*͑ qy*ڮ\7ɉͮ333W}6d5锑`U$DVMlglRGB4$+e[ p5v{+HF Jd Hl5iPy>ۖ}lSay[)V ࢉܶQe!A0ڎFu*s:kj2 {&(V%d󃲣4qHV@ΙF9aڷ#P(@6xm̝Fۗ)CfȮc5CCLJ 6׷)OzM6*+\O&޲&MgGnsp1PO#i,Zrr3aR _X ,H"!⒒RRj.3F 񸋱>+97킼Hk'`wcjn-&A(ݽpEq_Qa U)zMB',ʜf-l۲젨(WgyCXYYKVxYۏq-V*] ]1+}ZM-"0ԟQ98)V}Bc m};Md c!?iY;ǢK]>B'FZYˆG5o:LyED9gs\ 1S, {N|S1»Cw_zW1,Eο4_*2wC=^J➐Dh[yުE 8k1c`R%~UX y &(: Z|Ibvl ҵ! @)5e.&49 Κ_I:L&ىmxo43P0i>{Ny(AFUWJjs<L5|4:7// DJ.x>)7xe_W"y6٠ c̷^DAH˘vXSp* ߨ=22 ^ATlEݬj~g%wYWt3RcpHi[0 f#:K=7 S1B⨳^5ĔD_ fMʁCd{+fHPE.Fi߅8*יx fhdFy8X }ON(eA[\nfWFۧ8I[tAiwq";L.1Luêyj!>M.PFֈ@*R+*f:%tfZ!u<"'̼Ms<[u\q^ըKE$l$՚lZm1Ӷh w@q|%+[_q\Ls^ƙr=l8i)K"0+*2FDkg?"M}|Ϛ%}HȩIhD9PQ>ݑ@h%N4}yJ}: !s}ڗp{,߇̭`lgiF>tw) fAa[Zثګ(_]޼bcӣs5zbjT5a1ZhҤeqt^ι(+ XeN/S %mdR2ANwn28?qθx8b0Y Q A.ejr;BvQ!,&FQxmR'/SSKo/wMT>̏o"owғh2PEfAX}JOV"E)c;A"d).TMICa-t8)L%@/i>ȹVM*(D|-#CObsmQk{5{27*>I.TJJvfeM$l$2.RLGY`v ?~r ":z7͑Q_g^ ;}^!-l>hK UT(Aʿ9t G?ulӌ$x-n5OboӂR]v,&`>2#QmQϩ/gg,ڏ^wN]"3GZ1]cj8tBa#0:$*WJlSRTTHQ wdPiZ8[6k?ICP]pD@'Y?z#[Ý7F;xw$ȑlnNv Ǻĵ4Br0yb)^VQgh ks~@meQˡ N^ZG:PK *%($Qɛ'lv֧h$LIa:RvfkY\~q ƭ91>/ĈU[P|د`֗+*b~[\zJ H,N/w [txY=]d `b=A_'+r⎅1j kR:-/i[dQa!XfJ}`#$[`SoЊZ翹.8a屐\3G NakP1"A8\aAv ($if`!8+W93w?pۓ|$<y4~+6}0gi| ;ēF}4>F'6y*xʚC\YrFAf.Zd/3ʝEgVGr;={T[,2S^9?Ҝ/#fe6 #]ȩ)1EIを:C$Ȁ&yDly ɉ8O1xlls1Mp2բo:m%.Ka+3}IRNf6mц߈ZɈDwYg.qJM!PU0BL:аL \:_mi~;jNVG}$yݺ"PV@|z@ܥ$nrԛ$koO =#-MZc@sv9?X%ZyB,^m=ƙW4<`2ْ?Fqdfe [VSIF.W,FlI< 7Y>xm:*H{E= 1]_]#AkeAw .&9Nenhv*J޳I:C)8ƿ2NqXa? | tVzR^rU#yv +'hjU*R7M u8%GBTVp*2+O(5tK;B~=g괱bcυ'? =h =?vYꝞ7 ff6`J >3{V;5cQf,WW%?LeLR?gDأ6؇so/Cn߾u}Q%bdendstream endobj 102 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4925 >> stream xXitS׵K:#@I(1 P$$a0Rb #Yx-nͣGy ehhH MuzG64iK"}]!뜳߷o.g|^ 834јЏylʽqm?OB'"(I/.ϗvfEǤ͊h/yqڔ"Kn4QFQYtkYEE/ J/RQQVŒu)yѣZ').(^Q p81+ *.YZV3k(y/?'~{OvO\9oʨ&LnO0TS6%DGΪ9.9 -[8T7C椒iBDWB ܺ;,[Z F"l'{X ~)uѶR=*j;AZ$+MSăPVe2ld5  VRz=i1z*g[9Ȑ~c!5^ȎOgd~D4zd_|X3=Eu i3r(-I[J. rswyCLJLVqzPU?[Dl[*WH([ z44]N| |=} ͻPWzwsXLuwhȭBqyg' 4:!*PT 챴^蠃p,{jvlYS xG1h7qG)Sʁ$o#d]rm>uH84} 9)q۔`G ֫8-&IE 8 r޼.ЈtU@UPtA-zP1zf_Y^ ` h0*S\S;s3/fq1ѹ j QbJr=Kfa_ګu]\e5b FЄ v\o%O#IZ`z`P]#KW/b11pB48My+$F]H1z2&k܍b-:(NL e @SɀPN?nMi `29j"Uz`m҇ Z_s@O(\'xWL,Um=N39s{8qn_⡫ׂ\AU1j}YM6 ùW0t,[!/_¿6M we!]JQ|Csr uZ@?$py1 *ANYe V޽^9t S!@C>5l&r$(^o;.' (_n`/s(Tu} Wnt=dA#5뚽WRO *ZuD$;01PUhs?W](Z fM].3}y,nA9~*)ӐejPh P7$νN \PњTpt&:8mCѥG_N>~8="ꫴ ]NWXe4W:ׁѼA^.01"-GS#ӊ5Frۧ/cBX/K"P`P[5cs(cVltUTSbw-bɎF~s]T`Ԇaudҟ-kq?ϠyGy!u(BЩ ]K6`YZUmyk18NxQ|֏֌%Py" ^#4,p:}@`0t -$nI97#d p77nTj38t45KJxx}թԨPO zcpjg]%+;Tъ [S3屏ٙ cߧ>%N!`;^v&nלm;DRMziJH12zuAhHr  f(BjVC S N ƒhz= QI# ruA|PRsV 4ï L`͙Q_fAhir"*m&&*h@- )uzD?7H݌i . X?!XUEu5c)wxUuFBni tosvƦh ֐KdodWG}uakR{G]/ƻ7{Zd;_ 4?14` 4C;y[1CdjTLYvPma bgyYN՚jvk-Z_eavOh}j?.o׿f.z\!tPpv p ÄP @.mVvti^ i?kr\VW؅6nڶڅm찒 -}VZSgДF7p%C+ TY6!uU)RЃJ<#5/t{pf=(JZRp}3Fl׽ v3n[ @3>V%*+*wmprws/\џgf,@]nw/,n 얈bA6β)߭PiuC[pf {Q_+K}5g>oJ()Q\mjwNUNiv̸a8Kq2kekթFH j(jlՍ'enyA4+M#ֹ]~}x2*@/$4hUY.Ş|cYt9׎z[Z>+#JO,|'Pd+ے+SB,T&JE´iXy m:ҷ,"=W7~qG"nh uD EtOutv,;aZpxCoK\BՂ$v&g,7@'Pv6ف?{a0wf*OX|W'}WuWى$[p8[Kv/++6R (%\a+^Iy9@-{-fʲvL-X>V o&gNԨ|'Kb8K SKsU{Uuރhʜ#bg:W{GN_TkKWJVd0߈dCE&D"/k=d$@~r{Bd0nMz) ٗyTEuV_6|4-ŖƇ~qSA.z7T"8peqlq̕fԤl&./H;tކ=z[%ZZV4t_Ը޿=6199\M%Al uOvbxT˂Gnnn%YBy03\c:t):kǞ8bL#= K&KcQNgl"L9AL `u6lx il>(C7Mjl~`Z`Xo*]1^]|熒Yu:)WψՊi}2BkQ{a}lXѨP3:>K/~H}ɒSd&آ3A5.5|v5G%bPD=K+ܻ$ %1ؤ5RQDw}eB`4IҪ%!|jRmk>G=%?0&L$.T3ٌ۶~_6&YsY2}s"7Po[w:]J?-4=xKIizY0NZʘ8*_$H6z U]PCԪjVE{W(gF'epO/򉻺;TAehё&ơrB/|7?䳮#ej6]4ـ^nkh sBP`DW-DsHZ>5(L A FP0h7 `"",Id6;1X_5Z:GrP85^t9]PkJߨh2Y xGQRw> stream xX \S!psU%^j]UZ @I*LYd5lZ,uR5.Wmն־sOXo̽3weiAD"nnfNƈ,pp#kˆ [a()H$H^.Q'y8kNu=sG gjpOg8:n{8NZ$ Y8cFTTtϠrW:F]}|>Wʃx8X7ryPHDq|"NC ]Xvsdg;1޻mw 4s^?v+X<ۧL9m KQWxʕ@m&RnFUj5LmQ[4j&Aޢަ(jKCͣVSk-%FR@1xj5B-bjeC (K*M,:lY[<,묖Z|dy8h كw rzPPWj7b܈OlGޔI#',+;aQQ;^c k҄aB%2jQ/pM<`D>xh^QJzBJ^բ2g54F!_W+GWBAը.E E)YH\`5ltpf}d73X(dP7V*B?/z 5ۨ@JVңo>uXQ%LSO|~6rfz4[#0rWd6˕Fkb1#iu( A|]> 13. ۯ,q! U2m) 5F d?aKl9}O ':+W]2sN% BAjBp-E5A1{S4n!gɺ ^?^7a(!1ɯ. B̹dxo\Xgf*s鴦Ͱ3 p;\ynٜ)+\V!'X 1 z=Hf/ow 㥏Ӌ}K`6( ;RG#kp0g.L9C l1.7OQYoڦ( 46JLNNh`^ `՟TgϜʡP$1m 'm]#aӋ_ĜRzVB : šLJA Z300_b'.&-_Sn \&T7DIN,,cmx2p"ЗݵBʖdxgQKD0>\}rOZ* so]<+OKO&HjWF\PPE@Y^y1?9DzRteI{bؙK(/ש u-<^I{lO8֌/V"jVĝXZDHGTrye^_YWmPSBsͻ-oˮ<(((-ϰ}w}VSܔϵI}\EWkHrBCé`pɴ.+ E["}OyXNjDE>E3cE8D'u`t i4E>@Q|*SE("#bw2'}(BHT`WٿC'%$o΀CzY/Euh !any,؀Y5,SxjO{6tPŶ.6Ѭvv&=Wݮ<|`O  [FH aOYw7or| !˼hO4?bQdwdsyKu>X$gP bzvסwy|Q_3DyX%}pIuJ* [Ω#aLI#G| XX3}gGZc dcp0 &yU<OrDag٤]hNO|mNNWfD#9(O-8sCkLɀeqfoWO>} OϱI)H͘.S8xS6r'OpK.p Ã-GP*%r%ǎ7Evbzg;ȼ`sm'I>pmW1S,+QkMؗ56^3WOd!|@"75MP0#pөׯLCss*#T'qdՃs !]އ__NolTCj$EP+cT(Q(K rr btsQ|Q6 CҪ2mI}%*_ꄗ jb"\dxe'&zmۏgds/;KZл(+/5#Gg߈4d`'qt}bA tVm?~?޾u2uGylE ]m{('eiuKGO~_?rI-M|vܥo|ΚP;p\O*n.YHQ=5H=A5e ®<"3!ۂ%T t-rEy˫:2tse;:8'q-hU PX%qT>}XYTo1TSSPj1;%i'ե[&ƣ8$:]uagn\Kw D %#q ')XtX.:Nhxtv 3:A *P/#Q;1%. E;p'fe(( Osy V&x6wjx6C(zɚQ!OTG<'oZ=o+Բ9&{PQR\||4QFLJG < 70y` |<جC[3nm -J~m?ػDyNn= 1$UA}<Ǣ\MfA^Mf?fccsuG# G:dU[!kE焩b [A()WEE$R8+%9Ĕj+sKra |XR@\aq72Fn=`mmJQ+eendstream endobj 104 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1063 >> stream x-oLu(-i"ޝ27H\"a-0:# #RAH{msZ(kma˶`mM_h̢n&.J~a/ef`8g3e A\x&CxVXk{ W3@)$8;M [ʊbŲJ1hZ:ZdՌV; Ú*5v/-5L%JDoh;QTL4>C7_XMȕ<re Bb : ò:VX5e2k#/ݾ m< fTVQ0x =AD xx%@360qA]cg6dޫ[[ 09s4,g?/Ld(aOǟsjs;`!l0LN=4L.%hNYUjPݽTb) {VR |k{loSpSc YB*XFqh^ڐ\2>6z#CTR;"s0FC_=B+"0Euk@ Gё=YЦj7>nFQ9f- {A''#Ǯ.dXP9Y 4i:P=.fJs3^BŅ4۷$Y8${ >v3SDz#1[j9eCmb,8d3q~h  :aA֨KxJ*v[B+ې In+Nׇ͹wX1;4d~("tڻ/76:+Ծ6fv 8/o"@ d}},O/qT2zaZ<(s_U ~ .s*qFP鵛߄yX^$h$범1:]˜J%)Ragt^2'"Ԕ?7i endstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5766 >> stream xXyXWфVݢ`qAQP➈@+Bt7Mߦ];F@%L51cfL2enuu;sH4(T}KzꊤEWnI "~X?(Ś#I!l}r*uȈ5ƽ I"ON>}tKt,U(}Ȑ%$)ޗɤi2i7~{==oRopuok޶g_oxAf$L*/੃O xKH$?2<>Pϡ#?;c]vØ&4Ker :NlUU.7>jI'GyGfQ?1$3s`YK97|dW}yOal6S #rS߃zv1uHq{ m [fm5d%Е /wOrF?5,X1+4:k ̆Ǘ!. C'D}eEVߊZ |Aq ­m%Wwy#(΋"{C !?čf>pd |n7ǩ0?}6QcaiҶ PeLl=K!r9A&hHEeȞ4pώ}u\ʕ92;nmnU4j[*(%;iXPsB#-&?_YQ̊L DW6s{r*:iRPPr ?xh0̬1]At$|j6(3ڽ ў**QꋀRqJvڝՕVPEWEZ^d7Yp٧me̝6*\?Eƚ}ȋpm` ]41x-]gW/ Ade{^s|#}~ds%s0Iu-^rNCyqBI~Y,ַZcN`n`fsĝDE/rg^1Hց][A?CHi r, <}yl9Nž6HPZ5"K1&O~i#U]>Ia5jAUd vkR?o#) Y%Wgʋc  ZeV[Fe4jb` qy Wm/$Će'bu8*:#R?th7<:;5%@7Lbz84,)4 ~dkJD*7-8L0rK G.W L|SqP1_Fs'. x}'h?2 7Xn0zn.뗸$^:3v/s`;zPA: و;gyv@w `qA}/@/1[@ʿg#(<[]vpn.sW4+.aG}bV c٦b2ջ({ 6դ0䐈a5|ù?0hzNs`#ޣ |*PW5_n tpfnyygRwg[ׅQCzD랖v'oEᖠٞπmΦ3}ݿ\-%'?[n=[p\{3i]F~ޞQ a}]MNI=d~Bkzu ܆Rx ~>e~z: oV6czn;H S!a_Nlfѵ1WhrзZ־%iSI;m]$1>&{ şuqo'EgкlMKE#+Y(mGjaTr )}KQ?og qpVW)%g, U_Ϧ$ǃ˒1I e0,V*^Pꕶ̓5ᆣ*`-EfUH x VA\s嬜ᆱ/GC%Qrr# KpI@gaFeuJ@p'PJ$Ic&P^Zmy c輏Sb[AX;Cc..:0ߖy(kM9 #EX98aL7 '?^g UUU[kd?-YM¼>߯4ga&imhkkϵoX>n)+c]崻ƒ6!6ގw?3hWOEqQh%H: ?j=oPshNZXs ;{#ik:#az{nuWkLsm]Ecm{˞AH$a3 {1`6te!'N%Wc`=s3j9K'lAC.27/1e΄E:<_{#((xv/F^Z DK>Y Ǩ. ;|{'/ ÿSϮ{r۷XFI^vvnt'1^u, nY8 J,bLcE`4Ġ3ӪB@0@c#닦j5b~*ε^ Τ5b  l/2A1`Wf=g÷F OeAI %cX++*g4u nK,%e\8dd{bոjXtj}E#7+h\X~vdX W YWYh%24%, `k@ފ $6Ys> stream xwCMR8'vz-   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR8.CMR8Computer Modern3vťbڽQ"DfVT@htkpozc,MI%ڧϋ1# :Q?f{ku؎׃$Ena}{mltNx~}vCoa  7 כ Uendstream endobj 107 0 obj << /Filter /FlateDecode /Length 6098 >> stream x\Ks7v#XjNxU*IeόSf* ;+Rx%*=IlR^;eV Dk䧇4_EǴt7q0|$yK5e`650p[dhTEzh%:xz#Zx|RRI@- v_gZ)O q\l4 /2 o STҺ'3jV !p2Ȥ;ȤXXfhV\B欒Zyj"f?4ђ|]A!쩉Y&/;:m~j zK4Fk0?YgjَlShd`zG2@0w)dq2(zAE0/<_ ,,o=>d!րj/:뢁Xm"FJb.(E0f^<*(O8/sO û,:#XӛQn"v84 o9i㛋t'`mT ]ڍSng龯L 10yX,ޤ4"0DSI@9D_?bfa8&(NG۴ %1;,ij]7sZc 0|;$,qxko܀N[:t}9 t۵~KgbZ(xL~`J& IńI;*6J8_AQߛ% 8d Y%ۣ"d8^e"+DH, >F*8E, I%鰒kYq:o A{?0%Iv5@ؚ}Q'!j}ю bF5^N嫝d<KfD1lO xi}CnpQkc@>O J5L,2U$I1geܖb U;%`2-MCT# g=Jm%uj ` ߥaMk(+ͭ\5 95 6.~vyAC((qVuH'g2nH5YI4C(с`(f-77g[:amZ QZ3ё 9[H죎ʼo_ !̏ -,qY֌w@\\>@튈P"b(dhs`bfnOwG֝ʍ3b.0U,E D3KrVB*ei  6snzQ)I =Jsvj!(Dt/}Ifx5ke7&6mDZk{fQ,[ZyHA$>OS?5>*aNى:TV#Eͫ~ sK]68<_R7 i|Ԓ>[_2FIX^fJ?F%JT2`r#5"q0fπ?+uȫ5?@9jExNO= n~8J $iYaVFaklg>֎n2̙Ojtc1ފğ4ssjYY 8~}F_A.;;{L SN-R-2I![U]s[Iѭ亄|T}~WleL`m`MkPN8~TQU^i9D(E$%V a'x* Xk@DLPz~)k|}loXƀ0"f˛8M^$.u>[UY|b|D /`!,nLi:—RG4Z"AӥHN;WH/%0hCNB|<һ0`p@>AgJ :Mu7\Z5qaߴWeDhoYԲW0gԆ샴hc7|L*.BmlHv30Ql԰8x)i̓yLUE5<:+ u,Y$I$H€@$$cE8 /fT3'*V6vdUl$7م_u]UQ4&e^uv)e QqjH$HA}뇳۷ۇTWCmlF>*AQK#懥djM_0}zx}vDGyV GofTxN:ANO:LnZ|9ְ6JT2߃T*j~ w8RҎ ;/.Xϧ)[tձ{UňzZ G:m%TzяYcHWf| ]u3t g4_i/SP;TȒZ=Y^dJ6*V@]bhŠ,xQup-0IB$bL!T造*o?T ϶,B%%cc.v9N.4!iH "8{m3q]p^Ĥ*E*їBJ#HmO_猩"Tb$^O?e1E:Ri!s:9?4/@8.|ō&wdQ$!<Ξ8cFܸ \stF ;5vq[5t F4{~^ge 5a"XVo8mAEM STv0MŎ*۞ gqFłH4`ju@UGTٍqcShT&PG.3s6) QUcoLwve$^T$cw`)@j.r;cN-DcT6*)vq%1{% 쨒(g I'Lq*w ': G.c7gÙ 4/ƨNoM A6I<䧇λ3c~e~^l4(f]6wzocY_ӷt'%i[6 wߝeIJXE2N)*4nڤx*w)ܬql:D%t'wEUGMQB*ia6lenhKlie"~āt]kDDF. M`O#.wV7r=7HqL+E_+b M O;e~}_ {b6OZ>r[p28KcɃw!pֽy9ީ4moKpY(Jrw|zޫHg?Sg݂\-e7yb?.N28aUo-G?(W})271Z/:(SIfw)CV.t 9vڰeza/hp WUPg$P|SIP/YFl M Wاt?vӷJJNrؑn\z mJ w I8b*-`e,S͖@NFWcNC4\QrT;ʨ8φoRC/H6j" {]娶QI$z [m4v; f$OEa^b]Tj6=c}}X4ʢmN6]N'6[fF6x;\e90roӉ&qbtQdJm, _&O'SCcN ᥣfPolضT!?|_1xt5`C8xeRmH`LT=}h䉟KL]DH޶XtMi'ۆt[p;*T~) ԅٹg6u5 .u~ ʌw pSZEZtaS^ͳJTrEqa6 Qh$<LJ<wp|% ~=\.@\r%Iڈ|Z,7UkC -_-){%rXv>i"M>=ۭ_49;Bu#CQn\{&c6SΪ5:Fb 3˪ս moeq|QTϷuKBG™.)$}Ez3 v Twj~r,tR?-r!h|3 Hv Dq;ћ@z3BQ:g4:8;̪љcא+U*}5Af6qw^[9?2͂wcW(Xz+}ۄ?kGyל=a~ZIC_!K[ Q֔P TaxnoG m-kl{ ?ѫzCA1cn]7J+yq[:I8Ϭ2(-[kT3>*Y:fn?e.S&nYk$NI2AKG'1P[+ɟ]."zG@ c؂wd{~)QZK; om[#_-]m%Nn@լ4mS[$#ʌŮ*.`[ձQJ:-h .myY-'1Lъ GTVe% )S0s㞩/fi3}۽d ɯ#7K P;1uuQLr2u:{|v?W O}RCvo-j: 麗))yMnX )_- dW%\bؠES^ y' xC :xk4#!(v1무fWiO#endstream endobj 108 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 329 >> stream xcd`ab`dddw 641H3a!O/nn߷}O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8OB9)槤1000103012)ٽgf|;?̿ܥ;~3>,}} |g|Waq6;7<_s/wt\7Xp9|zaendstream endobj 109 0 obj << /Filter /FlateDecode /Length 9663 >> stream x}[]Ǒ;pU^._<>[o?>zʙ.g6a~sG8oq+\3Ҽ&Vs FPDzЏ-k_Pzg4yG)6)D;.{C//Uny=ǟ?h&KvXLJ__˳os?zFagm5_s*g~y)SSc#y?t3)ĶL@>J8W=ȢK͑ [>q3{5C~zOOdn=eO]Y~~yW21w>u???񧏞q-)jf?EIwZ6[K!J '?cw:ӽzZٝ*?;6{?;._IB~nWvRޣg_ux}w jw e*8y'ux9}jV?ɐ7PS_v;e2/J@_.-,p{ڇW(4w{W;j+_yz +/_+Cbxá쇳O?r=}Ok|Ɵ;tD,GoIEH} *_7o )o?~%܎oe^jJ%rpot/o^^ˇ6r!LӅʪedSSʨC,{*^j缵^F)3U[*~m75v;rbbWjnF̷Q,ȥv ]n9F|ji3ѱȷ3Q :L/rd bO|T~|TE?*/˻%K JBF/-"r`w/"1") ըS~dK19JP3P9r N[i)mjZPέTLiǷRe|/qysqa_ FZ[3UJR.] +Vy2lN*zYMq)hv{ZJHYHh: AeNf@'$^Db:9*g{!b '٥YTA@ <AQ:c+6]c|*وz}'o_~}yg#__|KS,>pۗo+5?>;:/Pǵ׷/?|`qƹ4v# 1fU֢*6ʽfdGnejPǐ* ,G s.Fz\n7y.vkgOjHcBi4 +\)z8[NR|-X:U!3ɟ.߾TݴVޙo5B{`F^[J{m}G,T6JASN%Mz1lN/Ȝ8 l+_`P+ "k| H62M'Djfeʝ-Lȃ,hC4<,Yp hx xqڲB̔ i (E Aw'vViaZ[<@5r my +ʜ(`C Rr/4_=JEsq|YpA ?-50 ;欀@6G| |H3PVC'ց4bNTEFĒ,! ˃N5=rS7n)A\4v-m@7DGZ/I/Nyтc XH/y{ʋW5 μ(xMi+g<`,0겠F6M.SW=u!i,&K)0aFiZ`X#$bE/ׁ+ !X((+90HkB adZ|"G3k2=,d)!_.b,%l(Q'<[juQhif^4~ј,He,j{184Q#PYP(aȖǖ4@F Ď]n&L\LXH,vJ,O~N *M"%ku/֮ yQcq /VC ;f/HmLgB3Mw]g-)S wU&n+5_'R' ,6 ʊG)rj:f^-r޲]2xAXp,6J&S]AsO C݉̓CeZdJ3<@{)t C re ȍ#EnSFɁi 17PCh7h#QVa!rಆUFbYF N(#,٩64`6L YRd8S0M`fr`fB,b`2Y)0,{SV]3ؘl@̢ <184FPt1Tn@i0nC;4[m) ?:7n]WEByq{ (tnFi$?7h(:4RvhF@3Rڐ955Ӏyr@ e9U 2;!XgV,(TY^cv!/RhpR s+; ٛpͨV JLp%c; Yd!)Lm\RB,@ BQs.f8yؔUHlQeAZȋ4 f TPKn"5?u=@^1XphR)(+$-:fcrB<& "/[CvzlQl8^n> @;Kr;/h WcKfu'6bdA@4e [#<,YWr1ƀ:r^̦Efw`6a" *RC;uOk"4un5qtxZǚ؎ʹwýöعD |[_y*ݤ[g0h)xA\1XQ[@ ,^ymeN/hP|0u%[A V`pX9BMQw̛kddij?eFilr58LTXapSnPnrE1j읠#WK7ߙES@{Hzc,`(`PnU6MrɉdȻ6qO9],NYJ_ k Is)',\e1 s E,PneƸL5]oyњKS^CACo-,۫e)k_r:c܀,yxC zdޠ0?Yxuk;&e!3Щna1a\5nɖ ѰE `\_?ige僳iVI _șgkvsk$mV VOF2'S#<xJ+f4%Ӏxqs#lVޙi6+o4j5f2*Ç]4J.^|2rw.xǛd0ÙuP[.՛O^_~6>Ѥ,/^~W/87|_߽u+M=K[?No8ͬIgW8H!AJv]n֗3vbw{Cd4zwz~wĖ  /m\ʱ$\SKSwzƿ'|/Dz5~v!&zO+lO ^eY] \.' ]ɡCΡճ Ed{ Ro  hij i?qo}+N5 +\;߁ dvbG 9 :U7o1!EArC@;vSt#&+,bO%'@@Hnx dvtV@tffP>Cܫˋ+'7p|| ؕ9FnܚxIG(k '7 0.ّg%>ϒzX,Irَ\թ_TeGrȋ4e,VY>$(+N=I tM q$zo}7t6n"GC-x S@Cc~ޖ_D53"NAi Pb۸݂Ŵ[sr G' ]wb; %6N;f_VZn&%cS`W9l2äV+`9.WQ2u%"=uA_5BlN5u  I>ǥ݂#ƈCs Ж|'R4z3}^>1#ȋk <nഀ;ŽU4%kN|>5ܼXn1evVȖGaѦq'4Ai*[ X8nPneh{AdUv&zuc->GpyQsGE@Q2uϽԠ<#xo ,jBXC %[8nPn|cnܠ2k%Gn.$}1KFܠd[P,mvʍw uHB^7b<~ު@ "#f ,r(󍁲S(XA|WρÂUepjJ΂$b4F d;[vE5F<85EQ_ܠLOvUF vC<@^\c̃#XPn7hBEބt2SE5<8p 7p(2+)<{,#b qSbpxpm13CJPBZ{փ| 'iؓ˂R?\S%jXbXeyPيXe0pP^g~N5w#*tX )Ò5=7b,f@ %('7OPz7,~=|R7x4 d@B,/Gb0XԚʍb]"V?,v' ``#"N@BW띘+n쪟< ڰf[dbn acxBo=a?!v֝H;1A FE ؉m,^瑶s,RbwND5Qzcn&MsH\>nxϖ kfX&KTd(sxX(Q7!Vؙ yLC?n}yKnQ hh9؋bs>xoo򱌥8??Z9ALfyMQXf&J67YJ͇0Rd!FAYo>1(|i9]o\M~,HYKd 䄁R6 %FNMUbqJw UFӯ*sгK8 <搛A&KV( 0pP^CO8򹵮Ġ2|!ٸuO>_,%i5!ʒ@in>QZ,Mm-:-CT { 3*'LE1978 fo)=ɜPPCd>R4IZOCRk=wV"EƠ7OFfTIZPH4Fqzz= _hgVYV` kO8Zxw񐣠'GT nmu4(IpZݸ1fV`e 7Rfݏfijaf[|x,")D%[.kjt %S?prJ_?9 a'G_BB Q3ayIO;iiy"b*mr0QF@-Z4iX#:y}%2o!9ܮoX?gϋ,bk-dm!l.ٜg~Sԃ߿&Fs2ɀlRLy2P&9/v8~LDLT%Q"ϑiAǍB='4Ѿ#虏,(1>հTቛR# rO6-+4 OIeF!ڿ瑫s|]?G=*֨s3f\1#oS|)u W7\m>-{!"3~ϩIm*4*UUDW`-}r֦R\r"Q>QCA|31T~l!qK}7ۜꄰ\j~pQ?-ryGendstream endobj 110 0 obj << /Filter /FlateDecode /Length 3703 >> stream xZKsoĔ+aP%9(SI9e*\Jtqw5088B7By1I/+58^/+'dur nخ|S0qv|wFLZbʪ'k:驴3 @kW' 1L6 +tRA)9SQ1fFUXN^drPW}ίWrp4^I|n gkugk19!tz&(z;akt6/ZCP r|e!7~A@G3~ChP*f3AF' c QF63C9A'#?RS zV~auճZN VEP|]u6uu_WݱվJ6Qgt1ZVE]]8uuǺ.iꦮUaȫG-9vW ml~Iz~\śxj]/:qeԿ7 lL\}ēv N5>_^Ydm@>Bfn O:Ҟ5oZߓ:NBnÎ``;w _ޔ-Rf)̟7Yb)0o}/*łKEidŻ+/yY v񲖀9-C&wc)Q l5rnL ơnFZ4Jsz01Z5Нa4^49e7ho++ЅV Qp^W+;YMp:~0^I%V)*/Yg館,Ai!< e+&TBŘD^''sLA%`.6;0e؎`bqpEuDQ`Q%sq RL`':H S ғSX酢ij[1$/P(c\̨ * tTQ){Qܣ{Q:ƇGhf<]L^49i>0AnM1LZ$So¤H`褍ܓ{P fy9ly n E3)xwf,١M7gcP`f1 jOv}39 +P )S;֤?M6v70p&#V $; g1) Q0&#ô` ֒9]̹Q0MҢ?Ql[z"*)7){WRG*۩2N@i"sQBevQos=H4)S1(rFŘ K{Ӌ1=ՉՇrS·FP!h2帖X{asø<_CP}/Ph,+U}oT{c_nT5%WRJս7ZQu6o/{k|?_ GZAFb=HOtt#}CDB~ϟo撶on7yK"T^g1[Ea]*5o4R@*L&~yd@qMZZie( e؏d y4QOܖa':38ƻ~ah$ U[mK ӔMJh- Z vE?RIwx]XEE~)6PvI@:MY/IO6ÊcdN S15RBZ i dN Lk!QB }R8}myCrѥmBYtca8s3;n/PKAK`yeAQΏ瞎'Ԏ& 聒h|n\뺙q*i6p{vEu6@_yiW,Dgne9-x}n|Ԑ͸\tsߴˋ[˾o4ʏa6|]\QlAa(@c"uuUnW. #e-o)f{c}TUMFM؋AIO-C|Aij1]4f7LoG)ώ˳{wyNP)P#8duk|. RX`s*rW}FDi3- va7vhU* >ML:*Rݬ1W礈'e9]Fd|k< -_-z6;Q]gOWVN> stream x\_Gn|q@fo;Hly܃42v%JN/,V-k9@0H"YU㺸Jwv|wXt-cI-5Kq{P[Juǒ-91U5,)T!%V#0e$ZեUR9%f,uu&b6T]!Nu2ßMy}to}:e? .bkY(xrյ.wW5?_Ks.p–u9rj􇯮C޵S7_3uWD to z-GF3xlV]I\ť򏞒Cg⛝w Wn<;u@~?7y;Zx7ޏ/{l{H?TiC=d<~e|2w6mnhxվā@u-{'i#`ok@Y)w'V\ o2^}tIzGWߌ۝>ߋ/&Nf{5ގn'ΐ;&zc3{>pᦛ7\f{8/ӬBhy;W;}f à nxnFӽ(b'iLޙts~j/rc;炙_;I7cn͙t "QNł5Ssi?~]ҧOuKOvL~W;r~:ɬ-.p.ͽ⃌>X Ͷ/9|+؅Qzt7:1/K]p~xǗÖN1`׺T:! O;чǮ}I`n,Z)cL' v[XZR A O"(&Wq0Ҍ\5迫:z;3J1z ҹkxr~ swxoxL-d/Q(&gR4CHaRձ&tC+ ab@RFB0SKp939+6Ԗ^e%1rt4 .)Kf4CaA}*tӈĠPfH0T3ZZɀ915^*&"!(y 0PXD8X1 0 PBuTYZE)d;xG(1DGǎ"'.%c 3 e2PP$Б ?!0P%3u`,2֖B3i+à1rExn!b6n1.>Lo\/:<=/Evt?ݜ$!A`A:*,&/T !`c:/^)Gk0NHRVȌC-պubĘ9qA%ZccvSƓDvu"·Zڒ*$!y WeK:A(A-2( Ɔe"i•MX*GRY] $O#Pk960VB0((2厈( ڭP_Ц܀iJQ<)Ps)C*E P 4bk9w% 6S`x5S\ &xNR/VC%w ,b9(,2hb{Z!0P-BTyli1;<6dpTa3A52Z!Hb2Ra;[pZG ]="!hnAb&,9,TJYf ?W _^9yiy¼L&El  1'ddL#T P-v))eJ@4O> q,VjI2`qg;(<f<#J$L4)B`J(*6;RGD1Hiv!t;п SZG:C"@a5c2Ɂv!0J( Qrְ&˃(![U mzl8("XDfDL#T ZwYH,)axl

J4`n#O "7-CJQ~RPQlg! ,ƙsNJс7Pyxjkf$H%yl DgH GoG[~C0Fkp9Mڢ IX-%m7ɤ&a w&a94\$,N k`; 5͒ ħ7Po|I)rME6>Z˘5LksPXd8>`j ZϿr:py J۴,6 چ^+,l?@fpRa; ٗAC.O-V۟ sUlDrA8|ȔF,K5>07*hy;F1p6,I0,a8Tj թp!R3B=0 Ϥ@✣4B1zTvɈJJvYp*8S^ZR\"{vWiɠv©{~b"d}5B*vJ""i{Vھ/Qr@L"Y`I "{R:07QTG"&vEp?C[^X1k838}.P rPEXu؋7:IQ O d簝QFXTa^tfb -AOEDJ8sYt 0 Fs>d@)TCp19N`]A>\~dI!a"c#h9 x+fj{)_շWaoN芭j_k7'tܼ谹9bdpP%yޜ4tފܜ 2SL#7G%4D4 AF,CEnN+!O̍==8x`X䮌.(9Wb173ꗼp嫞h `"csHt89$@2<)TK尝5Q [~5Gey]M uL4qM$>v $A9i1I螔ID6 `LM>*t:8DTCgǟTUtdzVOQ34ԓ[ 5W#w_!p'v701 =S*ĆpuĆr6Da̋PB Qs uZ@h6ϖ%w 7rg7>vkC"U7ӗ޼z@7xwnFoω}kc$i"ʡF5/JTdxlMD,Hp0F п&CA1 :X@ S'9R?7*(EPlf C.'"y5q/-})% 7ްGVz?N߽ؿ6^͚ NLg=BD,mtGvL\睨o޾z~o{IBlLh i#K7|]|><'㳗H~b_Vagz*w5碓jb=Z1&fp3I0ff $% d3.b 5~Ah7e\f؃6s*5#kV9߻{u6QuD)lb QM;%-3˩#6Dѯ)ޒ{bCԧ2~Y Nt5tɥڣaµ"⬗KEmy)> i%$ο=eȵAb'KkCDG_5>F4ֆP;XZ"ZN4ֆ( צ#K*3xY՘凾-J~;M.w:hbmFǣɟO/) PmEU(D:f%+IQ_ svtE2Oh,?Q|,.mxj㊱6]]2mm2}bJeK] gg9}7O ꮺH(ΟРG H`^#$Yէ=[-΀52kojF5B?_Zu 1Ng+ճCh(88O ÷2=}/Ek5JÂqXOtJ%7d@?"&`&IssXaŗ]y4.$CFjTXĚ}zV\ d >?n3FR=AUQoz&k>쀽';º,dD4+:p%_Ѻ\E̊sp+2s) mbD8=581o ok-]t$}D8αm.~ k!^aJep͎L /_&bxй]>)$=ʍZ䉌-k-#3Zh~hoR̊dl^cKrc.SLVbn[ }%A6geZ9z}8%;M 1ȍEc*XF-h>?hG.bۇWlܘ6Y[%eVp,זӯ'=\B&+ IEME Q21=7f$&endstream endobj 112 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1456 >> stream x% PSW#< XSk/Q*Ȣ.URd+$ACX9H0EDYT4ʢ:bn.ZvZ[}ȏq6g"H>oRHm4qp AhZ` ǧ&jc4C;Y寘jU"Xep:AlRDZΐp1<=SRRtIS1<&+R"K7sъ8"DCҦ -z]|KT룹8}N?E9S#QM}B>w-C]fgQjo \?hSO}_` @*ЂpxY|%i\wN mW>Ϣ?$aҗij``Vk9De^LD֨2!):̼͑lxvE>eXWHƃ|~|SǪ7"FT-2w4`R|̭O< E2}rknSCBG` [*E2$#V-άG~'[ĀiYGF3ΖT Ԙ , es!tؾMN:$[!9/߼mvT 봖͇ka#׮ IE0zSK-b*7&k3xha/qMzMAm:yc{Hc2Z6t@snmҶ42+7ה5m.'!㉚@{Wt}z{c_7K)gDXS5 `^Ƞz20sO^ek7 BmTc5c|o/b^4 B$qݝZ`(43*1GNK=e?J,jeddJH&!YV–K7ūk沈d ̿Drdynw׷dz/ HqLD:F]ֲDJ"+j{={*7LPNJ3CWkHY>xs$.E|^APlmhlX0Bh+)=G=5&k5T tCT.OX Vf,%);WZ~&ai߅25p{buMM 7 jO_:U>,,8sQ/XY[r}Y*+:Qrendstream endobj 113 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3147 >> stream xWiTSא+"U " b@dЂ"s!$XrP_]E80ԁP, TPPJơuzss߷ MiMhO͉NYF4?w ?WpPB:U6wz DϠ4-"lͺVVs3;o5c4csȉOݜ.OHoڒe)6{d2=lɍ ONJ M-wp\xr3 (* ̨ʜ PTZG}BQ%l)Oʋ|(_ʑZBSLJS(MS4e@Rs(!5(kB&EI6t>]EOadM0@WJ@kVV֯BNsft3oD(AtC~ֳ/zLCޗ x>uWY.3Ҿm?Oݢ㏟ʑ<ľց9wÇ WMOKOz}v 6\=SuZA.Tew!6Yc̄U_*%]*؎E5R&;|8Ħ}vT^s (J-r;[>>9\ET+kݟ3 #5 y큿7j|v&=Xyš{gf'n,UMՕ#ǥNJWg NP"( x!3 Ӕ8%%!pw4{r 3IM!2bs=3=4!ͣ'_~LL-+)yRC:hTf&+y%O( p"ɡ'{oK~|s!qonx^5b3L)֢׶\M`wuA>m&UCuJRG B'%mwRvڰRj/DC"]IѫU'ep6. NxxË KwB\THƜO؀ 7x!v``/LO觻 MDս̞%ܢLNүy8'҅̉}>DKIS:re& Q2fRJcj_s *D5w)[ߏ1[3?P!Im)BN"36=?@͈*Չ 'DDζBx<X8-/"% Ag%oZ(r_N攆cJ#Lk)ՉT,غeW{-|ƷZ_>" qw5CFwZbbj}#8]_jkhB;.%Jmðҍ^{!LNDe/wB<25̫BC,#~+%!(8F֙ JyRsR s`G6(kO=UrZy3bG|];e@;lvW&|?Ԭ.d Lt ;>f V3[\nX܂ؗ&\#䐠m.>A[E؝MJI֓Zb|wa Y|o6-v6^*0z=p ,fWoc33).Gכ~@)ȋzb8}aXNWjF|G_FLu8>zx ,,Kꎒ|)6y6xmKB49ryYѭ5G/X}szc;b[AOR>f0n=x-QV&ԡ՞"s##)=#+;3><ĩK~"ҳa_#lb}qXC(»h2pB_a*č}E.}6Qbgh]01DF[zBro29 ӯwHGgHg:E :8endstream endobj 114 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2099 >> stream xU{XM_Z ݞ%^iJf:Ѓ}n'D^(cf̃/PBIm[GFmfNsF59ޝcz{{/MI(&R&}mStQh ozwD#%QZ5jA<psQ<]th9gt}x=Sߞ?vHԼS`rLQ MZ3X.tjw:U!$"q;A@ 'B.q_1=mS 2a<UXJ _:dDq0k:/ Гa:̘)@n܄e:fy7:##AEam=с}۶)a,` ڌfqz5}:Wzn"?,$IE~+0Zx)!X\/̻.^[pi kÒLKr6m&x_!GKkk\BWݔsrmPqך/\ZtwJ>cca{^{xǞJKrW$~V6!nsDLĞ ׀'JWq-#m1b0-2< s dXe`3g-ʻ2;Xfd\0R,?gT8‚ÌkOyJpe >dE\KUNrNކ yºFnYyr߄jm9zRL;6/FQh֟0(V6^g ?8ʃex?\CQLcôgxON银J3~# {GJO\u_"z)#qw]8X+)GQUF7oKgv7@EWb&%樎{_]1bAQr'k:S@q݂!v&]νZ3my{ٗ3b +|c_X|A1څ Q˦K_N~w$I^Xg?o}؄(\{ WG6s_{B©!+AO=S]\a,)ٶu5l7d#gJ_!lOg_(DŽY YM ;I&H& %9'ơq(0m.,$ 1}vHQ[ԉQuuv!Oz2=?S_<Ïܨ5+#Pn'i/"xm:Vs8wM$g9sj+@!hIFBf jCLv!)&kʉeec]j_?̳V@(Z7O}z:#V;wNٞٷ0<32NYsTu("<ůmaڻtu<qQfyC\ȵX9CaUz [r%A:au37-uI!&=A ۜ_5>*Ԉ.WV_-:CchZbJ{It-6@#Wٚ.h :A +rtq0E{Rendstream endobj 115 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4225 >> stream xW TS׺>1sD Ez*I*jץjYA#2I $DœO A 1$@kmܪ>^{$jou&YYZg{m5pL-Q%R*ZFMjI=GyS>T]]{T XZ@5Ht@ѰRI*TqE{mȣ^T}F}:?U31 մ?YP,$wl4 !=WO%wƣu`,,:sb縎{px%,ycP`m>!yD=,Cю$fI`,y ח.wM_Etsds}}3OVi5A x<E%[Vsg.=2 (OK4 l O£ٶ F LR]FC]eoBKr$X)t!nO+upg]٧sIAG,ܤz棻n(.@NF[P(H残7𾒜P\^R8̒Xo v{6/Ln_d `,g_NV*XG(&hf^̴y%Һ&kMmS&Vdm:Z LwOT6گZypa|PlZdfM:/${| lLg옷6m8IhQH:F^WG6 t䭿|{.̉$xe6k*H3sUKf1L0U+4r!ս3kVYE)C4ہhh3f {{̥(Vrҳ*F{SHT9;ۮou!ґ)6=u؂ }/jGױVM #SH@D5&̪#arWMe'vQׂI" sk4oh'K,pJk|TL6hRU) M+R$.X  ȨTwl4U+I}F!ZĽYѴ>Nǫ@ ((o$6l.EtQEYkSv?:0V}1p42 *dCY2=4 Mșʓ_瀽gvU~_Di=?3\κgk1sA}%al|OsXɝɫ |*?t 4J_;FDά=8jq{ii2,5A@Jʘ' $y.y9Pc4"<-6Cd]ޡ`Dm[L4Cqb hbDCFc2&YXDb;T}S<HR(Xu+inV]jU#V8jf6 6N] ,Id8i~l#NO~"7@OqC~ y#cJ 9"(n-Vc1hgtlpD_`ۣ"<.Ntk08Q^)*EW0tuOMSkԾUfxM+˿qK-:K 9:,?Ώÿ"ƿc1;OYlZx@DopO+Zz++ʷO-`-]ܾc2*GBHgTi Uu5YUL0~kq\SCb!c2#a#Ώ!KmiF7 Cq[!OhLXVẽ"v ܫEZ T˜ɢ.<݋|o̎?zΑS\/ ]-[>K\n!b߿q, PrFN#/D 9do2w\YsuOwtB5cnz_\d8$_̵-ɍ R"1Aaoill.oyQ?DgI_2щE-P,[60zMJLOMZُKwo@ --\2)hAvޣ |bXXNNn[tm3eO;yNٕ Y9l+F!5ɺxZZסOMM[n֔O,LZ^sh n} ;f"3lg]g -ضi 4x6]j"ӹlm7{X GFu_E&حDy+2v.$ U_鏧q;aG+{*ߐe(0.bj5hgG*0hBk͝VNW$U2Jw/j@ "Mۈ` EssvIlZRRRMʒ ^CAeaSj(d ZאZ|t `PbynE ؂VWK%%b00%ٓ0o0llp! Na͹&`J %"lhZ_|&|AnF9:}ĸs{/2kˆBr(̲<.sJ=%Vx{zV5bz{[endstream endobj 116 0 obj << /Filter /FlateDecode /Length 3700 >> stream x[[[~W#Їtu%@ H>ٕnΐf_w~392ՆΌoFֳܱ֩9[Z)@(8[NZCQrdBlQ7yZ]JSt2mQE賓Qy&2_Fߕn` u[bkǗ_.?d,X܅Ynkq`]__s94RMtV0@xAfa =`ڻvݥhC?]ji\'hBkEunn=_"*ғek$\*OR}T A~IiSnZzR lҲTRFIi4*'Hj묨I)Hj POB:O.tT@Dp^_عAvfJ E@@oDqפJ&}Tn~7APdE:0&*"$¥qV gH+ӊ 9[4W% l%7@,#SσIce7~}@fr݆ڼf |86j55tvC™2.M(\ak?8:w@$qi4[0Yfq\ j[ z ! hqpT2mArL ]+4S`Y4 '_Ơ0\3`\V8+%\)tњ[ m cVGvnCzY'cI֑ w>Q9"@-!( Is^0Kw+U>wx 0$~~̋s)Hv*X:\޲|뢰i)`" .yL.VhU υLJ>ߧ@*k!J`7=%[_I4ӸdJeVcR=88W1׷yCf;ME?D#TJhd 4u)I29",X1 >%k|-> stream xcd`ab`ddds H3a!Skc7s7 ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRYt^}י1y#no~\~r]O9V=׋翛}}5۟'Wgq>7<_s.wt3\Xpso/yypendstream endobj 118 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 358 >> stream xcd`ab`dddsH3a!O6nn߯}=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUNL:)槤1000002012ްتϝcCEsg4vWmn:nFevs^c\oV]ʺis埰^Ҝ]+#scUNQ"Q^?c¾Jp6ml-b>sDendstream endobj 119 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1632 >> stream xT}PJL6ӤIQTԶ$pc!~`<8 { %] E)\Z!%7Tk& ڌv?Fȴt:̻I(#$㧿K?!g"*ER$ JQwQYC QF4 I"&ADY|fu\\&)`3uMN0ui^fPY XVt:+t-X,4 vа_-|&LnE[Il Zx.:u &s>AiV5b;NN Kb# BD JB .1dUE!Qrҫҩ&(yH^ѨH~Bi!EC̷3}rs{g#k%}Vpq{Q3-4s,rV`:k,JW%k"AyzfǠbV-_qݥHwhqM>G_MY*UdlQ!2a3K&Փ"Hq.Z>VfJ,&-}1Hpb_޴Q~߱3"E-k h3smDf}mϛCkmz} f+) I/8n6BT)*/SŊYE> Q!%I?cZ;Wz!%@dWqTɝ. T=(Y;tAvZurr%g?5}r{b,tK5ٚz$H%BJOQ3NCkbJPdA'ilvn-7eVNtAuyN*w߮7xe]mc[w j:G[jmߣg\%~-CP?s#Y odOo@m;4}R?΄ʼn{Mp.Aa3B/&P.yNw~i~8qEHZLx7pѱãe;X ?N-E`[?%ɹ盄dHHܐ;_׮]~=)Ōr7ЉI2^xћ xzzhjp(Gg*Vx.g<]='NKQ‡#(c-#ʾTBT֖M7U4jf8 M]==@EoE6iqtVȗiw;z2o[nn4r1DM? i/R~k7-./dNΙ9/pPmr<4)[wC՟\:| % CO) (Euj124TQ?BQ էendstream endobj 120 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 362 >> stream x_CMR7',   ZWTmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern2p͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0wCna  7 ڛ %endstream endobj 121 0 obj << /Filter /FlateDecode /Length 4499 >> stream x[c>/8O~hm zt3Eqq'~_RԑEPh52ER#e&z9_ӍM8{['fO7AXf7D{g;#z{g06h4Fg_C U 'LN޸d AH.S% M6V_nd2,i߽ۛVv蔛ߐL{ $P>нA1sX6kT|#~ZNcP*vBu-a$"6(}cq#2`wa۟nc/E`3{;f<)3h/.JA#?VޕMmhUF2z_F}hFљXF2+o&ߕѦ&< :\e+eTej8ii|!eG|z,~+%EL3?"ZhS(f!wq.5(ଡKh=X-4o tQ e DNG.1S"H¹ϴ8(JYj! A> *&:aቨ]pO K&.yK BQ풲A]nOu8cWʲzYMc}Òu*> @69@0BheKCK[5$) IKӰ0UWpLiIx !IBD({5_]59Z,nP2s}$a(ۃCgڤ&|!i`I4o5͕uO"4bʦ3 `} ӤM2OE>D(zT< aM6 x3̒lv8Ӈr\A[؂]Y=np%6hv)SdBL!C< ˑDu `1Ww mي4)VTpf*JĴXNo@h`#M⃽h E|}b^a'vDhSO4@j7 "ُy_V)U']VH 콚:`>r9:,Ajojx†qD\T^pbu={$=@*=4 o1(!u#?pcٍED^uL-`ł͆0XrB4s = LT3EsG!k7HN xX sE^VQ{HVքȧWiVETb:`N%:gIcVO^!  i|_+玼'~Ui0ߑ&G)e/>/ <|~z䭁mS\j GiuP\f95)9"wM4%kX$Sz>nT=gVaŸU5lqҺ䔈oiF~S(;8 lj%PbEԜC C+"28xY w=Y+"r^8 y]x.3Q\*k*q\\aR驅G'"u|IHgR䜙msW55kuL\r5KGƀEy2^xLz%@2ӂjcT. 6 OdiJ)I̡鞑"X^ qůx(6D1TaX!\sxuܕ)ٗRJSXVm{ ӂ{B',<|L @H2ޱ CINN;n4m+zo ;WŘn ƅJRAVaP Q-Xbq)Aל]Tj# hK% Hd+G祯}Fa7KLJyz4UOqbb;I>49ywK =, Q Bi!DMlШ=+ˉ:xp2:.'L|T~3u;Ixy{=o"/{^}7L~=4jY3`i쬴K@||a|A7~$^YTN=8Z;][n U F̨%dM!GlXo,ՀcPHeCy$ۀ4Z ]#Hb#AQjc67'j]ԏT1Uzhėc  bQ `h1y1e,Xb]DYqc[;T*@);Faµ8%04/ )SbXR63+o&)߲'< !}"Ha1bl 7Rnȣ6J"V!k=LL+ڡBNƭm<M/J/8B[[)qr݆Wޡp/O&+qk (퉅u'MI65y y1kݨ@}[P!,[B ki M*- ֯\=`>"62+yV@r4km6$.=;+س/nyMWD utM[yG5ִ  !@^;i#v҄m~R>n QDnDžlR}z^<8Q&lW26^Hms@;y|"~jkZҒF^'Ibc}iWӺ#LGbTu+w9B_*3Lt*m;-uj(ǾEƧr_b^2Hq 05>rgyƏ(ZOӮSƯ*0‡ .zu¤'%4cY@Mc4$4| &6'ebsPϵ5UqxQQRj) A?8O7zta>StaHeW2|1)SK8  T'q什'fŧ|BsB~7\0)ũЩؘt%\J_}?|TDA%J֗`/A&Dثj]zFs 4hJI@ztko*:fǩSBmGZEƉ.Crٶ6+n*S,?$-N*ip,>֨[h7 M*K8D3?ýB_/LtjGNQO-Qꭺ6Uy:qv 4:#{ݧuF.iMJȪCw9,#/ 7 oe+ihٱWf? {q)dcXnC!Wa4,Ozb\_g/ XK;Nr N@;h> stream xuUK7 ϯ(2@y-u{hӃ8ݍtAK3r;PO}c7:Qtp gYs)dQ| 59V)`K)۩Xϩ!5)ZNGֆ`rZ&řiF;QjТWa QDY8k1Cco?v/0Mb}Ւ`OL^s FoݳaT)CvxHkbU%d!;>.b,ޛ:r!{qmS˔b)ޓR6Ts鳹L'1P,!YUacacF+Hg14 ͝b(Af|%mc۔ %c"–r)V$YU.bN1S~t'*iΘ~ZF<F|e쎟 .kAZvho#F`ufy_Ȝ+jo`#5 ,tu:RS~F*M?kИ~H6Wm%zrĈiZbgSX-cݧiv X &i$@oH הb^/eTqĴd[fZVe —IՐl5ٽrI4m-%'Ԗ%-d=`sa WOtz;j7%[1_.? UmsގTWz?KOf|.f,4K~Ίl[Zt?gj+a[|rzX,=xVʈj+!nOV/Gݾ<97CJecR;\U[.ukck{Zoڮ[4vֵ6 ${ПX[yendstream endobj 123 0 obj << /Filter /FlateDecode /Length 1643 >> stream xWKoFOȥTmvvY R)Z$Fc Ae'e'PrRv3 ZQ/VQ6WDʑ󤢯WUHZEEjB))Z)g"+g )[eca9Jt{b*tsT֧©HAEM{N R=gOs*}*RQʺ[gՋsꤒ7]W4SMHYD"HVeCf25o.&S֜_'Z%"Oܼn:zn~ےw)4oN'Sf;iM׭t1TN9NQv|(O9;J^[ ݉ӇoD**"߳7K($,5?M"7)SfjLo2,S_[*y,2ugz?(=fb̳#/o?:SFNo29tV)\ H65S^w%jX}U9LN5rT6ER+Ԥd44' 'Ԗ bԜ: `ƜCĸ`u+ڙfQ^Ek(]mK> stream xVKo6WVX9 [`h {(dGٸeGC=H:P973s>TKQJs `}P\첛1KŨ =DlH9CS87DdH5 Thn)0jpƙ4h$?g O?}*ZQgWXds%XXőgջꜲ: %1e%)J)%5\^S&#W10~P<BVz ;0#LȄbO~}uc`7xn8|˔EdUY|8>RRZ`@u0nj:T 5=TT-<]-ۀD@]9`X$HFbubD8J@Y%cjC˄!msod]?8+:Ŧ,J&_n}Q5&iP6wD^W#򮸟[r0l-iNuNLP8c>7nNBNpb֡^g~ 0}1ZK;SNXv}6U} lCSmh[pVyljmor|0ϧG"Q=r2;)ǺMClXmb9.or=? q <2]{W8Kk5q: ^.γ{ۙcvPԸÛg&Ps-瓿ZP9W Xcqxj"i2rcZm%m@%d٘f090qx NU:yVK3Xo(W  7s#Mn|]U6v&}|?ǔ,X(4|@< 0ehV_>8^tUw^f%.N&_)5vئ C'Dk7d1*v&.>. RԊ!d٪Y- N1` F?cOv0i8 oq&@`1h?e3p@xqNo~~ Lwdn-L?_a}>endstream endobj 125 0 obj << /Filter /FlateDecode /Length 920 >> stream x}Uێ6}W jhhA: -{ҮM>CJ`Fs9ݕC)o 5(V;XޖK-bVY-Jȭ,4rdq_ě3YR!*ϵ,'{yN i2\pR9,(]Qr+iJh-׻bJЊ;ERR@^{#j(,j%ZQNj$3ER"{&<9!U$4dIxxI*{oGERBdu=*E\iGd 66[Q 8գ^$b&tHhPзxBCBMDh5;'4$%xLj'}{}1JS>E@;-F6Vnvn]%ɐk7ӦoM:5!ՒŔĶ bǾ?~v񔣎#m~}BJ~[ eEC}oDL6Cs}ȸ7o9痋q8ws~SǪf\e]?jĚ0&#b q0D(4@>幉Uzꋉ0)RICϣa""] a,Hv:,Ik0nYXM59.R`EBiYLDa`$i%s?J{6#E >U9d1B AMTEFFz`i/RCy.e@+ M8GpfS'ӈGL//_Ե&"ڊRk4I)ZD7Ps>c |X`sĝɾ/> stream xXoDV_!^#H6J wv兿Y쮃sP(nvvfvfw~s1"1?!.Hr" -CD'G Ic%9Fhb`y4 BaQP樴H I$F\ &MҘ1yIЙbro8n"2$2l7 *b2\EcIL8CAb!(C6yTSd Wϗ)5\pfPbe1Ɛ$4yP)5XKG  B ^ Fk-GEĔI餜n~D#k'jXm% Nbhr̉H/ s$:,ilqu9;T:ԭKh$O~CCCC{{o w+v¡ڡҡnyŊ0lw'+!K0KdӶpW4trʼ.$.LyrlvgP=abhl-y_5`>2Oӌa[rh>Ww!mQ]7Sp#/oᄓaΦtq5'CaF}- %RfX~|ߗm G{hM+;¾+/RT·U796. #X[~8/IUCpGD3hRlzؖ\1vG(:}ٍn΋M6eR kT[,$9ը5ؖ|ѨDxC(czMho %׷0f@n \h t"Dr3nѷ &tj7CfƚƌK `aվh(4~Jc(1NOhhjBL^T#qf㎖.tU mg@TɆ$@/ t ZZ%Q!B4Usx=,p N'j@ !0SH=xYz$KpN>z% MM[Pb5P:0 0ȃ]5A.00$| +Kv/x M &=+HtR`M/xy6KD ̉p|LoUƄ%5+dܮP_^!'kT}\ݭC^F]:ԡ7]8Vhs[8b<=Yn>hd["َ+%w:,[r,YM9Ǫ뛺a'`"tXhY0iJ9e% Z$K ߎ *Kxp@>Dþ@D1fl E'9۠/X~jX+bؿ&?kolr9'8pLg`aaaaٱn>(F?z͝endstream endobj 127 0 obj << /Filter /FlateDecode /Length 142 >> stream xU 0 D{M ğ&Hdq*', {SSϭ4ȠOt+ FY> stream x5[HSq<,,DK9,!.jeڜmmǭc[&Or97/ҹZ@l>CO!=V3K%<}?IA[[.UV!ӄprRA&t)qvI!7wsVŚR:SJPuFƢרMt1F5 tYgX.ձlwMyn/SeflI)m׳:2E7M,}Emd}Qo6vn4w1BHbt!t ]@9/bDȅ#po\%º@(CtZkEM;60j(mv[H.~Lz0I&[n#ٜA @^g3 8L:bNnHuj` ܂CP*ns|xH߰:cZl:!VGTӸ(5> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 130 /ID [<78bd1a5d19b834af5535123aa8cd6160>] >> stream xcb&F~0 $8J8 철"D2" f_2L` RdizH 0{1T|$ "yH>)ŷk<VA..0ɾD`{.#\[ endstream endobj startxref 99469 %%EOF HSAUR3/inst/slides/0000755000176200001440000000000014416277550013472 5ustar liggesusersHSAUR3/inst/slides/HSAUR3_slides_4up.tex0000644000176200001440000000153514172224326017310 0ustar liggesusers \documentclass[landscape]{slides} \usepackage{graphicx} \usepackage{color} \usepackage{pdfpages} \pagestyle{empty} \begin{document} \includepdf[pages=1-,nup=4]{Ch_introduction_to_R.pdf} \includepdf[pages=1-,nup=4]{Ch_simple_inference.pdf} \includepdf[pages=1-,nup=4]{Ch_conditional_inference.pdf} \includepdf[pages=1-,nup=4]{Ch_multiple_linear_regression.pdf} \includepdf[pages=1-,nup=4]{Ch_analysis_of_variance.pdf} \includepdf[pages=1-,nup=4]{Ch_logistic_regression_glm.pdf} \includepdf[pages=1-,nup=4]{Ch_density_estimation.pdf} \includepdf[pages=1-,nup=4]{Ch_recursive_partitioning.pdf} \includepdf[pages=1-,nup=4]{Ch_survival_analysis.pdf} \includepdf[pages=1-,nup=4]{Ch_analysing_longitudinal_dataI.pdf} \includepdf[pages=1-,nup=4]{Ch_analysing_longitudinal_dataII.pdf} \includepdf[pages=1-,nup=4]{Ch_cluster_analysis.pdf} \end{document} HSAUR3/inst/slides/Ch_cluster_analysis.Rnw0000644000176200001440000003276514172224326020165 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") library("mclust") library("mvtnorm") mai <- par("mai") options(SweaveHooks = list(rmai = function() { par(mai = mai * c(1,1,1,2))})) @ \frame{ \begin{center} \Large{Part 16: Cluster Analysis} \end{center} focuses on finding homogeneous groups of observations. } \section{Introduction} \begin{frame} \frametitle{Exoplanets classification} Exoplanets are planets outside the Solar System. Since 1995 over a hundred exoplanets have been discovered, nearly all being detected indirectly, using the gravitational influence they exert on their associated central stars. From the properties of the exoplanets found up to now it appears that the theory of planetary development constructed for the planets of the Solar System may need to be reformulated. The exoplanets are not at all like the nine local planets that we know so well. A first step in the process of understanding the exoplanets might be to try to classify them with respect to their known properties. The data gives the mass (in Jupiter mass), the period (in earth days) and the eccentricity (\Robject{eccent}) of the exoplanets discovered up until October 2002. \end{frame} \section{Cluster Analysis} \begin{frame} \frametitle{Cluster analysis} Cluster analysis refers to methods for uncovering or discovering groups or clusters of observations that are homogeneous and separated from other groups, for example in medicine (microarray data) or marketing (groups of customers). Clustering techniques essentially try to formalise what human observers do so well in two or three dimensions. Consider, for example, the following scatterplot. We concentrate on two types of clustering procedures: $k$-means type and classification maximum likelihood methods. \end{frame} \begin{frame} \frametitle{Cluster analysis} \begin{center} <>= dat <- rbind(rmvnorm(25, mean = c(3,3)), rmvnorm(20, mean = c(10, 8)), rmvnorm(10, mean = c(20, 1))) plot(abs(dat), xlab = expression(x[1]), ylab = expression(x[2])) @ \end{center} \end{frame} \subsection{$k$-Means Clustering} \begin{frame} \frametitle{$k$-means clustering} The $k$-means clustering technique seeks to partition a set of data into a specified number of groups, $k$, by minimising some numerical criterion, low values of which are considered indicative of a `good' solution. The most commonly %%' used approach, for example, is to try to find the partition of the $n$ individuals into $k$ groups, which minimises the within-group sum of squares over all variables. The problem then appears relatively simple; namely, consider every possible partition of the $n$ individuals into $k$ groups, and select the one with the lowest within-group sum of squares. \end{frame} \begin{frame} \frametitle{$k$-means clustering} Unfortunately, the problem in practice is not so straightforward. The numbers involved are so vast that complete enumeration of \stress{every} possible partition remains impossible even with the fastest computer: \begin{center} \begin{tabular}{rrl} $n$ & $k$ & Number of possible partitions \\ \hline $15$ & $3$ & $2,375,101$ \\ $20$ & $4$ & $45,232,115,901$ \\ $25$ & $8$ & $690,223,721,118,368,580$ \\ $100$ & $5$ & $10^{68}$ \\ \end{tabular} \end{center} \end{frame} \begin{frame} \frametitle{Heuristical approach} \begin{enumerate} \item Find some initial partition of the individuals into the required number of groups. \item Calculate the change in the clustering criterion produced by `moving' each individual from its own to another cluster. %%' \item Make the change that leads to the greatest improvement in the value of the clustering criterion. \item Repeat steps 2 and 3 until no move of an individual causes the clustering criterion to improve. \end{enumerate} When variables are on very different scales (as they are for the exoplanets data) some form of standardization will be needed before applying $k$-means clustering. Note: $k$ has to be fixed in advance and can hardly be estimated. \end{frame} \subsection{Model-based Clustering} \begin{frame} \frametitle{Model-based Clustering} It is assumed that the population from which the observations arise consists of $c$ subpopulations each corresponding to a cluster, and that the density of a $q$-dimensional observation $\x^\top = (x_1, \dots, x_q)$ from the $j$th subpopulation is $f_j(\x, \vartheta_j), j = 1, \dots, c$, for some unknown vector of parameters, $\vartheta_j$. We also introduce a vector $\gamma = (\gamma_1, \dots, \gamma_n)$, where $\gamma_i = j$ of $\x_i$ is from the $j$ subpopulation. The $\gamma_i$ label the subpopulation for each observation $i = 1, \dots, n$. The clustering problem now becomes that of choosing $\vartheta = (\vartheta_1, \dots, \vartheta_c)$ and $\gamma$ to maximise the likelihood function associated with such assumptions. \end{frame} \subsection{Classification Maximum Likelihood} \begin{frame} \frametitle{Classification Maximum Likelihood} $\gamma = (\gamma_1, \dots, \gamma_n)$ gives the labels of the subpopulation to which the observation belongs: so $\gamma_i = j$ if $\x_i$ is from the $j$th population. The clustering problem becomes that of choosing $\vartheta = (\vartheta_1, \dots, \vartheta_c)$ and $\gamma$ to maximise the likelihood \begin{eqnarray*} L(\vartheta, \gamma) = \prod_{i = 1}^n f_{\gamma_i}(\x_i, \vartheta_{\gamma_i}). \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Normal Distribution} If $f_j(\x, \vartheta_j)$ is taken as the multivariate normal density with mean vector $\mu_j$ and covariance matrix $\Sigma_j$, this likelihood has the form \begin{eqnarray*} L(\vartheta, \gamma) = \prod_{j = 1}^c \prod_{i: \gamma_i = j} |\Sigma_j|^{-1/2} \exp\left(-\frac{1}{2} (\x_i - \mu_j)^\top \Sigma_j^{-1} (\x_i - \mu_j)\right). \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Normal Distribution} The maximum likelihood estimator of $\mu_j$ is \begin{eqnarray*} \hat{\mu}_j = n_j^{-1} \sum_{i: \gamma_i = j} \x_i \end{eqnarray*} where the number of observations in each subpopulation is $n_j = \sum_{i = 1}^n I(\gamma_i = j)$. Replacing $\mu_j$ in the likelihood yields the following log-likelihood \begin{eqnarray*} l(\vartheta, \gamma) = -\frac{1}{2} \sum_{j = 1}^c \text{trace}(\W_j \Sigma_j^{-1} + n \log |\Sigma_j|) \end{eqnarray*} where $\W_j$ is the $q \times q$ matrix of sums of squares and cross-products of the variables for subpopulation $j$. \end{frame} \begin{frame} \frametitle{Normal Distribution} If the covariance matrix $\Sigma_j$ is $\sigma^2$ times the identity matrix for all populations $j = 1, \dots, c$, then the likelihood is maximised by choosing $\gamma$ to minimise trace$(\W)$, where \begin{eqnarray*} \W = \sum_{j = 1}^c \W_j, \end{eqnarray*} i.e., minimisation of the written group sum of squares. Use of this criterion in a cluster analysis will lend to produce spherical clusters of largely equal sizes. \end{frame} \begin{frame} \frametitle{Normal Distribution} If $\Sigma_j = \Sigma$ for $j = 1, \dots, c$, then the likelihood is maximised by choosing $\gamma$ to minimise $|\W|$. Use of this criterion in a cluster analysis will lend to produce clusters with the same elliptical slope. If $\Sigma_j$ is not constrained, the likelihood is maximised by choosing $\gamma$ to minimise $\sum_{j = 1}^c n_j \log | \W_j | / n_j$. \end{frame} \begin{frame} \frametitle{Determining $c$} Model selection is a combination of choosing the appropriate clustering model and the optimal number of clusters. A Bayesian approach is used \citep[see][]{HSAUR:FraleyRaftery1999}, using what is known as the \stress{Bayesian Information Criterion} (BIC). \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{Analysis Using R} \begin{center} <>= data("planets", package = "HSAUR3") library("scatterplot3d") scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen), type = "h", angle = 55, pch = 16, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1, scale.y = 0.7) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{$k$-means} <>= rge <- apply(planets, 2, max) - apply(planets, 2, min) planet.dat <- sweep(planets, 2, rge, FUN = "/") n <- nrow(planet.dat) wss <- rep(0, 10) wss[1] <- (n - 1) * sum(apply(planet.dat, 2, var)) for (i in 2:10) wss[i] <- sum(kmeans(planet.dat, centers = i)$withinss) plot(1:10, wss, type = "b", xlab = "Number of groups", ylab = "Within groups sum of squares") @ \end{frame} \begin{frame}[fragile] \frametitle{$k$-means} \begin{center} <>= plot(1:10, wss, type = "b", xlab = "Number of groups", ylab = "Within groups sum of squares") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{$k$-means: three clusters} <>= planet_kmeans3 <- kmeans(planet.dat, centers = 3) table(planet_kmeans3$cluster) @ The centers of the clusters for the untransformed data can be computed using a small convenience function <>= ccent <- function(cl) { f <- function(i) colMeans(planets[cl == i,]) x <- sapply(sort(unique(cl)), f) colnames(x) <- sort(unique(cl)) return(x) } ccent(planet_kmeans3$cluster) @ \end{frame} \begin{frame}[fragile] \frametitle{$k$-means: five clusters} <>= planet_kmeans5 <- kmeans(planet.dat, centers = 5) table(planet_kmeans5$cluster) ccent(planet_kmeans5$cluster) @ \end{frame} \subsection{Model-based Clustering in R} \begin{frame}[fragile] \frametitle{Model-based Clustering} <>= library("mclust") planet_mclust <- Mclust(planet.dat) plot(planet_mclust, planet.dat, what = "BIC", col = "black", ylab = "-BIC", ylim = c(0, 350)) @ \end{frame} \begin{frame}[fragile] \frametitle{Model-based Clustering} \begin{center} <>= plot(planet_mclust, planet.dat, what = "BIC", col = "black", ylab = "-BIC", ylim = c(0, 350)) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Model-based Clustering} Different shape of clusters possible: \begin{enumerate} \item Spherical, equal volume, \item Spherical, unequal volume, \item Diagonal equal volume, equal shape, \item Diagonal varying volume, varying shape, \item Ellipsoidal, equal volume, shape and orientation, \item Ellipsoidal, varying volume, shape and orientation. \end{enumerate} The BIC selects model $4$ (diagonal varying volume and varying shape) with three clusters as the best solution: <>= print(planet_mclust) @ \end{frame} \begin{frame}[fragile] \frametitle{Visualizing Results} \begin{center} <>= clPairs(planet.dat, classification = planet_mclust$classification, symbols = 1:3, col = "black") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Visualizing Results} \begin{center} <>= scatterplot3d(log(planets$mass), log(planets$period), log(planets$eccen), type = "h", angle = 55, scale.y = 0.7, pch = planet_mclust$classification, y.ticklabs = seq(0, 10, by = 2), y.margin.add = 0.1) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Clusters} <>= table(planet_mclust$classification) ccent(planet_mclust$classification) @ \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} Cluster analysis techniques provide a rich source of possible strategies for exploring complex multivariate data. But the use of cluster analysis in practice does not involve simply the application of one particular technique to the data under investigation, but rather necessitates a series of steps, each of which may be dependent on the results of the preceding one. The final, extremely important, stage concerns the evaluation of the clustering solutions obtained. Are the clusters `real' or merely artefacts of the algorithms? Do other solutions %%' exist that are better in some sense? Can the clusters be given a convincing interpretation? \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The \Robject{pottery}-data give the chemical composition of $48$ specimens of Romano-British pottery, determined by atomic absorption spectrophotometry, for nine oxides. Analyse the pottery data using \Rcmd{Mclust}. To what model in \Rcmd{Mclust} does the $k$-mean approach approximate? \item Construct a three-dimensional drop-line scatterplot of the planets data in which the points are labelled with a suitable cluster label. \item Write a general \R{} function that will display a particular partition from the $k$-means cluster method on both a scatterplot matrix of the original data and a scatterplot or scatterplot matrix of a selected number of principal components of the data. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/Ch_analysing_longitudinal_dataII.Rnw0000644000176200001440000002471114172224326022542 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") library("gee") @ \setkeys{Gin}{width=0.95\textheight} \frame{ \begin{center} \Large{Part 12: Analysing Longitudinal Data II} \end{center} focuses on generalised estimation equations for repeated measurements. } \section{Introduction} \begin{frame} \frametitle{Respiratory illness} The \Robject{respiratory} data were collected in a clinical trial comparing two treatments for a respiratory illness \citep{HSAUR:Davis1991}. In each of two centres, eligible patients were randomly assigned to active treatment or placebo. During the treatment, the respiratory status (categorised \Robject{poor} or \Robject{good}) was determined at each of four, monthly visits. The trial recruited \Sexpr{nlevels(respiratory$subject)} participants (54 in the active group, 57 in the placebo group) and there were no missing data for either the responses or the covariates. The question of interest is to assess whether the treatment is effective and to estimate its effect. \end{frame} \section{Generalised Estimating Equations} \begin{frame} \frametitle{Lack of Independence} The assumption of the independence of the repeated measurements in an GLM will lead to estimated standard errors that are too small for the between-subjects covariates (at least when the correlation between the repeated measurements are positive) as a result of assuming that there are more independent data points than are justified. We might begin by asking is there something relatively simple that can be done to `fix-up' these standard errors so that we %' can still apply the \R{} \Rcmd{glm} function to get reasonably satisfactory results on longitudinal data with a non-normal response? Two approaches which can often help to get more suitable estimates of the required standard errors are \stress{bootstrapping} and use of the \stress{robust/sandwich, Huber/White variance estimator}. \end{frame} \begin{frame} \frametitle{Generalised Estimating Equations (GEE)} But perhaps more satisfactory than these methods to simply `fix-up' the standard errors given by the independence model, %' would be an approach that fully utilises information on the data's %' structure, including dependencies over time. A suitable procedure was first suggested by \cite{HSAUR:LiangZeger1986} and is known as \stress{generalised estimating equations} (GEE). \index{Generalised estimating equations (GEE)} In essence GEE is a multivariate extension of the generalised linear model and quasi-likelihood methods. The primary idea behind the GEE approach is that since the parameters specifying the structure of the correlation matrix are rarely of great practical interest, simple structures are used for the within-subject correlations giving rise to the so-called \stress{working correlation matrix}. \end{frame} \begin{frame} \frametitle{Working Correlation Matrices} \cite{HSAUR:LiangZeger1986} show that the estimates of the parameters of most interest, i.e., those that determine the average responses over time, are still valid even when the correlation structure is incorrectly specified, although their standard errors might remain poorly estimated if the working correlation matrix is far from the truth. But as with the independence situation described previously, this potential difficulty can often be handled satisfactorily by again using the \stress{sandwich estimator} to find more reasonable standard errors. Possibilities for the working correlation matrix that are most frequently used in practice are: \end{frame} \begin{frame} \frametitle{Working Correlation Matrices} \begin{itemize} \item An identity matrix: no correlation at all. \item An exchangeable correlation matrix: with a single parameter which gives the correlation of each pair of repeated measures. \item An autoregressive correlation matrix: also with a single parameter but in which $\text{corr}(y_j, y_k) = \vartheta^{|k - j|}, j \not = k$. With $\vartheta$ less than one this gives a pattern in which repeated measures further apart in time are less correlated, than those that are closer to one another. \item An unstructured correlation matrix: with $q(q-1)/2$ parameters in which $\text{corr}(y_j, y_k) = \vartheta_{jk}$ and where $q$ is the number of repeated measures. \end{itemize} \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{Beat the Blues Revisited} <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) names(BtheB_long)[names(BtheB_long) == "treatment"] <- "trt" @ <>= osub <- order(as.integer(BtheB_long$subject)) BtheB_long <- BtheB_long[osub,] btb_gee <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "independence") btb_gee1 <- gee(bdi ~ bdi.pre + trt + length + drug, data = BtheB_long, id = subject, family = gaussian, corstr = "exchangeable") @ \end{frame} \begin{frame} \frametitle{Beat the Blues Revisited} Note how the na\"{\i}ve and the sandwich or %" robust estimates of the standard errors are considerably different for the independence structure, but quite similar for the exchangeable structure. This simply reflects that using an exchangeable working correlation matrix is more realistic for these data and that the standard errors resulting from this assumption are already quite reasonable without applying the `sandwich' procedure %' to them. And if we compare the results under this assumed structure with those for the random intercept model, we see that they are almost identical, since the random intercept model also implies an exchangeable structure for the correlations of the repeated measurements. \end{frame} \section{Respiratory Illness} \begin{frame}[fragile] \frametitle{Respiratory Illness} The baseline status, i.e., the status for \Robject{month == 0}, will enter the models as an explanatory variable and thus we have to rearrange the \Rclass{data.frame} \Robject{respiratory} in order to create a new variable \Robject{baseline}: <>= data("respiratory", package = "HSAUR3") resp <- subset(respiratory, month > "0") resp$baseline <- rep(subset(respiratory, month == "0")$status, rep(4, 111)) resp$nstat <- as.numeric(resp$status == "good") resp$month <- resp$month[, drop = TRUE] names(resp)[names(resp) == "treatment"] <- "trt" levels(resp$trt)[2] <- "trt" @ \end{frame} \begin{frame}[fragile] \frametitle{Respiratory Illness} <>= resp_glm <- glm(status ~ centre + trt + gender + baseline + age, data = resp, family = "binomial") resp_gee1 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "independence", scale.fix = TRUE, scale.value = 1) resp_gee2 <- gee(nstat ~ centre + trt + gender + baseline + age, data = resp, family = "binomial", id = subject, corstr = "exchangeable", scale.fix = TRUE, scale.value = 1) @ \end{frame} \begin{frame}[fragile] \frametitle{Respiratory Illness} The estimated treatment effect taken from the exchangeable structure GEE model is \Sexpr{round(coef(resp_gee2)["trttrt"], 3)} which, using the robust standard errors, has an associated $95\%$ confidence interval <>= se <- summary(resp_gee2)$coefficients[ "trttrt", "Robust S.E."] coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975) @ These values reflect effects on the log-odds scale, on the exp scale it reads <>= exp(coef(resp_gee2)["trttrt"] + c(-1, 1) * se * qnorm(0.975)) @ The odds of achieving a `good' respiratory status with the active treatment is between %' about twice and seven times the corresponding odds for the placebo. \end{frame} \section{Epilepsy} \begin{frame}[fragile] \frametitle{Epilepsy} Moving on to the count data in \Robject{epilepsy}, we begin by calculating the means and variances of the number of seizures for all treatment / period interactions <>= data("epilepsy", package = "HSAUR3") itp <- interaction(epilepsy$treatment, epilepsy$period) tapply(epilepsy$seizure.rate, itp, mean) tapply(epilepsy$seizure.rate, itp, var) @ Overdispersion? \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} The generalised estimation equation approach essentially extends generalised linear models to longitudinal data, and allows for the analysis of such data when the response variable cannot be assumed to be normal distributed. \end{frame} \section*{Exercises} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item For the \Robject{epilepsy} data investigate what Poisson models are most suitable when subject 49 is excluded from the analysis. \item Investigate the use of other correlational structures than the independence and exchangeable structures used in the text, for both the \Robject{respiratory} and the \Robject{epilepsy} data. \item The \Robject{schizophrenia2} data were collected in a follow-up study of women patients with schizophrenia \citep{HSAUR:Davis2002}. The binary response recorded at 0, 2, 6, 8 and 10 months after hospitalisation was thought disorder (absent or present). The single covariate is the factor indicating whether a patient had suffered early or late onset of her condition (age of onset less than 20 years or age of onset 20 years or above). The question of interest is whether the course of the illness differs between patients with early and late onset? Investigate this question using the GEE approach. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/Ch_graphical_display.Rnw0000644000176200001440000004050014172224326020242 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 2: Graphical Displays} \end{center} introduces some basic however very useful graphical techniques for extracting information about Malignant Melanoma and Chinese Health and Family Life. } \section{Introduction} \begin{frame} \frametitle{USmelanoma: Malignant Melanoma in the USA} \cite{HSAUR:FisherBelle1993} report mortality rates due to malignant melanoma of the skin for white males during the period 1950--1969, for each state on the US mainland. The include the number of deaths due to malignant melanoma in the corresponding state, the longitude and latitude of the geographic centre of each state, and a binary variable indicating contiguity to an ocean, that is, if the state borders one of the oceans. Questions of interest about these data include: how do the mortality rates compare for ocean and non-ocean states? and how are mortality rates affected by latitude and longitude? \end{frame} \begin{frame} \frametitle{CHFLS: Chinese Health and Family Life Survey} The Chinese Health and Family Life Survey sampled $60$ villages and urban neighbourhoods chosen in such a way as to represent the full geographical and socioeconomic range of contemporary China excluding Hong Kong and Tibet. Eighty-three individuals were chosen at random for each location from official registers of adults aged between $20$ and $64$ years to target a sample of $5000$ individuals in total. Here, we restrict our attention to women with current male partners and the following variables: \end{frame} \begin{frame} \frametitle{CHFLS: Chinese Health and Family Life Survey} \begin{description} \item[\Robject{R\_edu}]: level of education of the responding woman, \item[\Robject{R\_income}]: monthly income (in yuan) of the responding woman, \item[\Robject{R\_health}]: health status of the responding woman in the last year, \item[\Robject{R\_happy}]: how happy was the responding woman in the last year, \item[\Robject{A\_edu}]: level of education of the woman's partner, \item[\Robject{A\_income}]: monthly income (in yuan) of the woman's partner. \end{description} Here, we focus on graphical displays for inspecting the relationship of these health and socioeconomic variables of heterosexual women and their partners. \end{frame} \section{Initial Data Analysis} \begin{frame} \frametitle{Initial Data Analysis} According to \cite{HSAUR:Chambersetal1983}, ``there is no statistical tool that is as powerful as a well chosen graph'': \begin{itemize} \item In comparison with other types of presentation, well-designed charts are more effective in creating interest and in appealing to the attention of the reader. \item Visual relationships as portrayed by charts and graphs are more easily grasped and more easily remembered. \item The use of charts and graphs saves time, since the essential meaning of large measures of statistical data can be visualised at a glance. \item Charts and graphs provide a comprehensive picture of a problem that makes for a more complete and better balanced understanding than could be derived from tabular or textual forms of presentation. \item Charts and graphs can bring out hidden facts and relationships and can stimulate, as well as aid, analytical thinking and investigation. \end{itemize} \end{frame} \begin{frame} \frametitle{A Word of Warning} The following caveat from the late Carl Sagan (in his book \booktitle{Contact}) should be kept in mind: \begin{quote} Humans are good at discerning subtle patterns that are really there, but equally so at imagining them when they are altogether absent. \end{quote} \end{frame} \section{Analysis Using R} \subsection{Malignant Melanoma} \begin{frame}[fragile] \frametitle{Malignant Melanoma: boxplot \& histogram} We might begin to examine the malignant melanoma data by constructing a histogram or boxplot for \stress{all} the mortality rates. Using these relatively simple technique we have to make sure that the $x$-axis is the same in both graphs. This can be done by computing a plausible range of the data, later to be specified in a plot via the \Rcmd{xlim} argument: <>= xr <- range(USmelanoma$mortality) * c(0.9, 1.1) xr @ \end{frame} \begin{frame}[fragile] \small{ \begin{figure} \begin{center} <>= layout(matrix(1:2, nrow = 2)) par(mar = par("mar") * c(0.8, 1, 1, 1)) boxplot(USmelanoma$mortality, ylim = xr, horizontal = TRUE, xlab = "Mortality") hist(USmelanoma$mortality, xlim = xr, xlab = "", main = "", axes = FALSE, ylab = "") axis(1) @ \end{center} \end{figure} } \end{frame} \begin{frame}[fragile] \frametitle{Malignant Melanoma: Comparing states} Looking at the characteristics of all the mortality rates is a useful beginning but for these data we might be more interested in comparing mortality rates for ocean and non-ocean states. So we might construct two histograms or two boxplots. Such a \stress{parallel boxplot}, visualising the conditional distribution of a numeric variable in groups as given by a categorical variable, are easily computed using the \Rcmd{boxplot} function. \end{frame} \begin{frame}[fragile] \begin{figure} \begin{center} <>= plot(mortality ~ ocean, data = USmelanoma, xlab = "Contiguity to an ocean", ylab = "Mortality") @ \end{center} \end{figure} \end{frame} \begin{frame}[fragile] \frametitle{Malignant Melanoma: density plots} Histograms are generally used for two purposes: counting and displaying the distribution of a variable; according to \cite{HSAUR:Wilkinson1992}, ``they are effective for neither''. Histograms can often be misleading for displaying distributions because of their dependence on the number of classes chosen. An alternative is to formally estimate the density function of a variable and then plot the resulting estimate. \end{frame} \begin{frame}[fragile] \small{ \begin{figure} \begin{center} <>= dyes <- with(USmelanoma, density(mortality[ocean == "yes"])) dno <- with(USmelanoma, density(mortality[ocean == "no"])) plot(dyes, lty = 1, xlim = xr, main = "", ylim = c(0, 0.018)) lines(dno, lty = 2) legend("topleft", lty = 1:2, legend = c("Coastal State", "Land State"), bty = "n") @ \end{center} \end{figure} } \end{frame} \begin{frame}[fragile] \frametitle{Malignant Melanoma: the whole picture} Now we might move on to look at how mortality rates are related to the geographic location of a state as represented by the latitude and longitude of the centre of the state. Here the main graphic will be the scatterplot. The simple $xy$ scatterplot has been in use since at least the eighteenth century and has many virtues -- indeed according to \cite{HSAUR:Tufte1983}: \begin{quote} The relational graphic -- in its barest form the scatterplot and its variants -- is the greatest of all graphical designs. It links at least two variables, encouraging and even imploring the viewer to assess the possible causal relationship between the plotted variables. It confronts causal theories that $x$ causes $y$ with empirical evidence as to the actual relationship between $x$ and $y$. \end{quote} \end{frame} \begin{frame}[fragile] \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) plot(mortality ~ longitude, data = USmelanoma) plot(mortality ~ latitude, data = USmelanoma) @ \end{center} \end{figure} \end{frame} \begin{frame}[fragile] Since mortality rate is clearly related only to latitude we can now produce scatterplots of mortality rate against latitude separately for ocean and non-ocean states. Instead of producing two displays, one can choose different plotting symbols for either states. \end{frame} \begin{frame}[fragile] \begin{figure} \begin{center} <>= plot(mortality ~ latitude, data = USmelanoma, pch = as.integer(USmelanoma$ocean)) legend("topright", legend = c("Land state", "Coast state"), pch = 1:2, bty = "n") @ \end{center} \end{figure} \end{frame} \begin{frame}[fragile] This scatterplot highlights that the mortality is lowest in the northern land states. Coastal states show a higher mortality than land states at roughly the same latitude. The highest mortalities can be observed for the south coastal states with latitude less than $32^\circ$, say, that is <>= subset(USmelanoma, latitude < 32) @ \end{frame} \subsection{Chinese Health and Family Life} \begin{frame}[fragile] \frametitle{Chinese Health and Family Life} One part of the questionnaire the Chinese Health and Family Life Survey focuses on is the self-reported health status. Two questions are interesting for us. The first one is ``Generally speaking, do you consider the condition of your health to be excellent, good, fair, not good, or poor?''. The second question is ``Generally speaking, in the past twelve months, how happy were you?''. The distribution of such variables is commonly visualised using barcharts where for each category the total or relative number of observations is displayed. \end{frame} \begin{frame}[fragile] \begin{figure} <>= barplot(xtabs(~ R_happy, data = CHFLS)) @ \end{figure} \end{frame} \begin{frame}[fragile] \frametitle{Chinese Health and Family Life: Two variables} The visualisation of two categorical variables could be done by conditional barcharts, i.e., barcharts of the first variable within the categories of the second variable. An attractive alternative for displaying such two-way tables are \stress{spineplots} \citep{HSAUR:Friendly1994,HSAUR:HofmannTheus2005,HSAUR:Chenetal2008}. Before constructing such a plot, we produce a two-way table of the health status and self-reported happiness using the \Rcmd{xtabs} function: <>= xtabs(~ R_happy + R_health, data = CHFLS) @ <>= hh <- xtabs(~ R_health + R_happy, data = CHFLS) @ \end{frame} \begin{frame}[fragile] \frametitle{Chinese Health and Family Life: spineplots} A \stress{spineplot} is a group of rectangles, each representing one cell in the two-way contingency table. The area of the rectangle is proportional with the number of observations in the cell. Here, we produce a mosaic plot of health status and happiness: \end{frame} \begin{frame}[fragile] \begin{figure} <>= plot(R_happy ~ R_health, data = CHFLS) @ \end{figure} \end{frame} \begin{frame}[fragile] \frametitle{Chinese Health and Family Life: spinogram} When the association of a categorical and a continuous variable is of interest, say the monthly income and self-reported happiness, we are interested in the conditional distribution of happiness given income. One possibility to produce a more appropriate plot is called \stress{spinogram}. Here, the continuous $x$-variable is categorised first. Within each of these categories, the conditional frequencies of the response variable are given by stacked barcharts, in a way similar to spineplots. \end{frame} \begin{frame}[fragile] \begin{figure} <>= layout(matrix(1:2, ncol = 2)) plot(R_happy ~ log(R_income + 1), data = CHFLS) cdplot(R_happy ~ log(R_income + 1), data = CHFLS) @ \end{figure} \end{frame} \begin{frame}[fragile] \frametitle{Chinese Health and Family Life: conditional plots} For our last example we return to scatterplots for inspecting the association between a woman's monthly income and the income of her partner. In addition, we want to study the relationship between both monthly incomes conditional on the woman's education. Such conditioning plots are called \stress{trellis} plots and are implemented in the package \Rpackage{lattice} \citep{PKG:lattice, HSAUR:Sarkar2008}. \end{frame} \begin{frame}[fragile] \begin{figure} <>= xyplot(jitter(log(A_income + 0.5)) ~ jitter(log(R_income + 0.5)) | R_edu, data = CHFLS) @ <>= library("lattice") lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) print(xyplot(jitter(log(A_income + 0.5)) ~ jitter(log(R_income + 0.5)) | R_edu, data = CHFLS)) @ \end{figure} Four constellations can be identified: both partners have zero income, the partner has no income, the woman has no income or both partners have a positive income. \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} Producing publication-quality graphics is one of the major strengths of the \R{} system and almost anything is possible since graphics are programmable in \R{}. Naturally, this chapter can be only a very brief introduction to some commonly used displays and the reader is referred to specialised books, most important \cite{HSAUR:Murrell2005}, \cite{HSAUR:Sarkar2008}, and \cite{HSAUR:Chenetal2008}. Interactive 3D-graphics are available from package \Rpackage{rgl} \citep{PKG:rgl}. \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The \Robject{household} data are part of a data set collected from a survey of household expenditure and give the expenditure of $20$ single men and $20$ single women on four commodity groups. The units of expenditure are Hong Kong dollars, and the four commodity groups are \begin{description} \item[\Robject{housing}]: housing, including fuel and light, \item[\Robject{food}]: foodstuffs, including alcohol and tobacco, \item[\Robject{goods}]: other goods, including clothing, footwear and durable goods, \item[\Robject{service}]: services, including transport and vehicles. \end{description} The aim of the survey was to investigate how the division of household expenditure between the four commodity groups depends on total expenditure and to find out whether this relationship differs for men and women. Use appropriate graphical methods to answer these questions and state your conclusions. \end{itemize} \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The data set \Robject{USstates} contains values of seven variables for ten states in the US. The seven variables are \begin{description} \item[\Robject{Population}]: population size divided by $1000$, \item[\Robject{Income}]: average per capita income, \item[\Robject{Illiteracy}]: illiteracy rate (\% population), \item[\Robject{Life.Expectancy}]: life expectancy (years), \item[\Robject{Homicide}]: homicide rate (per $1000$), \item[\Robject{Graduates}]: percentage of high school graduates, \item[\Robject{Freezing}]: average number of days per below freezing. \end{description} With these data \begin{enumerate} \item Construct a scatterplot matrix of the data labelling the points by state name (using function \Rcmd{text}). \item Construct a plot of life expectancy and homicide rate conditional on average per capita income. \end{enumerate} \end{itemize} \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Mortality rates per $100,000$ from male suicides for a number of age groups and a number of countries are given in \Robject{suicides2}. Construct side-by-side box plots for the data from different age groups, and comment on what the graphic tells us about the data. \item \cite{HSAUR:FluryRiedwyl1988} report data that give various lengths measurements on $200$ Swiss bank notes. The \Robject{banknote} data are available from package \Rpackage{alr3} \citep{PKG:alr3}. Use whatever graphical techniques you think are appropriate to investigate whether there is any `pattern' or structure in the data. Do you observe something suspicious? \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/Ch_conditional_inference.Rnw0000644000176200001440000003330014172224326021104 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 4: Conditional Inference} \end{center} focuses on conditional statistical test procedures for the Guessing Lengths, Suicides, and Gastrointestinal Damage examples. } <>= nobs <- table(roomwidth$unit) ties <- tapply(roomwidth$width, roomwidth$unit, function(x) length(x) - length(unique(x))) library("coin") @ \section{Introduction} \begin{frame} \frametitle{Introduction} There are many experimental designs or studies where the subjects are not a random sample from some well-defined population. For example, in clinical trials the subjects are randomly assigned to certain groups, for example a control and a treatment group, and the analysis needs to take this randomisation into account. In this chapter, we discuss such test procedures usually known as \stress{(re)-randomisation} or \stress{permutation tests} where the distribution of the test statistics under the null hypothesis is determined \stress{conditionally} on the data at hand. \end{frame} \begin{frame} \frametitle{roomwidth: Estimating Room Widths} Shortly after metric units of length were officially introduced in Australia in the 1970s, each of a group of 44 students was asked to guess, to the nearest metre, the width of the lecture hall in which they were sitting. Another group of 69 students in the same room was asked to guess the width in feet, to the nearest foot. But \Sexpr{ties[1]} of the estimated widths (in feet) of \Sexpr{nobs[1]} students and \Sexpr{ties[2]} of the estimated widths (in metres) of \Sexpr{nobs[2]} students are tied. This violates one assumption of the \stress{unconditional} test procedures such as the Wilcoxon Mann-Whitney test, namely that measurements are drawn from a continuous distribution. \end{frame} \begin{frame} \frametitle{suicides: Baiting Behaviour} A study was carried out to investigate the causes of jeering or baiting behaviour by a crowd when a person is threatening to commit suicide by jumping from a high building. A hypothesis is that baiting is more likely to occur in warm weather. 21 accounts of threatened suicide were classified by two factors, the time of year and whether or not baiting occurred. The data come from the northern hemisphere, so June--September are the warm months. \end{frame} \begin{frame} \frametitle{Lanza: Gastrointestinal Damage} The administration of non-steriodal anti-inflammatory drugs for patients suffering from arthritis induced gastrointestinal damage. \cite{HSAUR:Lanza1987} and \cite{HSAUR:Lanzaetal1988a,HSAUR:Lanzaetal1988b,HSAUR:Lanzaetal1989} report the results of placebo-controlled randomised clinical trials investigating the prevention of gastrointestinal damage by the application of Misoprostol. The degree of the damage is determined by endoscopic examinations and the response variable is defined as the classification: \input{tables/Lanza} \end{frame} \section{Conditional Test Procedures} \begin{frame} \frametitle{Conditional Test Procedures} In clinical trials, it is often impossible to draw a random sample from all patients suffering a certain disease. Commonly, volunteers and patients are recruited from hospital staff, relatives or people showing up for some examination. The test procedures applied in this chapter make no assumptions about random sampling or a specific model. \end{frame} \begin{frame} \frametitle{Permutation Tests} Instead, the null distribution of the test statistics is computed conditionally on all random permutations of the data. Therefore, the procedures shown in the sequel are known as \stress{permutation tests} or \stress{(re)-randomisation tests}. For a general introduction we refer to the text books of \cite{HSAUR:Edgington1987} and \cite{HSAUR:Pesarin2001}. \end{frame} \subsection{Testing Independence of Two Variables} \begin{frame} \frametitle{Testing Independence of Two Variables} Based on $n$ pairs of measurements $(x_i, y_i), i = 1, \dots, n$ we want to test the null hypothesis of the independence of $x$ and $y$. We may distinguish three situations: Both variables $x$ and $y$ are continuous (correlation), one is continuous and the other one is a factor (one-way layout, independent two-sample) or both $x$ and $y$ are factors (contingency tables). \end{frame} \begin{frame} \frametitle{Example: Two Independent Samples} One class of test procedures for the above three situations are randomisation and permutation tests whose basic principles have been described by \cite{HSAUR:Fisher1935} and \cite{HSAUR:Pitman1937} and are best illustrated for the case of continuous measurements $y$ in two groups, i.e., the $x$ variable is a factor that can take values $x = 1$ or $x = 2$. The difference of the means of the $y$ values in both groups is an appropriate statistic for the assessment of the association of $y$ and $x$ \begin{eqnarray*} T = \frac{\sum\limits_{i = 1}^n I(x_i = 1) y_i}{\sum\limits_{i = 1}^n I(x_i = 1)} - \frac{\sum\limits_{i = 1}^n I(x_i = 2) y_i}{\sum\limits_{i = 1}^n I(x_i = 2)}. \end{eqnarray*} Clearly, under the null hypothesis of independence of $x$ and $y$ we expect the distribution of $T$ to be centred about zero. \end{frame} \begin{frame} \frametitle{Computing the Null-Distribution} Suppose that the group labels $x = 1$ or $x = 2$ have been assigned to the observational units by randomisation. When the result of the randomisation procedure is independent of the $y$ measurements, we are allowed to fix the $x$ values and shuffle the $y$ values randomly over and over again. Thus, we can compute, or at least approximate, the distribution of the test statistic $T$ under the conditions of the null hypothesis directly from the data $(x_i, y_i), i = 1, \dots, n$ by the so called \stress{randomisation principle}. \end{frame} \begin{frame} \frametitle{Computing the Null-Distribution} The test statistic $T$ is computed for a reasonable number of shuffled $y$ values and we can determine how many of the shuffled differences are at least as large as the test statistic $T$ obtained from the original data. If this proportion is small, smaller than $\alpha = 0.05$ say, we have good evidence that the assumption of independence of $x$ and $y$ is not realistic and we therefore can reject the null hypothesis. The proportion of larger differences is usually referred to as $p$-value. \end{frame} \begin{frame} \frametitle{Categorical Variables} The test statistic can be computed from the corresponding contingency table in which the observations $(x_i, y_i)$ are cross-classified. We can make use of the test statistic \begin{eqnarray*} X^2 = \sum_{j = 1}^r \sum_{k = 1}^c \frac{(n_{jk} - E_{jk})^2}{E_{jk}}. \end{eqnarray*} Alternatively, Fisher's exact test based on the hyper-geometric probability of the observed contingency table can be applied. Here, all possible tables can be ordered with respect to this metric and $p$-values are computed from the fraction of tables more extreme than the observed one. \end{frame} \begin{frame} \frametitle{Correlation} When both the $x$ and the $y$ measurements are numeric, the test statistic can be formulated as the product, i.e., by the sum of all $x_i y_i, i = 1, \dots, n$. Again, we can fix the $x$ values and shuffle the $y$ values in order to approximate the distribution of the test statistic under the laws of the null hypothesis of independence of $x$ and $y$. \end{frame} \section{Analysis Using R} \subsection{Estimating the Width of a Room Revised} \begin{frame}[fragile] \frametitle{roomwidth Revised} First, we convert metres into feet and store the vector of observations in a variable \Robject{y}: <>= convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) feet <- roomwidth$unit == "feet" metre <- !feet y <- roomwidth$width * convert @ The test statistic is simply the difference in means <>= T <- mean(y[feet]) - mean(y[metre]) T @ \end{frame} \begin{frame}[fragile] \frametitle{roomwidth Revised} In order to approximate the conditional distribution of the test statistic $T$ we compute $9999$ test statistics for shuffled $y$ values. A permutation of the $y$ vector can be obtained from the \Rcmd{sample} function. <>= meandiffs <- double(9999) for (i in 1:length(meandiffs)) { sy <- sample(y) meandiffs[i] <- mean(sy[feet]) - mean(sy[metre]) } @ \end{frame} \begin{frame} \begin{center} <>= hist(meandiffs) abline(v = T, lty = 2) abline(v = -T, lty = 2) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Approximate Null-Distribution} Now, the value of the test statistic $T$ for the original unshuffled data can be compared with the distribution of $T$ under the null hypothesis. The $p$-value, i.e., the proportion of test statistics $T$ larger than \Sexpr{-round(T, 3)} or smaller than \Sexpr{round(T, 3)} is <>= greater <- abs(meandiffs) > abs(T) mean(greater) @ with a confidence interval of <>= binom.test(sum(greater), length(greater))$conf.int @ \end{frame} \begin{frame}[fragile] \frametitle{Exact Null-Distribution} The function \Rcmd{independence\_test} \citep[package \Rpackage{coin},][]{PKG:coin,HSAUR:Hothorn:2006:AmStat} can be used to compute the exact $p$-value for two independence samples: <>= library("coin") independence_test(y ~ unit, data = roomwidth, distribution = exact()) @ \end{frame} \begin{frame}[fragile] \frametitle{Exact WMW-Test} The exact conditional Wilcoxon rank sum test applied to the \Robject{roomwidth} data: <>= wilcox_test(y ~ unit, data = roomwidth, distribution = exact()) @ \end{frame} \subsection{Crowds and Threatened Suicide} \begin{frame} \frametitle{Crowds and Threatened Suicide} The data in this case are in the form of a $2 \times 2$ contingency table and it might be thought that the chi-squared test could again be applied to test for the independence of crowd behaviour and time of year. The $\chi^2$-distribution as an approximation to the independence test statistic is bad in this situation since the expected frequencies are rather small. One solution is to use a conditional test procedure such as Fisher's exact test as described %' above. \end{frame} \begin{frame}[fragile] \frametitle{Fisher's Test} We can apply this test procedure using the \R{} function \Rcmd{fisher.test} to the \Rclass{table} \Robject{suicides}: <>= fisher.test(suicides) @ \end{frame} \subsection{Gastrointestinal Damages} \begin{frame}[fragile] \frametitle{Gastrointestinal Damages} Here we are interested in the comparison of two groups of patients, where one group received a placebo and the other one Misoprostol. In the trials shown here, the response variable is measured on an ordered scale. Data from four clinical studies are available and thus the observations are naturally grouped together. From the \Rclass{data.frame} \Robject{Lanza} we can construct a three-way table as follows: <>= xtabs(~ treatment + classification + study, data = Lanza) @ \end{frame} \begin{frame}[fragile] \frametitle{Gastrointestinal Damages} The classifications are defined by the number of haemorrhages or erosions, the midpoint of the interval for each level is a reasonable choice, i.e., $0$, $1$, $6$, $17$ and $30$. The corresponding linear-by-linear association tests extending the general \index{Linear-by-linear association test} Cochran-Mantel-Haenzel statistics \citep[see][for further details]{HSAUR:Agresti2002} are implemented in package \Rpackage{coin}. \index{Cochran-Mantel-Haenzel statistic} \end{frame} \begin{frame}[fragile] \frametitle{First Study Only} For the first study, the null hypothesis of independence of treatment and gastrointestinal damage, i.e., of no treatment effect of Misoprostol, is tested by <>= library("coin") cmh_test(classification ~ treatment, data = Lanza, scores = list(classification = c(0, 1, 6, 17, 30)), subset = Lanza$study == "I") @ and, by default, the conditional distribution is approximated by the corresponding limiting distribution. \end{frame} \begin{frame}[fragile] \frametitle{All Studies} We can use \Robject{study} as a block variable and perform a global linear-association test investigating the treatment effect of Misoprostol in all four studies: <>= cmh_test(classification ~ treatment | study, scores = list(classification = c(0, 1, 6, 17, 30)), data = Lanza) @ \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Use the \Rcmd{mosaic} and \Rcmd{assoc} functions from the \Rpackage{vcd} package \citep{PKG:vcd} to create a graphical representation of the deviations from independence in the $2 \times 2$ contingency table \Robject{suicides}. \item Generate two groups with measurements following a normal distribution having different means. For multiple replications of this experiment ($1000$, say), compare the $p$-values of the Wilcoxon Mann-Whitney rank sum test and a permutation test (using \Rcmd{independence\_test}). Where do the differences come from? \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/title_UZH.tex0000644000176200001440000000150714172224326016056 0ustar liggesusers\title{Introduction to Data Analysis with \textsf{R}} \author[T. Hothorn]{Torsten Hothorn} \institute{ Universit\"at Z\"urich \\ \texttt{Torsten.Hothorn@R-project.org} } \date{} \begin{document} \frame{\titlepage} \setbeamertemplate{footline}[page number] \begin{frame}[fragile] \begin{columns} \begin{column}{3.5cm} \includegraphics[width = 3cm]{graphics/HSAUR} \end{column} \begin{column}{7.5cm} This course material is based on \booktitle{A Handbook of Statistical Analysis Using \R{}} (3rd edition) published by CRC press. The \R{} package \Rpackage{HSAUR3} contains all data sets, examples and \R{} code and is available from \curl{http://CRAN.R-project.org/package=HSAUR3} \end{column} \end{columns} \end{frame} HSAUR3/inst/slides/setup.R0000644000176200001440000000060014172224326014741 0ustar liggesusers rm(list = ls()) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", width = 55, # digits = 4, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) HSAUR3/inst/slides/Ch_density_estimation.Rnw0000644000176200001440000004500014172224326020476 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 8: Density Estimation} \end{center} focuses on estimating uni- and multivariate densities. } <>= x <- library("KernSmooth") x <- library("flexmix") x <- library("boot") data("CYGOB1", package = "HSAUR3") @ \section{Introduction} \begin{frame} \frametitle{Erupting Geysers} Old Faithful is the most popular attraction of Yellowstone National Park, although it is not the largest or grandest geyser in the park. Old Faithful can vary in height from 100--180 feet with an average near 130--140 feet. Eruptions normally last between $1.5$ to $5$ minutes. From August 1 to August 15, 1985, Old Faithful was observed and the waiting times between successive eruptions noted. There were $300$ eruptions observed, so $299$ waiting times were (in minutes) recorded. \end{frame} \begin{frame} \frametitle{Star Clusters} The Hertzsprung-Russell (H-R) diagram forms the basis of the theory of stellar evolution. The diagram is essentially a plot of the energy output of stars plotted against their surface temperature. Data from the H-R diagram of Star Cluster CYG OB1, calibrated according to \cite{HSAUR:VanismaGreve1972} are given in \Robject{CYGOB1}. \end{frame} \section{Density Estimation} \begin{frame} \frametitle{Density Estimation} The goal of density estimation is to approximate the probability density function of a random variable (univariate or multivariate) given a sample of observations of the variable. Univariate histograms are a simple example of a density estimate; they are often used for two purposes, counting and displaying the distribution of a variable, but according to \cite{HSAUR:Wilkinson1992}, they are effective for neither. For bivariate data, two-dimensional histograms can be constructed, but for small and moderate sized data sets that is not of any real use for estimating the bivariate density function, simply because most of the `boxes' in the histogram %' will contain too few observations, or if the number of boxes is reduced the resulting histogram will be too coarse a representation of the density function. \end{frame} \begin{frame} \frametitle{Density Estimation} If we are willing to assume a particular form for the variable's %' distribution, for example, Gaussian, density estimation would be reduced to estimating the parameters of the assumed distribution. More commonly, however, we wish to allow the data to speak for themselves and so one of a variety of non-parametric estimation procedures that are now available might be used. One of the most popular class of procedures is the kernel density estimators, which we now briefly describe for univariate and bivariate data. \end{frame} \subsection{Kernel Density Estimators} \begin{frame} \frametitle{Kernel Density Estimators} From the definition of a probability density, if the random $X$ has a density $f$, \begin{eqnarray*} f(x) = \lim_{h \rightarrow 0} \frac{1}{2h} \P(x - h < X < x + h). \end{eqnarray*} For any given $h$ a na{\"\i}ve estimator is \begin{eqnarray*} \hat{f}(x) = \frac{1}{2hn} \sum_{i = 1}^n I(x_i \in (x - h, x + h)), \end{eqnarray*} i.e., the number of $x_1, \dots, x_n$ falling in the interval $(x - h, x + h)$ divided by $2hn$. \end{frame} \begin{frame} \frametitle{Kernel Density Estimators} If we introduce a weight function $W$ given by \begin{eqnarray*} W(x) = \left\{\begin{array}{lcl} \frac{1}{2} & & |x| < 1 \\\\ %end 0 & & \text{else} \end{array} \right . \end{eqnarray*} then the na{\"\i}ve estimator can be rewritten as %" \begin{eqnarray*} \hat{f}(x) = \frac{1}{n} \sum_{i = 1}^n \frac{1}{h} W\left(\frac{x - x_i}{h}\right). \end{eqnarray*} but is unfortunately not continuous function. \end{frame} \begin{frame} \frametitle{Kernel Density Estimators} Better: \begin{eqnarray*} \hat{f}(x) = \frac{1}{hn} \sum_{i = 1}^n K\left(\frac{x - x_i}{h}\right) \end{eqnarray*} where $K$ is known as the \stress{kernel function} and $h$ as the \stress{bandwidth} or \stress{smoothing parameter}. The kernel function must satisfy the condition \begin{eqnarray*} \int_{-\infty}^\infty K(x)dx = 1. \end{eqnarray*} Usually, but not always, the kernel function will be a symmetric density function for example, the normal. \end{frame} \begin{frame} \frametitle{Kernel Functions} \begin{description} \item[rectangular:] \begin{eqnarray*} K(x) = \left\{\begin{array}{lcl} \frac{1}{2} & & |x| < 1 \\\\ %end 0 & & \text{else} \end{array} \right . \end{eqnarray*} \item[triangular:] \begin{eqnarray*} K(x) = \left\{\begin{array}{lcl} 1 - |x| & & |x| < 1 \\\\ %end 0 & & \text{else} \end{array} \right . \end{eqnarray*} \item[Gaussian:] \begin{eqnarray*} K(x) = \frac{1}{\sqrt{2 \pi}} e^{-\frac{1}{2}x^2} \end{eqnarray*} \end{description} \end{frame} \begin{frame}[fragile] \frametitle{Kernel Functions} \begin{center} <>= rec <- function(x) (abs(x) < 1) * 0.5 tri <- function(x) (abs(x) < 1) * (1 - abs(x)) gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2) x <- seq(from = -3, to = 3, by = 0.001) plot(x, rec(x), type = "l", ylim = c(0,1), lty = 1, ylab = expression(K(x))) lines(x, tri(x), lty = 2) lines(x, gauss(x), lty = 3) legend(-3, 0.8, legend = c("Rectangular", "Triangular", "Gaussian"), lty = 1:3, title = "kernel functions", bty = "n") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Kernel Functions} The kernel estimator $\hat{f}$ is a sum of `bumps' placed at the observations. %' The kernel function determines the shape of the bumps while the window width $h$ determines their width. We look at the individual bumps $n^{-1}h^{-1} K((x - x_i) / h)$, as well as the estimate $\hat{f}$ obtained by adding them up for an artificial set of data points <>= x <- c(0, 1, 1.1, 1.5, 1.9, 2.8, 2.9, 3.5) n <- length(x) xgrid <- seq(from = min(x) - 1, to = max(x) + 1, by = 0.01) h <- 0.4 bumps <- sapply(x, function(a) gauss((xgrid - a)/h)/(n * h)) @ \end{frame} \begin{frame}[fragile] \frametitle{Kernel Functions} \small \begin{center} <>= plot(xgrid, rowSums(bumps), type = "l", xlab = "x", ylab = expression(hat(f)(x)), lwd = 2) rug(x, lwd = 2) out <- apply(bumps, 2, function(b) lines(xgrid, b)) @ \end{center} \normalsize \end{frame} \subsection{Bivariate Density Estimation} \begin{frame} \frametitle{Bivariate Density Estimation} The kernel density estimator considered as a sum of `bumps' %' centred at the observations has a simple extension to two dimensions (and similarly for more than two dimensions). The bivariate estimator for data $(x_1, y_1)$, $(x_2, y_2)$, $\dots$, $(x_n, y_n)$ is defined as \begin{eqnarray*} \hat{f}(x, y) = \frac{1}{nh_xh_y} \sum_{i = 1}^n K\left(\frac{x - x_i}{h_x}, \frac{y - y_i}{h_y}\right). \end{eqnarray*} In this estimator each coordinate direction has its own smoothing parameter $h_x$ and $h_y$. An alternative is to scale the data equally for both dimensions and use a single smoothing parameter. \end{frame} \begin{frame} \frametitle{Bivariate Kernels} \begin{description} \item[Bivariate Normal kernel:] \begin{eqnarray*} K(x, y) = \frac{1}{2 \pi}e^{-\frac{1}{2} (x^2 + y^2)}. \end{eqnarray*} \item[Bivariate Epanechnikov kernel:] \begin{eqnarray*} K(x, y) = \left\{\begin{array}{lcl} \frac{2}{\pi}(1 - x^2 - y^2) & & x^2 + y^2 < 1 \\\\ %end 0 & & \text{else} \end{array} \right. \end{eqnarray*} \end{description} \end{frame} \begin{frame}[fragile] \frametitle{Epanechnikov} \begin{center} <>= epa <- function(x, y) ((x^2 + y^2) < 1) * 2/pi * (1 - x^2 - y^2) x <- seq(from = -1.1, to = 1.1, by = 0.05) epavals <- sapply(x, function(a) epa(a, x)) persp(x = x, y = x, z = epavals, xlab = "x", ylab = "y", zlab = expression(K(x, y)), theta = -35, axes = TRUE, box = TRUE) @ \end{center} \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{Old Faithful} \begin{center} <>= data("faithful", package = "datasets") x <- faithful$waiting layout(matrix(1:3, ncol = 3)) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Gaussian kernel", border = "gray") lines(density(x, width = 12), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Rectangular kernel", border = "gray") lines(density(x, width = 12, window = "rectangular"), lwd = 2) rug(x) hist(x, xlab = "Waiting times (in min.)", ylab = "Frequency", probability = TRUE, main = "Triangular kernel", border = "gray") lines(density(x, width = 12, window = "triangular"), lwd = 2) rug(x) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Star Clusters} \small \begin{center} <>= CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik)) contour(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity") @ \end{center} \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Star Clusters} \begin{center} <>= persp(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface temperature", ylab = "log light intensity", zlab = "estimated density", theta = -35, axes = TRUE, box = TRUE) @ \end{center} \end{frame} \subsection{A Parametric Density Estimate for the Old Faithful Data} \begin{frame} \frametitle{Parametric Old Faithful} Two-component normal mixture distribution \begin{eqnarray*} f(x) = p \phi(x, \mu_1, \sigma_1^2) + (1 - p) \phi(x, \mu_2, \sigma^2_2) \end{eqnarray*} where $\phi(x, \mu, \sigma^2)$ denotes the normal density. This distribution had five parameters to estimate, the mixing proportion, $p$, and the mean and variance of each component normal distribution. Pearson 100 years ago heroically attempted this by the method of moments, which required solving a polynomial equation of the 9$^{\text{th}}$ degree. Nowadays the preferred estimation approach is maximum likelihood. \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} <>= logL <- function(param, x) { d1 <- dnorm(x, mean = param[2], sd = param[3]) d2 <- dnorm(x, mean = param[4], sd = param[5]) -sum(log(param[1] * d1 + (1 - param[1]) * d2)) } startparam <- c(p = 0.5, mu1 = 50, sd1 = 3, mu2 = 80, sd2 = 3) opp <- optim(startparam, logL, x = faithful$waiting, method = "L-BFGS-B", lower = c(0.01, rep(1, 4)), upper = c(0.99, rep(200, 4))) opp @ \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} <>= print(opp[names(opp) != "message"]) @ \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} Optimising the appropriate likelihood `by hand' %' is not very convenient. In fact, (at least) two packages offer high-level functionality for estimating mixture models. The first one is package \Rpackage{mclust} \citep{PKG:mclust} implementing the methodology described in \cite{HSAUR:FraleyRaftery2002}. Here, a Bayesian information criterion (BIC) is applied to choose the form of the mixture model: <>= library("mclust") @ <>= library("mclust") mc <- Mclust(faithful$waiting) mc @ \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} The estimated means are <>= mc$parameters$mean @ with estimated standard deviation (found to be equal within both groups) <>= sqrt(mc$parameters$variance$sigmasq) @ The proportion is $\hat{p} = \Sexpr{round(mc$parameters$pro[1], 2)}$. \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} The second package is called \Rpackage{flexmix}: <>= library("flexmix") fl <- flexmix(waiting ~ 1, data = faithful, k = 2) @ with $\hat{p} = \Sexpr{round(fl@prior, 2)}$ and estimated parameters <>= parameters(fl, component = 1) parameters(fl, component = 2) @ \end{frame} \begin{frame}[fragile] \frametitle{Maximum Likelihood Estimation} \small \begin{center} <>= opar <- as.list(opp$par) rx <- seq(from = 40, to = 110, by = 0.1) d1 <- dnorm(rx, mean = opar$mu1, sd = opar$sd1) d2 <- dnorm(rx, mean = opar$mu2, sd = opar$sd2) f <- opar$p * d1 + (1 - opar$p) * d2 hist(x, probability = TRUE, xlab = "Waiting times (in min.)", border = "gray", xlim = range(rx), ylim = c(0, 0.06), main = "") lines(rx, f, lwd = 2) lines(rx, dnorm(rx, mean = mean(x), sd = sd(x)), lty = 2, lwd = 2) legend(50, 0.06, lty = 1:2, bty = "n", legend = c("Fitted two-component mixture density", "Fitted single normal density")) @ \end{center} \normalsize \end{frame} \section{Bootstrap} \begin{frame}[fragile] \frametitle{The Bootstrap} We can get standard errors for the five parameter estimates by using a bootstrap approach \citep[see][]{HSAUR:EfronTibshirani1993}. First, we define a function that, for a bootstrap sample \Robject{indx}, fits a two-component mixture model and returns $\hat{p}$ and the estimated means <>= library("boot") fit <- function(x, indx) { a <- Mclust(x[indx], minG = 2, maxG = 2)$parameters if (a$pro[1] < 0.5) return(c(p = a$pro[1], mu1 = a$mean[1], mu2 = a$mean[2])) return(c(p = 1 - a$pro[1], mu1 = a$mean[2], mu2 = a$mean[1])) } @ \end{frame} \begin{frame}[fragile] \frametitle{The Bootstrap} The function \Rcmd{fit} can now be fed into the \Rcmd{boot} function \citep{PKG:boot} for bootstrapping (here $1000$ bootstrap samples are drawn) \begin{Schunk} \begin{Sinput} R> bootpara <- boot(faithful$waiting, fit, R = 1000) \end{Sinput} \end{Schunk} <>= bootparafile <- system.file("cache", "DE-bootpara.rda", package = "HSAUR3") if (file.exists(bootparafile)) { load(bootparafile) } else { bootpara <- boot(faithful$waiting, fit, R = 1000) } @ Variability of our estimates $\hat{p}$ (BCa confidence intervals): <>= boot.ci(bootpara, type = "bca", index = 1) @ \end{frame} \begin{frame}[fragile] \frametitle{The Bootstrap} We see that there is a reasonable variability in the mixture model, however, the means in the two components are rather stable, as can be seen from <>= boot.ci(bootpara, type = "bca", index = 2) @ for $\hat{\mu}_1$ \end{frame} \begin{frame}[fragile] \frametitle{The Bootstrap} and for $\hat{\mu}_2$ from <>= boot.ci(bootpara, type = "bca", index = 3) @ \end{frame} \begin{frame}[fragile] \frametitle{The Bootstrap} Bootstrap-distribution of $\hat{\mu}_1$ and $\hat{\mu}_2$ with BCa confidence intervals: <>= bootplot <- function(b, index, main = "") { dens <- density(b$t[,index]) ci <- boot.ci(b, type = "bca", index = index)$bca[4:5] est <- b$t0[index] plot(dens, main = main) y <- max(dens$y) / 10 segments(ci[1], y, ci[2], y, lty = 2) points(ci[1], y, pch = "(") points(ci[2], y, pch = ")") points(est, y, pch = 19) } @ \begin{figure} \begin{center} <>= layout(matrix(1:2, ncol = 2)) bootplot(bootpara, 2, main = expression(mu[1])) bootplot(bootpara, 3, main = expression(mu[2])) @ \end{center} \end{figure} \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} Histograms and scatterplots are frequently used to give graphical representations of univariate and bivariate data. But both can often be improved and made more helpful by adding some form of density estimate. For scatterplots in particular adding a contour plot of the estimated bivariate density can be particularly useful in aiding in the identification of clusters, gaps and outliers. \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The \Robject{galaxies} data are the velocities of $82$ galaxies from six well-separated conic sections of space \citep{HSAUR:Postmanetal1986,HSAUR:Roeder1990}. The data are intended to shed light on whether or not the observable universe contains superclusters of galaxies surrounded by large voids. The evidence for the existence of superclusters would be the multimodality of the distribution of velocities. Construct a histogram of the data and add a variety of kernel estimates of the density function. What do you conclude about the possible existence of superclusters of galaxies? \item The \Robject{birthdeathrates} data give the birth and death rates for 69 countries \citep[from][]{HSAUR:Hartigan1975}. Produce a scatterplot of the data that shows a contour plot of the estimated bivariate density. Does the plot give you any interesting insights into the possible structure of the data? \end{itemize} \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item A sex difference in the age of onset of schizophrenia was noted by \cite{HSAUR:Kraepelin1919}. Subsequent epidemiological studies of the disorder have consistently shown an earlier onset in men than in women. One model that has been suggested to explain this observed difference is known as the \stress{subtype model} which postulates two types of schizophrenia, one characterised by early onset, typical symptoms and poor premorbid competence, and the other by late onset, atypical symptoms and good premorbid competence. The early onset type is assumed to be largely a disorder of men and the late onset largely a disorder of women. By fitting finite mixtures of normal densities separately to the onset data for men and women given in \Robject{schizophrenia} see if you can produce some evidence for or against the subtype model. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/Ch_analysing_longitudinal_dataI.Rnw0000644000176200001440000003410314172224326022425 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \setkeys{Gin}{width=0.95\textheight} \frame{ \begin{center} \Large{Part 11: Analysing Longitudinal Data I} \end{center} focuses on mixed effects models for repeated measurements. } \section{Introduction} <>= library("Matrix") library("lme4") @ \begin{frame} \frametitle{Beat the Blues} Depression is a major public health problem across the world. Antidepressants are the front line treatment, but many patients either do not respond to them, or do not like taking them. The main alternative is psychotherapy, and the modern `talking treatments' such as \stress{cognitive behavioural therapy} (CBT) %%' have been shown to be as effective as drugs, and probably more so when it comes to relapse. The data to be used in this chapter arise from a clinical trial of an interactive, multimedia program known as `Beat the Blues' %%' designed to deliver cognitive behavioural therapy to depressed patients via a computer terminal. In a randomised controlled trial of the program, patients with depression recruited in primary care were randomised to either the Beating the Blues program, or to `Treatment as Usual' (TAU). \end{frame} \begin{frame} \frametitle{Beat the Blues} Here, we concentrate on the \stress{Beck Depression Inventory II} (BDI). Measurements on this variable were made on the following five occasions: \begin{itemize} \item Prior to treatment, \item Two months after treatment began and \item At one, three and six months follow-up, i.e., at three, five and eight months after treatment. %%%better: At two, four and six months follow-up, i.e. at four, six and eight %%%months after treatment \end{itemize} There is interest here in assessing the effect of taking antidepressant drugs (\Robject{drug}, yes or no) and length of the current episode of depression (\Robject{length}, less or more than six months). \end{frame} \section{Analysing Longitudinal Data} \begin{frame} \frametitle{Analysing Longitudinal Data} Because several observations of the response variable are made on the same individual, it is likely that the measurements will be correlated rather than independent, even after conditioning on the explanatory variables. Consequently repeated measures data require special methods of analysis and models for such data need to include parameters linking the explanatory variables to the repeated measurements, parameters analogous to those in the usual multiple regression model and, in addition parameters that account for the correlational structure of the repeated measurements. In this chapter: linear mixed effects models. Next chapter: generalised estimating equations. \end{frame} \section{Linear Mixed Effects Models} \begin{frame} \frametitle{Linear Mixed Effects Models} Linear mixed effects models for repeated measures data formalise the sensible idea that an individual's pattern of responses is %%' likely to depend on many characteristics of that individual, including some that are unobserved. These unobserved variables are then included in the model as random variables, i.e., random effects. The essential feature of such models is that correlation amongst the repeated measurements on the same unit arises from shared, unobserved variables. Conditional on the values of the random effects, the repeated measurements are assumed to be independent, the so-called \stress{local independence} assumption. \end{frame} \begin{frame} \frametitle{Random Intercept Model} Let $y_{ij}$ represent the observation made at time $t_j$ on individual $i$. A possible model for the observation $y_{ij}$ might be \begin{eqnarray*} y_{ij} = \beta_0 + \beta_1 t_j + u_i + \varepsilon_{ij}. \end{eqnarray*} Here the total residual that would be present in the usual linear regression model has been partitioned into a subject-specific random component $u_i$ which is constant over time plus a residual $\varepsilon_{ij}$ which varies randomly over time. $\E(u_i) = 0$ and $\Var(u) = \sigma^2_u$, $\E(\varepsilon_{ij}) = 0$ with $\Var(\varepsilon_{ij}) = \sigma^2$; $u_i$ and $\varepsilon_{ij}$ independent of each other and of time $t_j$. \begin{eqnarray*} \Var(y_{ij}) = \Var(u_i + \varepsilon_{ij}) = \sigma^2_u + \sigma^2 \end{eqnarray*} ``variance components'' \end{frame} \begin{frame} \frametitle{Random Intercept Model} The covariance between the total residuals at two time points $j$ and $k$ in the same individual is $\Cov(u_i + \varepsilon_{ij}, u_i + \varepsilon_{ik}) = \sigma^2_u$. Note that these covariances are induced by the shared random intercept; for individuals with $u_i > 0$, the total residuals will tend to be greater than the mean, for individuals with $u_i < 0$ they will tend to be less than the mean. \begin{eqnarray*} \Cor(u_i + \varepsilon_{ij}, u_i + \varepsilon_{ik}) = \frac{\sigma^2_u}{\sigma^2_u + \sigma^2}. \end{eqnarray*} This is an \stress{intra-class correlation} interpreted as the proportion of the total residual variance that is due to residual variability between subjects. \end{frame} \begin{frame} \frametitle{Random Intercept and Slope Model} In this model there are two types of random effects, the first modelling heterogeneity in intercepts, $u_i$, and the second modelling heterogeneity in slopes, $v_i$: \begin{eqnarray*} y_{ij} = \beta_0 + \beta_1 t_j + u_i + v_i t_j + \varepsilon_{ij} \end{eqnarray*} The two random effects are assumed to have a bivariate normal distribution with zero means for both variables and variances $\sigma^2_u$ and $\sigma^2_v$ with covariance $\sigma_{uv}$: \begin{eqnarray*} \Var(u_i + v_i t_j + \varepsilon_{ij}) = \sigma^2_u + 2 \sigma_{uv} t_j + \sigma^2_v t_j^2 + \sigma^2 \end{eqnarray*} which is no longer constant for different values of $t_j$. \end{frame} \begin{frame} \frametitle{Random Intercept and Slope Model} \begin{eqnarray*} \Cov(u_i + v_i t_j + \varepsilon_{ij}, u_i + v_i t_{k} + \varepsilon_{ik}) = \sigma^2_u + \sigma_{uv} (t_j - t_{k}) + \sigma^2_v t_jt_{k} \end{eqnarray*} is not constrained to be the same for all pairs $t_j$ and $t_{k}$. \end{frame} \begin{frame} \frametitle{Mixed Effects Models} Linear mixed-effects models can be estimated by maximum likelihood. However, this method tends to underestimate the variance components. A modified version of maximum likelihood, known as \stress{restricted maximum likelihood} is therefore often recommended; this provides consistent estimates of the variance components. Competing linear mixed-effects models can be compared using a likelihood ratio test. If however the models have been estimated by restricted maximum likelihood this test can only be used if both models have the same set of fixed effects. \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{Beat the Blues} \begin{center} <>= data("BtheB", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) ylim <- range(BtheB[,grep("bdi", names(BtheB))], na.rm = TRUE) tau <- subset(BtheB, treatment == "TAU")[, grep("bdi", names(BtheB))] boxplot(tau, main = "Treated as usual", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 4, 6, 8), ylim = ylim) btheb <- subset(BtheB, treatment == "BtheB")[, grep("bdi", names(BtheB))] boxplot(btheb, main = "Beat the Blues", ylab = "BDI", xlab = "Time (in months)", names = c(0, 2, 4, 6, 8), ylim = ylim) @ \end{center} \end{frame} \begin{frame} \frametitle{Beat the Blues} Fit model to the data including the baseline BDI values (\Robject{pre.bdi}), \Robject{treatment} group, \Robject{drug} and \Robject{length} as fixed effect covariates. First, a rearrangement of the data is necessary from the `wide form' in which they appear in the \Robject{BtheB} data frame %%' into the `long form' in which each separate repeated measurement %%' and associated covariate values appear as a separate row in a \Rclass{data.frame}. \end{frame} \begin{frame}[fragile] \frametitle{Beat the Blues} <>= data("BtheB", package = "HSAUR3") BtheB$subject <- factor(rownames(BtheB)) nobs <- nrow(BtheB) BtheB_long <- reshape(BtheB, idvar = "subject", varying = c("bdi.2m", "bdi.3m", "bdi.5m", "bdi.8m"), direction = "long") BtheB_long$time <- rep(c(2, 3, 5, 8), rep(nobs, 4)) names(BtheB_long)[names(BtheB_long) == "treatment"] <- "trt" @ The resulting \Rclass{data.frame} \Robject{BtheB\_long} contains a number of missing values! \end{frame} \begin{frame}[fragile] \frametitle{Random Intercept and Slope} <>= library("lme4") BtheB_lmer1 <- lmer(bdi ~ bdi.pre + time + trt + drug + length + (1 | subject), data = BtheB_long, method = "ML", na.action = na.omit) BtheB_lmer2 <- lmer(bdi ~ bdi.pre + time + trt + drug + length + (time | subject), data = BtheB_long, method = "ML", na.action = na.omit) anova(BtheB_lmer1, BtheB_lmer2) @ \end{frame} \begin{frame} \frametitle{Model Checking} We can check the assumptions of the final model fitted to the \Robject{BtheB} data, i.e., the normality of the random effect terms and the residuals, by first using the \Rcmd{ranef} method to \stress{predict} the former and the \Rcmd{residuals} method to calculate the differences between the observed data values and the fitted values, and then using normal probability plots on each. There appear to be no large departures from linearity in either plot. \end{frame} \begin{frame}[fragile] \frametitle{Model Checking} \begin{center} <>= layout(matrix(1:2, ncol = 2)) qint <- ranef(BtheB_lmer1)$subject[["(Intercept)"]] qres <- residuals(BtheB_lmer1) qqnorm(qint, ylab = "Estimated random intercepts", xlim = c(-3, 3), ylim = c(-20, 20), main = "Random intercepts") qqline(qint) qqnorm(qres, xlim = c(-3, 3), ylim = c(-20, 20), ylab = "Estimated residuals", main = "Residuals") qqline(qres) @ \end{center} \end{frame} \section{Prediction of Random Effects} \begin{frame} \frametitle{Prediction of Random Effects} The random effects are not estimated as part of the model. However, having estimated the model, we can \stress{predict} the values of the random effects. According to Bayes' Theorem, the \stress{posterior %' probability} of the random effects is given by \begin{eqnarray*} \P(u | y, x) = f(y | u, x) g(u) \end{eqnarray*} where $f(y | u, x)$ is the conditional density of the responses given the random effects and covariates (a product of normal densities) and $g(u)$ is the \stress{prior} density of the random effects (multivariate normal). The means of this posterior distribution can be used as estimates of the random effects and are known as \stress{empirical Bayes estimates}. \end{frame} \section{The Problem of Dropouts} \begin{frame} \frametitle{The Problem of Dropouts} \begin{itemize} \item[Dropout completely at random (DCAR)] here the probability that a patient drops out does not depend on either the observed or missing values of the response. \item[\stress{Dropout at random} (DAR)] The dropout at random mechanism occurs when the probability of dropping out depends on the outcome measures that have been observed in the past, but given this information is conditionally independent of all the future (unrecorded) values of the outcome variable following dropout. \item[\stress{Non-ignorable} dropout] The final type of dropout mechanism is one where the probability of dropping out depends on the unrecorded missing values -- observations are likely to be missing when the outcome values that would have been observed had the patient not dropped out, are systematically higher or lower than usual. \end{itemize} \end{frame} \begin{frame} \frametitle{The Problem of Dropouts} Under what type of dropout mechanism are the mixed effects models considered in this chapter valid? The good news is that such models can be shown to give valid results under the relatively weak assumption that the dropout mechanism is DAR. When the missing values are thought to be informative, any analysis is potentially problematical. \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} Mixed effects models allow the correlations between the repeated measurements to be accounted for so that correct inferences can be drawn about the effects of covariates of interest on the repeated response values. In this chapter we have concentrated on responses that are continuous and conditional on the explanatory variables and random effects have a normal distribution. But random effects models can also be applied to non-normal responses, for example binary variables. \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Use the \Rcmd{lm} function to fit a model to the Beat the Blues data that assumes that the repeated measurements are independent. Compare the results to those from fitting the random intercept model \Robject{BtheB\_lmer1}. \item Investigate whether there is any evidence of an interaction between treatment and time for the Beat the Blues data. \item Construct a plot of the mean profiles of both groups in the Beat the Blues data, showing also standard deviation bars at each time point. \end{itemize} \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The \Robject{phosphate} data show the plasma inorganic phosphate levels for $33$ subjects, $20$ of whom are controls and $13$ of whom have been classified as obese \citep{HSAUR:Davis2002}. Produce separate plots of the profiles of the individuals in each group, and guided by these plots fit what you think might be sensible linear mixed effects models. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/HSAUR_title.Rnw0000644000176200001440000000027714172224326016243 0ustar liggesusers \documentclass{beamer} \input{definitions} \usetheme{boxes} \setbeamercovered{transparent} <>= title <- "title_UZH.tex" writeLines(readLines(title)) @ HSAUR3/inst/slides/Ch_survival_analysis.Rnw0000644000176200001440000003442414172224326020351 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 10: Survival Analysis} \end{center} explains how to fit regression models to response variables which are only incompletely available. } \section{Introduction} \begin{frame} \frametitle{Introduction} \cite{HSAUR:Granaetal2002} report results of a non-randomised clinical trial investigating a novel radioimmunotherapy in malignant glioma patients. The overall survival, i.e., the time from the beginning of the therapy to the disease-caused death of the patient, is compared for two groups of patients. Since only some patients die by others survive, the time to death is not completely observed. Only the time the patient is still alive is known. Such a time measurement is called \stress{censored}. The main interest is to investigate whether the patients treated with the novel radioimmunothery survive for a longer time. \end{frame} \begin{frame} \frametitle{Introduction} The effects of hormonal treatment with Tamoxifen in women suffering from node-positive breast cancer were investigated in a randomised clinical trial as reported by \cite{HSAUR:Schumacher1994}. Complete data of seven prognostic factors of $686$ women are available for prognostic modelling. Observed hypothetical prognostic factors are age, menopausal status, tumor size, tumor grade, number of positive lymph nodes, progesterone receptor, estrogen receptor and the information of whether or not a hormonal therapy was applied. We are interested in an assessment of the impact of the covariates on the survival time of the patients. \end{frame} \section{Survival Analysis} \begin{frame} \frametitle{Survival Analysis} In many medical studies, the main outcome variable is the time to the occurrence of a particular event. Such observations are generally referred to by the generic term \stress{survival data}. Such data generally require special techniques for analysis for two main reasons: \begin{enumerate} \item Survival data are generally not symmetrically distributed. \item At the completion of the study, some patients may not have reached the endpoint of interest (death, relapse, etc.). Consequently, the exact survival times are not known. All that is known is that the survival times are greater than the amount of time the individual has been in the study. The survival times of these individuals are said to be \stress{censored} (precisely, they are right-censored). \end{enumerate} \end{frame} \begin{frame} \frametitle{Survival and Hazard Function} Of central importance in the analysis of survival time data are two functions used to describe their distribution, namely the \stress{survival} (or \stress{survivor}) \stress{function} and the \stress{hazard function}. The survivor function, $S(t)$, is defined as the probability that the survival time, $T$, is greater than or equal to some time $t$, i.e., \begin{eqnarray*} S(t) = \P(T \ge t) \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Estimation} When there are no censored observations in the sample of survival times, a non-parametric survivor function can be estimated simply as \begin{eqnarray*} \hat{S}(t) = \frac{\text{number of individuals with survival times} \ge t} {n} \end{eqnarray*} where $n$ is the total number of observations. This simple method used to estimate the survivor function when there are no censored observations cannot now be used for survival times when censored observations are present. In the presence of censoring, the survivor function is typically estimated using the \stress{Kaplan-Meier} estimator \citep{HSAUR:KaplanMeier1958}. \end{frame} \begin{frame} \frametitle{Kaplan-Meier Estimator} This involves first ordering the survival times from the smallest to the largest such that $t_{(1)} \le t_{(2)} \le \dots \le t_{(n)}$, where $t_{(j)}$ is the $j$th largest unique survival time. The Kaplan-Meier estimate of the survival function is obtained as \begin{eqnarray*} \hat{S}(t) = \prod_{j: t_{(j)} \le t} \left( 1 - \frac{d_j}{r_j} \right) \end{eqnarray*} where $r_j$ is the number of individuals at risk just before $t_{(j)}$ (including those censored at $t_{(j)}$), and $d_j$ is the number of individuals who experience the event of interest (death, etc.) at time $t_{(j)}$. \end{frame} \begin{frame} \frametitle{Comparing Survival Functions} A formal test of the equality of the survival curves for the two groups can be made using the \stress{log-rank test}. First, the expected number of deaths is computed for each unique death time, or \stress{failure time} in the data set, assuming that the chances of dying, given that subjects are at risk, are the same for both groups. The total number of expected deaths is then computed for each group by adding the expected number of deaths for each failure time. The test then compares the observed number of deaths in each group with the expected number of deaths using a chi-squared test. \end{frame} \begin{frame} \frametitle{Hazard Functions} The hazard function, $h(t)$, is defined as the probability that an individual experiences the event in a small time interval, $s$, given that the individual has survived up to the beginning of the interval, when the size of the time interval approaches zero; \begin{eqnarray*} h(t) = \lim_{s \rightarrow 0} \frac{\P(t \le T \le t + s | T \ge t)}{s} \end{eqnarray*} where $T$ is the individual's survival time. For example, the probability of dying at age $100$ is very small because most people die before that age; in contrast, the probability of a person dying at age $100$ who has reached that age is much greater. \end{frame} \begin{frame} \frametitle{Hazard and Survival Function} The hazard function and survivor function are related by the formula \begin{eqnarray*} S(t) = \exp(-H(t)) \end{eqnarray*} where $H(t)$ is known as the \stress{integrated hazard} or \stress{cumulative hazard}, and is defined as follows: \begin{eqnarray*} H(t) = \int_0^t h(u) du, \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Shapes of Hazard Functions} In practice the hazard function may increase, decrease, remain constant or have a more complex shape. The hazard function for death in human beings, for example, has the `bath tub' shape: \begin{center} <>= hazard <- function(x, alpha = 5, theta = 0.1, sigma = 100) (alpha*theta*(1 - exp(-(x/sigma)^alpha))^(theta - 1)* exp(-(x/sigma)^alpha)*(x/sigma)^(alpha-1))/(sigma* (1 - (1 - exp(-(x/sigma)^alpha))^theta)) x <- seq(from = 0.1, to = 100, by = 0.1) h <- hazard(x, alpha = 5, theta = 0.1, sigma = 100) plot(x, h, type = "l", xlab = "Time", ylab = "Hazard", ylim = c(0, max(h))) @ \end{center} \end{frame} \begin{frame} \frametitle{Cox' Proportional Hazards Model} Modelling the hazard function directly as a linear function of explanatory variables is not appropriate since $h(t)$ is restricted to being positive, however \begin{eqnarray*} h(t) = h_0(t) \exp(\beta_1 x_1 + \dots + \beta_q x_q). \end{eqnarray*} is appropriate. Written in this way we see that the model forces the hazard ratio between two individuals to be constant over time since \begin{eqnarray*} \frac{h(t | \x_1)}{h(t | \x_2)} = \frac{\exp(\beta^\top \x_1)}{\exp(\beta^\top \x_2)} \end{eqnarray*} where $\x_1$ and $\x_2$ are vectors of covariate values for two individuals. \end{frame} \begin{frame} \frametitle{Interpreting Cox' Model} In the Cox model, the baseline hazard describes the common shape of the survival time distribution for all individuals, while the \stress{relative risk function}, $\exp(\beta^\top \x)$, gives the level of each individual's hazard. The interpretation %%' of the parameter $\beta_j$ is that $\exp(\beta_j)$ gives the relative risk change associated with an increase of one unit in covariate $x_j$, all other explanatory variables remaining constant. The parameters in a Cox model can be estimated by maximising what is known as a \stress{partial likelihood}. \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{Analysis Using R: Glioma Data} \small \begin{center} <>= data("glioma", package = "coin") library("survival") layout(matrix(1:2, ncol = 2)) g3 <- subset(glioma, histology == "Grade3") plot(survfit(Surv(time, event) ~ group, data = g3), main = "Grade III Glioma", lty = c(2, 1), ylab = "Probability", xlab = "Survival Time in Month", legend.bty = "n", legend.text = c("Control", "Treated") ) g4 <- subset(glioma, histology == "GBM") plot(survfit(Surv(time, event) ~ group, data = g4), main = "Grade IV Glioma", ylab = "Probability", lty = c(2, 1), xlab = "Survival Time in Month", xlim = c(0, max(glioma$time) * 1.05)) @ \end{center} \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Analysis Using R: Glioma Data} \begin{center} <>= data("glioma", package = "coin") library("survival") layout(matrix(1:2, ncol = 2)) g3 <- subset(glioma, histology == "Grade3") plot(survfit(Surv(time, event) ~ group, data = g3), main = "Grade III Glioma", lty = c(2, 1), ylab = "Probability", xlab = "Survival Time in Month", legend.bty = "n", legend.text = c("Control", "Treated") ) g4 <- subset(glioma, histology == "GBM") plot(survfit(Surv(time, event) ~ group, data = g4), main = "Grade IV Glioma", ylab = "Probability", lty = c(2, 1), xlab = "Survival Time in Month", xlim = c(0, max(glioma$time) * 1.05)) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Comparing Groups} The figure leads to the impression that patients treated with the novel radioimmunotherapy survive longer, regardless of the tumor type. In order to assess if this informal finding is reliable, we may perform a log-rank test via <>= survdiff(Surv(time, event) ~ group, data = g3) @ which indicates that the survival times are indeed different in both groups. \end{frame} \begin{frame}[fragile] \frametitle{Permutation Testing} However, the number of patients is rather limited and so it might be dangerous to rely on asymptotic tests. Conditioning on the data and computing the distribution of the test statistics without additional assumptions is one alternative: <>= library("coin") surv_test(Surv(time, event) ~ group, data = g3, distribution = exact()) @ \end{frame} \begin{frame}[fragile] \frametitle{Breast Cancer Survival} \begin{center} <>= data("GBSG2", package = "TH.data") plot(survfit(Surv(time, cens) ~ horTh, data = GBSG2), lty = 1:2, mark.time = FALSE, ylab = "Probability", xlab = "Survival Time in Days") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Breast Cancer Survival} \begin{center} <>= data("GBSG2", package = "TH.data") plot(survfit(Surv(time, cens) ~ horTh, data = GBSG2), lty = 1:2, mark.time = FALSE, ylab = "Probability", xlab = "Survival Time in Days") legend(250, 0.2, legend = c("yes", "no"), lty = c(2, 1), title = "Hormonal Therapy", bty = "n") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Fitting Cox' Model} The response variable is coded as a \Rclass{Surv} object and Cox' model can be fitted using: <>= GBSG2_coxph <- coxph(Surv(time, cens) ~ ., data = GBSG2) summary(GBSG2_coxph) @ \end{frame} \begin{frame}[fragile] \frametitle{Fitting Cox' Model} The response variable is coded as a \Rclass{Surv} object and Cox' model can be fitted using: \small <>= GBSG2_coxph <- coxph(Surv(time, cens) ~ ., data = GBSG2) summary(GBSG2_coxph) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Confidence Intervals} Since we are especially interested in the relative risk for patients who underwent a hormonal therapy, we can compute an estimate of the relative risk and a corresponding confidence interval via <>= ci <- confint(GBSG2_coxph) exp(cbind(coef(GBSG2_coxph), ci))["horThyes",] @ This result implies that patients treated with a hormonal therapy had a lower risk and thus survived longer compared to women who were not treated this way. \end{frame} \begin{frame}[fragile] \frametitle{Survival Trees} A simple prognostic tree model with only a few terminal nodes might be helpful for relating the risk to certain subgroups of patients: \small <>= library("partykit") ctree(Surv(time, cens) ~ ., data = GBSG2) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Visualizing Survival Trees} \begin{center} <>= plot(ctree(Surv(time, cens) ~ ., data = GBSG2)) @ \end{center} \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} The analysis of life-time data is complicated by the fact that the time to some event is not observable for all observations due to censoring. Survival times are analysed by some estimates of the survival function, for example by a non-parametric Kaplan-Meier estimate or by semi-parametric proportional hazards regression models. \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Try to reproduce the analysis presented by \cite{HSAUR:SauerbreiRoyston1999}, i.e., fit a multivariable fractional polynomial to the \Robject{GBSG2} data (using package \Rpackage{mfp})! \item The \Robject{mastectomy} data are the survival times (in months) after mastectomy of women with breast cancer. The cancers are classified as having metastised or not based on a histochemical marker. Plot the survivor functions of each group, estimated using the Kaplan-Meier estimate, on the same graph and comment on the differences. Use a log-rank test to compare the survival experience of each group more formally. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \normalsize \end{frame} \end{document} HSAUR3/inst/slides/Ch_introduction_to_R.Rnw0000644000176200001440000006160414172224326020277 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 1: An Introduction to R} \end{center} teaches some \R{} philosophy, explains how to install \R{} and how to make the first steps in \R{}. } \section{What Is R?} %%\R{}?} \frame{ \frametitle{What Is R?} The \R{} system for statistical computing is an environment for data analysis and graphics. The root of \R{} is the \S{} language, developed by John Chambers and colleagues at Bell Laboratories starting in the 1960s. The \S{} language was designed and developed as a programming language for data analysis tasks but in fact it is a full-featured programming language in its current implementations. The development of the \R{} system for statistical computing is heavily influenced by the open source idea: The base distribution of \R{} \index{Base distribution} and a large number of user contributed extensions are available under the terms of the Free Software Foundation's GNU General %%' Public License in source code form. \index{GNU General Public License} } \frame{ The base distribution of \R{} is maintained by a small group of statisticians, the \R{} Development Core Team. A huge amount of additional functionality is implemented in add-on packages \index{Add-on packages} authored and maintained by a large group of volunteers. The main source of information about the \R{} system is the world wide web with the official home page of the \R{} project being \curl{http://www.R-project.org} } \section{Installing R} %%\R{}} \index{Base system|(} \frame{ \frametitle{Installing the Base System} The \R{} system for statistical computing consists of two major parts: the base system and a collection of user contributed add-on packages. A package is a collection of functions, examples and documentation. Both the base system and packages are distributed via the Comprehensive \R{} Archive Network (CRAN) accessible under \curl{http://CRAN.R-project.org} as precompiled binary distribution and in source form. } \subsection{The Base System and the First Steps \label{AItR:Base}} \frame{ \frametitle{First Steps in R} \begin{columns} \begin{column}{3cm} \includegraphics[width = 2.5cm]{graphics/Rlogo} \end{column} \begin{column}{7cm} Depending on the operating system, \R{} can be started either by typing `\texttt{R}' on the shell (Unix systems) or by clicking on the %' \R{} symbol (as shown left) created by the installer (Windows). \end{column} \end{columns} } \begin{frame}[fragile] \frametitle{R as Pocket Calculator} <>= x <- sqrt(25) + 2 @ The assignment operator \Roperator{<-} binds the value of its right hand side to a variable name on the left hand side. The value of the object \Robject{x} can be inspected simply by typing <>= x @ which, implicitly, calls the \Rcmd{print} method: <>= print(x) @ \end{frame} \subsection{Packages} \begin{frame}[fragile] \frametitle{Important Packages} The base distribution already comes with some high-priority add-on packages, namely \begin{center} \texttt{ <>= colwidth <- 4 ip <- installed.packages(priority = "high") pkgs <- unique(ip[,"Package"]) pkgs <- paste("\\Rpackage{", pkgs, "}", sep = "") nrows <- ceiling(length(pkgs) / colwidth) cat(paste(c("\\begin{tabular}{", paste(rep("l", colwidth), collapse=""), "}"), collapse = ""), "\n", file = "tables/rec.tex", append = FALSE) for (i in 1:nrows) { cat(paste(pkgs[(1:colwidth) + (i-1)*colwidth], collapse = " & "), file = "tables/rec.tex", append = TRUE) cat("\\\\ \n", file = "tables/rec.tex", append = TRUE) } cat("\\end{tabular}\n", file = "tables/rec.tex", append = TRUE) rm(ip, nrows) @ \input{tables/rec} } \end{center} The packages listed here %% #Z %% are maintained by members of the \R{} core development team and implement standard statistical functionality, for example linear models, classical tests, a huge collection of high-level plotting functions or tools for survival analysis. \end{frame} <>= cp <- available.packages(contriburl = "http://CRAN.r-project.org/src/contrib") ncp <- sum(!rownames(cp) %in% pkgs) rm(cp, pkgs) @ \begin{frame}[fragile] \frametitle{User-Contributed Packages} Packages not included in the base distribution can be installed directly from the \R{} prompt. Currently, $\Sexpr{ncp}$ user contributed packages covering almost all fields of statistical methodology are available. <>= rm(ncp, colwidth, i) @ A package is installed by supplying the name of the package to the function \Rcmd{install.packages}. For example the \Rpackage{sandwich} package can be downloaded and installed via <>= install.packages("sandwich") @ The package functionality is available after \stress{attaching} the package by <>= library("sandwich") @ A comprehensive list of available packages can be obtained from \curl{http://CRAN.R-project.org/} \end{frame} \section{Help and Documentation \label{AItR:HDN}} \index{Help system|(} \begin{frame}[fragile] \frametitle{Help and Documentation} Three different forms of documentation for the \R{} system for statistical computing may be distinguished: \begin{itemize} \item online help that comes with the base distribution or packages, \item electronic manuals and \item publications work in the form of books etc. \end{itemize} The help system is a collection of manual pages describing each user-visible function and data set that comes with \R{}. \end{frame} \begin{frame}[fragile] \frametitle{Getting Help in R} A manual page is shown in a pager or web browser when the name of the function we would like to get help for is supplied to the \Rcmd{help} function <>= help("mean") @ or, for short, \begin{Verbatim} R> ?mean \end{Verbatim} The function \Rcmd{help.search} is helpful for searching within manual pages. An overview on documented topics in an add-on package is given, for example for the \Rpackage{sandwich} package, by <>= help(package = "sandwich") @ \end{frame} \begin{frame}[fragile] \frametitle{Package Vignettes} Often a package comes along with an additional document describing the package functionality and giving examples. Such a document is called a \Rclass{vignette} and is viewed in a PDF viewer via <>= vignette("sandwich", package = "sandwich") @ All R code contained in a vignette is available from <>= edit(vignette("sandwich")) @ \end{frame} \begin{frame} \frametitle{Written Documentation} For the beginner, at least the first and the second document of the following four manuals are mandatory: \begin{description} \item[An Introduction to R:] A more formal introduction to data analysis with \R{} than this chapter. \item[R Data Import/Export:] A very useful description of how to read and write various external data formats. \item[R Installation and Administration:] Hints for installing \R{} on special platforms. \item[Writing R Extensions:] The authoritative source on how to write \R{} programs and packages. \end{description} \end{frame} \begin{frame} \frametitle{More Documentation on R} Both printed and online publications are available, the most important ones are \booktitle{Modern Applied Statistics with \S{}} \booktitle{Introductory Statistics with \R{}}, \booktitle{\R{} Graphics} and the \R{} Newsletter, freely available from \curl{http://CRAN.R-project.org/doc/Rnews/} In case the electronically available documentation and the answers to frequently asked questions (FAQ), available from \curl{http://CRAN.R-project.org/faqs.html} have been consulted but a problem or question remains unsolved, the \texttt{r-help} email list is the right place to get answers to well-thought-out questions. Read the posting guide before starting to ask! \end{frame} \section{Data Objects in R} %%\R{}} \begin{frame}[fragile] \frametitle{Data Objects: Forbes 2000 List} \index{Forbes 2000 ranking|(} The data handling and manipulation techniques will be illustrated by means of a data set of $2000$ world leading companies, the Forbes 2000 list for the year 2004 collected by \booktitle{Forbes Magazine}. In a first step, we make the data available for computations within \R. The \Rcmd{data} function searches for data objects of the specified name (\Robject{"Forbes2000")} in the package specified via the \Rarg{package} argument and attaches the data object to the global environment: \index{Forbes2000 data@\Robject{Forbes2000} data} <>= data("Forbes2000", package = "HSAUR3") ls() @ \end{frame} \begin{frame}[fragile] \frametitle{Data Objects: Printing} <>= print(Forbes2000) @ <>= print(Forbes2000[1:3,]) cat("...\n") @ will not be particularly helpful. \end{frame} \begin{frame}[fragile] \frametitle{Inspecting Data Objects} Better look at a description of their structure: <>= str(Forbes2000) @ <>= str(Forbes2000, vec.len = 2) @ \end{frame} \begin{frame}[fragile] \frametitle{Data Objects: Forbes 2000} For each observation, the following eight variables are available: \begin{description} \item[\Robject{rank}]: the ranking of the company, \item[\Robject{name}]: the name of the company, \item[\Robject{country}]: where the company is situated, \item[\Robject{category}]: products the company produces, \item[\Robject{sales}]: the amount of sales of the company, US dollars, \item[\Robject{profits}]: the profit of the company, \item[\Robject{assets}]: the assets of the company, \item[\Robject{marketvalue}]: the market value of the company. \end{description} \end{frame} \begin{frame}[fragile] \frametitle{Data Objects: Forbes 2000} A similar but more detailed description is available from the help page for the \Robject{Forbes2000} object: <>= help("Forbes2000") @ or \begin{Verbatim} R> ?Forbes2000 \end{Verbatim} All information provided by \Rcmd{str} can be obtained by specialised functions as well and we will now have a closer look at the most important of these. \end{frame} \begin{frame}[fragile] \frametitle{Everything is an Object!} The \R{} language is an object-oriented programming language, \index{Object-oriented programming language} so every object is an instance of a class: <>= class(Forbes2000) @ The dimensions of a \Rclass{data.frame} can be extracted using the \Rcmd{dim} function <>= dim(Forbes2000) @ or via <>= nrow(Forbes2000) ncol(Forbes2000) @ \end{frame} \begin{frame}[fragile] \frametitle{Data Frames: Assessing Variables} The variable names are accessible from <>= names(Forbes2000) @ The values of single variables can be extracted from the \Robject{Forbes2000} object by their names <>= class(Forbes2000[,"rank"]) @ Brackets \Robject{[]} always indicate a subset \index{Subset} of a larger object. \end{frame} \begin{frame}[fragile] \frametitle{Vectors} The rankings for all $\Sexpr{nrow(Forbes2000)}$ companies are represented in a \Rclass{vector} structure the length of which is given by <>= length(Forbes2000[,"rank"]) @ A \Rclass{vector} is the elementary structure for data handling in \R{} and is a set of simple elements, all being objects of the same class. <>= 1:3 c(1,2,3) seq(from = 1, to = 3, by = 1) @ \end{frame} \begin{frame}[fragile] \frametitle{Nominal Variables: Factors} Nominal measurements are represented by \Rclass{factor} variables in \R, such as the category of the company's business segment %%' <>= class(Forbes2000[,"category"]) @ Objects of class \Rclass{factor} and \Rclass{character} basically differ in the way their values are stored internally. In our case, there are <>= nlevels(Forbes2000[,"category"]) @ different categories: <>= levels(Forbes2000[,"category"]) @ <>= levels(Forbes2000[,"category"])[1:3] cat("...\n") @ \end{frame} \begin{frame}[fragile] \frametitle{Summarizing Factors} As a simple summary statistic, the frequencies of the levels of such a \Rclass{factor} variable can be found from <>= table(Forbes2000[,"category"]) @ <>= table(Forbes2000[,"category"])[1:3] cat("...\n") @ \end{frame} \begin{frame}[fragile] \frametitle{Numeric Variables} The sales, assets, profits and market value variables are of type \Robject{numeric} <>= class(Forbes2000[,"sales"]) @ and simple summary statistics such as the mean, median and range can be found from <>= median(Forbes2000[,"sales"]) mean(Forbes2000[,"sales"]) range(Forbes2000[,"sales"]) @ \end{frame} \begin{frame}[fragile] \frametitle{Summary Statistics} The \Rcmd{summary} method can be applied to a numeric vector to give a set of useful summary statistics namely the minimum, maximum, mean, median and the $25\%$ and $75\%$ quartiles; for example <>= summary(Forbes2000[,"sales"]) @ \end{frame} \section{Data Import and Export} \index{Data import and export|(} \begin{frame}[fragile] \frametitle{Data Import} The most frequent data formats the data analyst is confronted with are \begin{itemize} \item comma separated files, \item \EXCEL{} spreadsheets, \item files in \SPSS{} format and \item a variety of \SQL{} data base engines. \end{itemize} Querying data bases is a non-trivial task and requires additional knowledge about querying languages and we therefore refer to the \booktitle{\R{} Data Import/Export} manual. \end{frame} <>= pkgpath <- system.file(package = "HSAUR3") mywd <- getwd() filep <- file.path(pkgpath, "rawdata") setwd(filep) @ \begin{frame}[fragile] \frametitle{Comma-separated Files} When the variables are separated by commas and each row begins with a name (a text format typically created by \EXCEL{}), we can read in the data as follows using the \Rcmd{read.table} function <>= csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE, sep = ",", row.names = 1) @ The function \Rcmd{read.table} by default guesses the class of each variable from the specified file. Files in \SPSS{} format are read in a way similar to reading comma separated files, using the function \Rcmd{read.spss} from package \Rpackage{foreign}. \end{frame} \begin{frame}[fragile] \frametitle{Data Export} A comma separated file readable by \EXCEL{} can be constructed from a \Rclass{data.frame} object via <>= write.table(Forbes2000, file = "Forbes2000.csv", sep = ",", col.names = NA) @ The function \Rcmd{write.csv} is one alternative. Alternatively, when data should be saved for later processing in \R{} only, \R{} objects of arbitrary kind can be stored into an external binary file via <>= save(Forbes2000, file = "Forbes2000.rda") @ <>= setwd(mywd) @ \end{frame} \section{Basic Data Manipulation \label{AItR:BDM}} \begin{frame}[fragile] \frametitle{More on Data Frames} \index{Data manipulation|(} Internally, a \Rclass{data.frame} is a \Rclass{list} of vectors of a common length $n$, the number of rows of the table. Each of those vectors represents the measurements of one variable and we can access such a variable by its name <>= companies <- Forbes2000[,"name"] @ A subset of the elements of the vector \Robject{companies} can be extracted using the \Rcmd{[]} subset operator: <>= companies[1:3] @ \end{frame} \begin{frame}[fragile] \frametitle{Subset Indexing} In contrast to indexing with positive integers, negative indexing returns all elements which are \stress{not} part of the index vector given in brackets. For example, all companies except those with numbers four to two-thousand, i.e., the top three companies, are again <>= companies[-(4:2000)] @ \end{frame} \begin{frame}[fragile] \frametitle{Data Frame Indexing} Because \Rclass{data.frame}s have a concept of rows and columns, we need to separate the subsets corresponding to rows and columns by a comma. The statement <>= Forbes2000[1:3, c("name", "sales", "profits", "assets")] @ extracts four variables for the three largest companies. A single variable can be extracted from a \Rclass{data.frame} by <>= companies <- Forbes2000$name @ \end{frame} \begin{frame}[fragile] \frametitle{Data Frame Ordering} The three top selling companies are to be computed. First, we need to compute the ordering of the companies' sales %%' <>= order_sales <- order(Forbes2000$sales) @ The three companies with the lowest sales are <>= companies[order_sales[1:3]] @ and the three top sellers are <>= Forbes2000[order_sales[c(2000, 1999, 1998)], "name"] @ \end{frame} \begin{frame}[fragile] \frametitle{Data Frame Subsetting} Another way of selecting vector elements is the use of a logical vector being \Robject{TRUE} when the corresponding element is to be selected and \Robject{FALSE} otherwise. The companies with assets of more than $1000$ billion US dollars are <>= Forbes2000[Forbes2000$assets > 1000, c("name", "sales", "profits")] table(Forbes2000$assets > 1000) @ \end{frame} \begin{frame}[fragile] \frametitle{Missing Values} In \R, missing values are treated by a special symbol, \Robject{NA}, indicating \index{NA symbol@\Robject{NA} symbol} that this measurement is not available. \index{Missing values} The observations with profit information missing can be obtained via <>= na_profits <- is.na(Forbes2000$profits) table(na_profits) Forbes2000[na_profits, c("name", "profits")] @ \end{frame} \begin{frame}[fragile] \frametitle{Removing Missing Values} We want to remove all observations with at least one missing value from a \Rclass{data.frame} object. The function \Rcmd{complete.cases} takes a \Rclass{data.frame} and returns a logical vector being \Robject{TRUE} when the corresponding observation does not contain any missing value: <>= table(complete.cases(Forbes2000)) @ \end{frame} \begin{frame}[fragile] \frametitle{Using subset} Subsetting \Rclass{data.frame}s driven by logical expressions may induce a lot of typing which can be avoided. The \Rcmd{subset} function takes a \Rclass{data.frame} as first argument and a logical expression as second argument: <>= UKcomp <- subset(Forbes2000, country == "United Kingdom") dim(UKcomp) @ \end{frame} \section{Simple Summary Statistics} \begin{frame}[fragile] \frametitle{str and summary} Applying the \Rcmd{summary} method to the \Robject{Forbes2000} <>= summary(Forbes2000) @ <>= summary(Forbes2000[,1:3]) @ \end{frame} \begin{frame}[fragile] \frametitle{apply and Friends} The members of the \Rcmd{apply} family help to solve recurring tasks for each element of a \Rclass{data.frame}, \Rclass{matrix}, \Rclass{list} or for each level of a factor. We compare the profits in each of the $\Sexpr{nlevels(Forbes2000$category)}$ categories and first compute the median profit for each category from <>= mprofits <- tapply(Forbes2000$profits, Forbes2000$category, median, na.rm = TRUE) @ \end{frame} \begin{frame}[fragile] \frametitle{Sorting} The three categories with highest median profit are computed from the vector of sorted median profits <>= rev(sort(mprofits))[1:3] @ where \Rcmd{rev} rearranges the vector of median profits \Rcmd{sort}ed from smallest to largest. \end{frame} \subsection{Simple Graphics} \begin{frame}[fragile] \frametitle{Simple Graphics: Histograms} The degree of skewness of a distribution can be investigated by constructing histograms using the \Rcmd{hist} function: <>= layout(matrix(1:2, nrow = 2)) hist(Forbes2000$marketvalue) hist(log(Forbes2000$marketvalue)) @ \end{frame} \begin{frame}[fragile] \begin{center} <>= layout(matrix(1:2, nrow = 2)) hist(Forbes2000$marketvalue) hist(log(Forbes2000$marketvalue)) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Simple Graphics: Scatterplots} In \R, regression relationships are specified by so-called \stress{model formulae} which may look like <>= fm <- marketvalue ~ sales class(fm) @ with the dependent variable on the left hand side and the independent variable on the right hand side. The tilde separates left and right hand side. \end{frame} \begin{frame}[fragile] \frametitle{Simple Graphics: Scatterplots} \begin{center} <>= plot(log(marketvalue) ~ log(sales), data = Forbes2000, pch = ".") @ \end{center} \end{frame} \begin{frame} %%% R CMD build will receive an error from texi2dvi because of pdf version %%% 1.4 used here -- exclude this piece of code \begin{center} <>= pdf("figures/marketvalue-sales.pdf", version = "1.4") plot(log(marketvalue) ~ log(sales), data = Forbes2000, col = rgb(0,0,0,0.1), pch = 16) dev.off() @ \includegraphics{figures/marketvalue-sales} \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Simple Graphics: Boxplots} <>= boxplot(log(marketvalue) ~ country, data = subset(Forbes2000, country %in% c("United Kingdom", "Germany", "India", "Turkey")), ylab = "log(marketvalue)", varwidth = TRUE) @ \end{frame} \begin{frame} \begin{center} <>= tmp <- subset(Forbes2000, country %in% c("United Kingdom", "Germany", "India", "Turkey")) tmp$country <- tmp$country[,drop = TRUE] boxplot(log(marketvalue) ~ country, data = tmp, ylab = "log(marketvalue)", varwidth = TRUE) @ \end{center} \end{frame} \section{Organising an Analysis} \begin{frame}[fragile] \frametitle{Organising an Analysis} <>= file.create("analysis.R") @ ALWAYS maintain your R code for an analysis as a separate text file collecting all steps necessary to perform a certain data analysis task! Such an \R{} transcript file can be read by <>= source("analysis.R", echo = TRUE) @ When all steps of a data analysis, i.e., data preprocessing, transformations, simple summary statistics and plots, model building and inference as well as reporting, are collected in such an \R{} transcript file, the analysis can be reproduced at any time! <>= file.remove("analysis.R") @ \end{frame} \begin{frame}[fragile] \frametitle{Exercises} \begin{itemize} \item Calculate the median profit for the companies in the United States and the median profit for the companies in the UK, France and Germany. \item Find all German companies with negative profit. \item Which business category are most of the companies situated at the Bermuda island working in? \item For the $50$ companies in the Forbes data set with the highest profits, plot sales against assets (or some suitable transformation of each variable), labelling each point with the appropriate country name which may need to be abbreviated (using \Rcmd{abbreviate}) to avoid making the plot look too `messy'. %%' \item Find the average value of sales for the companies in each country in the Forbes data set, and find the number of countries in each country with profits above $5$ billion US dollars. \end{itemize} \end{frame} \end{document} HSAUR3/inst/slides/beamerthemeHSAUR.sty0000644000176200001440000000267414172224326017315 0ustar liggesusers\ProvidesPackageRCS $Header: /home/cvs/CVSroot/RHandbook/HSAUR/slides/beamerthemeHSAUR.sty,v 1.1 2006/05/08 09:16:39 hothorn Exp $ % Copyright 2003 by Till Tantau % % This program can be redistributed and/or modified under the terms % of the GNU Public License, version 2. %%\usepackage[names]{color} \DeclareOptionBeamer{hideothersubsections}{\PassOptionsToPackage{hideothersubsections}{beamerouterthemesidebar}} \DeclareOptionBeamer{hideallsubsections}{\PassOptionsToPackage{hideallsubsections}{beamerouterthemesidebar}} \PassOptionsToPackage{right}{beamerouterthemesidebar} \PassOptionsToPackage{width=2cm}{beamerouterthemesidebar} \DeclareOptionBeamer{width}{\PassOptionsToPackage{width=#1}{beamerouterthemesidebar}} \DeclareOptionBeamer{left}{\PassOptionsToPackage{left}{beamerouterthemesidebar}} \DeclareOptionBeamer{right}{\PassOptionsToPackage{right}{beamerouterthemesidebar}} \ProcessOptionsBeamer \mode \useoutertheme[height=0pt]{sidebar} %\setbeamercolor{structure}{fg=Mahogany} \setbeamercolor{structure}{fg=red!70!green!150} %\setbeamercolor{structure}{bg=red!70!green!50} \setbeamercolor{sidebartab}{fg=white} {\usebeamercolor{structure}} {\usebeamercolor{sidebartab}} \definecolor{lilahell}{rgb}{0.43,0.16,0.41} \definecolor{liladunkel}{rgb}{0.12,0.12,0.13} \setbeamertemplate{sidebar canvas \beamer@sidebarside}[vertical shading][top=lilahell,bottom=lilahell] \insertpagenumber \mode HSAUR3/inst/slides/Ch_recursive_partitioning.Rnw0000644000176200001440000003234614172224326021372 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") library("randomForest") library("partykit") @ \frame{ \begin{center} \Large{Part 9: Recursive Partitioning} \end{center} explains how to fit regression models via simple recursive partitioning methods. } \section{Introduction} \begin{frame} \frametitle{Introduction} The Forbes 2000 list of the world's biggest industrial companies was %%' introduced in detail in Part~1. Here, our interest is to construct a model explaining the profit of a company based on assets, sales and the market value. The second set of data involves the investigation reported in \cite{HSAUR:Mardinetal2003} of whether laser scanner images of the eye background can be used to classify a patient's eye as suffering %' from glaucoma or not. Glaucoma is a neuro-degenerative disease of the optic nerve and is one of the major reasons for blindness in elderly people. \end{frame} \begin{frame} \frametitle{Glaucoma Data} For $196$ people, $98$ patients suffering glaucoma and $98$ controls which have been matched by age and sex, $62$ numeric variables derived from the laser scanning images are available. The data are available as \Robject{GlaucomaM} \index{GlaucomaM data@\Robject{GlaucomaM} data} from package \Rpackage{TH.data}. The variables describe the morphology of the optic nerve head, i.e., measures of volumes and areas in certain regions of the eye background. Those regions have been manually outlined by a physician. Our aim is to construct a prediction model which is able to decide whether an eye is affected by glaucomateous changes based on the laser image data. \end{frame} \begin{frame} \frametitle{Candidate Models} Both sets of data described above could be analysed using the regression models described in Parts~5 and 6, i.e., regression models for numeric and binary response variables based on a linear combination of the covariates. But here we shall employ an alternative approach known as \stress{recursive partitioning}, where the resulting models are usually called \stress{regression or classification trees}. \end{frame} \begin{frame} \frametitle{Recursive Partitioning} This method was originally invented to deal with possible non-linear relationships between covariates and response. The basic idea is to partition the covariate space and to compute simple statistics of the dependent variable, like the mean or median, inside each cell. There exist many algorithms for the construction of classification or regression trees but the majority of algorithms follow a simple general rule: First partition the observations by univariate splits in a recursive way and second fit a constant model in each cell of the resulting partition. \end{frame} \begin{frame} \frametitle{Recursive Partitioning} For the first step, one selects a covariate $x_j$ from the $q$ available covariates $x_1, \dots, x_q$ and estimates a split point which separates the response values $y_i$ into two groups. For an ordered covariate $x_j$ a split point is a number $\xi$ dividing the observations into two groups. The first group consists of all observations with $x_j \le \xi$ and the second group contains the observations satisfying $x_j > \xi$. Once that the splits $\xi$ or $A$ for some selected covariate $x_j$ have been estimated, one applies the procedure sketched above for all observations in the first group and, recursively, splits this set of observations further. The same happens for all observations in the second group. The recursion is stopped when some stopping criterion is fulfilled. \end{frame} \begin{frame} \frametitle{Ensemble Methods} When the underlying relationship between covariate and response is smooth, such a split point estimate will be affected by high variability. This problem is addressed by so called \stress{ensemble methods}. Here, multiple trees are grown on perturbed instances of the data set and their predictions are averaged. The simplest representative of such a procedure is called \stress{bagging} \citep{HSAUR:Breiman1996}. \end{frame} \begin{frame} \frametitle{Bagging} We draw $B$ bootstrap samples from the original data set, i.e., we draw $n$ out of $n$ observations with replacement from our $n$ original observations. For each of those bootstrap samples we grow a very large tree. When we are interested in the prediction for a new observation, we pass this observation through all $B$ trees and average their predictions. It has been shown that the goodness of the predictions for future cases can be improved dramatically by this or similar simple procedures. More details can be found in \cite{HSAUR:Buehlmann2004}. \end{frame} \section{Analysis using R} \begin{frame}[fragile] \frametitle{Analysis using R: Forbes 2000} The \Rcmd{rpart} function from \Rpackage{rpart} can be used to grow a regression tree. The response variable and the covariates are defined by a model formula in the same way as for \Rcmd{lm}, say. By default, a large initial tree is grown. <>= library("rpart") data("Forbes2000", package = "HSAUR3") Forbes2000 <- subset(Forbes2000, !is.na(profits)) fm <- profits ~ assets + marketvalue + sales forbes_rpart <- rpart(fm, data = Forbes2000) @ \end{frame} \begin{frame}[fragile] \frametitle{Plot Tree} \begin{center} <>= plot(as.party(forbes_rpart)) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Inspect Tree Complexity} <>= print(forbes_rpart$cptable) opt <- which.min(forbes_rpart$cptable[,"xerror"]) cp <- forbes_rpart$cptable[opt, "CP"] forbes_prune <- prune(forbes_rpart, cp = cp) @ \end{frame} \begin{frame}[fragile] \frametitle{Plot Pruned Tree} \small \begin{center} <>= plot(as.party(forbes_prune)) @ \end{center} \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Glaucoma Data} Here, we are primarily interested in the construction of a predictor. The relationship between the $62$ covariates and the glaucoma status itself is not very interesting. We start with a large initial tree and prune back branches according to the cross-validation criterion. \small <>= set.seed(290875) @ <>= data("GlaucomaM", package = "TH.data") glaucoma_rpart <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 100)) glaucoma_rpart$cptable opt <- which.min(glaucoma_rpart$cptable[,"xerror"]) cp <- glaucoma_rpart$cptable[opt, "CP"] glaucoma_prune <- prune(glaucoma_rpart, cp = cp) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Pruned Tree for Glaucoma Data} \small \begin{center} <>= plot(as.party(glaucoma_prune)) @ \end{center} \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Problem: Instability} <>= nsplitopt <- vector(mode = "integer", length = 25) for (i in 1:length(nsplitopt)) { cp <- rpart(Class ~ ., data = GlaucomaM)$cptable nsplitopt[i] <- cp[which.min(cp[,"xerror"]), "nsplit"] } table(nsplitopt) @ \end{frame} \begin{frame}[fragile] \frametitle{Bagging: Grow a Forest} <>= trees <- vector(mode = "list", length = 25) n <- nrow(GlaucomaM) bootsamples <- rmultinom(length(trees), n, rep(1, n)/n) mod <- rpart(Class ~ ., data = GlaucomaM, control = rpart.control(xval = 0)) for (i in 1:length(trees)) trees[[i]] <- update(mod, weights = bootsamples[,i]) @ \end{frame} \begin{frame}[fragile] \frametitle{Bagging: Prediction} Estimate the conditional probability of suffering from glaucoma given the covariates for each observation in the original data set by <>= classprob <- matrix(0, nrow = n, ncol = length(trees)) for (i in 1:length(trees)) { classprob[,i] <- predict(trees[[i]], newdata = GlaucomaM)[,1] classprob[bootsamples[,i] > 0,i] <- NA } @ \end{frame} \begin{frame}[fragile] \frametitle{Estimate Misclassification Error} \small <>= avg <- rowMeans(classprob, na.rm = TRUE) predictions <- factor(ifelse(avg > 0.5, "glaucoma", "normal")) predtab <- table(predictions, GlaucomaM$Class) predtab @ \normalsize An honest estimate of the probability of a glaucoma prediction when the patient is actually suffering from glaucoma is \small <>= round(predtab[1,1] / colSums(predtab)[1] * 100) @ \normalsize per cent. \end{frame} \begin{frame}[fragile] \frametitle{Visualizing a Forest of Trees} \small <>= library("lattice") gdata <- data.frame(avg = rep(avg, 2), class = rep(as.numeric(GlaucomaM$Class), 2), obs = c(GlaucomaM[["varg"]], GlaucomaM[["vari"]]), var = factor(c(rep("varg", nrow(GlaucomaM)), rep("vari", nrow(GlaucomaM))))) panelf <- function(x, y) { panel.xyplot(x, y, pch = gdata$class) panel.abline(h = 0.5, lty = 2) } print(xyplot(avg ~ obs | var, data = gdata, panel = panelf, scales = "free", xlab = "", ylab = "Estimated Class Probability Glaucoma")) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Visualizing a Forest of Trees} \begin{center} <>= library("lattice") gdata <- data.frame(avg = rep(avg, 2), class = rep(as.numeric(GlaucomaM$Class), 2), obs = c(GlaucomaM[["varg"]], GlaucomaM[["vari"]]), var = factor(c(rep("varg", nrow(GlaucomaM)), rep("vari", nrow(GlaucomaM))))) panelf <- function(x, y) { panel.xyplot(x, y, pch = gdata$class) panel.abline(h = 0.5, lty = 2) } print(xyplot(avg ~ obs | var, data = gdata, panel = panelf, scales = "free", xlab = "", ylab = "Estimated Class Probability Glaucoma")) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Random Forest} The \stress{bagging} procedure is a special case of a more general approach called \stress{random forest} \citep{HSAUR:Breiman2001b}. The package \Rpackage{randomForest} \citep{PKG:randomForest} can be used to compute such ensembles via <>= library("randomForest") rf <- randomForest(Class ~ ., data = GlaucomaM) @ and we obtain out-of-bag estimates for the prediction error via <>= table(predict(rf), GlaucomaM$Class) @ \end{frame} \begin{frame}[fragile] \frametitle{Unbiased Trees} Another approach to recursive partitioning, making a connection to classical statistical test problems. In each node of those trees, a significance test on independence between any of the covariates and the response is performed and a split is established when the $p$-value is smaller than a pre-specified nominal level $\alpha$. This approach has the advantage that one does not need to prune back large initial trees since we have a statistically motivated stopping criterion -- the $p$-value -- at hand. Such \stress{conditional inference trees} are implemented in the \Rpackage{partykit} package \citep{HSAUR:Hothorn:2006:JCGS}. \end{frame} \begin{frame}[fragile] \frametitle{Unbiased Trees} For the glaucoma data, such a conditional inference tree can be computed using <>= glaucoma_ctree <- ctree(Class ~ ., data = GlaucomaM) @ A convenient display is available. \end{frame} \begin{frame}[fragile] \frametitle{Classification Tree for Glaucoma Data} \begin{center} <>= plot(glaucoma_ctree) @ \end{center} \end{frame} \begin{frame} \frametitle{Summary} Recursive partitioning procedures are rather simple non-parametric tools for regression modelling. The main structures of regression relationship can be visualised in a straightforward way. However, one should bear in mind that the nature of those models is very simple and can only serve as a rough approximation to reality. When multiple simple models are averaged, powerful predictors can be constructed. \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Construct a classification tree for the Boston Housing data which are available as \Rclass{data.frame} \Robject{BostonHousing} from package \Rpackage{mlbench}. Compare the predictions of the tree with the predictions obtained from \Rcmd{randomForest}. Which method is more accurate? \item For each possible cutpoint in \Robject{varg} of the glaucoma data, compute the test statistic of the chi-square test of independence and plot them against the values of \Robject{varg}. Is a simple cutpoint for this variable appropriate for discriminating between healthy and glaucomateous eyes? \item Compare the tree models fitted to the glaucoma data with a logistic regression model. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \normalsize \end{frame} \end{document} HSAUR3/inst/slides/Ch_multiple_linear_regression.Rnw0000644000176200001440000003376714172224326022231 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 6: Multiple Linear Regression} \end{center} focuses on the analysis of cloud seeding experiments. } \begin{frame} \frametitle{clouds: Cloud Seeding} The data were collected in the summer of 1975 from an experiment to investigate the use of massive amounts of silver iodide ($100$ to $1000$ grams per cloud) in cloud seeding to increase rainfall. In the experiment 24 days were judged suitable for seeding on the basis that a measured suitability criterion. On suitable days, a decision was taken at random as to whether to seed or not. \end{frame} \begin{frame} \frametitle{Could Seeding Variables} \begin{description} \item[\Robject{seeding}]: a factor indicating whether seeding action occured (yes or no), \item[\Robject{time}]: number of days after the first day of the experiment, \item[\Robject{cloudcover}]: the percentage cloud cover in the experimental area, measured using radar, \item[\Robject{prewetness}]: the total rainfall in the target area one hour before seeding, \item[\Robject{echomotion}]: a factor showing whether the radar echo was moving or stationary, \item[\Robject{rainfall}]: the amount of rain, \item[\Robject{sne}]: suitability criterion. \end{description} The objective in analysing these data is to see how rainfall is related to the explanatory variables and, in particular, to determine the effectiveness of seeding. \end{frame} \section{Multiple Linear Regression} \begin{frame} \frametitle{Multiple Linear Regression} Assume $y_i$ represents the value of the response variable on the $i$th individual, and that $x_{i1}, x_{i2}, \dots, x_{iq}$ represents the individual's values on $q$ explanatory variables, with $i = 1, \dots, n$. The multiple linear regression model is given by \begin{eqnarray*} y_i = \beta_0 + \beta_1 x_{i1} + \dots + \beta_q x_{iq} + \varepsilon_i. \end{eqnarray*} The residual or error terms $\varepsilon_i$, $i = 1, \dots, n$, are assumed to be independent random variables having a normal distribution with mean zero and constant variance $\sigma^2$. \end{frame} \begin{frame} \frametitle{Multiple Linear Regression} Consequently, the distribution of the random response variable, $y$, is also normal with expected value given by the linear combination of the explanatory variables \begin{eqnarray*} \E(y | x_1, \dots, x_q) = \beta_0 + \beta_1 x_{1} + \dots + \beta_q x_{q} \end{eqnarray*} and with variance $\sigma^2$. The parameters of the model $\beta_k$, $k = 1, \dots, q$, are known as regression coefficients with $\beta_0$ corresponding to the overall mean. The multiple linear regression model can be written most conveniently for all $n$ individuals by using matrices and vectors as \begin{eqnarray*} \y = \X \beta + \varepsilon \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Model Matrix} The \stress{design} or \stress{model matrix} $\X$ \index{Design matrix} \index{Model matrix} consists of the $q$ continuously measured explanatory variables and a column of ones corresponding to the \stress{intercept} term \input{tables/MLR-Xtab} \end{frame} \begin{frame} \frametitle{Nominal Variables} In case one or more of the explanatory variables are nominal or ordinal variables, they are represented by a zero-one dummy coding. Assume that $x_1$ is a factor at $k$ levels, the submatrix of $\X$ corresponding to $x_1$ is a $n \times k$ matrix of zeros and ones, where the $j$th element in the $i$th row is one when $x_{i1}$ is at the $j$th level. \end{frame} \begin{frame}[fragile] \frametitle{Estimation} The least squares estimator of the parameter vector $\beta$ can be calculated by $\hat{\beta} = (\X^\top\X)^{-1} \X^\top \y$ with \begin{eqnarray*} \E(\hat{\beta}) & = & \beta \\ & \text{ and } & \\ \Var(\hat{\beta}) & = & \sigma^2 (\X^\top\X)^{-1} \end{eqnarray*} when the cross-product $\X^\top\X$ is non-singular. \end{frame} \begin{frame} \frametitle{Estimation} If the cross-product $\X^\top\X$ is singular we need to reformulate the model to $\y = \X \C \beta^\star + \varepsilon$ such that $\X^\star = \X \C$ has full rank. The matrix $\C$ is called \stress{contrast matrix} in \S{} and \R{} and the result of the model fit is an estimate $\hat{\beta}^\star$. For the theoretical details we refer to \cite{HSAUR:Searle1971}, the implementation of contrasts in \S{} and \R{} is discussed by \cite{HSAUR:Chambers+Hastie:1992} and \cite{HSAUR:VenablesRipley2002}. \end{frame} \begin{frame}[fragile] \frametitle{Inference} $\hat{y}_i$ is the predicted value of the response variable for the $i$th individual $\hat{y}_i = \hat{\beta}_0 + \hat{\beta}_1 x_{i1} + \dots + \hat{\beta}_q x_{q1}$ and $\bar{y} = \sum_{i = 1}^n y_i / n $ is the mean of the response variable. The mean square ratio \begin{eqnarray*} F = \frac{\sum\limits_{i = 1}^n (\hat{y}_i - \bar{y})^2 / q}{ \sum\limits_{i = 1}^n (\hat{y}_i - y_i)^2 / (n - q - 1)} \sim F_{q, n - q - 1} \end{eqnarray*} provides an $F$-test of the general hypothesis \begin{eqnarray*} H_0: \beta_1 = \dots = \beta_q = 0. \end{eqnarray*} \end{frame} \begin{frame}[fragile] \frametitle{Variance Estimation} An estimate of the variance $\sigma^2$ is \begin{eqnarray*} \hat{\sigma}^2 = \frac{1}{n - q - 1} \sum_{i = 1}^n (y_i - \hat{y_i})^2. \end{eqnarray*} Individual regression coefficients can be assessed by using the ratio $t$-statistics $t_j = \hat{\beta}_j / \sqrt{\Var(\hat{\beta})_{jj}}$, although these ratios should only be used as rough guides to the `significance' %' of the coefficients. The problem of selecting the `best' subset %' of variables to be included in a model is one of the most delicate ones in statistics and we refer to \cite{HSAUR:Miller2002} for the theoretical details and practical limitations. \end{frame} \section{Analysis Using R} \begin{frame} \frametitle{Cloud Seeding} Prior to applying multiple regression to the data it will be useful to look at some graphics to assess their major features. Here we will construct boxplots of the rainfall in each category of the dichotomous explanatory variables and scatterplots of rainfall against each of the continuous explanatory variables. \end{frame} \begin{frame} \begin{center} <>= data("clouds", package = "HSAUR3") layout(matrix(1:2, nrow = 1)) bxpseeding <- boxplot(rainfall ~ seeding, data = clouds, ylab = "Rainfall", xlab = "Seeding") bxpecho <- boxplot(rainfall ~ echomotion, data = clouds, ylab = "Rainfall", xlab = "Echo Motion") @ \end{center} \end{frame} \begin{frame} \begin{center} <>= layout(matrix(1:4, nrow = 2)) plot(rainfall ~ time, data = clouds) plot(rainfall ~ sne, data = clouds, xlab="S-NE criterion") plot(rainfall ~ cloudcover, data = clouds) plot(rainfall ~ prewetness, data = clouds) @ \end{center} \end{frame} \subsection{Fitting a Linear Model} \begin{frame}[fragile] \frametitle{Fitting a Linear Model} It is sensible to assume that the effect that some of the other explanatory variables is modified by seeding and therefore consider a model that allows interaction terms for \Robject{seeding} with each of the covariates except \Robject{time}. This model can be described by the \Rclass{formula} <>= clouds_formula <- rainfall ~ seeding * (sne + cloudcover + prewetness + echomotion) + time @ and the design matrix $\X^\star$ can be computed via <>= Xstar <- model.matrix(clouds_formula, data = clouds) @ \end{frame} \begin{frame}[fragile] \frametitle{Contrast Matrix} By default, treatment contrasts have been applied to the dummy codings of the factors \Robject{seeding} and \Robject{echomotion} as can be seen from the inspection of the \Robject{contrasts} attribute of the model matrix <>= attr(Xstar, "contrasts") @ \end{frame} \begin{frame}[fragile] \frametitle{Fitting a Linear Model} However, such internals are hidden and performed by high-level model fitting functions such as \Rcmd{lm} which will be used to fit the linear model defined by the \Rclass{formula} \Robject{clouds\_formula}: <>= clouds_lm <- lm(clouds_formula, data = clouds) class(clouds_lm) @ A \Rcmd{summary} method can be used to show the conventional regression analysis output. \end{frame} \begin{frame}[fragile] \frametitle{Inspecting Results} The estimates $\hat{\beta}^\star$ can be assessed via <>= coef(clouds_lm) @ <>= coef(clouds_lm)[1:5] cat("...\n") @ \end{frame} \begin{frame}[fragile] \frametitle{Inspecting Results} The corresponding covariance matrix $\Cov(\hat{\beta}^\star)$ is available via <>= vcov(clouds_lm) @ <>= vcov(clouds_lm)[1:5,1:5] cat("...\n") @ \end{frame} \begin{frame} \frametitle{Inspecting Results} The results of the linear model fit suggest the interaction of seeding with cloud coverage significantly affects rainfall. A suitable graph will help in the interpretation of this result. We can plot the relationship between rainfall and S-Ne criterion for seeding and non-seeding days. \end{frame} \begin{frame} \begin{center} <>= psymb <- as.numeric(clouds$seeding) plot(rainfall ~ sne, data = clouds, pch = psymb) abline(lm(rainfall ~ sne, data = clouds, subset = seeding == "no")) abline(lm(rainfall ~ sne, data = clouds, subset = seeding == "yes"), lty = 2) legend("topright", legend = c("No seeding", "Seeding"), pch = 1:2, lty = 1:2, bty = "n") @ \end{center} \end{frame} \subsection{Regression Diagnostics} \begin{frame} \frametitle{Regression Diagnostics} The possible influence of outliers and the checking of assumptions made in fitting the multiple regression model, i.e., constant variance and normality of error terms, can both be undertaken using a variety of diagnostic tools, of which the simplest and most well known are the estimated residuals, i.e., the differences between the observed values of the response and the fitted values of the response. So, after estimation, the next stage in the analysis should be an examination of such residuals from fitting the chosen model to check on the normality and constant variance assumptions and to identify outliers. \end{frame} \begin{frame} \frametitle{Diagnostic Plots} \begin{itemize} \item A plot of residuals against each explanatory variable in the model. The presence of a non-linear relationship, for example, may suggest that a higher-order term, in the explanatory variable should be considered. \item A plot of residuals against fitted values. If the variance of the residuals appears to increase with predicted value, a transformation of the response variable may be in order. \item A normal probability plot of the residuals. After all the systematic variation has been removed from the data, the residuals should look like a sample from a standard normal distribution. A plot of the ordered residuals against the expected order statistics from a normal distribution provides a graphical check of this assumption. \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{Residuals and Fitted Values} We need access to the residuals and the fitted values. The residuals can be found by the \Rcmd{residuals} method and the fitted values of the response from the \Rcmd{fitted} method <>= clouds_resid <- residuals(clouds_lm) clouds_fitted <- fitted(clouds_lm) @ \end{frame} \begin{frame} \begin{center} <>= plot(clouds_fitted, clouds_resid, xlab = "Fitted values", ylab = "Residuals", ylim = max(abs(clouds_resid)) * c(-1, 1), type = "n") abline(h = 0, lty = 2) text(clouds_fitted, clouds_resid, labels = rownames(clouds)) @ \end{center} \end{frame} \begin{frame} \begin{center} <>= qqnorm(clouds_resid, ylab = "Residuals") qqline(clouds_resid) @ \end{center} \end{frame} \begin{frame} \frametitle{Cook's Distance} A further diagnostic that is often very useful is an index plot of the Cook's distances for each observation. This statistic %' \index{Cook's distance} %%' is defined as \begin{eqnarray*} D_k = \frac{1}{(q + 1)\hat{\sigma}^2} \sum_{i=1}^n (\hat{y}_{i(k)} - y_i)^2 \end{eqnarray*} where $\hat{y}_{i(k)}$ is the fitted value of the $i$th observation when the $k$th observation is omitted from the model. The values of $D_k$ assess the impact of the $k$th observation on the estimated regression coefficients. Values of $D_k$ greater than one are suggestive that the corresponding observation has undue influence on the estimated regression coefficients. \end{frame} \begin{frame} \begin{center} <>= plot(clouds_lm, which = 4, sub.caption = NULL) @ \end{center} \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Investigate refitting the cloud seeding data after removing any observations which may give cause for concern. \item Show how the analysis of variance for the data \Robject{weightgain} data can be constructed from the results of applying an appropriate multiple linear regression to the data. \item Investigate the use of the \Rcmd{leaps} function from package \Rpackage{leaps} for the selecting the `best' %%' set of variables predicting rainfall in the cloud seeding data. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/Ch_simple_inference.Rnw0000644000176200001440000003264214172224326020102 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 3: Simple Inference} \end{center} focuses on classical statistical test procedures for the Guessing Lengths, Wave Energy, Water Hardness, Piston Rings, and Rearrests of Juveniles examples. } \section{Introduction} <>= library("vcd") @ \begin{frame} \frametitle{roomwidth: Estimating Room Widths} Shortly after metric units of length were officially introduced in Australia in the 1970s, each of a group of 44 students was asked to guess, to the nearest metre, the width of the lecture hall in which they were sitting. Another group of 69 students in the same room was asked to guess the width in feet, to the nearest foot. The main question is whether estimation in feet and in metres gives different results. \end{frame} \begin{frame} \frametitle{waves: Bending Stress} In a design study for a device to generate electricity from wave power at sea, experiments were carried out on scale models in a wave tank to establish how the choice of mooring method for the system affected the bending stress produced in part of the device. The wave tank could simulate a wide range of sea states and the model system was subjected to the same sample of sea states with each of two mooring methods, one of which was considerably cheaper than the other. The question of interest is whether bending stress differs for the two mooring methods. \end{frame} \begin{frame} \frametitle{water: Mortality and Water Hardness} The data were collected in an investigation of environmental causes of disease. They show the annual mortality per 100,000 for males, averaged over the years 1958--1964, and the calcium concentration (in parts per million) in the drinking water for 61 large towns in England and Wales. The higher the calcium concentration, the harder the water. Towns at least as far north as Derby are identified in the table. Here there are several questions that might be of interest including: are mortality and water hardness related, and do either or both variables differ between northern and southern towns? \end{frame} \begin{frame} \frametitle{pistonrings: Piston-ring Failures} The two-way contingency table shows the number of piston-ring failures in each of three legs of four steam-driven compressors located in the same building. The compressors have identical design and are oriented in the same way. The question of interest is whether the two categorical variables (compressor and leg) are independent. \end{frame} \begin{frame} \frametitle{rearrests: Rearrests of Juveniles} The data arise from a sample of juveniles convicted of felony in Florida in 1987. Matched pairs were formed using criteria such as age and the number of previous offences. For each pair, one subject was handled in the juvenile court and the other was transferred to the adult court. Whether or not the juvenile was rearrested by the end of 1988 was then noted. Here the question of interest is whether the true proportions rearrested were identical for the adult and juvenile court assignments? \end{frame} \section{Statistical Tests} \begin{frame} \frametitle{Statistical Tests} Inference is the process of \begin{itemize} \item drawing conclusions about a population \item on the basis of measurements or observations \item made on a random (!) sample of individuals from the population. \end{itemize} In the following, we shall illustrate the application of the most common statistical tests to the examples shown before. \end{frame} \subsection{Comparing Normal Populations: Student's $t$-Tests} %' \begin{frame} \frametitle{Comparing Normal Populations} The independent samples $t$-test is used to test the null hypothesis that the means of two populations are the same: $H_0: \mu_1 = \mu_2$. The variable to be compared is assumed to have a normal distribution with the same standard deviation in both populations. Test statistic: \begin{eqnarray*} t = \frac{\bar{y}_1 - \bar{y}_2}{s \sqrt{1 / n_1 + 1 / n_2}} \sim t_{n_1 + n_2 - 2} \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Unequal Variances} If the two populations are suspected of having different variances (boxes in boxplots differ significantly), a modified form of the $t$ statistic, known as the Welch test, may be used: \begin{eqnarray*} t = \frac{\bar{y}_1 - \bar{y}_2}{\sqrt{s_1^2 / n_1 + s_2^2 / n_2}} \sim t_\nu. \end{eqnarray*} \end{frame} \begin{frame} \frametitle{Paired Observations} A paired $t$-test is used to compare the means of two populations when samples from the populations are available, in which each individual in one sample is paired with an individual in the other sample or each individual in the sample is observed twice. If the values of the variable of interest, $y$, for the members of the $i$th pair in groups $1$ and $2$ are denoted as $y_{1i}$ and $y_{2i}$, then the differences $d_i = y_{1i} - y_{2i}$ are assumed to have a normal distribution with mean $\mu$ and the null hypothesis here is that the mean difference is zero, i.e., $H_0: \mu = 0$. The paired $t$-statistic is \begin{eqnarray*} t = \frac{\bar{d}}{s / \sqrt{n}} \sim t_{n-1}. \end{eqnarray*} \end{frame} \subsection{Non-parametric Analogues of Independent Samples and Paired $t$-Tests} \begin{frame} \frametitle{Wilcoxon-Mann-Whitney Test} For two independent groups, the Wilcoxon Mann-Whitney rank sum test applies the $t$-statistic to the joint ranks of all measurements in both groups instead of the original measurements. The null hypothesis to be tested is that the two populations being compared have identical distributions. \end{frame} \begin{frame} \frametitle{Wilcoxon-Signed-Rank Test} The Wilcoxon signed-rank statistic is based on the ranks of the absolute differences $|d_i|$. The statistic is defined as the sum of the ranks associated with positive difference $d_i > 0$. It should be noted that this test is only valid when the differences $d_i$ are symmetrically distributed. \end{frame} \subsection{Testing Independence in Contingency Tables} \begin{frame} \frametitle{Contingency Tables} When a sample of $n$ observations in two nominal (categorical) variables are available, they can be arranged into a cross-classification \input{tables/SI_rtimesc} \end{frame} \begin{frame} \frametitle{$\chi^2$-Test} Under the null hypothesis of independence of the row variable $x$ and the column variable $y$, estimated expected values $E_{jk}$ for cell $(j, k)$ can be computed from the corresponding margin totals $E_{jk} = n_{j\cdot} n_{\cdot k} / n$. The test statistic is \begin{eqnarray*} X^2 = \sum_{j = 1}^r \sum_{k = 1}^c \frac{(n_{jk} - E_{jk})^2}{E_{jk}} \sim \chi^2_{(r-1)(c-1)} \end{eqnarray*} \end{frame} \subsection{McNemar's Test} %' \begin{frame} \frametitle{McNemar's Test} Often categorical data arise from \stress{paired} observations, for example, cases matched with controls on variables such as sex, age and so on, or observations made on the same subjects on two occasions: \input{tables/SI_mcnemar} Under the hypothesis that the two populations do not differ in their probability of having the characteristic present, the test statistic \begin{eqnarray*} X^2 = \frac{ (c - b)^2}{c + b} \sim \chi^2_1. \end{eqnarray*} \end{frame} \section{Analysis Using R} \subsection{Estimating the Width of a Room} \begin{frame}[fragile] \frametitle{Estimating the Width of a Room} The first step should be to convert the metre estimates into feet: <>= convert <- ifelse(roomwidth$unit == "feet", 1, 3.28) @ Now, we get the usual summary statistics by <>= tapply(roomwidth$width * convert, roomwidth$unit, summary) @ \end{frame} \begin{frame}[fragile] \frametitle{Boxplots} \begin{center} <>= layout(matrix(c(1,2,1,3), nrow = 2, ncol = 2, byrow = FALSE)) boxplot(I(width * convert) ~ unit, data = roomwidth, ylab = "Estimated width (feet)", var.width = TRUE, names = c("Estimates in feet", "Estimates in metres (converted to feet)")) feet <- roomwidth$unit == "feet" qqnorm(roomwidth$width[feet], ylab = "Estimated width (feet)") qqline(roomwidth$width[feet]) qqnorm(roomwidth$width[!feet], ylab = "Estimated width (metres)") qqline(roomwidth$width[!feet]) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Test for Differences} The two-sample test problem is specified by a \Rclass{formula} and the $t$-test reads <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = TRUE) @ \end{frame} \begin{frame}[fragile] \frametitle{Test for Differences} The Welch-test can be computed via <>= t.test(I(width * convert) ~ unit, data = roomwidth, var.equal = FALSE) @ \end{frame} \begin{frame}[fragile] \frametitle{Test for Differences} The Wilcoxon Mann-Whitney test as one alternative test procedure: <>= wilcox.test(I(width * convert) ~ unit, data = roomwidth, conf.int = TRUE) @ \end{frame} \subsection{Wave Energy Device Mooring} \begin{frame}[fragile] \frametitle{Wave Energy Device Mooring} The \Robject{waves} data set requires the use of a matched pairs $t$-test. This test assumes that the differences between the matched observations have a normal distribution so we can begin by checking this assumption by constructing a boxplot and a normal probability plot \end{frame} \begin{frame} \begin{center} <>= mooringdiff <- waves$method1 - waves$method2 layout(matrix(1:2, ncol = 2)) boxplot(mooringdiff, ylab = "Differences (Newton metres)", main = "Boxplot") abline(h = 0, lty = 2) qqnorm(mooringdiff, ylab = "Differences (Newton metres)") qqline(mooringdiff) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Test for Zero Mean} The paired-$t$-test is performed via <>= t.test(mooringdiff) @ \end{frame} \begin{frame}[fragile] \frametitle{Test for Zero Median} <>= wilcox.test(mooringdiff) @ \end{frame} \subsection{Mortality and Water Hardness} \begin{frame}[fragile] \frametitle{Mortality and Water Hardness} We will construct a scatterplot of the data enhanced somewhat by the addition of information about the marginal distributions of water hardness (calcium concentration) and mortality, and by adding the estimated linear regression fit for mortality on hardness. The scatterplot shows that as hardness increases mortality decreases, and the histogram for the water hardness shows it has a rather skewed distribution. \end{frame} \begin{frame} \begin{center} <>= nf <- layout(matrix(c(2, 0, 1, 3), 2, 2, byrow = TRUE), c(2, 1), c(1, 2), TRUE) psymb <- as.numeric(water$location) plot(mortality ~ hardness, data = water, pch = psymb) abline(lm(mortality ~ hardness, data = water)) legend("topright", legend = levels(water$location), pch = c(1,2), bty = "n") hist(water$hardness) boxplot(water$mortality) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Testing Correlation} We can both calculate the Pearson's correlation coefficient %' between the two variables and test whether it differs significantly for zero by using <>= cor.test(~ mortality + hardness, data = water) @ \end{frame} \subsection{Piston-ring Failures} \begin{frame}[fragile] \frametitle{Piston-ring Failures} The first step in the analysis of the \Robject{pistonrings} data is to apply the chi-squared test for independence. This we can do in \R{} using <>= chisq.test(pistonrings) @ \end{frame} \begin{frame}[fragile] \frametitle{Inspection Deviations} Rather than looking at the simple differences of observed and expected values for each cell it is preferable to consider a \stress{standardised residual}: <>= chisq.test(pistonrings)$residuals @ \end{frame} \begin{frame} \begin{center} <>= library("vcd") assoc(pistonrings) @ \end{center} \end{frame} \subsection{Rearrests of Juveniles} \begin{frame}[fragile] \frametitle{Rearrests of Juveniles} In \Robject{rearrests} the counts in the four cells refer to the matched pairs of subjects; for example, in $\Sexpr{rearrests[1,1]}$ pairs both members of the pair were rearrested. Here, we use McNemar's test: <>= mcnemar.test(rearrests, correct = FALSE) binom.test(rearrests[2], n = sum(rearrests[c(2,3)]))$p.value @ \end{frame} \section*{Exercises} \begin{frame}[fragile] \frametitle{Exercises} \begin{itemize} \item After the students had made the estimates of the width of the lecture hall the room width was accurately measured and found to be $13.1$ metres ($43.0$ feet). Use this additional information to determine which of the two types of estimates was more precise. \item For the mortality and water hardness data calculate the correlation between the two variables in each region, north and south. \item For the data in table \Robject{rearrests} estimate the difference between the probability of being rearrested after being tried in an adult court and in a juvenile court, and find a $95\%$ confidence interval for the population difference. \end{itemize} \end{frame} \end{document} HSAUR3/inst/slides/tables/0000755000176200001440000000000014172224326014734 5ustar liggesusersHSAUR3/inst/slides/tables/CA_perm.tex0000644000176200001440000000057614172224326016774 0ustar liggesusers \begin{center} \begin{longtable}{rrl} \caption{Number of possible partitions depending on the sample size $n$ and number of clusters $k$. \label{CA:perm}} \\ $n$ & $k$ & Number of possible partitions \\ \hline $15$ & $3$ & $2,375,101$ \\ $20$ & $4$ & $45,232,115,901$ \\ $25$ & $8$ & $690,223,721,118,368,580$ \\ $100$ & $5$ & $10^{68}$ \\ \end{longtable} \end{center} HSAUR3/inst/slides/tables/MLR-ANOVA-tab.tex0000644000176200001440000000067714172224326017530 0ustar liggesusers \begin{center} \begin{longtable}{lccc} \caption{Analysis of variance table for the multiple linear regression model. \label{MLR-ANOVA-tab}} \\ Source of variation & Sum of squares & Degrees of freedom \\ \hline Regression & $\sum\limits_{i = 1}^n (\hat{y}_i - \bar{y})^2$ & $q$ \\ Residual & $\sum\limits_{i = 1}^n (\hat{y}_i - y_i)^2$ & $n - q - 1$ \\ Total & $\sum\limits_{i = 1}^n (y_i - \bar{y})^2$ & $n - 1$ \\ \end{longtable} \end{center} HSAUR3/inst/slides/tables/SI_mcnemar.tex0000644000176200001440000000030414172224326017470 0ustar liggesusers \begin{center} \begin{tabular}{cccc} & & \multicolumn{2}{c}{Sample 1} \\ & & present & absent \\ Sample 2 & present & $a$ & $b$ \\ & absent & $c$ & $d$ \\ \end{tabular} \end{center} HSAUR3/inst/slides/tables/Lanza.tex0000644000176200001440000000052314172224326016523 0ustar liggesusers \begin{center} \begin{tabular}{ll} Classification & Endoscopy Examination \\ \hline 1 & No visible lesions \\ 2 & One haemorrhage or erosion \\ 3 & 2-10 haemorrhages or erosions \\ 4 & 11-25 haemorrhages or erosions \\ 5 & More than 25 haemorrhages or erosions \\ & or an invasive ulcer of any size\\ \hline \end{tabular} \end{center} HSAUR3/inst/slides/tables/SI_rtimesc.tex0000644000176200001440000000113014172224326017512 0ustar liggesusers \begin{center} \begin{tabular}{cc|ccc|c} & & & $y$ & & \\\ & & $1$ & $\dots$ & $c$ & \\ \hline & $1$ & $n_{11}$ & $\dots$ & $n_{1c}$ & $n_{1 \cdot}$ \\\ & $2$ & $n_{21}$ & $\dots$ & $n_{2c}$ & $n_{2 \cdot}$ \\\ $x$ & $\vdots$ & $\vdots$ & $\dots$ & $\vdots$ & $\vdots$ \\\ & $r$ & $n_{r1}$ & $\dots$ & $n_{rc}$ & $n_{r \cdot}$ \\ \hline & & $n_{\cdot 1}$ & $\dots$ & $n_{\cdot c}$ & $n$ \\\ \end{tabular} \end{center}HSAUR3/inst/slides/tables/exMDS.tex0000644000176200001440000000044314172224326016437 0ustar liggesusers\begin{eqnarray*} s_{ij} = \left\{ \begin{array}{lcl} 9 & \text{if} & i = j \\ 8 & \text{if} & 1 \le | i - j | \le 3 \\ 7 & \text{if} & 4 \le | i - j | \le 6 \\ & \cdots & \\ 1 & \text{if} & 22 \le | i - j | \le 24 \\ 0 & \text{if} & | i - j | \ge 25 \\ \end{array} \right. \end{eqnarray*} HSAUR3/inst/slides/tables/CI_rtimesc.tex0000644000176200001440000000123414172224326017477 0ustar liggesusers \begin{center} \begin{longtable}{cc|ccc|c} \caption{The general $r \times c$ table. \label{SI:rtimesc}} \\ & & & $y$ & & \\\ & & $1$ & $\dots$ & $c$ & \\ \hline & $1$ & $n_{11}$ & $\dots$ & $n_{1c}$ & $n_{1 \cdot}$ \\\ & $2$ & $n_{21}$ & $\dots$ & $n_{2c}$ & $n_{2 \cdot}$ \\\ $x$ & $\vdots$ & $\vdots$ & $\dots$ & $\vdots$ & $\vdots$ \\\ & $r$ & $n_{r1}$ & $\dots$ & $n_{rc}$ & $n_{r \cdot}$ \\ \hline & & $n_{\cdot 1}$ & $\dots$ & $n_{\cdot c}$ & $n$ \\\ \end{longtable} \end{center}HSAUR3/inst/slides/tables/PCA_tab.tex0000644000176200001440000000056014172224326016710 0ustar liggesusers \begin{center} \begin{longtable}{cccccc} \caption{Correlations for calculus measurements for the six anterior mandibular teeth.} \\ \hline 1.00 & & & & & \\ 0.54 & 1.00 & & & & \\ 0.34 & 0.65 & 1.00 & & & \\ 0.37 & 0.65 & 0.84 & 1.00 & & \\ 0.36 & 0.59 & 0.67 & 0.80 & 1.00 & \\ 0.62 & 0.49 & 0.43 & 0.42 & 0.55 & 1.00 \\ \hline \end{longtable} \end{center} HSAUR3/inst/slides/tables/MLR-Xtab.tex0000644000176200001440000000047314172224326017010 0ustar liggesusers\begin{eqnarray*} \X = \left( \begin{array}{ccccc} 1 & x_{11} & x_{12} & \dots & x_{1q} \\ 1 & x_{21} & x_{22} & \dots & x_{2q} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \dots & x_{nq} \\ \end{array} \right). \end{eqnarray*} HSAUR3/inst/slides/tables/rec.tex0000644000176200001440000000120614172224326016226 0ustar liggesusers\begin{tabular}{llll} \Rpackage{boot} & \Rpackage{lattice} & \Rpackage{Matrix} & \Rpackage{mgcv}\\ \Rpackage{rpart} & \Rpackage{survival} & \Rpackage{base} & \Rpackage{class}\\ \Rpackage{cluster} & \Rpackage{codetools} & \Rpackage{compiler} & \Rpackage{datasets}\\ \Rpackage{foreign} & \Rpackage{graphics} & \Rpackage{grDevices} & \Rpackage{grid}\\ \Rpackage{KernSmooth} & \Rpackage{MASS} & \Rpackage{methods} & \Rpackage{nlme}\\ \Rpackage{nnet} & \Rpackage{parallel} & \Rpackage{spatial} & \Rpackage{splines}\\ \Rpackage{stats} & \Rpackage{stats4} & \Rpackage{tcltk} & \Rpackage{tools}\\ \Rpackage{utils} & NA & NA & NA\\ \end{tabular} HSAUR3/inst/slides/Ch_logistic_regression_glm.Rnw0000644000176200001440000003716714172224326021516 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 7: Logistic Regression and \\ Generalised Linear Models} \end{center} explains how to fit regression models to binary response variables and to counts. } \section{Introduction} \begin{frame} \frametitle{Introduction} Ordinary linear regression models assume the response variable to be (approximately) normal distributed. However, many experiments require an assessment of the relationship between covariates and a binary response variable, i.e., a variable measured at only two levels, or counts. Generalised linear models provide a framework for the estimation of regression models with non-normal response variables. The regression relationship between the covariates and the response is modelled by a linear combination of the covariates. \end{frame} \begin{frame} \frametitle{plasma: Erythrocyte sedimentation rate (ESR)} The erythrocyte sedimentation rate (ESR) is the rate at which red blood cells (erythrocytes) settle out of suspension in blood plasma, when measured under standard conditions. If the ESR increases when the level of certain proteins in the blood plasma rise in association with conditions such as rheumatic diseases, chronic infections and malignant diseases, its determination might be useful in screening blood samples taken from people suspected of suffering from one of the conditions mentioned. The absolute value of the ESR is not of great importance, rather it is whether it is less than 20mm/hr since lower values indicate a `healthy' individual. The question of interest is whether there is any association between the probability of an ESR reading greater than 20mm/hr and the levels of the two plasma proteins. If there is not then the determination of ESR would not be useful for diagnostic purposes. \end{frame} \begin{frame} \frametitle{womensrols: Women's role in society} In a survey carried out in 1974/1975 each respondent was asked if he or she agreed or disagreed with the statement `Women should take care of running their homes and leave running the country up to men'. The questions here are whether the responses of men and women differ and how years of education affects the response. \end{frame} \begin{frame} \frametitle{polyps: Colonic polyps} The data stem from an placebo-controlled trial of a non-steroidal anti-inflammatory drug in the treatment of familial andenomatous polyposis (FAP). The trial was halted after a planned interim analysis had suggested compelling evidence in favour of the treatment. The data give the number of colonic polyps after a $12$-month treatment period. The question of interest is whether the number of polyps is related to treatment and/or age of patients. \end{frame} \section{Logistic Regression and Generalised Linear Models} \begin{frame} \frametitle{Logistic Regression} The ordinary multiple regression model is described as $y \sim \N(\mu, \sigma^2)$ where $\mu = \beta_0 + \beta_1 x_1 + \dots + \beta_q x_q$. This makes it clear that this model is suitable for continuous response variables with, conditional on the values of the explanatory variables, a normal distribution with constant variance. So clearly the model would not be suitable for applying to the erythrocyte sedimentation rate since the response variable is binary. \end{frame} \begin{frame} \frametitle{Logistic Regression} For modelling the expected value of the response directly as a linear function of explanatory variables, a suitable transformation is modelled. In this case the most suitable transformation is the \stress{logistic} or \stress{logit} function of $\pi = P(y = 1)$ leading to the model \begin{eqnarray*} \text{logit}(\pi) = \log\left(\frac{\pi}{1 - \pi}\right) = \beta_0 + \beta_1 x_1 + \dots + \beta_q x_q. \end{eqnarray*} The logit of a probability is simply the log of the odds of the response taking the value one. \end{frame} \begin{frame} \frametitle{Logistic Regression} The logit function can take any real value, but the associated probability always lies in the required $[0,1]$ interval. In a logistic regression model, the parameter $\beta_j$ associated with explanatory variable $x_j$ is such that $\exp(\beta_j)$ is the odds that the response variable takes the value one when $x_j$ increases by one, conditional on the other explanatory variables remaining constant. The parameters of the logistic regression model (the vector of regression coefficients $\beta$) are estimated by maximum likelihood. \end{frame} \begin{frame} \frametitle{The Generalised Linear Model (GLM)} Essentially GLMs consist of three main features; \begin{enumerate} \item An \stress{error distribution} giving the distribution of the response around its mean. \item A \stress{link function}, $g$, that shows how the linear function of the explanatory variables is related to the expected value of the response \begin{eqnarray*} g(\mu) = \beta_0 + \beta_1 x_1 + \dots + \beta_q x_q. \end{eqnarray*} \item The \stress{variance function} that captures how the variance of the response variable depends on the mean. \end{enumerate} Estimation of the parameters in a GLM is usually achieved through a maximum likelihood approach. \end{frame} \section{Analysis Using R} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Plot} At first, we will look at conditional density plots of the response variable given the two explanatory variables describing how the conditional distribution of the categorical variable ESR changes over the numerical variables fibrinogen and gamma globulin. It appears that higher levels of each protein are associated with ESR values above $20$ mm/hr. \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Plot} \begin{center} <>= layout(matrix(1:2, ncol = 2)) cdplot(ESR ~ fibrinogen, data = plasma) cdplot(ESR ~ globulin, data = plasma) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: GLM} We can now fit a logistic regression model to the data using the \Rcmd{glm} function. We start with a model that includes only a single explanatory variable, \Robject{fibrinogen}. The code to fit the model is <>= plasma_glm_1 <- glm(ESR ~ fibrinogen, data = plasma, family = binomial()) @ \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Summary} \small <>= summary(plasma_glm_1) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Estimation} From the summary we see that the regression coefficient for fibrinogen is significant at the $5\%$ level. An increase of one unit in this variable increases the log-odds in favour of an ESR value greater than $20$ by an estimated $\Sexpr{round(coef(plasma_glm_1)["fibrinogen"], 2)}$ with 95\% confidence interval <>= confint(plasma_glm_1)["fibrinogen",] @ \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: GLM} Nevertheless it seems likely that increased values of fibrinogen lead to a greater probability of an ESR value greater than $20$. We can now fit a logistic regression model that includes both explanatory variables using the code <>= plasma_glm_2 <- glm(ESR ~ fibrinogen + globulin, data = plasma, family = binomial()) @ \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Summary} \small <>= summary(plasma_glm_2) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Model Comparison} <>= anova(plasma_glm_1, plasma_glm_2, test = "Chisq") @ \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Prediction} The estimated conditional probability of a ESR value larger $20$ for all observations can be computed by <>= prob <- predict(plasma_glm_1, type = "response") @ \end{frame} \begin{frame}[fragile] \frametitle{ESR and Plasma Proteins: Plot} %%\setkeys{Gin}{width = 0.5\textwidth} \tiny \begin{center} <>= plot(globulin ~ fibrinogen, data = plasma, xlim=c(2,6), ylim=c(25,50), pch = ".") symbols(plasma$fibrinogen, plasma$globulin, circles = prob, add = TRUE) @ \end{center} \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: GLM} %' We first fit a model that includes the two explanatory variables using the code <>= fm <- cbind(agree,disagree) ~ gender + education womensrole_glm_1 <- glm(fm, data = womensrole, family = binomial()) @ \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Summary} %' \small <>= summary(womensrole_glm_1) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Plot} We now are going to construct a plot comparing the observed proportions of agreeing with those fitted by our fitted model. Because we will reuse this plot for another fitted object later on, we define a function which plots years of education against some fitted probabilities, e.g., \tiny <>= role.fitted1 <- predict(womensrole_glm_1, type = "response") myplot <- function(role.fitted) { f <- womensrole$gender == "Female" plot(womensrole$education, role.fitted, type = "n", ylab = "Probability of agreeing", xlab = "Education", ylim = c(0,1)) lines(womensrole$education[!f], role.fitted[!f], lty = 1) lines(womensrole$education[f], role.fitted[f], lty = 2) lgtxt <- c("Fitted (Males)", "Fitted (Females)") legend("topright", lgtxt, lty = 1:2, bty = "n") y <- womensrole$agree / (womensrole$agree + womensrole$disagree) size <- womensrole$agree + womensrole$disagree size <- size - min(size) size <- (size / max(size)) * 3 + 1 text(womensrole$education, y, ifelse(f, "\\VE", "\\MA"), family = "HersheySerif", cex = size) } @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Plot} \begin{center} <>= myplot(role.fitted1) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Interactions} %' An interaction term for gender and education can be included into the logistic regression model via <>= fm <- cbind(agree,disagree) ~ gender * education womensrole_glm_2 <- glm(fm, data = womensrole, family = binomial()) @ \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Interactions} %' \small <>= summary(womensrole_glm_2) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Women's Role in Society: Plot} \begin{center} <>= myplot(predict(womensrole_glm_2, type = "response")) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Poisson GLM} We will apply a GLM with a log link function, ensuring that fitted values are positive, and a Poisson error distribution, i.e., \begin{eqnarray*} \P(y) = \frac{e^{-\lambda}\lambda^y}{y!}. \end{eqnarray*} This type of GLM is often known as \stress{Poisson regression}. \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Poisson GLM} <>= polyps_glm_1 <- glm(number ~ treat + age, data = polyps, family = poisson()) @ (The default link function when the Poisson family is requested is the log function.) \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Summary} \small <>= summary(polyps_glm_1) @ \normalsize \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Overdispersion} We see that the regression coefficients for both age and treatment are highly significant. But there is a problem with the model, but before we can deal with it we need a short digression to describe in more detail the third component of GLMs mentioned in the previous section, namely their variance functions, $V(\mu)$. Both the Poisson and binomial distributions have variance functions that are completely determined by the mean. The phenomenon of greater variability than expected under the model is observed is called \stress{overdispersion}. \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Quasi-Likelihood} We can deal with overdispersion by using a procedure known as \stress{quasi-likelihood}, which allows the estimation of model parameters without fully knowing the error distribution of the response variable. <>= polyps_glm_2 <- glm(number ~ treat + age, data = polyps, family = quasipoisson()) @ \end{frame} \begin{frame}[fragile] \frametitle{Colonic Polyps: Summary} \small <>= summary(polyps_glm_2) @ \normalsize \end{frame} \section{Summary} \begin{frame} \frametitle{Summary} Generalised linear models provide a very powerful and flexible framework for the application of regression models to a variety of non-normal response variables, for example, logistic regression to binary responses and Poisson regression to count data. \end{frame} \section{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Construct a perspective plot of the fitted values from a logistic regression model fitted to the \Robject{plasma} data in which both fibrinogen and gamma globulin are included as explanatory variables. \item \cite{HSAUR:Collett2003} argues that two outliers need to be removed from the \Robject{plasma} data. Try to identify those two unusual observations by means of a scatterplot. \item The \Robject{bladdercancer} data arise from $31$ male patients who have been treated for superficial bladder cancer \citep[see][]{HSAUR:Seeber1998}, and give the number of recurrent tumours during a particular time after the removal of the primary tumour, along with the size of the original tumour (whether smaller or larger than $3$ cm). Use Poisson regression to estimate the effect of size of tumour on the number of recurrent tumours. \end{itemize} \end{frame} \begin{frame} \frametitle{Exercises} \begin{itemize} \item The \Robject{leuk} data show the survival times from diagnosis of patients suffering from leukemia and the values of two explanatory variables, the white blood cell count (\Robject{wbc}) and the presence or absence of a morphological characteristic of the white blood cells (\Robject{ag}) \citep[the data are available in package \Rpackage{MASS},][]{HSAUR:VenablesRipley2002}. Define a binary outcome variable according to whether or not patients lived for at least 24 weeks after diagnosis and then fit a logistic regression model to the data. It may be advisable to transform the very large white blood counts to avoid regression coefficients very close to 0 (and odds ratios very close to 1). And a model that contains only the two explanatory variables may not be adequate for these data. Construct some graphics useful in the interpretation of the final model you fit. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/slides/definitions.tex0000644000176200001440000001012514172224326016516 0ustar liggesusers %%% copy Sweave.sty definitions %%% keeps `sweave' from adding `\usepackage{Sweave}': DO NOT REMOVE %\usepackage{Sweave} \RequirePackage[T1]{fontenc} \RequirePackage{graphicx,ae,fancyvrb} \IfFileExists{upquote.sty}{\RequirePackage{upquote}}{} \usepackage{relsize} \DefineVerbatimEnvironment{Sinput}{Verbatim}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} \DefineVerbatimEnvironment{Scode}{Verbatim}{} \newenvironment{Schunk}{}{} %%% environment for raw output \newcommand{\SchunkRaw}{\renewenvironment{Schunk}{}{} \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontfamily=courier, fontshape=it, fontsize=\small} \rawSinput } %%% environment for labeled output \newcommand{\nextcaption}{} \newcommand{\SchunkLabel}{ \renewenvironment{Schunk}{\begin{figure}[ht] }{\caption{\nextcaption} \end{figure} } \DefineVerbatimEnvironment{Sinput}{Verbatim}{frame = topline} \DefineVerbatimEnvironment{Soutput}{Verbatim}{frame = bottomline, samepage = true, fontfamily=courier, fontshape=it, fontsize=\relsize{-1}} } %%% S code with line numbers \DefineVerbatimEnvironment{Sinput} {Verbatim} { %% numbers=left } \newcommand{\numberSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{numbers=left} } \newcommand{\rawSinput}{ \DefineVerbatimEnvironment{Sinput}{Verbatim}{} } %%% R / System symbols \newcommand{\R}{\textsf{R}} \newcommand{\rR}{{R}} \renewcommand{\S}{\textsf{S}} \newcommand{\SPLUS}{\textsf{S-PLUS}} \newcommand{\rSPLUS}{{S-PLUS}} \newcommand{\SPSS}{\textsf{SPSS}} \newcommand{\EXCEL}{\textsf{Excel}} \newcommand{\ACCESS}{\textsf{Access}} \newcommand{\SQL}{\textsf{SQL}} %%\newcommand{\Rpackage}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Robject}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\Rclass}[1]{\hbox{\rm\textit{#1}}} %%\newcommand{\Rcmd}[1]{\hbox{\rm\texttt{#1}}} \newcommand{\Rpackage}[1]{\index{#1 package@\textit{#1} package}\textit{#1}} \newcommand{\Robject}[1]{\texttt{#1}} \newcommand{\Rclass}[1]{\index{#1 class@\textit{#1} class}\textit{#1}} \newcommand{\Rcmd}[1]{\index{#1 function@\texttt{#1} function}\texttt{#1}} \newcommand{\Roperator}[1]{\texttt{#1}} \newcommand{\Rarg}[1]{\texttt{#1}} \newcommand{\Rlevel}[1]{\texttt{#1}} %%% other symbols \newcommand{\file}[1]{\hbox{\rm\texttt{#1}}} %%\newcommand{\stress}[1]{\index{#1}\textit{#1}} \newcommand{\stress}[1]{\textit{#1}} \newcommand{\booktitle}[1]{`#1'} %%' %%% Math symbols \newcommand{\E}{\mathsf{E}} \newcommand{\Var}{\mathsf{Var}} \newcommand{\Cov}{\mathsf{Cov}} \newcommand{\Cor}{\mathsf{Cor}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \renewcommand{\a}{\mathbf{a}} \newcommand{\W}{\mathbf{W}} \newcommand{\C}{\mathbf{C}} \renewcommand{\H}{\mathbf{H}} \newcommand{\X}{\mathbf{X}} \newcommand{\B}{\mathbf{B}} \newcommand{\V}{\mathbf{V}} \newcommand{\I}{\mathbf{I}} \newcommand{\D}{\mathbf{D}} \newcommand{\bS}{\mathbf{S}} \newcommand{\N}{\mathcal{N}} \renewcommand{\P}{\mathsf{P}} \usepackage{amstext} %%% links \usepackage{hyperref} %%% captions & tables %% : conflics with figure definition in chapman.cls %%\usepackage[format=hang,margin=10pt,labelfont=bf]{caption} %% \usepackage{longtable} \usepackage{rotating} %%% Bibliography \usepackage[round,comma]{natbib} %%% texi2dvi complains that \newblock is undefined, hm... \def\newblock{\hskip .11em plus .33em minus .07em} %%% Example sections %% URLs \newcommand{\curl}[1]{\begin{center} \url{#1} \end{center}} %%% for manual corrections %\renewcommand{\baselinestretch}{2} %%% plot sizes \setkeys{Gin}{width=0.65\textwidth} %%% color \usepackage{color} %%% hyphenations \hyphenation{drop-out} %%% local definitions \setlength{\parskip}{\parsep} \usepackage[utf8]{inputenc}HSAUR3/inst/slides/graphics/0000755000176200001440000000000014172224326015262 5ustar liggesusersHSAUR3/inst/slides/graphics/HSAUR.jpg0000644000176200001440000010037014172224326016647 0ustar liggesusersJFIFvvCreated with GIMPC       C " \  !1TU"AQSaq2R#B &3bru67ds$%5Vc8CDv4EtJ !1AQ"aq2R#BSr35bcs$4TC ?я,:Zoh_}KRxi}㥦L#4E/7O,:Zoh_}D2>KRxi}㥦L#4E/7O,:Zoh_}D2>KRxi}㥦L#4E/7O,:Zoh_}DȎQ\R,:Zoh_}ks#{v]a-phe-\p;6|;]-BCs'jM++WUHQFM7=ll:<ή9Xv/Qj+_k9r_[g]DM\E}gOS"}gj/3=_zg{/OHDu8zB'{V">M\E}gOS"}gj/3=_zg{/OHDu8zB'{V">M\E}gOS"}gj/3=_zg{/OHDu8zB'{Zni[(Fu ފFjD쮊JRTJU˂u;C׽K;×[An xO xsNJ Zrҽ?o⯐Ci6ޓ--~(vJ07Ù7mʉ|R?U}mFt4tI@<D}d! -)%)=@WsV;ź~Nv)gB[o"dh=)JV$)DJRDUoIe`R)_Mv^.]9OFu|?ܺv7;ѬϮ]M-ǮD$?PRxg68)JRNULF1q?Knq>#l6DQD!FF=ve!1Ksy[+o<*lxs{G]ŧ+o<*mis{G&+o<*mis{G&+o<*mis{G&+o<*mis{G&+o<*mis{G&+o<*mis{G&+o<*mis{G/ (͉Y)XEKKmLZ"C BR}A fMfpY74d9N YӶ~0p5?*=Z\x X\X-r't2>=ulv(Gceu<([c/;泦8_ų ZC]Igzƫ?K]%mjh8VeH JTJ#nN)k`|)DJRD)DJRD)DT]^rz1Kt^sAOggKǘiǏ1ԟEc<'SR?DQ1:}EJp Te>mi$r㖣?mmO&l4cFqO|) (r+ZW߳Md3gb>3kfQ$ŵ-MǙDiǏ1i+@ 1+V5.gO+g>&6\I̸HV^nP^ (XkGh_0o76qTN}{N?+{T"yNDu66~gyT4'DO>ScmM58:ۮ -%? ]kwgEyVp`\t^@-yBA[3mF+4>u!ĭr[Z6;A~#YoiAV$_m]aF_J' Uxߣ_bь\x, "+Ax-N{Ŗ  ꟣ΈI)WW"k ʳK!ȓ]f;쨥ƝYJG3c=ջҽLMcݠ+ĝG|u<S7씫4= a.Vbk| ܴf ^#ʵ1rom ɬd:͕>QO<']^v OH;rVv4f6q Pk^Wlmp;Fn~CYGE03*h23l6 (Eq]yCk!$gvV.GXT1.: ߯܃Sc&2]m>L! IJRÓڭ25tʒ]R!mS#!X GLJ%k(xúAƺ<4$S8+i/nM, #Vvºh^n 0 q=>ᭀVqՎ]/A9[Z6s*7rC,I1F4&08 'ۋ-AJJêWQ }k;ATm"OCîܜ;evBaK;.Fwx=qd!*ko$u(a]"mv蓰’@FjRsBuy9+>amv[E:󑮶g[FHJ۹FyN괈t7&iELMT7|9XF^w+2*yD^@aCFUis.) PJDPN쀬#tqzJy˫)zpzU#JŦ…1c9uq/k_$|k0 m+j:UΌ.Q,_,-9 8ڜqҬ^~2Nyr txM u;H2J}O/+;$2|y7VPtǂmqܮNwa#=F+V^?wlb.a=Z9}9\]cpwa:#+Q#]5xCZMKS-k$8TP'Ty4e((BV=`_^uYNEXre2|T%"+Ú4} vdQ[ʔ!9o$r~/F%a1ՆsW[Lwĕ6ڛq$9H?ʼaR#A2Ybo6؈..FC|(\<6Umݯ [vdm: 4'rmJaCm(Z~ קּn!ܦ[r #Q^nY$$3:՟)ʰV,%3qt|?uvg#mmG^<5GG}8:>{t\mG^<5\)%Va(Hl`+Q8:>{n/Tz0򄁩A(]wkһh7Q~b*ՀQqrYocy{2ty^̯s:RX Ai1Ѳ^R _c)?O 7ě$8CPJy53Ʈ%i/1, ]ᯂ ̋:"\ hJȑ Xt]%mNw{ύ!pgز[qE8rN>s o)kit1$U¹]qJܒ6BuT<ȐjBKֻ'\,РҖJRBG[mtz|d6:9][kÙZ6u330geAymݣUOܽ!IQl,Gޅ93}X1Xߍ M#!59bо葫r>ȷW)Kad53;ޟpFtQ,e*\C# /YE.j]cf4'Kq lTjS2a0\8 msڨ]=_\1ղi諬 KzXTG'-en9%mW{k.))-2iJQ'֋ [m3O-e[/vKV Ci!@Fc.CU==:wd)JN8nq\Yil$'d!CSQ9$@7x X>> Ccqu;Xeh"Ⱝe:O eUNkчI_q#!k'/,=[Xs h#HxBѕq,깶IqnT:] \+жNFd:n46GY@(꯸b8[{)lwiۢ܎-#śWѻ&PZu%3^ jS( dCGƼZ0561&rܸ[jolڈ+( (dIeY/@4lڍ|v%- ueC<g ayc DjSc#^orIfIku;HarvL۔i3J}"^\&2 -*pd+=t um0fx pqn++)ݘw4hOX\NZmN|5u6۸Qs0oǚ>c[.,~Dv#٣Zr%'=BZq%+A)RO(#Vi"gH*1p씷"*$a'Y JwIv1q%|[WobsN-[Ցn'3OҪfd7F&v>ٙJ>&pqŹˎ+`8&Ē z@t\WOΜٍ'C<orjaiNvdM|zsog.6 A$ojR4̓G"m;.lB4%9s5>^^R$CcVRa ;^~942n^+,r 7̾ V 0ڬ0gpǑ1IVs:):>\켓%߈Äֻ\8fg(cM:3li=ˊRR]'5W|+ь]^rtB>=PK?侬S[}}YEw'Ew'fb//=_r_V{7{ { fb//=յZ6I)}ZrrZ^q{B{n0D-%YuyBAeWvQJe0bIlVil\jO^Z;驄wԿ)G3;*(geWus9N ML% uK@G}K~c3=VNZBRY$}T>ddyP0֎ja/iw51%xSf/kUk[d*%s7)#:ahqqd0 ީK@G}50֎(geWu<|s=_/M p$.З[y%h/ab$^E8C#s7k]ղv%c{8λOv`+{3M2Ѱb=#߲\Y r?D8IklnjX-?Fc%Q@:BsaKט]K1iNG$f\Sm2DO~e;#ءT(g GvkJˣ6]"%!g[S!jحE خ}2a]G"d *K/p/3JCV.yǁ fhs\WiH,hA[˃4b 4G[mZ̬)?K8C4'0Gל6)mʕ|GJՈ{]e[/ 2X1GzA#PtG-3yo?n=SN7)_gK 5VxwZ8SIxKɇ-cs.d+_WuA:L9Xh:.#PB}A)JR)]mrS Old\RXkYL +Q+m ߺ[+b5q^b .ίsUrSEtJ{HoXbUijV6N9y Ffnux6hdlrl3!-%dPlͫB71p_ s6sXm8,",ELwXo vNp9β^w,Ǎ!-%uʊ$߻@0j2k_Syǫ7,;<mlC#a\cb OS repۜ`ݶ6+yY\T{p=oq5eP[7DpSBo͊2/)#q҅򄄤,ʥ{h=w-"X1 s,/bW3ī >NӐ !MDdh \Zv\hG~Ke%JxBѤ\&#m@WZ# In%Izb<]yR}V;+A+r"-n==Nl(Uy_q.ėK"OD 6-ar\ڠrTԺ">U0h-pV: ԕO&,#5 dHqW-5ϒav6C<ń- *IG(_ۿtNP>RXWvDk4Kd؜V~vlOԩ@[&ܯlk+5&\_騲;=>ھ&k϶㢔*q:'~*q:'~*̿H vO?ۆ;_oColz;Xk5>KS5>KVeCcJ !1%??-W{>+ q:'~*۾ 3Ey/EO$ j8X8i+75x⫥T)vy!Eh}":0'٭mc-ahj"^㈺~M|ɯ~'inqjlߊ~ g_i65pbۋr$.u|YHUT9+X.nqjsFn}vu'(y:?k??bˊbV0jjЄnTԬY%J'2}iӓR3XkZְ XϊRip0eAԃ 1polp9f+2b} ~ ij?E 7²7XIzfIq&"ܲ5%J )$o"1nm:Df -7(MS6$4\G.дrwٚT6\ɌHv=$pȋI~C/%=$ݮ  Ja-$h>a(;)jĄ R= ߖPid2rZ$R[8YcuSGdYI ޚtSiz9EukmJ(gDÞ!3ؾZM)/Mi"mk_Kڴ;pX`[LGi|Եo$+!wdsV~ ,=VUgv i!rRTFjS5 2e&ppѬ|8&fEZfJ )ݟV@:\sZ2@mysΤ <^@xۚʼq,- p&\z.d}rimy'^27'b6YA S]a%Y{'b9!mйQVqWA\ u91.ټ].Wp7qMn:!(r"\M@f$ 媌Pb˹&XdA?Fw<9t}78%RJ`8u@#[)b Sכ-aͷm ;SYBBN$Nfg gfU 7wcTjZp@gWu]}hq[ؔ,3XRJ: +7/8sy58]i^ه 曒6] TB+l8d_ Yߺ4R3HQiÿ7rזWWnljz+a`\Y:r5U垰ݺm>N oteԨDؒ]]ͷV#'朽U«ʺR3l."ݙ :lcX۷ҳ/3%:iZ#Etܿ_DGPĉW3!y;ʃ:[N0&j!T\7 IQ|3;랶:q즚&SL;Мq+sk澜j.p)JR(2yF1g:Sz]z+MV.;ܺnxi*Ǚ̃xH)# ,[ȁ&ʴղ/rH?UzTĬsI1cܭ` NJ0j0:Ec+᧔`] vqCE8ǡעMV+ ˯0y熞Qev7<5=wW^nM ˘"QB5ŔS*3&82u*FZm׸2{fK!MVF\ŒQf[-,۽ M7x/MCcu58H*Υ]zHFlw9q$- OV[MJƑy{r#5 Ru씥(Lhr,}RRHRTKdmnZa8Iil³+5DF▞#V,UZ#[8#=ם b<rU_!<nPTgal=KLy2II}%Uڶ]QH=HW"ƺ eUհ/?|~se mG3ǧ,>_Lx}/ RĕKv;쨥ƝAJ}DjV8\h MT]. rؙK⮐T90sz JR%)J"RKSRKW>O>| =X]ƥ⦥|+&}-)]13oLlL.]RKSRKW>O>|6yOyq{z{z'鉟K~ y>WLL[SO>p`+pWqIa(ΖVY$gvM|;?^q\`tG5Py\f.z=6/i#Yw"W5tS=Nk!|\V=+"ڸ^~,68u ;:eQd¡oNhpk'=`y OR|mce a2`|@-znІ#7>ڸ{V1ц.N?rr#vܵ3{Tp 'cËb jBX^99^bCj 6^zS) wb #.G.TDpl&oq9tWlJ i aiI"h.+a.q(ON|ZF@fwE^0"&jkeCaIxIXe\zLkJC*̼QTI@drrr)+T? .o s&]d%fbD-zk4 h/x{ \u2 HRTRH;<,n~aK\H'1܀$iNyQ3/N\.4<EQYwQe)ZDԳCLP1n@i\],hNP#D;ؓiAzb&e;BJ>^Uki@ ^" Á']bW2()_z.rP6B*TYYRC.8J۵3q5OԪ!as ݞZX26Tg)RRAuY"aoޤn8an[ ! ^NgW7o q.lTZ \Z l0957H4Oc[e0$IAo^d[q®@<04bNn'2oy,^]yudOxFP"`ftq*n6Lw}]'-UJN_B S4w{o Ydɔ{6Ry3˔@|Y| t٧7wr32A[e2"T#7 ɜ,ѭ1= CϺIQBGM\'&a@C 'hM7nnAac>tXnšl; qdt숉PVuTT3cP&2dQJOk,k4mI}_&2ݒ™jABh"DW(`{p6n (K֦yfwU.R6mumϕ?S0υ m᷶"1.Øכ-sSqa:P+9o=ѣXFiD{ϊ-2 m> nhqDXH\R_1F`%5ףLB ]inNdG_m: f.:KsX`؋+J>Ѷ =/gX|nֽ h1M0'&1GrJ0vy'3ƣ 붟FSFDf b6goj2D8nAN˘*h62_#ۂ/|Fϑ *V+~[)ݗ#NGZctu0Ė+&~9utN'i"c>;R_xo\V)J֪(ю/]^*q|=Ws'{ 4֮da__;@//]^*q|=Ws'{ 4֮da_?g vlW_sbUǭ\¿ 8;Wk?{د}W2wN=jNiyO-~8mvxFZ0EBWwuS*2osC5[|z̝+g ]->U$#لe꺕2- ᡿jZ$hwxs܆ȖOV Iz#47p&tRH">~5o6މ15q*Nc-WW 4@i_҄P*vzDyyQb~Vh h1!7dGgMBk  a@k['JTLռp۩26$Ն#icJ_JβA}g!QE=w  )-ZG *2*rrcxq<]ϵ[_f9 o[nB|)`Bbl(uf3ݝd?=BוCR]cId: W- ӫ֐oŤSO8*g.2Ziėv %, $)T{\7kZ賘E Ð.:׃qˠ~ =Ma-=r)`窴8/&3?XդYՉqC)VIRQ IR"c|a(IVnB9wl@1 k{]}GW;Bk"4fO޲w [3mnB{) >G#:5&a.GK`r+Oή OZ0z$4[cҗl E|I"iZwe9,dwvVfB6xAiC>Us3cnɼHd52~i-Y,!qkN hӹ@"ɻ*3j -&#ɳ-)D8ZĥZ!E1KlFjwc~P2+=1N{ CЌt9rЕKgh1Lvcː%#$t,ϫTofsɐOBEVs:ֻ _Tڮ'FHQ RR<ԏeʃ!pn$lfJ6`7ȼ6FgXgQA^Bن尿uUHws+7\leHZG0WZ$i+KiKw7-PJB)"I0>D>/$zV^y/ yaЭpQ ˝ko:f`4p/0MĒ0ҰRPȕ=UK1 I:$Ei힘ON ջ|jVV5"K$uHNњ j C*Ir L_oл^&M A'*Lac]0 {( Z 97[<  a{Rۮ[t%.mNDnm83 GsZ۶.qj&c+X{M7}q k &uT[.ގtOlQo a+w0u C>TeX NBl\CώK/QX=.Zq-&eM7h]Z4[Cɱt2t(P} </T&%vAG4)X|(JR(JRh}hFOTϑDu8:*W3idLO>S})_OTϑ3j/<']N"yN=S>FOTϑDu8:"dLO;skLre9$̅^$1 3ʟ8-󋈞}Dx|t݁m2|[WS 5R6ByNjBUB-3²ttmn+Sh^O:1DO.C>J2-SAKqbͭDunީX#Xl\ɸ;4hV~8ꔠZ=d=ZCI-puXڹaԴڜѭ5NZV@ϔU#Dt3`CdA9.ŭ.)_餩v5YuMn](V*P>xx5k7WFt2,ږ&+AM2V 4miB-8[p*،G=$gN^jǐ< 5Zlz+z>k1gf=Sqg-17o \S\棪2.7*Nr*-J2* :mRVc@7/nt.[2@#[[o2mmxi`Lgh7V{0՞#LM3~I(|s}YV{Nx34}&q!g|s}Y9?TϤLgh7V{0՞#LM3~I,P{KքAE^jWK~<$lr,*޳Xhح'JRJ,#Ye#g&0L& |Hy_Ex4Wd 8Y+\_92ۀg#ɏoeZpd($գV{$YMk"̾yJYiO]hIR r&Ϛ m.W V'7zF>i*jcLKR[JBpVcmB btg9KOf1l[4@EO?Jڥ)XJRDuI+-2c5-j {ɬ]l,5s F$m>uqɭ:xjx5jqr>97Feݦ?T}I.<ͽIt{ΰ1)}^)?O"GXߒ꟒qg5-g2M躙D1?h1iox]vx2_5=psb=!^/kq.+ '[%fywR)JRJ[yxiIxӏ}=Um-G^<4[yxiN>%im:$uN>qt|?.Ko4׏ 6i#qt|?ӏt[yxiIxӏ}=K$uMHdž}=A]6i#m-G^<4AGG}鴶Ixim:GG}8:>{Y;rKր[9;PbF֭))/izЁ;sm$U֮e?7C?V*g ˹tJ4e)) >_}NoƎFeQ.diY$}Qш6IbT۽5]0"2nC>vT(6?Rוir#7s-b29p[t'U[j5ciƝqƌSߪ+4ǍbD~"hXRZ^i\诹c0= zka\x5@} 4I e>- : yzr$E:U"KmqyuTA9+k*a;8Put<~Q܇GAݝZrVЮȝ&XRNI3 t7\Ai9КNz{IX6୫Z*r4$8#0sȌUL& ^mwgW\6N@[$-T bƦ-聭3_uf3o?G}в~6nWZIB<|αrd\e-zܔ 7J@yV1,ff'.qԓt)W )U%1F8 n?1ƺ2mZ䏍l֍,EzrPVϿ=ժmve^'77۲clKhg%$d>$ˬ0VQ3(eHJR }.+5y a!.ȞaئR-4N%sڼvg{ϠTn"<צEyMuu9):؏u5ݙ\:ӈ"uIvg{ϠTn"<צEyM.N#>MlGf}q9N4.sȝzitRuݙkb?3="usDKϠS[ٟAEyM8'^]lGf}؏uF.sȝzi\:b?3=vg{7sDN"<צE:埏&@og'U\/Z /rFHt("Ens'L?t]wrajN~sw<׬kܩ"˝ekyKV]|l]q(BjR@y`l*QNQ r TK )vld`+cM4lLC>*K&P}ޕּo{RK90ܑr9Tԫf*Dx-ð}z  U,N$xŽP >9?GODW\ۄ븥<^­9R}Re^ɮ*&Svv7vA(RɷhpW$I$wkRK!n--)j9%)}@VgѷWʱUz>P𾧰 I %LN#n$`:mvsVDJx+ZVۂ|W]#,r2qN}g!D">3H9T!41h@%)J_kͽ}6_g=[9>m-O^ w㌓aosM}6k'OKg5קD6_g=[A}ilzisY=z|4LaosM}6k'OKg5קD6_g=[A}ilzisY=z|4LaosM}6k'OKg5קD6_g=[A}ilzisY=z|4LaosM}6k'OKg5קDd FJq[9;Zzs֭)ܸj0VN2ثѪ+u:c=Mg㿕J_= Gf%FhhoqȬm.A6AWwֱ; Vw˳ ./vMB+WN4ѯ/VbZGa1#<髑?Zm=̻8V 6;*)aGDUZ؇u5E6Qx]W}Rkbg/=K(}N>GDUZ؇u5%^>GDUk}*TlCG؇u/k}*S>xV!rMlCGe>xJU+[9}Q!rDJTttO^*}S[9}QYEttO^*q:'үJ>_T{}Q,Wh14k1"2RTw!W8OvC nXFƞ_jdk .H$ߚ gT鳦\_TRT6X6>IuVOڹM939`xi>x)TWl8|VW!JRV)G2I̓\Rhc ֢E|Wܔ)_K)JQSЦ 7ˁcIP 6Ӄfgkʷ2\=+Т*RݖtZ_m.}rZ>ӽ'j*3۽ڐ#=Ic~!fKP>bbuy̭ڷ&da+HMJui诓5{zk*Ys-PXh: 9J-@p޹)X|(JR(-e}󦲾\nW?:k+g CFQx̿_[`)+b2KKq-5Hʹfw Uh6Fn؏ۜ[L.NECmnE z+t8Me}wK5M]M n=.9Cn2R )-jwe,NƑ1@j&79Y#7E*JuI ʫfMÚMe}M0F30'[=TWG ROA _:LեM.a܈>T}POMF~ +5ζpsc fȸIq HJ VYߤɥlW4z6Ň07;2nB`d%^2*#:2ܾ؀Z񬯼~tW?:͒5NǏMp.E1W)(9>n[U{L| YV$T%ns6er 3Boʫetܾ׷uW?:k+e-1ݯ-{}*Kͥ9 fN\(qrE):Miif9o7O䱵gA-^+|Eg=SpW~Uboig!&Sy1-,:ZFdj9zt]c׋@%h&Z<IHUYb#/稱Y*t.((va2䳮 PL);99f>pW8w^oQW Rr\TMm.nd?cs;i! n=aN6={gJ3hApGruhLGrRIQZb^4WA׷"F hs a89B JRyJؽl^KMwu)4Gta{9ta0q20p]5q85'$|Vؽl^KMWsֲo\?dZLIWf ^NNlʓ7/ﱛlޞvxq.TOٍ` Tf s 4T75賐ebcg@NAZJ <DA e' (0`O0/ςDq #Wg_[-LYr8I 65iU|fwD/).:yW]<:Ul&X/E{YJ:U^Ub ,q]v)b9cTdE;oO|h)==)gu=-sgdXJ @;3Xj]l%MO5.\#9LC 6q6uBͥ (+&;%[^qfX7)7\\[U" m@K:A?qֽ_j^BPw 2x?q[i4WNm>x^D|tJ!pf.:sXJdTU5˟G?el4snpst_T☓#`?Y{oM?šG;v]_Ԯ I 3r%8Wnh*lܜGnDxnby%z*ZǦ|kR6k\y kߥuܖjmsf KkNygݘӱvO3݂#KBJu )MХ$ddAaRBb*˜ Xܻ= t4ZPeA*ܼWK[-O.3 T \H4 q9;#s g~b PdY,"<&<u\u Ny9ݐ)Uʄ4)UTJRD)DR]# 8]# sjj-tO4-tO5ΥJS⦥JS.8]# 8]# sjj"HN"H\ZĮ>*jZĮ>*"㈵1>kӈ1>k:q+Oq+O-tO4-tO5ΥJS⦥JS.8]# 8]# sjj"HN"H\ZĮ>*jZĮ>*"v+m 3#G[3ԇS }KED)DJRD)DJRD)DJRD)DJRD)DR=z tqJQV tqN1^Rt:8ǯWu)DqzwS@׫]8=z tqJQ.bG]:8(N1^qzwRKǯWu8=zJ%˯DZ ZW[Rr*=)ED)DJRD)DJRD)DJRD)DJRD)D_HSAUR3/inst/slides/graphics/Rlogo.jpg0000644000176200001440000001577314172224326017063 0ustar liggesusersJFIFvvExifMM*C  !"$"$C" S  !1AQ"2Raq#356BVu$SWr¢%&7CETbcst$!123ARq ?pAAsS*bie,%)ܝ>868⒄$(:-.Y&^ߖt9r)]cquv+Wu'mJ B[ $l6+Ehr&N>.U=!>z?-,d2>HVqO++  ^=1L`;@ܴt~L9p{8.vR%a0q \~ST1qN90|c0q[GOW),eAjt㌔/a}_(O&E9ܓÎ W$s4Hovx-ܻ훈FJM,A|. +Db)rY[EHPI\m=]m'U[*ڜYSx\@8)YQ, U.Ի3_Ԕ2sD%E[ !\(<"/q!AAEjemq#ꃩ X߄|YKeJZ G#=g8#tLfupGY 3w;W—aO>&&HGqS-*}<5RjXjȶ|~J^*&dM~VKؽQ{L3"bNϧ?9cp?4=F*qVJ[q@szt#VE*зFp 5 ?$|ηccc ZP)$5U/ˉ4DR}xZegpPp RWP|z`NY -p!=] [LIeR9NqDK{O2t Ϛ7;BR<Ӎ88q)PEƾB#T*5kRђVfnmrU’G qڲ{2d^j_B+J??l^UqcG[kyy~?tG#D}M}(dj5Ghp&1PzQ^^j_Ad+E~Zr? t+R.$({ jvS&}.\$fS4=wRGTN $''CQ% \58OUovx=G#DFX Y$M!XtT)TCe[fN4۝.g|z@#b]`nzVz 22q3JTTZoAB8R(g g8> 88wr\ͱPBFT |HTYW Ug6 i}k?)sjjߐmc '?$B_7;:sS6n&ʡ;ҮeI)@zdܓ-zfJ\'e,yߊVܾ Tȵ)l)'ڣ0&֧9UCImm)6 X*u'F6,VɫEA )"麮d{_teeMR-mE7YfeyqǭrL\3zJR鮶4[)cBkIj}}LTSa$=g5ni:j6Ku}eJWh; Js !P[Q7](OzYE֜@h (˭R' I1%zy30~U PA340]۞7;䐤|'9I=p7W|Lb M%n9*T H;b)KMye =+ssC92(SZs:Hü800qA CNZX34BezKjRÒ g.3K̺BAG\~"馢ܺq4)vDH[ N[;I#9=x#MٷwI %E ]oa$LM;-PbwS-PbwS=7fLG=FN^~MYq#%i34LrqVJ$׍FN&d/Qh\ңzdeQJ}6=1Wv%&[+U C+u%' 1v+.]sisjX30x~"BVEJSƃ)q)p8Z}xP;s!a%'e(M gJ'N: _cGsnE'Its!9ܓ-MlI[Id%(*=dhJJ2̳hP`Cu&F$L%qy9sG>RohI"sP.knAs>r1FJbJsYzNӕur"j6 C~iT{#m_VM!Y  ( |j] Z~Y Q-PxIN@{Iò*KK2 2M6 `$mzAA3LW4qO ^}"zOaS2nIO+(qRAcr7Qt۽ɞ }Ɉ3j$aY)Une8o1W^6c3.-RfO Zs&)u60*A(q |*u3WH=Q!r`W|K5VpHN\|RsA8s)y/1i%j1΍/tfqI Df!׎PŽKT֝Aa@@@@hkOBf*Q8aQ+ڷJe%{-Lp֏ܥÜn 1m-F[KOKͰ Iv7vw9p%^4݈W2?lFVr^ӈIɼ_!;4vw9Ȼ;NĿL=( ԉ[Ffe6uANQ%ff]wN$) I؈D"ʹSjPІm F2v3{, ( *$HSAUR3/inst/slides/Ch_analysis_of_variance.Rnw0000644000176200001440000003434714172224326020756 0ustar liggesusers \input{HSAUR_title} \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= source("setup.R") @ \frame{ \begin{center} \Large{Part 5: Analysis of Variance} \end{center} focuses on the analysis of one-way layouts for the Weight Gain, Foster Feeding in Rats, Water Hardness and Male Egyptian Skulls examples. } \section{Introduction} \begin{frame} \frametitle{weightgain: Rats Weights} The data arise from an experiment to study the gain in weight of rats fed on four different diets, distinguished by amount of protein (low and high) and by source of protein (beef and cereal). Ten rats are randomised to each of the four treatments and the weight gain in grams recorded. The question of interest is how diet affects weight gain. \end{frame} \begin{frame} \frametitle{foster: Feeding Rats} The data from a foster feeding experiment with rat mothers and litters of four different genotypes: A, B, I and J. The measurement is the litter weight (in grams) after a trial feeding period. Here the investigator's interest lies %' in uncovering the effect of genotype of mother and litter on litter weight. \end{frame} \begin{frame} \frametitle{skulls: Egyptian Skulls} The data give four measurements made on Egyptian skulls from five epochs. The data has been collected with a view to deciding if there are any differences between the skulls from the five epochs. The measurements are: \begin{description} \item[\Robject{mb}]: maximum breadths of the skull, \item[\Robject{bh}]: basibregmatic heights of the skull, \item[\Robject{bl}]: basialiveolar length of the skull, and \item[\Robject{nh}]: nasal heights of the skull. \end{description} Non-constant measurements of the skulls over time would indicate interbreeding with immigrant populations. \end{frame} \section{Analysis of Variance} \begin{frame} \frametitle{Analysis of Variance} For each of the data sets described previously, the question of interest involves assessing whether certain populations differ in mean value for a single variable or for a set of four variables (\Robject{skulls} data). In the first two cases we shall use \stress{analysis of variance} (ANOVA) and in the last \stress{multivariate analysis of variance} (MANOVA) method for the analysis of this data. \end{frame} \begin{frame} \frametitle{Factorial Designs} Both the \Robject{weightgain} and \Robject{foster} data sets are examples of \stress{factorial designs}, with the factors in the first data set being amount of protein with two levels, and source of protein also with two levels. In the second the factors are the genotype of the mother and the genotype of the litter, both with four levels. The analysis of each data set can be based on the same model but the two data sets differ in that the first is \stress{balanced}, i.e., there are the same number of observations in each cell, whereas the second is \stress{unbalanced} having different numbers of observations in the 16 cells of the design. \end{frame} \begin{frame} \frametitle{ANOVA Model} The model used in the analysis of each is \begin{eqnarray*} y_{ijk} = \mu + \gamma_i + \beta_j + (\gamma\beta)_{ij} + \varepsilon_{ijk} \end{eqnarray*} where $y_{ijk}$ represents the $k$th measurement made in cell $(i,j)$ of the factorial design, $\mu$ is the overall mean, $\gamma_i$ is the main effect of the first factor, $\beta_j$ is the main effect of the second factor, $(\gamma\beta)_{ij}$ is the interaction effect of the two factors and \index{Interaction} $\varepsilon_{ijk}$ is the residual or error term assumed to have a normal distribution with mean zero and variance $\sigma^2$. \end{frame} \begin{frame}[fragile] \frametitle{Formula Specification in R} In \R{}, the model is specified by a model \Rclass{formula}. The \stress{two-way layout with interactions} specified above reads <>= y ~ a + b + a:b @ where the variable \Robject{a} is the first and the variable \Robject{b} is the second \Rclass{factor}. The interaction term $(\gamma\beta)_{ij}$ is denoted by \Robject{a:b}. \end{frame} \begin{frame} \frametitle{Estimation and Inference} The model as specified above is overparameterised, i.e., there are infinitively many solutions to the corresponding estimation equations, and so the parameters have to be constrained in some way, commonly by requiring them to sum to zero. The model given above leads to a partition of the variation in the observations into parts due to main effects and interaction plus an error term that enables a series of $F$-tests. The assumptions made in deriving the $F$-tests are: \begin{itemize} \item The observations are independent of each other, \item The observations in each cell arise from a population having a normal distribution, and \item The observations in each cell are from populations having the same variance. \end{itemize} \end{frame} \begin{frame} \frametitle{MANOVA} The linear model used in this case is \begin{eqnarray*} y_{ijh} = \mu_h + \gamma_{jh} + \varepsilon_{ijh} \end{eqnarray*} where $\mu_h$ is the overall mean for variable $h$, $\gamma_{jh}$ is the effect of the $j$th level of the single factor on the $h$th variable, and $\varepsilon_{ijh}$ is a random error term. The vector $\varepsilon^\top_{ij} = (\varepsilon_{ij1}, \varepsilon_{ij2}, \dots, \varepsilon_{ijq})$ where $q$ is the number of response variables (four in the skull example) is assumed to have a multivariate normal distribution with null mean vector and covariance matrix, $\Sigma$, assumed to be the same in each level of the grouping factor. The hypothesis of interest is that the population mean vectors for the different levels of the grouping factor are the same. \end{frame} \begin{frame} \frametitle{MANOVA Inference} A number of different test statistics are available which may give different results when applied to the same data set, although the final conclusion is often the same. The principal test statistics for the multivariate analysis of variance are \begin{itemize} \item Hotelling-Lawley trace, \item Wilks' ratio of determinants \item Roy's greatest root, \item Pillai trace. \end{itemize} \end{frame} \section{Analysis Using R} \subsection{Weight Gain in Rats} \begin{frame}[fragile] \frametitle{Weight Gain in Rats} We should try to summarise the main features of the data first. The following \R{} code produces the required summary statistics <>= tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean) tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), sd) @ \end{frame} \begin{frame} \begin{center} <>= plot.design(weightgain) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{ANOVA} To apply analysis of variance to the data we can use the \Rcmd{aov} function in \R{} and then the \Rcmd{summary} method to give us the analysis of variance table: <>= summary(wg_aov <- aov(weightgain ~ source * type, data = weightgain)) @ \end{frame} \begin{frame}[fragile] \frametitle{ANOVA} The analysis of variance table shows that the main effect of type is highly significant. The main effect of source is not significant. But interpretation of both these main effects is complicated by the type $\times$ source interaction which approaches significance at the $5$\% level. To try to understand this interaction effect it will be useful to plot the mean weight gain for low- and high-protein diets for each level of source of protein, beef and cereal. \end{frame} \begin{frame} \begin{center} <>= interaction.plot(weightgain$type, weightgain$source, weightgain$weightgain, legend = FALSE) legend(1.5, 95, legend = levels(weightgain$source), title = "weightgain$source", lty = 1:2, bty = "n") @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{ANOVA Results} The estimates of the intercept and the main and interaction effects can be extracted from the model fit by <>= coef(wg_aov) @ Note that the model was fitted with the restrictions $\gamma_1 = 0$ (corresponding to \Rlevel{Beef}) and $\beta_1 = 0$ (corresponding to \Rlevel{High}) because treatment contrasts were used as default as can be seen from <>= options("contrasts") @ Thus, the coefficient for \Robject{source} of $\Sexpr{coef(wg_aov)[2]}$ can be interpreted as an estimate of the difference $\gamma_2 - \gamma_1$. \end{frame} \subsection{Foster Feeding of Rats of Different Genotype} \begin{frame} \frametitle{Foster Feeding} \begin{center} <>= plot.design(foster) @ \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Unbalanced ANOVA} We can now apply analysis of variance using the \Rcmd{aov} function, but there is a complication caused by the unbalanced nature of the data. Here where there are unequal numbers of observations in the $16$ cells of the two-way layout, it is no longer possible to partition the variation in the data into \stress{non-overlapping} or \stress{orthogonal} sums of squares representing main effects and interactions. In an unbalanced two-way layout with factors $A$ and $B$ there is a proportion of the variance of the response variable that can be attributed to either $A$ or $B$. \end{frame} \begin{frame}[fragile] \frametitle{ANOVA Results} We can derive the two analyses of variance tables for the foster feeding example by applying the \R{} code <>= summary(aov(weight ~ litgen * motgen, data = foster)) @ \end{frame} \begin{frame}[fragile] \frametitle{ANOVA Results} and <>= summary(aov(weight ~ motgen * litgen, data = foster)) @ \end{frame} \begin{frame} \frametitle{Multiple Comparisons} We can investigate the effect of genotype B on litter weight in more detail by the use of \stress{multiple comparison procedures}. Such procedures allow a comparison of all pairs of levels of a factor whilst maintaining the nominal significance level at its selected value and producing adjusted confidence intervals for mean differences. One such procedure is called \stress{Tukey honest significant differences} \index{Tukey honest significant differences} suggested by \cite{HSAUR:Tukey1953}, see \cite{HSAUR:HochbergTamhane1987} also. \end{frame} \begin{frame}[fragile] \frametitle{All-Pair Differences} Here, we are interested in simultaneous confidence intervals for the weight differences between all four genotypes of the mother: <>= TukeyHSD(aov(weight ~ litgen * motgen, data = foster), "motgen") @ \end{frame} \begin{frame} \begin{center} <>= foster_aov <- aov(weight ~ litgen * motgen, data = foster) plot(TukeyHSD(foster_aov, "motgen")) @ \end{center} \end{frame} \subsection{Water Hardness and Mortality} \begin{frame} \frametitle{Water Hardness and Mortality} The water hardness and mortality data for $61$ large towns in England and Wales was analysed in Part~2 and here we will extend the analysis by an assessment of the differences of both hardness and mortality in the North or South. The hypothesis that the two-dimensional mean-vector of water hardness and mortality is the same for cities in the North and the South can be tested by \stress{Hotelling-Lawley} test in a multivariate analysis of variance framework. The \R{} function \Rcmd{manova} can be used to fit such a model and the corresponding \Rcmd{summary} method performs the test specified by the \Rcmd{test} argument. \end{frame} \begin{frame}[fragile] <>= summary(manova(cbind(hardness, mortality) ~ location, data = water), test = "Hotelling-Lawley") @ \end{frame} \begin{frame}[fragile] Looking at the sample means <>= tapply(water$hardness, water$location, mean) tapply(water$mortality, water$location, mean) @ we see large differences in the two regions both in water hardness and mortality, where low mortality is associated with hard water in the South and high mortality with soft water in the North. \end{frame} \subsection{Male Egyptian Skulls} \begin{frame}[fragile] \frametitle{Male Egyptian Skulls} We can begin by looking at a table of mean values for the four measurements within each of the five epochs: <>= means <- aggregate(skulls[,c("mb", "bh", "bl", "nh")], list(epoch = skulls$epoch), mean) means @ \end{frame} \begin{frame} \begin{center} <>= pairs(means[,-1], panel = function(x, y) { text(x, y, abbreviate(levels(skulls$epoch))) }) @ \end{center} \end{frame} \begin{frame}[fragile] There appear to be quite large differences between the epoch means, at least on some of the four measurements. We can now test for a difference more formally by using MANOVA with the following \R{} code to apply each of the four possible test criteria mentioned earlier; <>= skulls_manova <- manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls) sapply(c("Pillai", "Wilks", "Hotelling-Lawley", "Roy"), function(test) summary(skulls_manova, test = test)$stats[1,6]) @ \end{frame} \section*{Exercises} \begin{frame} \frametitle{Exercises} \begin{itemize} \item Examine the residuals ($\text{observed value} - \text{fitted value}$) from fitting a main effects only model to the \Robject{weightgain} data. What conclusions do you draw? \item The data \Robject{students} arise from a large study of risk taking. Students were randomly assigned to three different treatments labelled AA, C and NC. Students were administered two parallel forms of a test called `low' and `high'. Carry out a test of the equality of the bivariate means of each treatment population. \end{itemize} \end{frame} \begin{frame} \frametitle{References} \tiny <>= src <- system.file(package = "HSAUR3") style <- file.path(src, "LaTeXBibTeX", "refstyle") bst <- file.path(src, "LaTeXBibTeX", "HSAUR") cat(paste("\\bibliographystyle{", style, "}", sep = ""), "\n \n") cat(paste("\\bibliography{", bst, "}", sep = ""), "\n \n") @ \end{frame} \end{document} HSAUR3/inst/LaTeXBibTeX/0000755000176200001440000000000014416277550014222 5ustar liggesusersHSAUR3/inst/LaTeXBibTeX/HSAUR.bib0000644000176200001440000023027114172224326015557 0ustar liggesusers> library(utils); library(HSAUR2); HSAUR2:::pkgyears("tmp") > library(utils); library(HSAUR2); HSAUR2:::pkgversions("HSAUR.in") @manual{HSAUR:R, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:AItR, title = {An Introduction to R}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:RDIE, title = {R Data Import/Export}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:RIA, title = {R Installation and Administration}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @manual{HSAUR:WRE, title = {Writing R Extensions}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org}, } @book{HSAUR:Ripley1996, key = {216}, author = {Ripley, Brian D.}, title = {{Pattern} Recognition and Neural Networks}, year = {1996}, publisher = {Cambridge University Press}, address = {Cambridge, UK}, url = {http://www.stats.ox.ac.uk/pub/PRNN/}, pages = 403 } %% Chapter: Analysing Longitudinal Data @article{HSAUR:WatkinsWilliams1998, author = {E. Watkins and R. Williams}, title = {The efficacy of cognitive behavioural therapy}, journal = {Journal of Counseling and Clinical Psychology}, year = 1998, volume = 27, pages = {31-39} } %% et al? @article{HSAUR:Proudfootetal2003, author = {J. Proudfoot and D. Goldberg and A. Mann and B. S. Everitt and I. Marks and J. A. Gray}, title = {Computerized, interactive, multimedia cognitive-behavioural program for anxiety and depression in general practice}, journal = {Psychological Medicine}, year = 2003, volume = 33, number = 2, pages = {217-227} } %% edition? @manual{HSAUR:Becketal1996, author = {A. Beck and R. Steer and G. Brown}, title = {BDI-II Manual}, year = 1996, edition = {2nd}, organization = {The Psychological Corporation, San Antonio} } @book{HSAUR:Diggleetal2003, author = {P. J. Diggle and P. J. Heagerty and K. Y. Liang and S. L. Zeger}, title = {Analysis of Longitudinal Data}, year = {2003}, publisher = {Oxford University Press}, address = {Oxford, UK} } @book{HSAUR:Longford1993, author = {N. T. Longford}, title = {Random Coefficient Models}, year = {1993}, publisher = {Oxford University Press}, address = {Oxford, UK} } @article{HSAUR:Rubin1976, author = {D. Rubin}, title = {Inference and missing data}, journal = {Biometrika}, year = 1976, volume = 63, pages = {581-592} } @article{HSAUR:MurrayFindlay1988, author = {G. D. Murray and J. G. Findlay}, title = {Correcting for bias caused by dropouts in hypertension trials}, journal = {Statistics in Medicine}, year = 1988, volume = 7, pages = {941-946} } @article{HSAUR:DiggleKenward1994, author = {P. J. Diggle and M. G. Kenward}, title = {Informative dropout in longitudinal data analysis}, journal = {Journal of the Royal Statistical Society, Series C}, year = 1994, volume = 43, pages = {49-93} } @article{HSAUR:Carpenteretal2002, author = {J. Carpenter and S. Pocock and C. J. Lamm}, title = {Coping with missing data in clinical trials: {A} model-based approach applied to asthma trials}, journal = {Statistics in Medicine}, year = 2002, volume = {21}, pages = {1043-1066} } @incollection{HSAUR:Diggle1998, author = {P. J. Diggle}, title = {Dealing with missing values in longitudinal studies}, year = 1998, booktitle = {Statistical Analysis of Medical Data}, editor = {B. S. Everitt and G. Dunn}, publisher = {Arnold}, address = {London, UK} } @book{HSAUR:Everitt2002, author = {B. S. Everitt}, title = {Modern Medical Statistics}, year = 2002, publisher = {Arnold}, address = {London, UK} } @article{HSAUR:Heitjan1997, author = {D. F. Heitjan}, title = {Annotation: {W}hat can be done about missing data? {A}pproaches to imputation}, journal = {American Journal of Public Health}, year = 1997, volume = 87, pages = {548-550} } @book{HSAUR:MayorFrei2003, author = {M. Mayor and P. Frei}, title = {New Worlds in the Cosmos: {T}he Discovery of Exoplanets}, publisher = {Cambridge University Press}, year = 2003, address = {Cambridge, UK} } %%% check volume and pages @article{HSAUR:MayorQueloz1995, author = {M. Mayor and D. Queloz}, title = {A {J}upiter-mass companion to a solar-type star}, journal = {Nature}, year = 1995, volume = {378}, pages = {355} } @article{HSAUR:EverittBullmore1999, author = {B. S. Everitt and E. T. Bullmore}, title = {Mixture model mapping of brain activation in functional magnetic resonance images}, journal = {Human Brain Mapping}, year = 1999, volume = 7, pages = {1-14} } @book{HSAUR:Everittetal2001, author = {B. S. Everitt and S. Landau and M. Leese}, title = {Cluster Analysis}, publisher = {Arnold}, year = 2001, edition = {4th}, address = {London, UK} } @book{HSAUR:Gordon1999, author = {A. Gordon}, title = {Classification}, year = 1999, edition = {2nd}, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @article{HSAUR:ScottSymons1971, author = {A. J. Scott and M. J. Symons}, title = {Clustering methods based on likelihood ratio criteria}, journal = {Biometrics}, year = 1971, volume = 27, pages = {387-398} } @article{HSAUR:BanfieldRaftery1993, author = {J. D. Banfield and A. E. Raftery}, title = {Model-based {G}aussian and non-{G}aussian clustering}, year = 1993, journal = {Biometrics}, volume = 49, pages = {803-821} } @article{HSAUR:FraleyRaftery1999, author = {G. Fraley and A. E. Raftery}, title = {{MCLUST: S}oftware for model-based cluster analysis}, journal = {Journal of Classification}, year = 1999, volume = 16, pages = {297-306} } @article{HSAUR:FriedmanRubin1967, author = {H. P. Friedman and J. Rubin}, title = {On some invariant criteria for grouping data}, journal = {Journal of the American Statistical Association}, year = 1967, volume = 62, pages = {1159-1178} } @article{HSAUR:Marriott1982, author = {F. H. C. Marriott}, title = {Optimization methods of cluster analysis}, journal = {Biometrika}, year = 1982, volume = 69, pages = {417-421} } @article{HSAUR:Dempsteretal1977, author = {A. P. Dempster and N. M. Laird and D. B. Rubin}, title = {Maximum likelihood from incomplete data via the {EM} algorithm {(C/R: p22-37)}}, journal = {Journal of the Royal Statistical Society, Series B}, year = 1977, volume = 39, pages = {1-22} } @article{HSAUR:DubesJain1979, author = {R. Dubes and A. K. Jain}, title = {Validity studies in clustering methodologies}, journal = {Pattern Recognition}, year = 1979, volume = 8, pages = {247-260} } @article{HSAUR:Tubbetal1980, author = {A. Tubb and N. J. Parker and G. Nickless}, title = {The analysis of {Romano-British} pottery by atomic absorption spectrophotometry}, journal = {Archaeometry}, year = 1980, volume = 22, pages = {153-171} } @article{HSAUR:Alonetal1999, author = {U. Alon and N. Barkai and D. A. Notternam and K. Gish and S. Ybarra and D. Mack and A. J. Levine}, title = {Broad patterns of gene expressions revealed by clustering analysis of tumour and normal colon tissues probed by oligonucleotide arrays}, journal = {Cell Biology}, year = 1999, volume = 99, pages = {6754-6760} } @article{HSAUR:Woodleyetal1977, author = {W. L. Woodley and J. Simpson and R. Biondini and J. Berkeley}, title = {Rainfall results 1970-75: {F}lorida area cumulus experiment}, year = {1977}, journal = {Science}, volume = {195}, pages = {735-742} } @book{HSAUR:EfronTibshirani1993, author = {B. Efron and R. J. Tibshirani}, title = {An Introduction to the Bootstrap}, year = {1993}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:CookWeisberg1982, author = {R. D. Cook and S. Weisberg}, title = {Residuals and Influence in Regression}, year = {1982}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:VenablesRipley2002, author = {William N. Venables and Brian D. Ripley}, title = {Modern Applied Statistics with {S}}, edition = {4th}, publisher = {Springer-Verlag}, address = {New York, USA}, year = 2002, note = {{ISBN} 0-387-95457-0}, url = {http://www.stats.ox.ac.uk/pub/MASS4/} } @book{HSAUR:McLachlanPeel2000, author = {G. McLachlan and D. Peel}, title = {Finite Mixture Models}, year = 2000, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Pearson1894, author = {Karl Pearson}, title = {Contributions to the mathematical theory of evolution}, year = 1894, journal = {Philosophical Transactions A}, volume = 185, pages = {71-110} } @book{HSAUR:Scott1992, author = {D. W. Scott}, title = {Multivariate Density Estimation}, year = 1992, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Silverman1986, author = {B. Silverman}, title = {Density Estimation}, year = 1986, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @book{HSAUR:Simonoff1996, author = {J. S. Simonoff}, title = {Smoothing Methods in Statistics}, year = 1996, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:VanismaGreve1972, author = {F. Vanisma and J. P. {De Greve}}, title = {Close binary systems before and after mass transfer}, journal = {Astrophysics and Space Science}, year = 1972, volume = 87, pages = {377-401} } @book{HSAUR:WandJones1995, author = {M. P. Wand and M. C. Jones}, title = {Kernel Smoothing}, year = 1995, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Wilkinson1992, author = {L. Wilkinson}, title = {Graphical displays}, journal = {Statistical Methods in Medical Research}, year = 1992, volume = 1, pages = {3-25} } %% An Introduction to R @book{HSAUR:Becker+Chambers+Wilks:1988, author = {Richard A. Becker and John M. Chambers and Allan R. Wilks}, title = {The New {S} Language}, publisher = {Chapman \& Hall}, year = 1988, address = {London, UK}, } @book{HSAUR:Chambers+Hastie:1992, author = {John M. Chambers and Trevor J. Hastie}, title = {Statistical Models in {S}}, publisher = {Chapman \& Hall}, year = 1992, address = {London, UK}, } @book{HSAUR:Chambers:1998, author = {John M. Chambers}, title = {Programming with Data}, publisher = {Springer-Verlag}, year = 1998, address = {New York, USA}, } %% Simple Inference @book{HSAUR:Agresti1996, author = {A. Agresti}, title = {An Introduction to Categorical Data Analysis}, year = 1996, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Everitt1992, author = {Brian S. Everitt}, title = {The Analysis of Contingency Tables}, year = 1992, edition = {2nd}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Haberman1973, author = {S. J. Haberman}, title = {The analysis of residuals in cross-classified tables}, journal = {Biometrics}, year = 1973, volume = 29, pages = {205-220} } @book{HSAUR:Handetal1994, author = {D. J. Hand and F. Daly and A. D. Lunn and K. J. McConway and E. Ostrowski}, title = {A Handbook of Small Datasets}, year = 1994, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:Mann1981, author = {L. Mann}, title = {The baiting crowd in episodes of threatened suicide}, journal = {Journal of Personality and Social Psychology}, year = 1981, volume = 41, pages = {703-709} } @article{HSAUR:MehtaPatel1983, author = {Cyrus R. Mehta and Nitin R. Patel}, title = {A Network Algorithm for Performing {F}isher's Exact Test in $r \times c $ Contingency Tables}, journal = {Journal of the American Statistical Association}, pages = {427-434}, year = {1983}, month = {June}, volume = {78}, number = {382} } @book{HSAUR:Fisher1935, author = {R. A. Fisher}, title = {The Design of Experiments}, year = 1935, publisher = {Oliver and Boyd}, address = {Edinburgh, UK} } @article{HSAUR:Pitman1937, author = {E. J. G. Pitman}, title = {Significance tests which may be applied to samples from any populations}, journal = {Biometrika}, year = 1937, volume = 29, pages = {322-335} } @book{HSAUR:Barlowetal1972, author = {R. E. Barlow and D. J. Bartholomew and J. M. Bremner and H. D. Brunk}, title = {Statistical Inference under Order Restrictions}, year = 1972, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Corbetetal1970, author = {G. B. Corbet and J. Cummins and S. R. Hedges and W. J. Krzanowski}, title = {The taxonomic structure of {B}ritish water voles, genus \textit{Arvicola}}, year = 1970, journal = {Journal of Zoology}, volume = 61, pages = {301-316} } @book{HSAUR:EverittRabeHesketh1997, author = {B. S. Everitt and S. Rabe-Hesketh}, title = {The Analysis of Proximity Data}, year = 1997, publisher = {Arnold}, address = {London, UK} } @book{HSAUR:EverittRabeHesketh2001, author = {B. S. Everitt and S. Rabe-Hesketh}, title = {Analysing Medical Data Using {S-Plus}}, year = 2001, publisher = {Springer-Verlag}, address = {New York, USA} } @book{HSAUR:SkrondalRabeHesketh2004, author = {A. Skrondal and S. Rabe-Hesketh}, year = 2004, title = {Generalized Latent Variable Modeling: {M}ultilevel, Longitudinal and Structural Equation Models}, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @article{HSAUR:Kruskal1964a, author = {Joseph. B. Kruskal}, title = {Multidimensional scaling by optimizing goodness-of-fit to a nonmetric hypothesis}, journal = {Psychometrika}, year = 1964, volume = 29, pages = {1-27} } @article{HSAUR:Kruskal1964b, author = {Joseph B. Kruskal}, title = {Nonmetric multidimensional scaling: {A} numerical method}, journal = {Psychometrika}, year = 1964, volume = 29, pages = {115-129} } @book{HSAUR:Mardiaetal1979, author = {K. V. Mardia and J. T. Kent and J. M. Bibby}, title = {Multivariate Analysis}, year = 1979, publisher = {Academic Press}, address = {London, UK} } @book{HSAUR:Romesburg1984, author = {H. C. Romesburg}, title = {Cluster Analysis for Researchers}, year = 1984, publisher = {Lifetime Learning Publications}, address = {Belmont, CA} } @article{HSAUR:Shepard1962a, author = {Roger N. Shepard}, title = {The analysis of proximities: {M}ultidimensional scaling with unknown distance function {Part I}}, journal = {Psychometrika}, year = 1962, volume = 27, pages = {125-140} } @article{HSAUR:Shepard1962b, author = {Roger N. Shepard}, title = {The analysis of proximities: {M}ultidimensional scaling with unknown distance function {Part II}}, journal = {Psychometrika}, volume = 27, year = 1962, pages = {219-246} } @article{HSAUR:Sibson1979, author = {R. Sibson}, title = {Studies in the robustness of multidimensional scaling. {P}erturbational analysis of classical scaling}, journal = {Journal of the Royal Statistical Society, Series B}, volume = 41, year = 1979, pages = {217-229} } @article{HSAUR:YoungHouseholder1938, author = {G. Young and A. S. Householder}, title = {Discussion of a set of points in terms of their mutual distances}, year = 1938, journal = {Psychometrika}, volume = 3, pages = {19-22} } ### OUP, New York??? @book{HSAUR:Petitti2000, author = {D. B. Petitti}, title = {Meta-Analysis, Decision Analysis and Cost-Effectiveness Analysis}, year = 2000, publisher = {Oxford University Press}, address = {New York, USA} } @article{HSAUR:DeMets1987, author = {D. L. DeMets}, title = {Methods for combining randomized clinical trials: strengths and limitations}, journal = {Statistics in Medicine}, year = 1987, volume = 6, pages = {341-350} } @article{HSAUR:Bailey1987, author = {K. R. Bailey}, title = {Inter-study differences: how should they influence the interpretation of results?}, journal = {Statistics in Medicine}, year = 1987, volume = 6, pages = {351-360} } @article{HSAUR:SuttonAbrams2001, author = {A. J. Sutton and K. R. Abrams}, title = {Bayesian methods in meta-analysis and evidence synthesis}, year = 2001, journal = {Statistical Methods in Medical Research}, volume = 10, pages = {277-303} } @book{HSAUR:Suttonetal2000, author = {A. J. Sutton and K. R. Abrams and D. R. Jones and T. A. Sheldon}, title = {Methods for Meta-Analysis in Medical Research}, year = 2000, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @article{HSAUR:Woolf1955, author = {B. Woolf}, title = {On estimating the relationship between blood groups and disease}, journal = {Annals of Human Genetics}, year = 1955, volume = 19, pages = {251-253} } @article{HSAUR:Sterlin1959, author = {T. D. Sterlin}, title = {Publication decisions and their possible effects on inferences drawn from tests of significance-or vice versa}, year = 1959, journal = {Journal of the American Statistical Association}, volume = 54, pages = {30-34} } @article{HSAUR:Greenwald1975, author = {A. G. Greenwald}, title = {Consequences of prejudice against the null hypothesis}, year = 1975, journal = {Psychological Bulletin}, volume = {82}, number = 1, pages = {1-20} } @article{HSAUR:Smith1980, author = {M. L. Smith}, title = {Publication bias and meta-analysis}, year = 1980, journal = {Evaluating Education}, volume = 4, pages = {22-93} } @article{HSAUR:Easterbrooketal1991, author = {P. J. Easterbrook and J. A. Berlin and R. Gopalan and D. R. Matthews}, title = {Publication bias in research}, year = 1991, journal = {Lancet}, volume = 337, pages = {867-872} } @article{HSAUR:DuvalTweedie2000, author = {S. Duval and R. L. Tweedie}, title = {A nonparametric `trim and fill' method of accounting for publication bias in meta-analysis}, year = 2000, journal = {Journal of the American Statistical Association}, volume = 95, pages = {89-98} } @article{HSAUR:Oakes1993, author = {M. Oakes}, title = {The logic and role of meta-analysis in clinical research}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, pages = {147-160} } @incollection{HSAUR:Silagy2003, author = {C. Silagy}, title = {Nicotine replacement therapy for smoking cessation {(Cochrane Review)}}, year = {2003}, booktitle = {The Cochrane Library}, publisher = {John Wiley \& Sons}, addess = {Chichester}, note = {{Issue 4}}, } @book{HSAUR:Collett2003, author = {D. Collett}, title = {Modelling Binary Data}, year = 2003, publisher = {Chapman \& Hall/CRC}, address = {London, UK}, edition = {2nd} } @article{HSAUR:CollettJemain1985, author = {D. Collett and A. A. Jemain}, title = {Residuals, outliers and influential observations in regression analysis}, journal = {Sains Malaysiana}, year = 1985, volume = 4, pages = {493-511} } @incollection{HSAUR:Cook1998, author = {R. J. Cook}, title = {Generalized linear model}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @book{HSAUR:Everitt2001, author = {B. S. Everitt}, title = {Statistics for Psychologists}, year = 2001, publisher = {Lawrence Erlbaum}, address = {Mahwah, New Jersey, USA} } @article{HSAUR:Giardielloetal1993, author = {F. M. Giardiello and S. R. Hamilton and A. J. Krush and S. Piantadosi and L. M. Hylind and P. Celano and S. V. Booker and C. R. Robinson and G. J. A. Offerhaus}, title = {Treatment of colonic and rectal adenomas with sulindac in familial adenomatous polyposis}, year = 1993, journal = {New England Journal of Medicine}, volume = 328, number = 18, pages = {1313-1316} } @article{HSAUR:GreenwoodYule1920, author = {M. Greenwood and G. U. Yule}, title = {An inquiry into the nature of frequency distribution of multiple happenings with particular reference of multiple attacks of disease or of repeated accidents}, year = 1920, journal = {Journal of the Royal Statistical Society}, volume = 83, pages = {255-279} } @book{HSAUR:McCullaghNelder1989, author = {P. McCullagh and J. A. Nelder}, title = {Generalized Linear Models}, year = 1989, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:NelderWedderburn1972, author = {J. A. Nelder and R. W. M. Wedderburn}, title = {Generalized linear models}, year = 1972, journal = {Journal of the Royal Statistical Society, Series A}, volume = 135, pages = {370-384} } @book{HSAUR:Piantadosi1997, author = {S. Piantadosi}, title = {Clinical Trials: A Methodologic Perspective}, year = 1997, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Davis1991, author = {C. S. Davis}, title = {Semi-parametric and non-parametric methods for the analysis of repeated measurements with applications to clinical trials}, year = 1991, journal = {Statistics in Medicine}, volume = 10, pages = {1959-1980} } @article{HSAUR:ThallVail1990, author = {P. F. Thall and S. C. Vail}, title = {Some covariance models for longitudinal count data with overdispersion}, year = 1990, journal = {Biometrics}, volume = 46, pages = {657-671} } @book{HSAUR:EverittPickles2000, author = {B. S. Everitt and A. Pickles}, title = {Statistical Aspects of the Design and Analysis of Clinical Trials}, year = 2000, publisher = {Imperial College Press}, address = {London, UK} } @article{HSAUR:LiangZeger1986, author = {K. Liang and S. L. Zeger}, title = {Longitudinal data analysis using generalized linear models}, year = 1986, journal = {Biometrika}, volume = 73, pages = {13-22} } @article{HSAUR:ZegerLiang1986, author = {S. L. Zeger and K. Y. Liang}, title = {Longitudinal data analysis for discrete and continuous outcomes}, year = 1986, journal = {Biometrics}, volume = 42, number = 1, pages = {121-130} } @article{HSAUR:Lanzaetal1989, author = {F. L. Lanza and D. Fakouhi and A. Rubin and R. E. Davis and M. F. Rack and C. Nissen and S. Geis}, title = {A double-blind placebo-controlled comparison of the efficacy and safety of 50, 100, and 200 micrograms of misoprostol {QID} in the prevention of {I}buprofen-induced gastric and duodenal mucosal lesions and symptoms}, journal = {American Journal of Gastroenterology}, volume = {84}, number = {6}, pages = {633-636}, year = 1989 } @article{HSAUR:Lanzaetal1988a, author = {F. L. Lanza and R. L. Aspinall and E. A. Swabb and R. E. Davis and M. F. Rack and A. Rubin}, title = {Double-blind, placebo-controlled endoscopic comparison of the mucosal protective effects of misoprostol versus cimetidine on tolmetin-induced mucosal injury to the stomach and duodenum}, journal = {Gastroenterology}, volume = {95}, number = {2}, pages = {289-294}, year = 1988 } @article{HSAUR:Lanzaetal1988b, author = {F. L. Lanza and K. Peace and L. Gustitus and M. F. Rack and B. Dickson}, title = {A blinded endoscopic comparative study of misoprostol versus sucralfate and placebo in the prevention of aspirin-induced gastric and duodenal ulceration}, journal = {American Journal of Gastroenterology}, volume = {83}, number = {2}, pages = {143-146}, year = 1988 } @article{HSAUR:Lanza1987, author = {F. L. Lanza}, title = {A double-blind study of prophylactic effect of misoprostol on lesions of gastric and duodenal mucosa induced by oral administration of tolmetin in healthy subjects}, journal = {British Journal of Clinical Practice}, volume = 40, month = {May suppl}, pages = {91-101}, year = 1987, } @article{HSAUR:WhiteheadJones1994, author = {Anne Whitehead and Nicola M. B. Jones}, title = {A meta-analysis of clinical trials involving different classifications of response into ordered categories}, journal = {Statistics in Medicine}, volume = {13}, pages = {2503-2515}, year = 1994, } @article{HSAUR:Carlinetal2000, author = {John B. Carlin and Louise M. Ryan and Elizabeth A. Harvey and Lewis B. Holmes}, title = {Anticonvulsant Teratogenesis 4: Inter-Rater Agreement in Assessing Minor Physical Features Related to Anticonvulsant Therapy}, journal = {Teratology}, volume = 62, pages = {406-412}, year = 2000 } @book{HSAUR:Edgington1987, author = {Eugene S. Edgington}, title = {Randomization Tests}, publisher = {Marcel Dekker}, year = 1987, address = {New York, USA} } @techreport{HSAUR:TherneauAtkinson1997, author = {Terry M. Therneau and Elizabeth J. Atkinson}, title = {An Introduction to Recursive Partitioning using the rpart Routine}, institution = {Section of Biostatistics, Mayo Clinic}, year = {1997}, address = {Rochester, USA}, number = {61}, url = {http://www.mayo.edu/hsr/techrpt/61.pdf} } @book{HSAUR:Pesarin2001, author = {Fortunato Pesarin}, title = {Multivariate Permutation Tests: With Applications to Biostatistics}, year = {2001}, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @book{HSAUR:Breimanetal1984, author = {L. Breiman and J. H. Friedman and R. A. Olshen and C. J. Stone}, title = {Classification and Regression Trees}, year = {1984}, publisher = {Wadsworth}, address = {California, USA} } @article{HSAUR:Breiman1996, author = {Leo Breiman}, title = {Bagging Predictors}, journal = {Machine Learning}, pages = {123-140}, year = {1996}, volume = {24}, number = {2} } @article{HSAUR:Mardinetal2003, author = {Christian Y. Mardin and Torsten Hothorn and Andrea Peters and Anselm G J{\"u}nemann and Nhung X Nguyen and Berthold Lausen}, title = {New Glaucoma Classification Method based on standard {HRT} parameters by bagging classification trees}, journal = {Journal of Glaucoma}, pages = {340-346}, year = {2003}, volume = {12}, number = {4} } @article{HSAUR:Breiman2001a, author = {Leo Breiman}, title = {Statistical Modeling: The Two Cultures}, journal = {Statistical Science}, pages = {199-231}, year = {2001}, volume = {16}, number = {3}, note = {with discussion} } @article{HSAUR:Breiman2001b, author = {Leo Breiman}, title = {Random Forests}, journal = {Machine Learning}, pages = {5-32}, year = {2001}, volume = {45}, number = {1} } @article{HSAUR:GarczarekWeihs2003, author = {Ursula Maria Garczarek and Claus Weihs}, title = {Standardizing the comparison of partitions}, journal = {Computational Statistics}, pages = {143-162}, year = {2003}, volume = {18}, number = {1} } @article{HSAUR:Murthy1998, author = {Sreerama K. Murthy}, title = {Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey}, journal = {Data Mining and Knowledge Discovery}, pages = {345-389}, year = {1998}, volume = {2} } @incollection{HSAUR:Morrison2005, author = {D. F. Morrison}, title = {Multivariate analysis of variance}, booktitle = {Encyclopedia of Biostatistics}, year = 2005, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton}, edition = {2nd} } @article{HSAUR:Aitkin1978, author = {M. Aitkin}, title = {The analysis of unbalanced cross-classifications}, journal = {Journal of the Royal Statistical Society, Series A}, year = 1978, volume = 141, pages = {195-223}, note = {with discussion} } @article{HSAUR:Nelder1977, author = {J. A. Nelder}, title = {A reformulation of linear models}, journal = {Journal of the Royal Statistical Society, Series A}, year = 1977, volume = 140, pages = {48-76}, note = {with commentary} } @book{HSAUR:Scheffe1959, author = {H. Scheffe}, title = {The Analysis of Variance}, year = 1959, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Stevens2001, author = {J. Stevens}, title = {Applied Multivariate Statistics for the Social Sciences}, year = 2001, publisher = {Lawrence Erlbaum}, address = {Mahwah, New Jersey, USA}, edition = {4th} } @phdthesis{HSAUR:Quine1975, author = {S. Quine}, title = {Achievement Orientation of Aboriginal and White Adolescents}, year = {1975}, address = {Canberra, Australia}, school = {Australian National University}, type = {Doctoral {D}issertation} } @book{HSAUR:Timm2002, author = {N. H. Timm}, title = {Applied Multivariate Analysis}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA}, } @book{HSAUR:TherneauGrambsch2000, author = {Terry M. Therneau and Patricia M. Grambsch}, title = {Modeling Survival Data: {E}xtending the Cox Model}, publisher = {Springer-Verlag}, year = {2000}, address = {New York, USA} } @book{HSAUR:Agresti2002, author = {Alan Agresti}, title = {Categorical Data Analysis}, year = 2002, edition = {2nd}, publisher = {John Wiley \& Sons}, address = {Hoboken, New Jersey, USA} } @incollection{HSAUR:Tukey1953, author = {John W. Tukey}, title = {The Problem of Multiple Comparisons (Unpublished Manuscript)}, year = 1953, booktitle = {The Collected Works of John W. Tukey VIII. Multiple Comparisons: 1948-1983}, publisher = {Chapman \& Hall}, address = {New York, USA} } @book{HSAUR:HochbergTamhane1987, author = {Yosef Hochberg and Ajit C. Tamhane}, title = {Multiple Comparison Procedures}, year = 1987, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Everitt1996, author = {Brian S. Everitt}, title = {Making Sense of Statistics in Psychology: A Second-Level Course}, year = 1996, publisher = {Oxford University Press}, address = {Oxford, UK} } @book{HSAUR:Searle1971, author = {S. R. Searle}, title = {Linear Models}, year = 1971, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Kraepelin1919, author = {Emil Kraepelin}, title = {Dementia Praecox and Paraphrenia}, year = 1919, publisher = {Livingstone}, address = {Edinburgh, UK} } @article{HSAUR:FraleyRaftery2002, author = {C. Fraley and A. E. Raftery}, title = {Model-based clustering, discriminant analysis, and density estimation}, journal = {Journal of the American Statistical Association}, year = 2002, volume = {97}, pages = {611-631} } @article{HSAUR:Leisch2004, title = {{FlexMix}: A general framework for finite mixture models and latent class regression in {\rR{}}}, author = {Friedrich Leisch}, journal = {Journal of Statistical Software}, year = {2004}, volume = {11}, number = {8}, url = {http://www.jstatsoft.org/v11/i08/}, } @incollection{HSAUR:Buehlmann2004, author = {Peter B{\"uh}lmann}, editor = {James E. Gentle and Wolfgang H{\"a}rdle and Yuichi Mori}, booktitle = {Handbook of Computational Statistics}, title = {Bagging, Boosting and Ensemble Methods}, pages = {877-907}, year = {2004}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @article{HSAUR:Petersetal2002, author = {Andrea Peters and Torsten Hothorn and Berthold Lausen}, title = {ipred: Improved Predictors}, journal = {R News}, pages = {33--36}, year = 2002, month = {June}, volume = 2, number = 2, note = {{ISSN} 1609-3631}, url = {http://CRAN.R-project.org/doc/Rnews/} } @article{HSAUR:HarrisonRubinfeld1978, author = {D. Harrison and D. L. Rubinfeld}, title = {Hedonic prices and the demand for clean air}, journal = {Journal of Environmental Economics \& Management}, volume = 5, year = 1978, pages = {81-102} } @book{HSAUR:PinheiroBates2000, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates}, title = {Mixed-Effects Models in {S} and {S-PLUS}}, publisher = {Springer-Verlag}, address = {New York, USA}, year = {2000} } @article{HSAUR:Colditzetal1994, author = {G. A. Colditz and T. F. Brewer and C. S. Berkey and M. E. Wilson and E. Burdick and H. V. Fineberg and F. Mosteller}, title = {Efficacy of {BCG} vaccine in the prevention of tuberculosis. {M}eta-analysis of the published literature}, journal = {Journal of the American Medical Association}, year = 1994, volume = 271, number = 9, pages = {698-702} } @article{HSAUR:DerSimonianLaird1986, author = {R. DerSimonian and N. Laird}, title = {Meta-analysis in clinical trials}, journal = {Controlled Clinical Trials}, year = 1986, volume = 7, number = 3, pages = {177-188} } @article{HSAUR:ChalmersLau1993, author = {T. C. Chalmers and J. Lau}, title = {Meta-analytic stimulus for changes in clinical trials}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, number = 2, pages = {161-172} } @book{HSAUR:EverittDunn2001, author = {Brian S. Everitt and G. Dunn}, title = {Applied Multivariate Data Analysis}, year = 2001, edition = {2nd}, publisher = {Arnold}, address = {London, UK} } @article{HSAUR:LiggesMaechler2003, title = {Scatterplot3d -- {A}n {\rR{}} Package for Visualizing Multivariate Data}, author = {Uwe Ligges and Martin M{\"a}chler}, journal = {Journal of Statistical Software}, year = {2003}, pages = {1--20}, number = {11}, volume = {8}, url = {http://www.jstatsoft.org/v08/i11}, } @article{HSAUR:Prim1957, author = {R. C. Prim}, title = {Shortest connection networks and some generalizations}, journal = {Bell System Technical Journal}, year = 1957, volume = 36, pages = {1389-1401} } @article{HSAUR:KaplanMeier1958, author = {E. L. Kaplan and P. Meier}, title = {Nonparametric estimation from incomplete observations}, journal = {Journal of the American Statistical Association}, pages = {457-481}, year = {1958}, volume = {53} } @article{HSAUR:Cox1972, author = {D. R. Cox}, title = {Regression models and life-tables}, journal = {Journal of the Royal Statistical Society, Series B}, year = 1972, volume = 34, pages = {187-202}, note = {with discussion} } @book{HSAUR:KalbfleischPrentice1980, author = {J. D. Kalbfleisch and R. L. Prentice}, title = {The Statistical Analysis of Failure Time Data}, year = 1980, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Granaetal2002, author = {C. Grana and M. Chinol and C. Robertson and C. Mazzetta and M. Bartolomei and C. De Cicco and M. Fiorenza and M. Gatti and P. Caliceti and G. Paganelli1}, title = {Pretargeted adjuvant radioimmunotherapy with {Y}ttrium-90-biotin in malignant glioma patients: A pilot study}, journal = {British Journal of Cancer}, pages = {207-212}, year = {2002}, month = {January}, volume = {86}, number = {2} } @article{HSAUR:Schumacher1994, author = {M. Schumacher and G. Basert and H. Bojar and K. H\"ubner and M. Olschewski and W. Sauerbrei and C. Schmoor and C. Beyerle and {Neumann, R. L. A.} and {Rauschecker, H. F. for the German Breast Cancer Study Group}}, title = {Randomized $2\times2$ trial evaluating hormonal treatment and the duration of chemotherapy in node-positive breast cancer patients}, journal = {Journal of Clinical Oncology}, year = {1994}, volume = {12}, pages = {2086-2093} } @article{HSAUR:SauerbreiRoyston1999, author = {Willi Sauerbrei and Patrick Royston}, title = {Building multivariable prognostic and diagnostic models: Transformation of the predictors by using fractional polynomials}, journal = {Journal of the Royal Statistical Society, Series A}, pages = {71-94}, year = {1999}, volume = {162}, number = {1} } @book{HSAUR:Hartigan1975, author = {J. A. Hartigan}, title = {Clustering Algorithms}, publisher = {John Wiley \& Sons}, year = 1975, address = {New York, USA} } @book{HSAUR:Davis2002, author = {C. S. Davis}, title = {Statistical Methods for the Analysis of Repeated Measurements}, publisher = {Springer-Verlag}, year = 2002, address = {New York, USA} } @book{HSAUR:Everitt2002b, author = {B. S. Everitt}, title = {Cambridge Dictionary of Statistics in the Medical Sciences}, publisher = {Cambridge University Press}, year = 2002, address = {Cambridge, UK} } @article{HSAUR:GowerRoss1969, author = {J. C. Gower and G. J. S. Ross}, title = {Minimum spanning trees and single linkage cluster analysis}, year = 1969, journal = {Applied Statistics}, volume = 18, pages = {54-64} } @manual{HSAUR:StatXact6, key = {516}, author = {Cyrus R. Mehta and Nitin R. Patel}, title = {StatXact-6: Statistical Software for Exact Nonparametric Inference}, organization = {Cytel Software Corporation}, year = {2003}, address = {Cambridge, MA, USA} } @book{HSAUR:Miller2002, author = {Alan Miller}, title = {Subset Selection in Regression}, year = {2002}, publisher = {Chapman \& Hall}, address = {New York, USA}, edition = {2nd} } @article{HSAUR:Fleiss1993, author = {J. L. Fleiss}, title = {The statistical basis of meta-analysis}, journal = {Statistical Methods in Medical Research}, year = 1993, volume = 2, pages = {121-145} } @incollection{HSAUR:Seeber1998, author = {G. U. H. Seeber}, title = {Poisson Regression}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @article{HSAUR:Bates2005, author = {Douglas Bates}, title = {Fitting Linear Mixed Models in {\rR{}}}, journal = {R News}, year = 2005, volume = 5, number = 1, pages = {27--30}, month = {May}, url = {http://CRAN.R-project.org/doc/Rnews/} } @book{HSAUR:KaufmanRousseeuw1990, author = {L. Kaufman and P. J. Rousseeuw}, title = {Finding Groups in Data: {A}n Introduction to Cluster Analysis}, year = 1990, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:Roeder1990, author = {K. Roeder}, title = {Density estimation with confidence sets exemplified by superclusters and voids in galaxies}, journal = {Journal of the American Statistical Association}, year = 1990, volume = {85}, pages = {617-624} } @article{HSAUR:Postmanetal1986, author = {M. Postman and J. P. Huchra and M. J. Geller}, title = {Probes of large-scale structures in the Corona Borealis region}, year = 1986, journal = {Astrophysical Journal}, volume = 92, pages = {1238-1247} } @article{HSAUR:FreemanHalton1951, author = {G. H. Freeman and J. H. Halton}, title = {Note on an exact treatment of contingency, goodness of fit and other problems of significance}, journal = {Biometrika}, year = 1951, volume = {38}, pages = {141-149} } @article{HSAUR:LeischRossini2003, author = {Friedrich Leisch and Anthony J. Rossini}, title = {Reproducible statistical research}, journal = {Chance}, year = 2003, volume = 16, number = 2, pages = {46-50} } @article{HSAUR:Gentleman2005, author = {Robert Gentleman}, title = {Reproducible Research: {A} Bioinformatics Case Study}, journal = {Statistical Applications in Genetics and Molecular Biology}, year = 2005, volume = 4, number = 1, note = {{Article 2}}, url = {http://www.bepress.com/sagmb/vol4/iss1/art2} } @inproceedings{HSAUR:Leisch2002b, author = {Friedrich Leisch}, title = {Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis}, booktitle = {Compstat 2002 --- Proceedings in Computational Statistics}, pages = {575--580}, year = 2002, editor = {Wolfgang H{\"a}rdle and Bernd R{\"o}nz}, publisher = {Physica Verlag, Heidelberg}, note = {{ISBN} 3-7908-1517-9}, } @article{HSAUR:Leisch2003, author = {Friedrich Leisch}, title = {Sweave, {P}art {II}: Package Vignettes}, journal = {R News}, year = 2003, volume = 3, number = 2, pages = {21--24}, month = {October}, url = {http://CRAN.R-project.org/doc/Rnews/} } @article{HSAUR:Leisch2002a, author = {Friedrich Leisch}, title = {Sweave, {P}art {I}: Mixing {R} and {\LaTeX}}, journal = {R News}, year = 2002, volume = 2, number = 3, pages = {28--31}, month = {December}, url = {http://CRAN.R-project.org/doc/Rnews/} } @book{HSAUR:Murrell2005, author = {Paul Murrell}, title = {R Graphics}, year = 2005, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @Article{HSAUR:Hothorn:2006:JCGS, key = {566}, author = {Torsten Hothorn and Kurt Hornik and Achim Zeileis}, title = {Unbiased Recursive Partitioning: A Conditional Inference Framework}, journal = {Journal of Computational and Graphical Statistics}, year = 2006, volume = 15, number = 3, pages = {651--674}, doi = {10.1198/106186006X133933}, } @Article{HSAUR:Hothorn:2006:AmStat, key = {575}, author = {Torsten Hothorn and Kurt Hornik and Mark A. van de Wiel and Achim Zeileis}, title = {A {L}ego System for Conditional Inference}, journal = {The American Statistician}, year = {2006}, volume = {60}, issue = {3}, pages = {257--263}, doi = {10.1198/000313006X118430}, } @book{HSAUR:Dalgaard2002, author = {Peter Dalgaard}, title = {Introductory Statistics with R}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:Gabriel1971, author = {K. R. Gabriel}, title = {The biplot graphical display of matrices with application to principal component analysis}, year = 1971, journal = {Biometrika}, volume = {58}, pages = {453--467} } @incollection{HSAUR:Gabriel1981, author = {K. R. Gabriel}, title = {Biplot display of multivariate matrices for inspection of data and diagnosis}, booktitle = {Interpreting Multivariate Data}, editor = {V. Barnett}, year = 1981, publisher = {John Wiley \& Sons}, address = {Chichester, UK} } @book{HSAUR:GowerHand1996, author = {J. C. Gower and D. J. Hand}, title = {Biplots}, year = 1996, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @article{HSAUR:DolnicarLeisch2003, author = {Sara Dolnicar and Friedrich Leisch}, title = {Winter tourist segments in {A}ustria: Identifying stable vacation styles using bagged clustering techniques}, year = 2003, journal = {Journal of Travel Research}, volume = {41}, pages = {281--292} } @article{HSAUR:Elwoodetal1974, author = {P. C. Elwood and A. L. Cochrane and M. L. Burr and P. M. Sweetman and G. Williams and E. Welsby and S. J. Hughes and R. Renton}, title = {A randomized controlled trial of acetyl salicilic acid in the secondary prevention of mortality from myocardial infarction}, year = 1974, journal = {British Medical Journal}, volume = 1, number = 905, pages = {436-440} } @article{HSAUR:Coronary1976, author = {{Coronary Drug Project Group}}, title = {Asprin in coronary heart disease}, year = 1976, journal = {Journal of Chronic Diseases}, volume = 29, pages = {625-642} } @article{HSAUR:ElwoodSweetman1979, author = {P. C. Elwood and P. M. Sweetman}, title = {Asprin and secondary mortality after myocardial infarction}, year = 1979, journal = {Lancet}, volume = 2, pages = {1313-1315} } @article{HSAUR:Breddinetal1979, author = {K. Breddin and D. Loew and K. Lechner and K. {\"U}berla and E. Walter}, title = {Secondary prevention of myocardial infarction. {C}omparison of acetylsalicylic acid, phenprocoumon and placebo. {A} multicenter two-year prospective study}, journal = {Thrombosis and Haemostasis}, year = 1979, volume = 41, number = 1, pages = {225-236} } @article{HSAUR:Aspirin1980, author = {{Aspirin Myocardial Infarction Study Research Group}}, title = {A randomized, controlled trial of aspirin in persons recovered from myocardial infarction}, year = 1980, journal = {Journal of the American Medical Association}, volume = 243, number = 7, pages = {661-669} } @article{HSAUR:Persantine1980, author = {{Persantine-Aspirin Reinfarction Study Research Group}}, title = {Persantine and {A}spirin in coronary heart disease}, journal = {Circulation}, year = 1980, volume = 62, number = 3, pages = {449-461} } @article{HSAUR:ISIS21988, author = {{ISIS-2 (Second International Study of Infarct Survival) Collaborative Group}}, title = {Randomised trial of intravenous streptokinase, oral aspirin, both, or neither among 17,187 cases of suspected acute myocardial infarction: {ISIS-2}}, year = 1988, journal = {Lancet}, volume = 13, pages = {349-360} } @article{HSAUR:Mazess1984, author = {R. B. Mazess and W. W. Peppler and M. Gibbons}, title = {Total body composition by dual-photon {(153Gd)} absorptiometry}, year = 1984, journal = {American Journal of Clinical Nutrition}, volume = 40, pages = {834-839} } @book{HSAUR:Goldberg1972, author = {D. Goldberg}, year = 1972, title = {The Detection of Psychiatric Illness by Questionnaire}, publisher = {Oxford University Press}, address = {Oxford, UK} } %% PACKAGES @article{PKG:sandwich, title = {Econometric Computing with {HC} and {HAC} Covariance Matrix Estimators}, author = {Achim Zeileis}, journal = {Journal of Statistical Software}, year = {2004}, volume = {11}, number = {10}, pages = {1--17}, url = {http://www.jstatsoft.org/v11/i10/}, } @Manual{PKG:coin, title = {\Rpackage{coin}: Conditional Inference Procedures in a Permutation Test Framework}, author = {Torsten Hothorn and Kurt Hornik and Mark van de Wiel and Achim Zeileis}, year = {2013}, url = {http://CRAN.R-project.org/package=coin}, note = {\rR{} package version 1.0-23} } @Manual{PKG:KernSmooth, title = {\Rpackage{KernSmooth}: Functions for Kernel Smoothing for Wand \& Jones (1995)}, author = {Matt P. Wand and Brian D. Ripley}, year = {2014}, note = {\rR{} package version 2.23-10}, url = {http://CRAN.R-project.org/package=KernSmooth}, } @Manual{PKG:boot, title = {\Rpackage{boot}: Bootstrap \rR{} (\rSPLUS) Functions}, author = {Angelo Canty and Brian D. Ripley}, year = {2014}, url = {http://CRAN.R-project.org/package=boot}, note = {\rR{} package version 1.3-9}, } @Manual{PKG:mclust, title = {\Rpackage{mclust}: Model-based Cluster Analysis}, author = {C. Fraley and A. E. Raftery and Ron Wehrens}, year = {2014}, note = {\rR{} package version 4.3}, url = {http://www.stat.washington.edu/mclust}, } @Manual{PKG:randomForest, title = {\Rpackage{randomForest}: {B}reiman and {C}utler's Random Forests for Classification and Regression}, author = {Leo Breiman and Adele Cutler and Andy Liaw and Matthew Wiener}, year = {2013}, note = {\rR{} package version 4.6-7}, url = {http://stat-www.berkeley.edu/users/breiman/RandomForests}, } @Manual{PKG:rpart, title = {\Rpackage{rpart}: Recursive Partitioning}, author = {Terry M. Therneau and Beth Atkinson and Brian D. Ripley}, year = {2014}, note = {\rR{} package version 4.1-8}, url = {http://mayoresearch.mayo.edu/mayo/research/biostat/splusfunctions.cfm}, } @Manual{PKG:mlbench, title = {\Rpackage{mlbench}: Machine Learning Benchmark Problems}, author = {Friedrich Leisch and Evgenia Dimitriadou}, year = {2013}, url = {http://CRAN.R-project.org/package=mlbench}, note = {\rR{} package version 2.1-1}, } @Manual{PKG:nlme, title = {\Rpackage{nlme}: Linear and Nonlinear Mixed Effects Models}, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates and Saikat DebRoy and Deepayan Sarkar}, year = {2014}, url = {http://CRAN.R-project.org/package=nlme}, note = {\rR{} package version 3.1-113}, } @Manual{PKG:lme4, title = {\Rpackage{lme4}: Linear Mixed-Effects Models Using S4 Classes}, author = {Douglas Bates and Deepayan Sarkar}, year = {2014}, url = {http://CRAN.R-project.org/package=lme4}, note = {\rR{} package version 1.1-5}, } @Manual{PKG:gee, title = {\Rpackage{gee}: Generalized Estimation Equation Solver}, author = {Vincent J. Carey and Thomas Lumley and Brian D. Ripley}, year = {2013}, url = {http://CRAN.R-project.org/package=gee}, note = {\rR{} package version 4.13-18}, } @Manual{PKG:rmeta, title = {\Rpackage{rmeta}: {M}eta-Analysis}, author = {Thomas Lumley}, year = {2013}, url = {http://CRAN.R-project.org/package=rmeta}, note = {\rR{} package version 2.16}, } @Manual{PKG:ape, title = {\Rpackage{ape}: {A}nalyses of Phylogenetics and Evolution}, author = {Emmanuel Paradis and Korbinian Strimmer and Julien Claude and Gangolf Jobb and Rainer Opgen-Rhein and Julien Dutheil and Yvonnick Noel and Ben Bolker}, year = {2014}, url = {http://CRAN.R-project.org/package=ape}, note = {\rR{} package version 3.1-1}, } @Manual{PKG:survival, title = {\Rpackage{survival}: {S}urvival Analysis, Including Penalised Likelihood}, author = {Terry M. Therneau and Thomas Lumley}, year = {2014}, url = {http://CRAN.R-project.org/package=survival}, note = {\rR{} package version 2.37-7}, } @Manual{PKG:mfp, title = {\Rpackage{mfp}: {M}ultivariable Fractional Polynomials}, author = {Gareth Ambler and Axel Benner}, year = {2013}, url = {http://CRAN.R-project.org/package=mfp}, note = {\rR{} package version 1.4.9}, } @Manual{PKG:vcd, title = {\Rpackage{vcd}: {V}isualizing Categorical Data}, author = {David Meyer and Achim Zeileis and Alexandros Karatzoglou and Kurt Hornik}, year = {2013}, url = {http://CRAN.R-project.org/package=vcd}, note = {\rR{} package version 1.3-1}, } @Manual{PKG:leaps, title = {\Rpackage{leaps}: {R}egression Subset Selection}, author = {Thomas Lumley and Alan Miller}, year = {2013}, url = {http://CRAN.R-project.org/package=leaps}, note = {\rR{} package version 2.9}, } @Manual{PKG:party, title = {\Rpackage{party}: {A} Laboratory for Recursive Partytioning}, author = {Torsten Hothorn and Kurt Hornik and Carolin Strobl and Achim Zeileis}, year = {2014}, url = {http://CRAN.R-project.org/package=party}, note = {\rR{} package version 1.0-13} } @Manual{PKG:multcomp, title = {\Rpackage{multcomp}: Simultaneous Inference for General Linear Hypotheses}, author = {Torsten Hothorn and Frank Bretz and Peter Westfall}, year = {2014}, note = {\rR{} package version 1.3-2}, url = {http://CRAN.R-project.org/package=multcomp} } @Manual{PKG:lattice, title = {\Rpackage{lattice}: Lattice Graphics}, author = {Deepayan Sarkar}, year = {2014}, note = {\rR{} package version 0.20-27}, url = {http://CRAN.R-project.org/package=lattice} } @Manual{PKG:partykit, title = {\Rpackage{partykit}: A Toolkit for Recursive Partytioning}, author = {Torsten Hothorn and Achim Zeileis}, year = {2014}, note = {\rR{} package version 0.8-0}, url = {http://R-forge.R-project.org/projects/partykit/} } @Manual{PKG:alr3, title = {\Rpackage{alr3}: Methods and Data to Accompany {Applied Linear Regression 3rd edition}}, author = {Sanford Weisberg}, year = {2013}, note = {\rR{} package version 2.0.5}, url = {http://www.stat.umn.edu/alr}, } @Manual{PKG:mboost, title = {\Rpackage{mboost}: Model-Based Boosting}, author = {Torsten Hothorn and Peter B\"uhlmann and Thomas Kneib and Matthias Schmid and Benjamin Hofner}, year = {2013}, note = {\rR{} package version 2.2-3}, url = {http://CRAN.R-project.org/package=mboost} } @Manual{PKG:meta, title = {\Rpackage{meta}: {M}eta-Analysis}, author = {Guido Schwarzer}, year = {2014}, note = {\rR{} package version 3.2-1}, url = {http://CRAN.R-project.org/package=meta} } @Manual{PKG:rgl, title = {\Rpackage{rgl}: 3D Visualization Device System (OpenGL)}, author = {Daniel Adler and Duncan Murdoch}, year = {2014}, note = {\rR{} package version 0.93.996}, url = {http://rgl.neoscientists.org}, } @Manual{PKG:wordcloud, title = {\Rpackage{wordcloud}: Word Clouds}, author = {Ian Fellows}, year = {2014}, note = {\rR{} package version 2.4}, url = {http://CRAN.R-project.org/package=wordcloud} } @Manual{PKG:quantreg, title = {\Rpackage{quantreg}: {Quantile} Regression}, author = {Roger Koenker}, year = {2013}, url = {http://CRAN.R-project.org/package=quantreg}, note = {\rR{} package version 5.05} } @Manual{PKG:MASS, title = {\Rpackage{MASS}: Support Functions and Datasets for Venables and Ripley's MASS}, author = {Brian D. Ripley}, year = {2014}, url = {http://CRAN.R-project.org/package=MASS}, note = {\rR{} package version 7.3-29} } @Manual{PKG:INLA, title = {\Rpackage{INLA}: Functions Which Allow to Perform Full Bayesian Analysis of Latent Gaussian Models Using Integrated Nested Laplace Approximaxion}, author = {Havard Rue and Sara Martino and Finn Lindgren and Daniel Simpson and Andrea Riebler}, year = {2013}, url = {http://www.r-inla.org/download}, note = {\rR{} package version 0.0-1379661604} } @Manual{PKG:rjags, title = {\Rpackage{rjags}: Bayesian Graphical Models Using {MCMC}}, author = {Martyn Plummer and Alexey Stukalov}, year = {2014}, url = {http://CRAN.R-project.org/package=rjags}, note = {\rR{} package version 3-13} } @Manual{PKG:sp, title = {\Rpackage{sp}: Classes and Methods for Spatial Data}, author = {Edzer Pebesma and Roger Bivand}, year = {2013}, url = {http://CRAN.R-project.org/package=sp}, note = {\rR{} package version 1.0-14} } @Manual{PKG:mice, title = {\Rpackage{mice}: Multivariate Imputation by Chained Equations}, author = {Stef van Buuren and Karin Groothuis-Oudshoorn}, year = {2014}, url = {http://CRAN.R-project.org/package=mice}, note = {\rR{} package version 2.21} } @book{HSAUR:Sarkar2008, title = {Lattice: {M}ultivariate Data Visualization with \rR{}}, author = {Deepayan Sarkar}, year = 2008, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:Mazessetal1984, author = {R. B. Mazess and W. W. Peppler and M. Gibbons}, title = {Total Body Composition by Dual Photon Absorptiometry}, year = 1984, journal = {American Journal of Clinical Nutrition}, volume = 40, pages = {834-839} } @book{HSAUR:Rawlingsetal1998, author = {J. O. Rawlings and S. G. Pantula and A. D. Dickey}, title = {Applied Regression Analysis}, year = 1998, publisher = {Springer-Verlag}, address = {New York, USA} } @article{HSAUR:FrisonPocock1992, author = {L. Frison and S. J. Pocock}, year = 1992, title = {Repeated Measures in Clinical Trials: Analysis using Mean Summary Statistics and its Implications for Design}, journal = {Statistics in Medicine}, volume = 11, pages = {1685--1704} } @article{HSAUR:Matthewsetal1990, author = {J. N. S. Matthews and D. G. Altman and M. J. Campbell and P. Royston}, year = 1990, title = {Analysis of Serial Measurements in Medical Research}, journal = {British Medical Journal}, volume = {200}, pages = {230--235} } @article{HSAUR:DeBackeretal1998, author = {M. De Backer and C. De Vroey and E. Lesaffre and I. Scheys and P. De Keyser}, title = {Twelve weeks of continuous oral therapy for toenail onychomycosis caused by dermatophytes: {A} double-blind comparative trial of terbinafine 250 mg/day versus itraconazole 200 mg/day.}, journal = {Journal of the American Academy of Dermatology}, year = {1998}, volume = {38}, pages = {S57--S63}, number = {5}, } @article{HSAUR:Freedmanetal2001, author = {W. L. Freedman and B. F. Madore and B. K. Gibson and L. Ferrarese and D. D. Kelson and S. Sakai and J. R. Mould and R. C. Kennicutt and H. C. Ford and J. A. Graham and John. P. Huchra and S. M. G. Hughes and G. D. Illingworth and L. M. Macri and Peter B. Stetson}, title = {Final Results from the {Hubble Space Telescope} Key Project to Measure the {H}ubble Constant}, journal = {The Astrophysical Journal}, year = 2001, volume = 553, number = 1, pages = {47--72} } @book{HSAUR:Wood2006, author = {Simon N. Wood}, title = {Generalized Additive Models: An Introduction with R}, year = 2006, publisher = {Chapman \& Hall/CRC}, address = {Boca Raton, Florida, USA} } @book{HSAUR:SokalRohlf1981, author = {R. R. Sokal and F. J. Rohlf}, year = 1981, title = {Biometry}, publisher = {W. H. Freeman}, address = {San Francisco, California, USA}, edition = {2nd} } @book{HSAUR:HastieTibshirani1990, author = {T. Hastie and R. Tibshirani}, year = {1990}, title = {Generalized Additive Models}, publisher = {Chapman \& Hall}, address = {Boca Raton, Florida} } @book{HSAUR:Hsu1996, author = {Jason C. Hsu}, title = {Multiple Comparisons: Theory and Methods}, year = 1996, publisher = {CRC Press, Chapman \& Hall}, address = {London}, } @article{HSAUR:Boenschetal2005, author = {Domenikus B{\"o}nsch and Thomas Lederer and Udo Reulbach and Torsten Hothorn and Johannes Kornhuber and Stefan Bleich}, title = {Joint Analysis of the {NACP-REP1} Marker Within the Alpha Synuclein Gene Concludes Association with Alcohol Dependence}, journal = {Human Molecular Genetics}, year = 2005, volume = 14, number = 7, pages = {967-971} } @Article{HSAUR:HothornBretzWestfall2008, author = {Torsten Hothorn and Frank Bretz and Peter Westfall}, year = 2008, title = {Simultaneous Inference in General Parametric Models}, journal = {Biometrical Journal}, volume = 50, number = 3, pages = {346--363} } @ARTICLE{HSAUR:Zeileis2006, author = {Achim Zeileis}, title = {Object-oriented Computation of Sandwich Estimators}, year = {2006}, journal = {Journal of Statistical Software}, volume = {16}, number = {9}, pages = {1--16}, url = {http://www.jstatsoft.org/v16/i09/} } @Article{HSAUR:Garcia2005, author = {A. L. Garcia and K. Wagner and T. Hothorn and C. Koebnick and H. J. Zunft and U. Trippo}, title = {Improved prediction of body fat by measuring skinfold thickness, circumferences, and bone breadths}, journal = {Obesity Research}, year = 2005, volume = 13, number = 3, pages = {626--634} } @Article{HSAUR:KelseyHardy1975, author = {Jennifer L. Kelsey and Robert J. Hardy}, title = {Driving of Motor Vehicles as a Risk Factor for Acute Herniated Lumbar Intervertebral Disc}, journal = {American Journal of Epidemiology}, year = 1975, volume = {102}, number = 1, pages = {63--73} } @Book{HSAUR:Keele2008, author = {Luke John Keele}, title = {Semiparametric Regression for the Social Sciences}, year = {2008}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @article{HSAUR:BuehlmannHothorn2007, AUTHOR = {Peter B\"{u}hlmann and Torsten Hothorn}, TITLE = {Boosting Algorithms: Regularization, Prediction and Model Fitting}, JOURNAL = {Statistical Science}, YEAR = {2007}, VOLUME = {22}, NUMBER = {4}, PAGES = {477-505}, } @book{HSAUR:Schwarzer2009, author = {Guido Schwarzer and James R. Carpenter and Gerta R{\"u}cker}, title = {{M}eta-analysis with \rR{}}, year = {2009}, publisher = {Springer-Verlag}, address = {New York, USA}, note = {forthcoming} } @article{HSAUR:Rohlf1970, author = {F. James Rohlf}, title = {Adaptive Hierarchical Clustering Schemes}, journal = {Systematic Zoology}, year = {1970}, volume = 19, pages = {58--82} } @incollection{HSAUR:Hawkins1982, author = {Douglas M. Hawkins and Michael W. Muller and J. Andri {ten Krooden}}, title = {Cluster Analysis}, year = 1982, booktitle = {Topics in Applied Multivariate Analysis}, editor = {Douglas M. Hawkins}, publisher = {Cambridge University Press}, address = {Cambridge, UK} } @article{HSAUR:Parishetal2003, author = {William L. Parish and Edward O. Laumann and Myron S. Cohen and Suiming Pan and Heyi Zheng and Irving Hoffman and Tianfu Wang and Kwai Hang Ng}, year = 2003, title = {Population-Based Study of Chlamydial Infection in China: {A} Hidden Epidemic}, journal = {Journal of the American Medical Association}, volume = 289, number = 10, pages = {1265--1273} } @book{HSAUR:FisherBelle1993, author = {Lloyd D. Fisher and Gerald Van Belle}, title = {Biostatistics. {A} Methodology for the Health Sciences}, year = 1993, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:ClevelandMcGill1988, author = {William S. Cleveland and Marylyn E. McGill}, title = {Dynamic Graphics for Statistics}, year = 1988, publisher = {Wadsworth \& Brooks/Cole}, address = {Belmont, California} } @book{HSAUR:Tufte1983, author = {E. R. Tufte}, title = {The Visual Display of Quantitative Information}, year = 1983, publisher = {Graphics Press}, address = {Cheshire, Connecticut} } @Article{HSAUR:Meyeretal2006, title = {The Strucplot Framework: Visualizing Multi-Way Contingency Tables with vcd}, author = {David Meyer and Achim Zeileis and Kurt Hornik}, journal = {Journal of Statistical Software}, year = {2006}, volume = {17}, number = {3}, pages = {1--48}, url = {http://www.jstatsoft.org/v17/i03/}, } @book{HSAUR:Chenetal2008, title = {Handbook of Data Visualization}, editor = {C. Chen and Wolfgang H\"ardle and Antony Unwin}, year = 2008, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg} } @book{HSAUR:Chambersetal1983, author = {J. M. Chambers and W. S. Cleveland and B. Kleiner and P. A. Tukey}, title = {Graphical Methods for Data Analysis}, year = 1983, publisher = {Chapman \& Hall/CRC}, address = {London} } @book{HSAUR:Schmid1954, author = {C. F. Schmid}, title = {Handbook of Graphic Presentation}, year = 1954, publisher = {Ronald Press}, address = {New York} } @article{HSAUR:Cleveland1979, author = {William S. Cleveland}, title = {Robust Locally Weighted Regression and Smoothing Scatterplots}, year = 1979, journal = {Journal of the American Statistical Association}, volume = {74}, pages = {829--836} } @book{HSAUR:FluryRiedwyl1988, author = {B. Flury and H. Riedwyl}, title = {Multivariate Statistics: {A} Practical Approach}, year = 1988, publisher = {Chapman \& Hall}, address = {London, UK} } @article{HSAUR:Friendly1994, author = {Michael Friendly}, title = {Mosaic Displays for Multi-way Contingency Tables}, year = 1994, journal = {Journal of the American Statistical Association}, volume = 89, pages = {190--200} } @unpublished{HSAUR:HofmannTheus2005, author = {Heike Hofmann and Martin Theus}, title = {Interactive Graphics for Visualizing Conditional Distributions}, year = 2005, note = {unpublished Manuscript} } @book{HSAUR:RabeHeskethSkrondal2008, author = {Sophia Rabe-Hesketh and Anders Skrondal}, title = {Multilevel and Longitudinal Modeling Using Stata}, edition = {2nd}, publisher = {Stata Press}, year = 2008, address = {College Station, Texas, USA} } @Book{HSAUR:Koenker2005, title = {Quantile Regression}, publisher = {Cambridge University Press}, year = {2005}, author = {Roger Koenker}, series = {Economic Society Monographs}, language = {english}, address = {New York} } @Article{HSAUR:KoenkerBassett1978, title = {Regression Quantiles}, author = {Roger Koenker and Gilbert Bassett}, journal = {Econometrica}, volume = 46, number = 1, year = 1978, pages = {33--50} } @Article{HSAUR:KoenkerNgPortnoy1994, title = {Quantile Smoothing Splines}, year = {1994}, author = {R. Koenker and P. Ng and S. Portnoy}, journal = {Biometrika}, volume = {81}, number = {4}, pages = {673--680} } @Article{HSAUR:FredriksBuurenBurgmeijer2000, author = {A. M. Fredriks and S. van Buuren and R. J. F. Burgmeijer and J. F. Meulmeester and R. J. Beuker and E. Brugman and M. J. Roede and S. P. Verloove-Vanhorick and J. Wit}, title = {Continuing Positive Secular Growth Change in {The} {Netherlands} 1955--1997}, year = {2000}, journal = {Pediatric Research}, volume = {47}, number = {3}, pages = {316--323} } @Article{HSAUR:StasinopoulosRigby2007, author = {D. Mikis Stasinopoulos and Robert A. Rigby}, title = {Generalized Additive Models for Location Scale and Shape {(GAMLSS)} in {R}}, year = {2007}, journal = {Journal of Statistical Software}, volume = {23}, number = {7}, pages = {1--46}, url = {http://www.jstatsoft.org/v23/i07} } @Article{HSAUR:RigbyStasinopoulos2005, author = {R. A. Rigby and D. M. Stasinopoulos}, title = {Generalized Additive Models for Location, Scale and Shape}, year = {2005}, journal = {Journal of the Royal Statistical Society: Series C (Applied Statistics)}, volume = {54}, number = {3}, pages = {507--554}, } @article{HSAUR:HothornKneibBuehlmann2013, author = {Torsten Hothorn and Thomas Kneib and Peter B{\"u}hlmann}, title = {Conditional Transformation Models}, journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)}, year = {2013}, doi = {10.1111/rssb.12017}, } @book{HSAUR:FahrmeirKneibLang2013, author = {Ludwig Fahrmeir and Thomas Kneib and Stefan Lang and Brian Marx}, title = {Regression: Models, Methods and Applications}, year = {2013}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg, Germany} } @Article{HSAUR:DoksumGasko1990, author = {Kjell A. Doksum and Miriam Gasko}, title = {On a Correspondence Between Models in Binary Regression Analysis and in Survival Analysis}, year = {1990}, journal = {International Statistical Review}, volume = {58}, number = {3}, pages = {243--252} } @book{HSAUR:Tutz2012, author = {Gerhard Tutz}, title = {Regression for Categorical Data}, year = {2012}, publisher = {Cambridge University Press}, address = {New York, USA} } @Article{HSAUR:DetteVolgushev2008, author = {H. Dette and S. Volgushev}, title = {Non-crossing Non-parametric Estimates of Quantile Curves}, year = {2008}, journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)}, volume = {70}, number = {3}, pages = {609--627}, } @Article{HSAUR:Greenland2006, author = {Sander Greenland}, title = {Bayesian Perspectives for Epidemiological Research: I. {Foundations} and Basic Methods}, year = {2006}, journal = {International Journal of Epidemiology}, volume = {35}, number = {3}, DOI = {10.1093/ije/dyi312}, pages = {765--775} } @Article{HSAUR:Greenland2007, author = {S. Greenland}, title = {Bayesian Perspectives for Epidemiological Research. II. {Regression} Analysis}, year = {2007}, journal = {International Journal of Epidemiology}, volume = {36}, number = {1}, DOI = {10.1093/ije/dyl289}, pages = {195--202} } @Article{HSAUR:Mueller1940, author = {Frank Hermann M\"uller}, title = {{Tabakmi{\ss}brauch und Lungencarcinom}}, journal = {Zeitschrift f\"ur Krebsforschung}, year = 1940, volume = 49, number = 1, pages = {57--85} } @Article{HSAUR:SchairerSchoeninger1944, author = {E. Schairer and E. Sch\"oninger}, title = {{Lungenkrebs und Tabakverbrauch}}, journal = {Zeitschrift f\"ur Krebsforschung}, year = 1944, volume = 54, number = 4, pages = {261--269} } @Article{HSAUR:Wassink1945, author = {W. F. Wassink}, title = {{Ontstaansvoorwaarden voor Longkanker}}, journal = {Nederlands Tijdschrift voor Geneeskunde}, year = 1945, volume = 92, pages = {3732--3747} } @Article{HSAUR:DollHill1950, author = {Richard Doll and A. Bradford Hill}, title = {Smoking and Carcinoma of the Lung}, journal = {British Medical Journal}, year = 1950, volume = 2, pages = {739--748} } @book{HSAUR:Fisher1959, author = {R. A. Fisher}, title = {Smoking. The Cancer Controversy}, year = 1959, publisher = {Oliver and Boyd}, address = {Edinburgh, London, UK} } @article{HSAUR:SchaferGraham2002, author = {Joseph L. Schafer and John W. Graham}, title = {Missing Data: {Our} View of the State of the Art.}, year = {2002}, journal = {Psychological Methods}, volume = {7}, number = {2}, DOI = {10.1037/1082-989X.7.2.147}, pages = {147--177} } @article{HSAUR:WhiteRoystonWood2011, author = {Ian R. White and Patrick Royston and Angela M. Wood}, title = {Multiple Imputation Using Chained Equations: {Issues} and Guidance for Practice}, year = {2011}, journal = {Statistics in Medicine}, volume = {30}, number = {4}, DOI = {10.1002/sim.4067}, pages = {377--399} } @book{HSAUR:vanBuuren2012, title={Flexible Imputation of Missing Data}, author={Stef {Van Buuren}}, year={2012}, publisher={CRC Press}, address = {Boca Raton, Florida, USA} } @article{HSAUR:RubinSchenker1991, title={Multiple Imputation in Healthcare Databases: {An} Overview and Some Applications}, author={Donald B. Rubin and Nathaniel Schenker}, journal={Statistics in Medicine}, volume={10}, number={4}, pages={585--598}, year={1991}, } @incollection{HSAUR:BarnardRubinSchenker1998, author = {J. Barnard and D. B. Rubin and N. Schenker}, title = {Multiple Imputation Methods}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @incollection{HSAUR:Little1998, author = {J. R. Little}, title = {Missing Data}, booktitle = {Encyclopedia of Biostatistics}, year = 1998, publisher = {John Wiley \& Sons}, address = {Chichester, UK}, editor = {P. Armitage and T. Colton} } @book{HSAUR:LittleRubin2002, author = {J. R. Little and D. B. Rubin}, year = 2002, title = {Statistical Analysis with Missing Data}, edition = {2nd}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Rubin1987, author = {Donald B. Rubin}, year = 1987, title = {Multiple Imputation for Nonresponse in Surveys}, publisher = {John Wiley \& Sons}, address = {New York, USA} } @book{HSAUR:Schafer1997, author = {J. L. Schafer}, year = 1997, title = {Analysis of Incomplete Multivariate Data}, publisher = {Chapman \& Hall/CRC}, address = {London, UK} } @incollection{HSAUR:Barnard2002, author = {J. Barnard and C. Frangakis and J. K. Hill and D. B. Rubin}, title = {The {Bayesian} Analysis of the {New York School Choice Scholarships Program}: {A} Randomized Experiment with Noncompliance and Missing Data (with Discussion)}, booktitle = {Case Studies in Bayesian Statistics}, year = 2002, publisher = {Springer-Verlag}, address = {New York, USA}, editor = {C. Gatsonis and R. Kass and B. Carlin and A. Carriquiry and A. Gelman and I. Verdinelli and M. West} } @article{HSAUR:RobertsonArmitage1959, author = {J. D. Robertson and P. Armitage}, year = {1959}, title = {Comparison of Two Hypotensive Agents}, journal = {Anaesthesia}, volume = {14}, number = 1, pages = {53--64} } @article{HSAUR:BarnardRubin1999, author = {J. Barnard and D. B. Rubin}, year = 1999, title = {Small Sample Degrees of Freedom With Multiple Imputation}, journal = {Biometrika}, volume = 86, pages = {948--955} } @article{HSAUR:Vuilleumier1970, author = {F. Vuilleumier}, year = {1970}, title = {Insular Biogeography in Continental Regions. {I. The} Northern {Andes} of {South America}}, journal = {The American Naturalist}, volume = 104, pages = {373--388} } @book{HSAUR:Aitkin1989, author = {M. Aitkin and D. Anderson and B. Francis and J. Hinde}, title = {Statistical Modelling in {GLIM}}, year = 1989, publisher = {Oxford University Press}, address = {New York, USA}, } @incollection{HSAUR:Morabia2013, author = {Alfredo Morabia}, editor = {Wolfgang Ahrens and Iris Pigeot}, booktitle = {Handbook of Epidemiology}, title = {History of Epidemiological Methods and Concepts}, pages = {43--74}, year = {2013}, edition = {2nd}, publisher = {Springer-Verlag}, address = {New York, USA}, } @Article{HSAUR:ZeileisHothornHornik2008, author = {Achim Zeileis and Torsten Hothorn and Kurt Hornik}, title = {Model-based Recursive Partitioning}, journal = {Journal of Computational and Graphical Statistics}, year = {2008}, volume = 17, number = 2, pages = {492--514}, doi = {10.1198/106186008X319331}, } > > HSAUR3/inst/LaTeXBibTeX/refstyle.bst0000755000176200001440000006715714172224326016604 0ustar liggesusers%% %% This is file `refstyle.bst', %% generated with the docstrip utility. %% %% The original source files were: %% %% merlin.mbs (with options: `,ay,nat,nm-rev,keyxyr,dt-beg,yr-par,note-yr,tit-qq,vnum-x,volp-com,add-pub,pre-pub,isbn,issn,url,url-blk,edby,edbyx,blk-com,pp,ed,xedn') %% ---------------------------------------- %% %% Copyright 1994-1999 Patrick W Daly % =============================================================== % IMPORTANT NOTICE: % This bibliographic style (bst) file has been generated from one or % more master bibliographic style (mbs) files, listed above. % % This generated file can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN % archives in directory macros/latex/base/lppl.txt; either % version 1 of the License, or any later version. % =============================================================== % Name and version information of the main mbs file: % \ProvidesFile{merlin.mbs}[1999/05/28 3.89 (PWD)] % For use with BibTeX version 0.99a or later %------------------------------------------------------------------- % This bibliography style file is intended for texts in ENGLISH % This is an author-year citation style bibliography. As such, it is % non-standard LaTeX, and requires a special package file to function properly. % Such a package is natbib.sty by Patrick W. Daly % The form of the \bibitem entries is % \bibitem[Jones et al.(1990)]{key}... % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... % The essential feature is that the label (the part in brackets) consists % of the author names, as they should appear in the citation, with the year % in parentheses following. There must be no space before the opening % parenthesis! % With natbib v5.3, a full list of authors may also follow the year. % In natbib.sty, it is possible to define the type of enclosures that is % really wanted (brackets or parentheses), but in either case, there must % be parentheses in the label. % The \cite command functions as follows: % \citet{key} ==>> Jones et al. (1990) % \citet*{key} ==>> Jones, Baker, and Smith (1990) % \citep{key} ==>> (Jones et al., 1990) % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) % \citeauthor{key} ==>> Jones et al. % \citeauthor*{key} ==>> Jones, Baker, and Smith % \citeyear{key} ==>> 1990 %--------------------------------------------------------------------- ENTRY { address author booktitle chapter edition editor howpublished institution isbn issn journal key month note number organization pages publisher school series title type url volume year } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {fin.entry} { add.period$ write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {date.block} { skip$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {non.stop} { duplicate$ "}" * add.period$ #-1 #1 substring$ "." = } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\em " swap$ * "\/}" * } if$ } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} FUNCTION {bbl.etal} { "et~al." } FUNCTION {bbl.editors} { "eds." } FUNCTION {bbl.editor} { "ed." } FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} { "edition" } FUNCTION {bbl.volume} { "volume" } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} { "number" } FUNCTION {bbl.nr} { "no." } FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} { "pp." } FUNCTION {bbl.page} { "p." } FUNCTION {bbl.chapter} { "chapter" } FUNCTION {bbl.techrep} { "Technical Report" } FUNCTION {bbl.mthesis} { "Master's thesis" } FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } MACRO {jan} {"January"} MACRO {feb} {"February"} MACRO {mar} {"March"} MACRO {apr} {"April"} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"August"} MACRO {sep} {"September"} MACRO {oct} {"October"} MACRO {nov} {"November"} MACRO {dec} {"December"} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} FUNCTION {format.url} { url empty$ { "" } { "\urlprefix\url{" url * "}" * } if$ } INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.names.ed} { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "," * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ } FUNCTION {format.editors} { editor empty$ { "" } { editor format.names ", " * editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ * } if$ } FUNCTION {format.in.editors} { editor empty$ { "" } { editor format.names.ed } if$ } FUNCTION {format.isbn} { isbn empty$ { "" } { "ISBN " isbn * } if$ } FUNCTION {format.issn} { issn empty$ { "" } { "ISSN " issn * } if$ } FUNCTION {format.note} { note empty$ { "" } { note #1 #1 substring$ duplicate$ "{" = 'skip$ { output.state mid.sentence = { "l" } { "u" } if$ change.case$ } if$ note #2 global.max$ substring$ * } if$ } FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ "\enquote{" swap$ * non.stop { ",} " * } { "} " * } if$ } if$ } FUNCTION {end.quote.title} { title empty$ 'skip$ { before.all 'output.state := } if$ } FUNCTION {format.full.names} {'s := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}" format.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { " " * bbl.etal * } { numnames #2 > { "," * } 'skip$ if$ bbl.and space.word * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {author.editor.key.full} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } { author format.full.names } if$ } FUNCTION {author.key.full} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.full.names } if$ } FUNCTION {editor.key.full} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.key.full { type$ "proceedings" = 'editor.key.full 'author.key.full if$ } if$ } FUNCTION {output.bibitem} { newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "}]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {word.in} { bbl.in " " * } FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } 'skip$ if$ extra.label * before.all 'output.state := " (" swap$ * ")" * } FUNCTION {format.btitle} { title emphasize } FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.volume volume tie.or.space.connect series empty$ 'skip$ { bbl.of space.word * series emphasize * } if$ "volume and number" number either.or.check } if$ } FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.connect series empty$ { "there's a number but no series in " cite$ * warning$ } { bbl.in space.word * series * } if$ } if$ } { "" } if$ } FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { edition "l" change.case$ " " * bbl.edition * } { edition "t" change.case$ " " * bbl.edition * } if$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { bbl.pages pages n.dashify tie.or.space.connect } { bbl.page pages tie.or.space.connect } if$ } if$ } FUNCTION {format.journal.pages} { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", " * pages n.dashify * } if$ } if$ } FUNCTION {format.vol.num.pages} { volume field.or.null format.journal.pages } FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { bbl.chapter } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ } FUNCTION {format.in.ed.booktitle} { booktitle empty$ { "" } { editor empty$ { word.in booktitle emphasize * } { word.in booktitle emphasize * ", " * editor num.names$ #1 > { bbl.editors } { bbl.editor } if$ * " " * format.in.editors * } if$ } if$ } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ } FUNCTION {format.tr.number} { type empty$ { bbl.techrep } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ } FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ word.in } { bbl.volume volume tie.or.space.connect bbl.of space.word * } if$ " \cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * } FUNCTION {format.org.or.pub} { 't := "" address empty$ t empty$ and 'skip$ { address empty$ 'skip$ { address * } if$ t empty$ 'skip$ { address empty$ 'skip$ { ": " * } if$ t * } if$ } if$ } FUNCTION {format.publisher.address} { publisher empty$ { "empty publisher in " cite$ * warning$ "" } { publisher } if$ format.org.or.pub } FUNCTION {format.organization.address} { organization empty$ { "" } { organization } if$ format.org.or.pub } FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { journal emphasize "journal" output.check format.vol.num.pages output } { format.article.crossref output.nonnull format.pages output } if$ format.issn output format.url output format.note output fin.entry } FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.bvolume output format.number.series output format.publisher.address output } { format.book.crossref output.nonnull } if$ format.edition output format.isbn output format.url output format.note output fin.entry } FUNCTION {booklet} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title howpublished output address output format.isbn output format.url output format.note output fin.entry } FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.publisher.address output format.bvolume output format.chapter.pages "chapter and pages" output.check format.number.series output } { format.chapter.pages "chapter and pages" output.check format.book.crossref output.nonnull } if$ format.edition output crossref missing$ { format.isbn output } 'skip$ if$ format.url output format.note output fin.entry } FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.publisher.address output format.bvolume output format.number.series output format.chapter.pages output format.edition output format.isbn output } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.url output format.note output fin.entry } FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title crossref missing$ { format.in.ed.booktitle "booktitle" output.check publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ format.bvolume output format.number.series output format.pages output format.isbn output format.issn output } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ format.url output format.note output fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.btitle "title" output.check organization output address output format.edition output format.url output format.note output fin.entry } FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.mthesis format.thesis.type output.nonnull school "school" output.check address output format.url output format.note output fin.entry } FUNCTION {misc} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title output end.quote.title howpublished output format.url output format.note output fin.entry } FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.btitle "title" output.check bbl.phdthesis format.thesis.type output.nonnull school "school" output.check address output format.url output format.note output fin.entry } FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check format.bvolume output format.number.series output publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ format.isbn output format.issn output format.url output format.note output fin.entry } FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title format.tr.number output.nonnull institution "institution" output.check address output format.url output format.note output fin.entry } FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check end.quote.title format.url output format.note "note" output.check fin.entry } FUNCTION {default.type} { misc } READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} { 's := "" 't := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " " * bbl.etal * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal * } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "????" } 'skip$ if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { " " * namesleft #1 = t "others" = and { "zzzzz" * } { t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ } FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ } FUNCTION {editor.sort} { editor empty$ { key empty$ { "to sort, need editor or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } FUNCTION {presort} { calc.label label sortify " " * type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.sort 'author.sort if$ } if$ #1 entry.max$ substring$ 'sort.label := sort.label * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { last.label next.extra } INTEGERS { last.extra.num number.label } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label " " * year field.or.null sortify * " " * title field.or.null sort.format.title * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\newcommand{\enquote}[1]{``#1''}" write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname url\endcsname\relax" write$ newline$ " \def\url#1{{\tt #1}}\fi" write$ newline$ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% End of customized bst file %% %% End of file `jasa.bst'. HSAUR3/inst/LaTeXBibTeX/setup.Rnw0000644000176200001440000000316214172224326016044 0ustar liggesusers \SweaveOpts{prefix.string=figures/HSAUR,eps=FALSE,keep.source=TRUE} <>= rm(list = ls()) s <- search()[-1] s <- s[-match(c("package:base", "package:stats", "package:graphics", "package:grDevices", "package:utils", "package:datasets", "package:methods", "Autoloads"), s)] if (length(s) > 0) sapply(s, detach, character.only = TRUE) if (!file.exists("tables")) dir.create("tables") if (!file.exists("figures")) dir.create("figures") set.seed(290875) options(prompt = "R> ", continue = "+ ", width = 63, # digits = 4, show.signif.stars = FALSE, SweaveHooks = list(leftpar = function() par(mai = par("mai") * c(1, 1.05, 1, 1)), bigleftpar = function() par(mai = par("mai") * c(1, 1.7, 1, 1)))) HSAURpkg <- require("HSAUR3") if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR3")) rm(HSAURpkg) ### hm, R-2.4.0 --vanilla seems to need this a <- Sys.setlocale("LC_ALL", "C") ### book <- TRUE refs <- cbind(c("AItR", "DAGD", "SI", "CI", "ANOVA", "MLR", "GLM", "DE", "RP", "GAM", "SA", "ALDI", "ALDII", "SIMC", "MA", "PCA", "MDS", "CA"), 1:18) ch <- function(x) { ch <- refs[which(refs[,1] == x),] if (book) { return(paste("Chapter~\\\\ref{", ch[1], "}", sep = "")) } else { return(paste("Chapter~", ch[2], sep = "")) } } if (file.exists("deparse.R")) source("deparse.R") setHook(packageEvent("lattice", "attach"), function(...) { lattice.options(default.theme = function() standard.theme("pdf", color = FALSE)) }) @ \pagestyle{headings} HSAUR3/inst/NEWS0000644000176200001440000000134614416235666012714 0ustar liggesusers 1.0-14 (2023-04-14) o package maptools will retire 1.0-13 (2022-04-25) o don't escape & 1.0-11 (2021-10-18) o reduce size of tar.gz archive 1.0-11 (2021-04-06) o reduce size of tar.gz archive 1.0-10 (2020-09-21) o remove dependency on alr3 1.0-9 (2018-05-28) o update to mice 3.0.0 1.0-8 (2017-08-18) o remove longtable.sty 1.0-7 (2017-06-21) o use logrank_test instead of surv_test (for coin 1.2-0) 1.0-6 (2017-02-28) o tm is not actually needed 1.0-5 (2015-07-28) o NAMESPACE updates 1.0-4 (2015-03-09) o wgs84 -> WGS84 1.0-3 (2015-01-05) o remove platform-dependent Makefiles 1.0-2 (2014-08-18) o tools::delimMatch o png figures 1.0-1 (2014-06-26) o update URL o fix vignette index entries HSAUR3/inst/cache/0000755000176200001440000000000014172224326013242 5ustar liggesusersHSAUR3/inst/cache/DE-bootpara.rda0000644000176200001440000010376214172224326016040 0ustar liggesusersRDX2 X  bootpara ?\@KOVMl@T(;S names p mu1.2 mu2.1 ?4Fd?֤A8X?։5?[?{͓v?J~L?ׂ?֎i{?.?{θ]?dBj?ګ.?qIz?86?{p?ЉA?Ԛru,?VEX+?HIlD?ʯ=?)A} ??ԫ?9!%ȱ?((~a3?I;E?]?+??Ԣmpd"@?铤9??wל?O՟?U}??p?~bV?CPp?ا2?# ?'M?27m"?Q63(.?5cT?:;2A?6{?ݦ_?L'g?v n?b$v?⬠ \?kP6?ԙ?2?Կ &?#?`?漢^?֨X?؎M?L7+!0?th٘?xT?"3>a?լً?(;P?z?MsΞ?_TD?0SM?ע|d?d!?+?PNHN?֘[iB?+Ii?%ٓny?ֆ&0Br?o@?ԕX? ͩ|?$4b0?=?)D?,ߘ?ӭ|L?%?؅~?Ճd I?hgд?nD??'e4e?ӪQ?2̆?څY]X?> .?v rv?^?ͩƾ?׆0{?ټ9F!?~l^?ٯK?N?[;|?G n?.?֛,!*?8 Os?1i?m'+/??M ?ֿn?>40?vC4?׫\ ?ֲh?+?Ԙĕ~(?٧=I.?C!Z?FXkJ?ڎs= ?l{X?ٝW>K?JmW?Y?bl#.?sۆ?UǨ=?g13?vTg?4Q?/u[?O0?ti\?:=|w~?+Vt?ȟ)?ca?.z\?Ճel?`a|?ԡ-i?MzR?JXr?ɍF?A6fe?&ECS?؂[?՝R.?v6? |Nz?=mc?ۗBz?]?q*+2 ?b?4v?A RT?״K?\C|? |?$MUh?pN?$ϱhPt?:0?#ͣ?XkD??Ƶ¤??$??+@?%%?u?T?xHT,?LV? ++}?YmO&?Ԑ??ֿ4`?]|n١?ٳKqL?YV?+?Z?~wt<(?,vXK?׀?׼c )f?֋L0?裕Z?#4?TO-3i?m?׹zUf??$?ى?ّrY?2iP??ڱy?Q?Մ¼? Ŀ?9P?׽?ŽwFX?ҡX?xš?нVih?5:C;?xG?E;B ?:$?D]?Oj?9 _?֌2?d9'x?D{?'`?عh?דѢif?Jb!^?ד>k?#CNkVL?9|܅??՜V?סq? 2_Μ?ɘ~?쬟p?5?ٵ~?`Kl,?ַ9ߌ?d? -xѐ?>?f>H?Z/? 8B?sJ? g?ט [?A›D?Km#? #?O ??܀?ٮeɰ?Ւ}g?'vOc?S,?0^;~? ՚?Kr?ڟƬ4?ևN ?D{?m!NS?Զ}"?ܘ?;9?}>,u_b?Գg4?ևp?׵`C?*?Է'f?bgܴ?՚? ?^꛽3b?t?׍O?:uX,?ՔoS~?#`?|~\Y?8N?:0?^;p?T,Hs:?Մ(ez?ӗ{l? R?ԙ ?{y?ٻ?vv?؇!G?`?Z8'?֗S?vKN?үd?֝U'FV?ө/ ?Ӎ95?r3>?اfH?k`l?ڀ:ر?1E\?Tjl?׾X?՝qIP?رPlE?Hhv?ץaj?\Vې?ҦL ?DA?~49&?˸B?{ޘ;6?w5K1&?-Ҿ4?։۲??'f8ﮬ?؜?x(?ָxݮ|?ח1x?בx?y}?BdhY?bP38?ׅҢ?d}?ͧx ?bl:?T|=i?՞Kc?b?1=?]G?%.?bPT?a*2C?wXwY?pq^?>"H?խOA?חtp?ITj?'N?ַj?_"T^?O? 3ɥ?%?nw?*+ĺ4?d??7,x?zr?6?x?&{@E?]CV%?. p?>?40??T2?ؼ?QZI??Z6!y?L?sE?Հ5?x?מwA? emJ?TԂ?ڞx/T?{ק?ՌY.?֛:[I?Қ9?׬@?ӫM?Yʰbx?D%!b?Egl?ֿ?L?}<(?nՍ)?օpK?r\?Յ}4&d?֥Jpd:?|Wr?l?ٺ:OٰJ?TC-?4~[? Y?׊?ס%?՝? V? $?9n? ,??T8Ӑ?֤1z?V˪`J?+DsN?|.{*?W枎\?17nB?sغ?ՅR?7XO ?jOX?&Xĸ?6l?4-@?Yt?oxg ?ױt,? |6R?D?Sn?0t?0?է5?a(?vr?s+@?;&?Xa?؆@{l?%mwP?,(D]?(` `?0l?ӖD?a?DCq8?D?ؐf?i'?؆j~?ںM2?ז?,W?g P?iP?ײ9k?P n?J[a?^?gK?+@:?]?HBt?"WZV6?>RX?׮Ri̚?)FOKA?!|U? 6uW?= ? ~v?Ըf{?ҙm#A?׀ SemA?J*ud?ګ ĮJ?,x?'? 3@ b?o^?ѪM?em?فVj?֪?֔ $?rcm^?_q? j{C?Hw?ك?ֶ$?իo8?ٚd?xN?I6bL?,܀ ?֗ :y?* ;N?? 3)Y?֟)*Nd?kG?(?d-?`h,W?%l?ڼ9)`6?؁{߮?u?ݗ(?9B_$J?-^Cf?ؙt?#W} z?ֻ )o?,i?يz3?ִӿN?\e[?SbO?9y?])j?XR(?ؕ#Z`?[P0?[!Ӂ ?9DD?!`?>/?׷FmsY?ּ*B?E&S?ԡ-0? [z??ؙ02?/xg]?j=%Z?w/ n?j?TKrK?1\}?=B{uj?2y ?Vj?֣B6?'>?nPm?c8L ?^U?IF?\0d?4?f?,Ad?lmN5?֧eBl?SxK?o?ײ&:?ֹ]+oz? ?:٫?A @>%?ڄUc?ˑ:?׭-/t+?٠M]K?SPqG?׫"z?TK?i?v>w#?x£ ?z?נ4O.?,V?uآ?$`?;sc?z;f?`7kL?Ӥ?!h;?!?ӊ@?xx 8?p1kR?sŖ@?͹XJ?T?ƻI?n5w?$F?h&nH?(r?ׂ/z?!D%?ut?R?إ#K?6Gs$?׽A@K %@K ./g@K>SP6.@Kl0q@KH=,@Kn.@Ki>@Kьvw@Kcf/@K@Jt9@K3F@J=@K(+cD@KsJ@K~?9@K*w͹@KUZ@KTum@K oF@KITS@JⲂ@KOڕ~@KEb@KCW@Kz{M@KX r@K"R_@JP!@K @K/Ǣ>@K 0@KeVD2]@K)`?Gt@J@K"ܶ@J;@KZ i4X@K,^ye@K!AnO@KiBer@Kd0&@K,9)݇@J޲@Kiji@K&Q,@KI@K!tG@KIu"@KB!@KΠ@K@Jx[@KiT5pL@K+14@K0@K!ʑ@K&Z.@@Ko ߀ @KR%PH@KzO@KVa@JǪ &@Jߝ@K*=@KQl%G@K Iޘ@J:'@KA@K s,@J@Kҵo@K @KG}zY@KFW2@K{1_@K,])6@K]ז4l@Jmʲ@J"@Klu]@Jt:D@JIE@J@K 4@KhGK@KRW@KcĊ@KF垘Ը@K!ق@J@KR{@KrJį@K)!@Ksê)2@KdL=:@KG#>@Kƃ@KЮ\.@KUG@Kr6r@KnA@K< c@Kٻ@K Z){@K>*@Kn4@K1 ׬@J :V@K4or9C@K('@K\e(@KB '@K@KZS@KAϤJ@Kg @J)* @Kuy@K}Ve@Ku!-@K"/@K!7Y@K9|,[@@Kp$@KTX/@K,*@J! aG@K\ @JH@LKŇ@KY@LɘZ@K@K41^[@K u@KV@KR@Kd-@Ky@Jsv@K2@Kau@K% @KL$@Kl3@KR q@Kv@K=@K_pqc@Kn ?@K7*M_|@Jn@JAOh@K5*_@K 㠾1@K&z@J5TQ@Ks͊@Kf,v@K'H@KBf@Jfd@J]@Kx*@J [@KRݾB@K$ @K&kN@K\*t@K ^W@JGu<@K@K xI@K#\U@K=T@JӁI@K0Z|@KEn,@Lwj4@JY^@KU!S@Kҧ@KD&_@K*>_V@J)P@JR.X@K7I|@KAFP@KNWo@K0+@Krg@K*]@J^T4@K#5>@K# M@J$c@K7"f_@KAbjm@Kcի9@K)JB9@K^O;]V@K"vE@Kzv# @JV@K @KcmZ@Kibyq@Kxiʋ@Kn@KYM@K$Ӗt@KH?#]@KhnP@K K@Kx@Jƴ!@JR@KrL%m@KmlJ@JS)@Ks1Z@Jt@K/ @Kh@KB9=@Kfa6<@J @JB@K>%V@K7@K#5I@Jr6@K'Z@Kr @јB@KA"_@K3E#@KWK m@@K;D@K@R@K)}k@K.m @Kw@KԞDTm@K;@K9g$@KRLF@K_ot;5@K[@KG"kQ@K@J`@KqA_@JKI@Kn@L&4@Jap@Jy @K&Z#b%@Kf"t+@K9E@KoL΄@Kr7g2@K֒O@KW\@Jh>@K$>/ @K[@K3@KyF@K"W`U@K<:@L!s@Kb$@K-@KN@KVm=@J@K@K&V@K<@@JT@K.D6t@K< [@Kt@Kc8T@KIa@K2B@JVQrQ@K&eA?@J@Kc @J'c@K4N+"@KlZ@K1AF@KAFi@K;%@KkRM@K1N=@K.GP+@J@Kܟϥ@J׃:@KoϞ|@K3i~@L6+ @LFrt@KP@Ke3 q@Kn S@KO5/{@Kfۂ@K;I @K&U@K "#•@K4@KZ+@KfS@LЩChu@J&u@K; {@KϏK@KĴck@K.9S@J3@K_qXA@Kp=(L@K~)ظ@K*g@K@Jz@KGprk@Jpt]r@K情Q@Jd T@K9;5@K[k*@K<@K!y9@KQ1@KtE(@KadIq@KMI/@K- @KRG@K+*@KpH @K {@KFڔ1@KNF@KK5@J˚@Ku.@K>gԯ@K X@K4@K|۩@@Ky@K9@Kh ;8@K#@KB@L)j@KReý,@K k@K dj@K0"@KJ@Jcq@K*9i&l@KlX>@L@K1c>@KSS@JR-)6@K"ֿ7@K:JG@K@KL$5@K"v,C@Ki1I4u@Jsr@K_K@K")@KUӏ@KӇ@KOڟo@K$5V˜@K"BM@K]%@J_OlG@KK{a@KP9˰@K5=M@K@K>_@Ky"U3;@J˖]@Kiw@K&OK@K@3@Kn*@KA@K~s@Kd7T@KA= @KOY@KKwt@J7f @KÔ8@K_@Kؑ^^@KS@JDҠ=@KU#ܟ-@KkNT:h@K`@J؎!9@K3 @Jqf@J՝@LSB@K@J1@J(@Kb2B@J @J7[ZI@KW W@KF]D1@K@KQ~@KAY%@J>@Ki|@K<@KZ!,s@K8qu@Ka_C@KvӤ8@JJev@K67I)@K#j@JՐe\@KH @KF0_@KUK@KdOR@K2"41@KsfD@KFFή@KT)@KJS@JQ*@K+ )@Kk?@K2AV@J @K.Cx@KZ @KlZ} A@K+!/@Ku'p@KFs-@K+Z'8@KP?Y@K\_9y:@Keڿ؄@JW.@K}<@K4Lx@Kc@KV{ǎ@JU;R}@K C@K6C@L*F xo@KCL&C@J]򳕪@Kf@K*\2H@K\x_.@K*-@J-@Ka'Aq@K+'ʅ@Jx4)@Ka&<@K>7@J8@N@KJ!)@K|{6@K2ؕ@J#-;@KI@K. @KKz%i@Ka&@J7a@K=\0@K|w[&h@K 1f@K^@Kj!:@Kͼ o@Ki=`j@Kz6@Jȫ @KÆ @K4ʤ5@Km@K5Z@Kqm?/@KW,?A@K?.R@J:FC@Kš\-@K-v q)@K@K6~N@Kn?B@J]2@KHZ m@Jm@K ^w@K1A @Kl@K4hB@K];@K=@'(@Kryu@J @JER@K~2@K Y@KƖ@K$_*H"@J3I@KKY0Q@K=i @K ~@J_3@J@K T%lK@KkH@K-Đ@KU񕰣@JY#w@K(H@KW@Kd4@KssX0@KIvR:@Kj>@K=o2#w@Jɿ'd@K?a@Js@Kn@K ;(@KH7i@KT9 @KqfjS:@K>DH8@KR?J@K5B@Kxj-@KPK@Ka/;?@J@K Zg@J蝤$t@Km|@JߔV@K(R@J8 `@KH @KF@KQ@K2N@K:@K!#-@KvV*@K]*?@K<Ƿ) @K3Upe|@KI I@K+@+8@K?jϷ@K2OaN@KA8,3@K#5֤@K6K.@K@K1Z@KIfZ@JxH4@K!@K,~?@K )@K;e3@KƐ@Ke=@Jկ@K=Ψ@J0@J.@K k@K=ԍ@J&@K:bժ@KKg@KZtq@K!1g@KD"(@K7)j@K; @KVF@K y@LEm@J ㆳ5@K,c7P@Jݣg@KN#m@K<*.}@KJ @KVB+U@Keg@K[߱0@KE;B @KF8@J؝@K7f@JD)i@J@KiQzٷe@J@J޺2x@K6@Kh @Kš'!@KFJ g@J,x@JYZJA@KI,@K[Y4@K7|(@K~m@KvO@Kv/oQ@K"8@KE;Y@KJl @KX@Klpd^@K($fD@KbhG@K}JM@KF*@Kdj@Kk#j @JұB*@K}a~@K~h@J@`VY@KB3g@Kh@K/4x@KWa @KL @KLtpM@K{i8@K:@L9;@K7ZO@J@Kn@J C@Kh U@K5/G@Kb6Q@KfwB@K @L 0eT@KJ`۳@KJăE@K8,gD@K46@KJk@K:@Kvr,m@TNOА@SI8=@T%K@T(p+@T=<@T%J)@T8f@T% DQ e@T(@SGlG@T'Ř@T)a,@T6uY@Tq@T%\@ @ToK\@SsC@(@T+i7@TM0~@S֏l@Ty@TAӢf@T=`eS@T /xrB@S9@Ty"ߊ@S(@T^8@SeǛ@SOz @T B@T"P(@Sm]~@Td"/@TS@SlZO͓@Tl!@T5P@ShAs@T7`l{@S yԛ@Sϒb@Tg|u@T#2@SQ]@TNP9@SJ@Tc@T]@TZm#@Se4@SNhy@SGFo@S/vx@T@Tqc@T77@T D@T/j\J{@Sߐdz@T.d8 I@SX@S_3 * @Sh@T24Ȭ@T"~@T6@Sދ v@T:La,@SmX]@TT5<@T #@Ts:@T*O*@T@,qa@T hsO+@T@TXY@T "G@Sj@T{Y@TҎ @T[ @Sy@S'Z@T@TR@T*}l{{@TG'm@T-N@T 0u'@S%be@T&\щ@TW"@T*N@S9=@T5`h@c@S- @T@T XmD@T}_@S@T?)L@T 6@S4_ @TE1@Sڕ<=@T#\@T9A@Td+@S@@SE:@T%yI@S ݸ@S @SUW@S L@Tф@T",ܩ@SD@SoUA@Tf1@SUS@S@Sg\J@Sg(@TPV@S避@T?J2@Tb@S̓`@TIƎ@T U^@SIӚY@S[}@TJ@S&Q@Teuo@SZzS@T%,Q@S ^J@T>A8 @T@SQl|@T*ʻ@T X@Sc\A@T ,)@S%͛1@Skid@T C@T ]#@Tj7{@T vK@T*@T@_p@T1w7@T"U@SB@Sd@T*ÞOh@T^G@TO@Sŧf@T[@S+B@S)|@T"=ҵ@T=",@S_@T6L=@T@O9f@SA( @T7#@ToLX@T% Z@T2(t@T*'4L@Sֽxd@T+ @TC@S8#@S Z@Th3@T &p@ThO@T 鈟@Tn- W@SF/@TPY@S.@T\!@S:4ѹ@SY;@T@T D Y<@T)Ep#@TY]0@T)vH@S \1@SQ !@T"<@To @S$@T @T(<Δ@T>vJz7@S @T$@T#@T=^8@Sߔ@T8^k@S8@TɁ|@T+@T$I@So4@T t@SA@Sn6bd@S؏(k@SO@T)~쁯@S_y@T7#Z@T. 5TP@T&bQ@T$@@S0}@T<Д@TM@T"ʞ@Sqm@T h(@T"ᇾBz@T9WyZ@TE`x.@Td(@SL.@T @T0aC@T ,[@S:ٚ@T:+2@SX@T N@T"R@TL@SyU7!T@T%@S@T f1@SYy@S%/@SZ %@T U$@TC*|@T;t@Sm @T94@T"Tl5@T.=w@T$R@T@T[1~@To@S颴@Sʕ\[_@S @TD,@T)@T9k@SμF@SҒun@S0@T`U(@S5\ @SkB@TDJh@T 7t@T@T(3@T= &@S @TmJk@T R@S?B%@T(;G:@SvGQ@Tj@SP#4@TH_@T s@SᦩIe@T虿I@Td-M@S׶l@T$@S0@SIt1D`@T 21@SCzr@SOK7@Sv7@SmSL@Sr5O@TCf@T +@T@@SU/@Ss龧d@S(5@T78@S5u @Td Û@T<~@TL٪{@T+(r|@TH@T=t@TK`Շ@SIpa@Tve@TfE@T8UR@SO@SZ@TרX@T^@T+T@TLǍ@T} @T*@T¤sg@TL<) @TI@O@S@Ty @SڂQ0@T X@S@SbI @SG@Sl@T7`:@Twy@T3>@Sئh_@S%nJ@TJL@T5o@S۩@T:b ~@T>@T Iƪk@T3( f@S¨@SEI@SDwC@S>@TW@SމC?@SrE@S<@S5-|@T'd@S >VF@T͸@Szk@T8qe3@SbB3@T]f@TiK&,0@T+7@T4)@T,W@T &@SܳȢgE@T@U@Tg8@Tm@T>@TPy&jt@Ss@SsY5߄@Ta\@T Ҵ@S6O@S65@T 5s~h@T3+ @T|@Swzv@Tu+@S!=@T)DNd@T/V2O`6@SŘz@@S.[@T"'P@T ͙@T rM@TI @T4ad@TZp@-@Tf ,@TҎu@Sg@SFH@T e@S @SpXZ@TKI@S=@S/(@T@T Ux~@T2ĥ@TBpS@S-z{@T, !C@Tk@T}c@S#-K@Sz@T(@TG#@S䙲-Z@T0 @SBR@T6d@T""@T_m.@T+l~:@T[,@T Wk@S* @SfF@SCZo@T Yۅ@T)ᙬ@S|[@T*@TތG@S|?@S@S$?4M@SZ(|x@S*N%@T6 0ms@T"M @S0@T6^G@Tఢg@SV8l@SrYd@S/@T/ @T !e@T^r@S@T0jb@Tx$D@T"0]@TJD!$@T vW@THG@S3@T@T2pU@T V~@T'3v@ThQ@S_@T-8@T*3B@TՄ@T7@Sw╴@T2Û@S겨@S# ,@T8]=@Sʧ5k @T0MU?@S@SRbI@S=E|k@T;?pH@T@T@S=@S)&AEY@TcFI@S%X@SqoC@TG+*@S @S^@Sl6@Spض@TF?Я*@T9CT@SP@T)ot]@S 矦@Ty%@S9: @ST~@T @T@SV6@S;-@T@T<,@T$@TZ37@Siq@SPd#@T2@T i@T+&@!@TFf|@TE%@TUFX@S_l@S堠@SP%@S:4r@SٞU@T)dCC~@T׸[@SjrO@T@S+}ܹ@TX)@T%@Sh>@T1՞@S`@SIb@Sz@T"@SE@S'>@Tîi @Tچ@T)LS@Tk{b@T l@SJ:[%@TVȇ@T&@St{@TLbiJ@T(k}@T3?Y@Sp8T @T+I4@T`ǹ@S^sy@T9!@S7?@T8@T}"@S@Sr@Tg8@S\&@T&Y@T"[jJ@SU"g@Sy@T GE,@T Džp@T6S @T.d@T)7t@T3"^@TF@SܮY@TX&@TT- dim @@@S@K@R@O@U@@K@V@U@@I@U@@K@U@S@G@T@J@O@U@J@S@I@G@S@Q@@R@T@K@S@S@S@R@@S@@P@T@R@J@H@T@M@V@T@M@U@M@R@@T@P@J@T@M@R@V@K@T@K@T@Q@P@S@@T@@M@U@H@T@N@W@S@S@P@@R@@T@L@S@Q@O@S@N@S@S@T@R@T@Q@P@@R@@V@S@T@H@U@N@V@I@S@O@R@U@R@I@T@O@V@H@T@T@@G@U@J@U@T@@R@M@V@@S@M@T@@I@U@@M@U@J@Q@@S@@L@V@T@@F@T@K@V@F@T@L@V@@G@T@I@U@J@S@T@@N@T@S@@S@M@T@H@X@J@S@@S@@P@@T@@Q@Q@T@@W@@J@V@@F@U@M@S@P@S@O@V@J@W@@H@L@S@@Q@T@@T@@R@@I@U@@R@K@S@@T@T@I@S@U@G@T@K@T@@L@S@U@S@@T@@U@S@@I@S@N@T@V@J@S@G@S@@U@H@T@Q@T@H@R@P@S@J@W@K@S@I@T@K@R@S@S@S@S@Q@S@Q@K@U@I@V@K@K@S@@S@P@R@G@U@O@U@@T@L@T@P@R@K@T@R@@R@@V@T@Q@T@L@S@S@U@M@T@E@N@R@T@@G@V@G@R r3v ?h Tk{0a E!8v"At6M(:*N Qo_VW)JR|;7ѫ([%EzImRkʇ{U,p/$底F 2mll(H@+^vI\X] ts5eBT8WWMjhWHnI58*^@P1!3xЙo5+Doڢv\fLZ<*PLʍj;ZfWVhrܬv*XÁ?oZdyp u%P?Is/Ɗ TPsR\\vΞ-Bi"ڭ[֏FŤN.|hM]+[+j J)xO2lnavԸ9yńG"G('~ qQ<ྋjCFDXs1_: jƒ``s|Ҭ!"F3H=2bz@Ĵw*Hr kVz TU eG` »/('Js<<9r0$5K8Qt&3ɳHHBxSg)t `Ռ<+`~Yϫۗ\GTg#)ĖMX1z+Ѽ˺T}t# QfBPhLpO+ tUl?qwy61` Ly RZǂf_BZ5<^țr+&p*$6d#8$lEj pN{>3xJ -.\ ,1SbtMWaE3 흤ddU혎'C_jI"<^co2k\K\jsɢ^' Ft*_.o;ҽU*MB]Sqcd!g-1v0}4vxuhF4i U&2]ThP_[xQmo% @\v7$,qk@ےZLp36TbGD?A5 Ue2997"c5%Jof(K^U꼧Aq>,g}X` x indx { <- a Mclust [ minG@ maxG@ if <  $ pro?? return c p  pro? mu1  mu? mu2  mu@ -?  pro?  mu@  mu? ordinary boot data faithful waiting statistic fit R@@ i?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n?n t0 t R data seed statistic sim call stype strata weights class bootHSAUR3/cleanup0000755000176200001440000000146714416277550012617 0ustar liggesusers#!/bin/sh for f in ./R/*~; do rm -f $f done for f in ./man/*~; do rm -f $f done for f in *~; do rm -f $f done for f in .*~; do rm -f $f done for f in ./tests/*~; do rm -f $f done for f in ./inst/*~; do rm -f $f done for f in ./tests/*.ps; do rm -f $f done for f in ./inst/doc/*~; do rm -f $f done for f in ./inst/doc/*.aux; do rm -f $f done for f in ./inst/doc/*.bbl; do rm -f $f done for f in ./inst/doc/*.blg; do rm -f $f done for f in ./inst/doc/*.log; do rm -f $f done for f in ./inst/doc/*.brf; do rm -f $f done for f in ./inst/doc/*.out; do rm -f $f done for f in ./inst/doc/*.tex; do rm -f $f done for f in ./book/.RData; do rm -f $f done find . -name "DEADJOE" -exec rm -f {} \; find . -name "svn-commit*" -exec rm -f {} \; exit 0