Amelia/0000755000175100001440000000000012631025273011461 5ustar hornikusersAmelia/inst/0000755000175100001440000000000012630722655012445 5ustar hornikusersAmelia/inst/CITATION0000644000175100001440000000156012535741301013575 0ustar hornikuserscitHeader("To cite Amelia in publications use:") bibentry( bibtype = "Article", title = "{Amelia II}: A Program for Missing Data", author = c(person("James", "Honaker", email="jhonaker@iq.harvard.edu", role="aut"), person("Gary", "King", email="king@harvard.edu", role="aut"), person("Matthew", "Blackwell", email="mblackwell@gov.harvard.edu", role="aut")), journal = "Journal of Statistical Software", year = "2011", volume = "45", number = "7", pages = "1--47", url = "http://www.jstatsoft.org/v45/i07/", textVersion = paste("James Honaker, Gary King, Matthew Blackwell (2011).", "Amelia II: A Program for Missing Data.", "Journal of Statistical Software, 45(7), 1-47.", "URL http://www.jstatsoft.org/v45/i07/.") ) Amelia/inst/gui/0000755000175100001440000000000012526406536013232 5ustar hornikusersAmelia/inst/gui/arrow_left.gif0000644000175100001440000000017212431142311016044 0ustar hornikusersGIF89a ^i_SXZTY|ZcE!,'I8m%@fdAx%ߣ;Amelia/inst/gui/page_edit.gif0000644000175100001440000000057712431142311015632 0ustar hornikusersGIF89a`wxIUkTe~CK\)1C>EUWT8e! ,pH, #E" PG"tDt8@& ^BH^H8Ѕwyq| zBg}  B     [\uFBA;Amelia/inst/gui/page_dta.gif0000644000175100001440000000061412431142311015445 0ustar hornikusersGIF89a/)1C >EUCK\)2IUk7?7?:GRa{IWpUeYg^ivȉ̱ɚ֫ޞѮ!?,pH, ST(P 1bW~XpD~YK"JxCYSD?uax{}"B/ ##/ /$"",?-",B  +-#"*/{-?&/Y++*-  FBA;Amelia/inst/gui/page_spss.gif0000644000175100001440000000114712431142311015667 0ustar hornikusersGIF89aJ)1C >EUCK\IUkRa{?LBMEMWpQeVeWdZfZgeulk~jnpqmqruvϙמ̉쿯Ͱٚ˵οڕܤѮ!,ĀD<:511++((ICC2?=Ƃ+I @>>=IBB@=99G(H#! 7G$3 07n 6HaE KBs7Z D AF1(adHve (Lcr ;Amelia/inst/gui/action_stop.gif0000644000175100001440000000036412431142311016225 0ustar hornikusersGIF89attxxcc__mmjjy''UUjj^^j88//zFFVVooYee;;_??ww\\SSgBB!,q'dYFN )nAF 41ۨ| @x#X>g& Vfx,z hcX r# &. z.!;Amelia/inst/gui/flag_red.gif0000644000175100001440000000034712431142311015447 0ustar hornikusersGIF89aQQLLRKmmYY{{UUccmm]]T3E4`;##΋/55vEY6!,d'di-($TY uE8߄` RYcZETʥG9rĢ@2o没 y($p#?"3g$!;Amelia/inst/gui/page_text.gif0000644000175100001440000000042012431142311015654 0ustar hornikusersGIF89asWpIUkRa{CK\~̟ب)1C>EU!,'d)JtYGEA@B177`Ad4x #i:;CdYlvØ~ɳ@tEVi %$BC`nor~bvw~o" X 9^&"!;Amelia/inst/gui/arrow_up.gif0000644000175100001440000000016612431142311015541 0ustar hornikusersGIF89a ^i_SXZTY|ZcE!,#I8sJ] &Q^_Bi7\[w|c;Amelia/inst/gui/table.gif0000644000175100001440000000056612431142311014776 0ustar hornikusersGIF89avլWotIUkTx=wQa{CK\Ō)1C>EUf>ˑ!,pH, $A( $6+4D&(Atennnnnn(, 'ܟQnovϻ}~7nnnnp Qgq!(En#=Wp nnnn(D}u"r#n^Blnnnnq"W}u"[nv*Blnnnn,J}u"~7nHuKznnnn.N}u"jènos̷nnnn%@}u"(En3Uy/nnn|3}u"uκnnqʳ9]nnnr$CmIvCn^}u"0Pn!:uι[Bl(Et&nnnnnnnnnnnn0P}u"lūnnM}X+Innnnnnnp r#nnn|48\=dBlGsL{GtFr}u"s%nnnnnnx->fXoɱvлnnny/}u"Kzt&nnnn'CR}*Hnnng}u">ep nnnnn8]lƬnnn,K}u"Kzp nnno) !+12\Nbr|}{{{{{{{{|{pU1GG wY1 !6|YN~y,pH=#U#33}hTy1}:bhfI Vnϥ.N&Buκ'B[q!P 1Jj;qʳ l]vκt(]$>kĪ9LDRV=d}5}5_/Pa~~Xdt(X2T`-KSYcLzz1{Gshs$CndClg+HVYch%@meL{x.u'iĩVYcxѼ,J ky.[";Cnd k1SVYc,Kh|4wнJy}4.Ls&kŪVYcQt͸qʳp!tͶo#=VYcy0N}N~q!WVYc%?0Q ~8v+VXc5Xw,cr$5XWUYOo(Eq!_TL>\s% koJvw: #\s% l";@ab u[s% l@il..6 Yo lBk3^^> h:`n8]ǂ̄R}~)1>AA@HsHigq,vMEAA@7}! g?(  #+.+# 5YwwY20#^Uj{{hLcU4p9*trO4mY/)RRC(PL̘axqᒀ*UHǐPСPСLy&z̀x-jj5jh0Xױ'K˗2e>  ?=5j.l6l 3h``n{w#z:9suUԪ#G1b*TjYWկ]ݻwl [۶W1t ހ,-Z ~w$$G{4ހ+V=zyHYt }}*TVԬtnۖ)RR{Rhe;Amelia/inst/gui/action_save.gif0000644000175100001440000000060112431142311016170 0ustar hornikusersGIF89antVmVJWmb{oQa{DM_)1C?FVDߟԮ!,pH, '$'p@QL>,< B)K$O@jd C_y]  B  B B B FBA;Amelia/inst/gui/page_sas.gif0000644000175100001440000000113712431142311015464 0ustar hornikusersGIF89aD)1C >EUCK\IUk+4Ra{?LDMWpQ]crcr_bmnkouvʄ|~ēĔǘȡ̉춷ٚ˵ľەۨޞѮ!,>640))$$6>ABA'4A=RgB!,v'dYND0)b!EtԘR9QU*CƱ 3p=_f@X A`ig^H<y}}w# `$. .!;Amelia/inst/gui/gallery19.jpg0000644000175100001440000004664612431142311015544 0ustar hornikusersJFIFddDucky2Adobed         #"""#''''''''''     !! !!'''''''''',"!1AQa"q2B#Rb3rC$cS4%!1AQaq"2RB ?`^}̌ k@y|1! ֔x~Z<<1+kl G2d3–TʄN1xrv8:Ҭ ÍG*bRJ(2χ 𥵵_<'U* qɶ"i`pd҄VAoB˞5Z܃Ø"*2(㪩3\p8)cXrsΘڨ@0D0,m" ם|0`|8BgD& N8, <+&`x  ,- yᅴ8 8pmn:k1(ON RZӄC`æ\F\h}!OG\&R F̦D}XKkZg9STQ3IO<G:g +SLHD>BO#PFKTY,\MoA4B\qlu#"KHzyW ӥHˆGĝI MxgQsHC4$<>*<7N5(SbǐCDY* p8Yp玩#A. rDcOpX:3Š8HT,/ `9ƠG< i ~x8=04ONHӋ.`)LNXs 4S;Ϟ-`pJJ`$WF"x\lBa2 g`KH:G~1qp>( ʠxpøA#k¼r.70!~.`@p46( L 0`qLu0nX`L ;;]1O} 5:53S0z`  a6@XXO?c%#*x9Z4g 6( `gZ: *irHY4Nl)@xeҹyVx6h4PA (yC, pS#5ŪhXaὼg,1%VD@cC˖F8"G:E?,^{_ۆ糴HT?/p[Hd_#>o;h=Mu7 kU$Ui`YTuWHy0Sf7O\Rd: .1$bU:|Mu,jW @8sn(Fr}?z}oٶ[Di}6q7=9v3Ihj;`Ad.b6ވ}I?8R'VqT_猟W ;d{Eg@:& t,iGhPKMJqլqФؕ[_O5>g!n?R;~,^;h|ur8wci xU `@<8(̞'qL;y`ldc O")LxH#B?cQbE2 ?3hYbJ2>'j:,Q# LV w!ȀeM~Ք| t8%XB'8JʊIr+=ac}ߦ+C6S gXUQT9q[oIn50Ol jq8(pͣ,18<9#-K ʲ|.´ቆR <G=KR8b5`dˬG_*7#? {}27}Z$L-Ji5Pj8c݁Ö&x蛫}hAI@c(X(Xľv*>{y-cS&yzj(35iۤHi5tǮ5N@8]V$\ 8fHK@e^oZt(@Ds#\;]HH*ѪqK 兢NuԽHoJ#}V ]V6G;:1[#QE Pm>2}}e]{u2ۅ{q+gԲG.:He8aVcx{;ex|EM=~݁wSK|l6G>qQ42228Rrћobvll8U]{Ԛ5FEᚤʴ\c{-c,&@ګ!qkix{268ns:*rwVv4xm%"hp\CO Vo[o{X{a-!bP}LGyGO׳>Աkf-v гwo#oQHF+*hI'RIm!Ce\ہ;׹W3%P\vؐ3kL?ቈ_x-}Y5H1I]%Tb^pvn7) AdƩz24]q؄۷$ooq0e_!A<;Qqrp$Uc,aŤBS0ܮM-!!^>$偨+s_^^菚'~o?[:FBE$$0>Tb:4) ҙxbB>* DQP%8a^XJ4L+,[NtP*!&Gn6kja,V<χq;zZuom>"Xݳg]R'謎%Vs\UKbK3&F4|23G/|K]\m{wV)ኚy#R@ŪXX6nʹ)蝂d6PT)h㌶^ eQpT^7xwvtjty# qRv | WFH+쑮`_5: & 2r p[,Rf X#hdԵ ƣāaVJ$gS]0e<NU5P~9Z, %o&mYR!'}I\8T\{{yFbԭ c+Kp"@-jR׃|<=y"my5ߡZcc JDcaTBR@|+ld}w ml-*;fW@3iLk[Voa9e,,YJW]qv#5Ya1\h2=8,? bwsmnst^dq-IH*פ2qo>T>T"EK0ёU2s7kNx.5M \*$cnN܅ >{omK٥m㕴ą Iيllo$Mlmㄹ,=mO6Sٻ/swpuCon{)*ҩ3lQ$A^s",,(Y)9l% 7GoTCƭ<_ruKQ (? ,3rbXT y~^H}̅CW⓸n~G+W㨒ivO}t@T@vʱ72}C-’H9-r8g&Wwb'xW4"޷8j,/i翨GØ9 "Þo[l{\Z=BjvQtKEygqFj<3xTؗ}GpfjoiidFU$*ժBϾll;-햴QFU,r^_]߿^M%]EڃTtcIcݿPl-vX߮޳ikAT++snK;[JV&k-V-HH!ʔ6XyzKay.-5 $t꾮>ZﯦRm3Jmfi}Fj \"v_.䵒F[ ;T"xYz&_ƇmCw #0\m2M%6>4+.Jt:F"Lѩ^X^7SK{l"u*#ȇOL|U͕KT3@GTe<ڧquo(7Bv ji\eEm(VEq oެ}+`+0]HFzV-U.#4/e)lj5~ RoQ _8@x8ׁʴgWD !8;ruwkBX9j`U CS bٶQ\tJuj.h9c7:rM]̒* ^J*(RO_|,]۔!uGb88_}It.wWȺ"A/Oi5Zm0jG4?$l9֕ڿ)\>ܗY’ԔWq+LI?$H~]ؤw PBG^΋h@E ňĄR-.;v3Ut?s\׽Smk7KHm*mѸg#5v׽k[,[1ZJzmwomounշf 0N`|nٰl~߷nOGpdܚݹ'-3| ;٭.IoNXjϧ-s<:"P;Bn/;I}bY4<yrcmnnm9.//sG'Z鷎V-LG5N49HeeT)$LWVSD0"Dc*iƒm(vؤkvmmӵG&;scxcpq譢k+6gj#w.' zAT?VuPKݷ^)Zt"5^MN4 sÑ;1G"  M,eWMsfԻt#E2&1oE+>T8F5v=̒=P[RJWɪ,}`}4 Kv}Sn5}k OH2xcJ ?9BFk(֜qD]0weԱ˭9|N%uk[6|~eNzӫ~F]]YledX(2)VZ餹Mn{Qj:*RI:<7w@nO$$f?InZNl g5 *^jʸ݁ˆŽa2IdH`+9cfxH"ČmGFvb(|?p$9y}؃|v G:`T)CR04jp2H*?BVOZqX+N)Þ*w_sc=+`HRTrr>8!;O`܃' Kn[3=\A#92">#.꣘`8\B\kkvOQ[-W_~NLqb6VZtVIndAR;Xb{r8):`4J 'Tl VSX~m{jqoRuĉEX.ZMHT(BM?j;sKie]p\4A($N/i[; 9RKG' ӱ=fen5IVfc!uըi\`_QVdh(ȫf}=IPl{l1I" -tR3md۫mVl\Q#c$j#㽭=Ξ)otehS:ΜKm[<'V.) a UVye:TTBŻmYK)nvR'Tiqq.65L4ިj"F`cLq{gm[݋ָ7eIwu(u-D~8B{-rkH O $h/Wd8Ok>ֽHFK;98&|rH<0ضQ< 52̌@wzufU]a$u:-Z>mWxOmsf\ rehCE(jM3 ꣏"{[qܿoKՊjfLH"υ~lwoCMx6d7,)qy!9uG&Ct{gN˷LVHEw1k tq@cyqں řLq"wPUχvIJyO;fR;}-BIoY<~U?a~͚y}v]6,ͅ)5jEs SP9p;{i!I 檫i`ַN։m㷌QF$,a9M4 2k;-Gm ֌ctLRff]ۛunn- F\ ƀӆ!{k!%u?)ʵnԟI 4&%W^އ\G59%\1los-hU."M!# BuWB1Jb|Kw:; : SZc,}S$l=+?eE+&:B:s#thG:ry)~^ we"0Ԥ W*a[C43v ݶѨUh*7z#6!͚)n- An\G clݭB'8~vZZM=Dxգ:H+_O.7hzͱ qiPqܤGA>+ݰqW}kŠ.$F p9rU .Mo_5ŴәeWv4Nض;dMz[S1 A1ë:TTvWz2 , S>xҟ/vRc  CKܟS5FFāAO qso̢kt!dLW:<+鶊^Կֱ4c;ʏc$ *FXR1DDGmGR)(J׉|8NzفmGF6Zd(tӒ<տ%ϿlזRH0Z0ueMakok'}8Vss$i9-FO>~׷EYGE(+R:Txb[yb!R8}dȽwzۅ]D+ (/=ަcErser$0J\͏MM1?ҭ[mvD S5!V'vఊqkڗTo-ƞ fXnFY{C*/qlK2^GH`ĩi1LsrMAuPK2X~Xژʏ ŷIlX}~mۂ7AX]nV TnixLOIFJ(1oq",l%B5Č!(fkv.:6C)Z!$2CG^% ԛY6ڛ&m=t#mHe#J:'úwMpsK+c$RB Qt]ƚr\3УjS* j}@ B8`‘K)mr"P.~cm]혵FZ0ej3'Etl#] @Kˤ2*2[I ]uQdQ榕eET!nê}8dZ(+H1V|Ft1%ݻM1ۼoGbm =-ceS}G=T8mTB j d}2=#@|ZYvhv=ZI pG-G!SSCvI[JŦdۣRjmn?*k3{n{t@L1\0jWo/%M5CM?%gݗu?渎fLecU\2v1f+tVɹ Dv;{&H\J`BeEIJ:pĻZi~%w;jE8_OXQq%{]æy',(zl-J#SĜZi53{=Vsn#]$@|*+[]q`gY&yfQNqWt2 'UscT~هi}Ek:IsuS#K\ܶ2/#NhUGα޴--yd"BGbMDȱ<6ufky @ג\i)>,M~Ku7Z @y *xW-uk3.Ӳw.[`(Af\*U4SdH4 { m#$hi]-f&g$AHHFSP7.ܮj \S MUem^/m[= []CCOx⅍q.nGKHnoMFꇬS/c,fۯ$Њѩ:Q" ܫO<͒cUh\J@`4+o[h%Dt^G,[6 c?mN/q035=RW% (1%c;=[_K,"U$j$kPr9slZI&%ʄڹg~RBz-[$"X),FzP^3\(3lHavn#R\Wꚷw[\^{zh%|ǧ2R[dZ,3۱iɩ$rb,rrM=д _Z5C2/\ +It:|:FXWKtz}^Ӧ=k\\kdetάIP#"/:b#F[_{M=6i:z}>}>O^~}HaCG#[#  v;n={ &~5=\8xC]tjs%WkU{? 4ՠHz!%/~IJݞHed|RwwJk.[Ok1G2z^3nl$m&;En"` ^ʣ&A$a,owposܥԃs%uM^Xcq!C3˩$jM\/ZsƑWm-.hn:%N P.T":j>t}0ϰo6͎gyrְGRbÇvxh ~@9Wp0|) Wa5I>[ r<|inQ/fr# zKm0eff(n[olmI.'xYVY-Pյ-!~wl[L ,ABg:brܠU F.n=yzIE2婜m ǶiY/-fCr7 e)d2q`Ǒzot䳢iJF5ӡۏyW7 4R85?m-xͷdYU+22>7'kWP\b"EcFc**w6sn֪YeJSTD,jEG1_]'{lyktӞCo J+槦ךeYbj/E[{x]r n78H ]RFiJ`qw/ln{[]FQj'mfh_"(\\pWf^Gܑ:jb>ސqwl-w xngR$S@È> :^ܙ "l-iX/ t|zshR;K AE5 klA&Ԋ?]հI]Wnmq1ަHz7gWfW*S^7'FOkwpmHVH#Ƌ qr##!l E1p֨sG\6gqSD4z>*d~sGƅ@zԼųP Gۻzu6E⪤c5~k9`>6wTtnQ쾗w1\Ěc"1ͥQṲNA&(EBG=VU,`VmGS\d<--9)X\-K 'yQ*GRbmZq0 6F-8}&C$R11* t{f)#3ȌPP@acK 7Z{J :ʬT:Tr>xÞǹַM&6f< 2kÏS&OCjSNU_v${z)V܋`46}R?@iשYtj| fs06CȱDyb^mA{,*@cCvgHlSэkm>IL<eoRbKJ|c;KHK9j2<>]l+S 6;m1 d6Z\7O:t- '<)&EH11 IQ(F5$GkS,h$詔ZNxtj_$%ؗzwf-uX@ K(X:Tn>`xWvkvd_FV-Lg6[xn.wjJ2[E*k¸"Mj۶yjжi#Ee`IX_mw-ݎf_e,cH +4BGЀ4:\02ߗeAQXHh`5T$WY6nڳ![;{iuuD7Z:_'ݭ6=D@*"*j5ՋNB;w'C7[@k&92x)%`6 wH(ee s熱]45\^Z\!vkȶnn.⺁UFIzf?W:2S$v[{[nJȸRGN?v'T /퉻Gu6%`H"dц* P 9&ͼvo-mu,'gvp)&\=,kK+TZ[{c:Z &h8PYv{ mk›8[$U1if5"^7l$Rw.i4,<%Kv= kZISx*p4fl^zQXk IT1@Yg֫xĚ RZ14 XfWΣb}cvŪ$"dԍne(=ǓbLCsaay6Ev:fPZ%*+V~ߥ7̷$bmϸwRgxz2DX.Rw% EԖIc89ӝ8/9GޏFٶn@:̑Оd ~BB kNѹ*V$ ^4mvumGst o6O`ѫ~qaW4pb5ޔ-QtU5zx㢫I$F;˾vGiMp^:Re}Rf5-5kԟh1!BRp#H=n*k1v[4G$.G%e*_IrA\X6!RjE(g6+]7NW!"i.#G j3([4[崩btPʱI d]`j(cS"A%T( e:e~'lX q#j7DmLS b>:Zv\&[r%i껳= hhėmZ;ȷ\&`G,,V\-+jV6O~Dkc^"`]^8\V&G@51+Lcئkmj0*!]Rߘs8ܞh |t3#f[H쭶$j 4Ƌ]uֶQ&e>8g ҫMI$E'SYUȍ \`vnmD Y4UXҟV=W[w>ˡ03!uVUɀ n>vO,2{U&HW1:z}*4TmW<7oonwiK :tPGvft6`)];[~ 牋]o/V41muJ\ūoDPQRNB*5eYA(I@ҩ\0^ݼʲKC, @C.5[[% PQ1ױēPP04 űE7 'ݧ!)AuΈD E9a.HlmQ+j29dw[k<@5HG}lUe.74VeC<U V}Cf Own-fyMVүE2U@tJewu(l1ioLPf εRBG,_o.,ْHHVL yj:+\2!;GgCw&IlҪQ5DaLKӨ)&/vG[p?PJś OcNXRv'W?{oFiOMtuiq]߻r de;iH-6NLT?{n:}Jk~v׀)PynDf&Vmid?(QB-J6YRCJ*ypqXvw)k[ATDTOYێ)LZe]f8W,m][3McM쥼ixiw $4yg5w]T8R6;Mǵ;m ]qߡ:rz%A)5vݲg G,%th U[5 ~`Xtˮ8r* uP1գ]ANvF#U[g gcӍAӋ$=nmey:dbWST:{[hn"jA5wC)KV4覬U`+f+I7"8X4LFMNtO)ocZhTE H\ YE,S<4kZSm M'NZӘC&=q3!1BP2W>yb\KpI'Z[ũ+wF&24ԫVI㎚]70SSQ3 *B\Sif24h84JR,W۴sC挨E @5|.wRP@\U$i_a`Ί2$`ZM5qN?T3ݮaJP)mX%MH,5pS3iˏB{uݞgmnc1}a:ܘ&vqR P+jʫR9 dBx(x<"ml2Rd 9åu%H$r! sD6I]s .)$\%XeEĭ /,\HP=!ǎx` @R@†K*ݖ3ВD G E%gI9/i#jqHMJ5oIRMUlᆰY,nF@<,ih9RYT434A\(ӟنrFa:aB0_H>6 5L7t$JTZ9S ݴ0VSZ.etM20Vd׏Xk 4Cڞ3 ى(^VC"tG ? "@ 8aF¢0$u}E估O@!^T5z-gBRN~xDB.uK燞",CheӍpI2huS8( 0m*c1ъV5ȑkpґj˕p[j"pt(ΟEW9`F H$\-2395U׈5 A" u**05:Ҡ dM+ n@0־5q?041G .|okDW&wFRɂU`!r1BPWyTQVjdS D]> 84D#gOWΝN7FdCzB|+\95Vǵ2(t{tɤx,?̿'iʕc7@ :[tџi:]ZcOݿzBGGZtҔc~`G;u_]U'`ϱ44i8c4Z$]\t~?5+ΘZt3\K]Fro25zƸv+p?^5|ߎ\ttLv;NgaIS|2;ڽTN^8v/oA:mZVqZJLv;|01 +EUў!,'d)FVQApA>7ƨ `PB4xG CDY3TAvKxB.'`0O!m9"{Osu zbskt9 ]&"!;Amelia/inst/gui/icon_user.gif0000644000175100001440000000035012431142311015664 0ustar hornikusersGIF89aUp1STwJPy(=fs-GqDh#6\R|gMuɛu'y{$ t & p,#!;Amelia/inst/gui/icon_clock.gif0000644000175100001440000000030012431142311015774 0ustar hornikusersGIF89a̬ǺA8c|{>p`7x!,mI}';Kv0 li:'Ҿ-RP 0Q`+E>@$)U`'m( s@PR}ii~^;Amelia/inst/gui/histogram.gif0000644000175100001440000000056412431142311015702 0ustar hornikusersGIF89avǕWoGIUkEU! ,@pH,  r8PC@(!,,֒PA&#!fhC\,nTn B  xzmBx   ˅ uFBA;Amelia/inst/gui/page-R.gif0000644000175100001440000000042612431142311015015 0ustar hornikusersGIF89avWpIUkRa{CK\֨)1C>EUў!,'d)FVQApA>7ƨ `PBT4xB CDY X`(j4t_a)n :V91 w]y{"Opr oq{ [q 9Y `&"!;Amelia/inst/gui/page_up.gif0000644000175100001440000000042712431142311015323 0ustar hornikusersGIF89a[vWpJWmaD~[Ra{DM_֨)1C?FVcE!,'d)2uYAp@RΠ1RP(6 =e1,<b"0N` ;Hh4Ēs? Ex"Eop]  ] 9; T&#!;Amelia/inst/gui/icon_world.gif0000644000175100001440000000025412431142311016040 0ustar hornikusersGIF89aEڧUKl ^rWl !,YIXX~ہ \ r,Y10aij @I @3 XFB4`e 8pӨo`V:~;Amelia/inst/gui/action_go.gif0000644000175100001440000000040212431142311015636 0ustar hornikusersGIF89aD(_>V}R(WeAN/qI/g>&wMT\ZYzOI,iDmG%OtK6t!毎#L!,'d9h*IFutyuz@ H(NP0dX6Oi-HYzhjEimuI''RIQ@uT UdiׅzUץfi^ `#Z912&㌕h*m`xjMqfX֒ pPT:'C,LC]vGލY&iFhFMri|{T')XhTV(Vn ab %16z#ชجرlr!xkJtQZFUN.LmB +D P=CP`ם]td+G'Ms.Nw牟 UoK oTޒ˿WBn Z|7~_$x)zxʹ w5*p]< %uXr%FAwS[hG"9~է TV袦7̰j W|mZ==Vxb_q9z,kۏ2 CbdZEc cTi-+ 龒4cYB-ԠZufLTZ:]/iO nbÕgǔ0_>ݏV#?ure_HF,ri) AʈxģrPKXB~plk $S5=|x @!#(EN1-rA+\ղ}cJӢ́1fT a,c(q$ `0x26SGZi0y6we|Y[!HAZHP:?p0XЀG4dB'H'9 vz*YG+a9f)_=OeFKDU1u#XKaJӚC8uiNwӞml(+H5,圢KYT7~P@$.3 D@eĠ:B2 *jD6칒\+rR潹 )`]ຉ\j=0Dva`(7&qW~ÉЍ -d!UZw3!˃Að.\b]f]fp"ĸkZ֥ogY4 -hk_#"`yt0Vηȶ  ؎;݊>ɠPţ$΍W!Q*7#NV/uob[v>c6Jo:?iJ옇~yZ%;Yo,#s)EfB ۉ%H?Nr[ \] Cp0.!=|Ü*OPPˉQ@+]!^Qۍ43]-W&Ly"0W~igETONW0=o7.{ātArvjNߦ=-Q|=yOډQXx!&5+5f5gh* f`EMU;ȷLjۧuv)[_*vk[|M'iN؎=C Qs fڐ0OF 8ӶT\6_݄9l+J`xZr#gYG2oVLҙjBmjI)!tTx P=̾d&tK'{)V*.k_$ۘEA2E"BFlM:2S7,szd&εuײL^(X#ܱWt&4jeHާ'9D ZoJF1kkXqcڴ_6 vڳX?IO'7zxLSUuPXG03XHcUo.B.w|!mx>:EF荝H8W븒5S(p/p rppaHD57'%wuwd mrL$  ccayTVM卞8,XǒhKǀW*xNQ<4aE&6WvtI}'y'Œ/hGR]AvY^Ǖd4RV?Eo"yiIxRI~5#sik$wǗnFq6g.rwr/ GDV'wdn1LE֔i?9SOvpyTxMkŚ+sW{!(\/r`w> C J‘!#R3L a-y,Yg9Xx((841T%%agrqkR.rhE\\C'ІwʘC~/Tm )gA|e*A+ǡ-ai :$& *,DŽ1&5t*1U7;;ʣEɷu@z`aw'=S=Vq(()@R9?V=Uidcʅkm*p1u >xjf>5415r j/ ٠=G4XSTbĩJ驦iɦzj4@zp|w}-w&n0m.5c;QHwYJ̪=bs"12nS^+魤y'J*uS:?u)1ZqbaOBZ.r<:1r`:61 q -cE#4ʼnx˒z8X+ ]Z$뙬Kڮӏbab&j6;E Qp^-<tG\ťg$Ib} !c 3WP3%Sbez+JkL)(jiV"g~IH+<;xwM}0pc40E&jݨ`jӫ)&;j)Suًd53VvJ/L}4 2 27ރ'2%%#NS\Œlea,SpgOA9&YgDo"'+0}DAI)[s3_",z |L|lɑ|̗`09*C#+ )W-{5{ʨ\ /U0)P~sZMgԫ >< Ш`9v+&uƸVS5Y!mJ27)6*W 8 Ј= ͢-ӼSJXeF^MQqQ`&wB"C| P l^FtA?Fn )5pk*kr ] BIX$ӌd;_ PU/&L7LPZB(O۾qڳB 98K6W>+sU֓ `pڭ>~.P }` 7#i/gjVSa$KD<5_LJCHңʓ0Oi+3d]6?N L$;ɾd ÇFHc4,ɆҀhh`|/>YdIRf))Zp*4SbG\o n={ # ("*vZ󢒪mnc/baK7qRr#3^z'Hd$G$ ( UޱgH^Y4YǛlԳ|W4N%,YJѤ\'tyC`?eI/H lfcu^:hûJ)HIziR|fj5M /bߕ@&lM[B s#X @4֨* h1`|a|,sF0jъPhFUj CJӝ3KN K:ࠓ:Eڵa R£Uֺė҉-H;&6U3l,@5 d4Ӑ}4bCRbFqA6?$ u`c2;v[ZhxL;O2Csa#8YR'xaOeDzSI$% iav#*pŸ_X.D!J&>@q4H31ic"p1A ~!E2r$'9#c3H6a2šYr "dx8E/PY䭲-F6+eWt"cP)WUVH $+1)@ Mhyu8#-6f'R%ōRcMΈ3I cx>Av`~*ff4 Aov.JQN`WQ'-!2RF/@ ^R *8CZ=&àyȣ9C G(`LJD  -4aSX'Z!w ;թ60?Bɰ8 &p#.Qf`F4lZtLhG.YCi Vz pQɊM[b$Ֆ[!E uFH8F_AP4pKpǰ)ӛoDùPD Ӻn\ (ޑ l8#8i j`$0 ʩyϋ^jFl/K2<SRc^CRZֺ'fq=2֒@;5!G;R>U{+pPD#fA)W ,NjZd0'X/T1 [\^H4ޱ(<i1x4dA ;x P nݧ@Fv1֖638zy%MIDRx%-!Y "KТ\hCu GF4 qdJ@Ѣݠ4]BTe1_LigbTAFhP5GE@ }b?ph`+@!h|Hin<[(J.A""W~@M@! h@3Y@b؅C8>HR/Cj JèG!#ɘ3 #lqh?Hph{w0f؅[ ^Z0_Hdp@vMB.p'12gd<؁@M@Zh/Єn.4` & qkۃh ThTHdX Ew01$IHCZ=K*{E9D =$+ 7i?HpX5r`[HMIȄX2id83ij 5wY;@!4HPӇ`}4nJ `@H@mh\9dA,4HuJe8b{@')b!H[^\]lP/z=)4̻ǿG‚PBIH1uxf1S@9f4 ?}>92.)(ZK0=0>7@҂.d<*DSPUОe2p󒩠}2uUs|p;lȅȡ?*mڔkcY7mhd ##pan/KSwG:h΃#\SjX pEI}T(@C1-؁ҩȁ29pz4TN0SfK`[y|6-G0Rc0[䅵AJ)#QΠĆfĎ܄1 `C3!Hc7C>8(r:uZ*i:FD0cD.[ E #eqr)Y@ @GKwkWRPļMi0@P #U@[nQ0"#>Hvi*0fo]({DOpULr0F79NH@Z=OlQr@pb^ZS؈n{~ D7DmVG[8?n:D#Z( biX_XdxSn\oJqH/i-(}Xn)#8cxYوQ^[+儃DKx[xTf*t/*[XgZt.| dtQv>Cꀕqalp7 ~[׏@nP'Dz2ud8`q4}]{x}MxKR#P؄- `WX ؔv8RQDNT@O@H0K_DVxe@.Uߢ aDuvrP2 2CI 8 3- )pDb"8C (Gqljaђӓ6-,. L4hNO=#O=>mC 2`" #0b.QLu2"'wVȐ M4hc8\i?3dXE`E`֔SVxg%0i4C&$B -4 6k 0Z5 ,ҋ&tHP\q (Lӌd*P"#}=Ә38XM:y~LRS6)kfdhvٲ M3ZMlƂ 0 .NA 3(kdZ`Hr m\!}C:f7VBDZ`щ=/Ȥ65G:a8h?␙/j!! F4d$#cBG; $1#`":HCQ'Fa*]ld#FZ<֎vPq|Lrˏ%EB,m29rUTf}@o / ^4GT Gcigp !)#%dvxdc0!&V@41Cc҇>i k*) P D.x!U#IMJ/e%_R1#じ#xȢCF$ҏp 57,Y2`9,!̖M0Bx! L+̀W! 6a nqNxA(4р; 9 8 Nvu>x`mF3f~Gec4 Yh"A'[4;F/`;B}J>; elª=b0L;ApVQ~/bQLF_4`(lTF~4i\c˝D *X*969r~ (ң;Za,R/=w01$7@. *g:prtl, =>­`O'ZRV1C<W3j+gŴ 5vQc4hY0chp :!w$YtDJp%I906mc82q ע,+f^K:$F@C8s?H2D`1zsF)p~.^ZXyͲę:G@ =DQ*9 A@\A/\#x@H$;78.PɈYЈV>Ä؃:|C>RV043 .0. 5L  l& B.h4@0P3HK14C#8Rs$@"on_ E4vC;-"HH8=hįa>r5B*XfB, q>B#CbaqS1Q iLqyC7C+t#L  ~ RTBW]_.HzɈZLahN/BR@ B4,D/3te8P%% \)7#v+IIg,)B-'2ANQŠՊnʂθA2G"C(,J1,@^@Rw6,B+,-X,XIi,<| 'wZPc4XnɃKAp hP0F2Gj@.ERT&hU];=(5e=xM>3J'@ @ $xB&2a}K.(5;E4[tBU`+*B14sB-S)V|밮R r$@^24B B@,@MHtc-t%, j½*UXC=C<ԃ07MXHNu;^ 9D* #(Aj(r<N-R(`RZZf]2mzE tP/&^!FU %*hp :BePN0p$)Bq('p,-Ba,$5B dqт(gB3q$C#58l A@oC C#:|3L p&#(U@ES= 6T1TCX88 fƂ0*@'|B%A mR2>͡")T pbk0nZ|ܯF.$Ȇ E%h\*NW* C `Jձ c8C5,$aCrBe9)$k 9aN94Xm@"x݊N0@#$Z@dA l@D/ B'DP􁼜Je'`*XF3=|C1M(B'H*X2"P m!d(2/*:/TDŤ2VWhFX+Ɣ`\ Ug$C7,+M( ,@$H@ !#FGPw *?g4C"77\54UEB浫z 24(&@ l[ xR1UO%l B/p[lD8PkB8,d{)y*B+(Cd6B)5M,p_BhrB'A $T@mr_j)SG֎ T":80,  4B-,%G@$ @Pȁlx,.DcJ njC5&/+'Tr%P$@d 73,Be10dliLB3HAr>B"`N=md2%A,4*,#T*% B%+44B;t#0p,4!9"B%D h́2*7KF֋JL Em46;]C.,%4q4 [ x8SQ@wo+" E ^\($7"E$@B,RѬC"@ X9)/&|A*x\Ԋ,Ԁ@@4lA6-0BBr p%,Ԃ,kC7>]Ox$ <@8>PC ;H>/xA$AA!AGB- EL3tC)dk P)=K@hXA  @DbE1^}Zg>nr@Ϟ;yK I מI͞E5 ٴfr+B#X"mܹ\mD"%il2TʔcΜM4 F0yɑ4nxcƬ0ex5cF ۤKꀙ1N $ PꩌLТ:喏bLjKg\)YriI"ITY n)#1c!"X@"~P" .pï>.1R\R6ekkSPđ9nǝ}ARiDM aDCey<yԀ5dx ͼJƠMÞprߘ&UZGk 2aH,0t8 2X 08FL΋_iazfƽJb! (#RP\qcY[EB Gk+ 5purJF ~2PoO}fAD p |p (!)ȘGȊTNiXHaĐS.!ET(T 61XpaoB%i4`TZ%=y?dGw#"@wp)Gy!IXH*A>0B` 2@J>S!9 ?I$J<̚47x1 3 rPP P8wfQ_LCE3h hH7A &nE/D }0Р!t`{ D-g0;8 '< t.RxCxP R( w0[#FDhDBg`ɀ6 uh;c |R`! .ACjp&|A"4`X |  PB>T0H!D&QCTg>&w8Pa7rM( *F;v">x;f C04(!l51!E".\9Jr*̠D=aS8$@;x()t Y Ȑ+3Xa91PB5QCNJ " AOS61pPDO~b,!)y$-p=A@ FmY@@8ԀGB$HSh 0T3$P;ȢG=d~tCE014FY EJ$Ҡ<81x}>͔Hy5H@Ѐ..uFh3M l0YMFՂ_RJ@x p C G`d>02TPA-a LC$ it0C hX1MIC,X& B) 7Ɛ 8^.a z#:a)RЉH,0%HZb{@v>D 2x x#=z1V BJH9& *Qh%4AfЄ,Y*oyza P| F>zE7aWgAE!W~lb  F^a]"Hx!gAYL2GpNH2YHAR(8(8 }bB| "ĉ zUPh$P4 Hͻr!4$:+bD5!N}p{%dZk |8 ЈBhbˆDÀn=]$a70JrP^GK e!(E.F4k,@$bh|v`nC!N|@Yv< B01= ,  ~a `ZD2 +4!QAAl@uT1,‹He@2J<@ @B ` A!D܀. , ȂT URj`"&*`N8J\Šn ~@B@ & PBaLc@AaAa nj@  u @ O p@@ ( `a%a:!Z!@b Raњ@ dA@8 j^AsBΎd 2QZ x@ > %I l j lr ܮVR~&n@> G(0R/J۸mBK,1x(1  ~ƀ ,Az!!Jlqb@A` \@y | (F@Ġ K j +:aH;rd!JAm!$`v&|AZA!;"Asj. 0!#"*@ ,` h'dʠ "  d>€ psA GT "J`Z"u8 R+E4! ( x& Zz!@j aIa Aaޣ Ta`'*S (A \@` Nn 2> !T&?A `"ja,X'nE >%Vna2 (`T-k"!@   @,P' ?QaA‾.!/ ׀/  R@S-" *!&^n+RE- ` @ @-X2 .& 0aa`lV! DA` xVD*@VRR n04@3 @2&uvr ncf` 2@ @ 0r!j!a |`L < @  >dn :AG ʠ Ƥ>!  @, * i_|bs@"mZo!x1T4%`l0! HzFA<*^!$v^ ƪ N8| ,zbuD@ `m 6 ܠ x XgED @`!,@ځiHI p@n`^T A6!}Q `A|~! (Ar`cTq)D$= D%D< O( UV nX @`dN  B~: 8[dxJ.`_F!1=c{!.GwA& H">f 8Tz2 @Aj@ , HfpN.!PR T z@D噸 X@S`  60 ΀ Nap @`4`BE ?@BT%> z'j ֊X aT.f`jjB/ n  R @a7 (AxK2VD8u >zˆ9@JG b, V2 aa ` t@ ɬ"> _%y^dk,D슂%``"`rO$F ,΀H!AW[h":xA` 8?$h Hae2H L;"@ A3e=!,@ $̻pzȁ@  ZƁ%`tə @ 2!@2[N`BяD,r@V 8 6 g>J}  "TuE(>8e%H59!&eءlVA``܀(` *ZF 0cAn! \ L:P/H `(@dA2:@ڀ $J2FH #Ax 4BD'r$  H J`-;` x N(_`!n8(A2 , 6Uݩ ѪEt!, a^]Ri27!J`0{"d"![xd +DF .a6a@ P4A]U ֲ˹Px@ ࣛ a!ARB&M7x(AH"pԋ @=j`ײkׂ9)P@(8@@Xqf S$ /H \H""CTѢ3*@L! T<aQL.2p8@9wz>\8Ō3> Yaɒ=2ذq̍8p߾+m/ܺu$&l r-e8gA@8r_\:$RJ. ̖ A ]Al)`_ր8 B0n`t1 x1d| 5@OX2.P3<Bcx0t.Ad|:bM1pL1\gxZߌV:+k0-`b)gdBJ'+L3820RP $ܲIВ5h5  S̅$(^X1S aX bl0p :Ko0Ydj]۠@LL3ӈ裗uY6ڄ&N࣍V:󍧠 m!c Oh(<<9F#I  &c܀ ,dͿp5@85 `A`gaj h( 35<Xܰ(uv0WXXXR|e }ƒ$`j 2 C &/D E:lRP` #8Bnu+Pܔ`~qB .@L%(A50 691oc@7׍f<"7K p;wnA#51hPLh1a3@( (`!}QJz;@!*I"4 hqXy=p$`;؁`L9pd HĄ׀G3ip#.a9, 0)PV`]g#"0hB# VP)==`4/Np T #P z DSc2I,`E.+j4:x/QHx05 E-ΑLG5vGü0@AH($n N"g9\PcP  'S@/hn WC] C8b:A@deC !?AFHb=pA'Q)pqK"r@|+.u*e)FˁLh<%*=(p$!ZJ8@ &88P@0 G"iIvR@alcZlDC!0Moupa|4fTЀ,0KI`?v\JbT"` {$%2?X`vAT&RYT`.v0a`tspD Qp0ـ j;^ oa>pB 0ZK<!-Z `* 1H"%w`hDH(P= `!4j %EB $ &0Xb0LBFjFFPq̋)x!tCc<_T`2y."`=Q{ 6A@=$$* XE*IT"U?a :"0FTRK0 a@#p!MB"HD@M1,P$@BC`gdX!a)Nщ;L {|pVG 1S#=  ( 24ad.s0oh%W&[u@& LшGבcE p0 ,'bXG9n؃XKO~ 0a!%zvp8,H! I܁ E#Dň! MhQxy\pU p8@?xT0}) ~0G pp&pY JbJFeXG%jvPRQgC/?%\]0?@pR$`3:#pR _Pwby1qw ā P`)Їՠ L&ocl  r^ g8J =f)v@ d%]hp S`Bo1G`  oo \ S| 7f[ @+itCG?hS tLR x1 P>tCl$oCqD 5@?1C+.M":jPP?3d@+j"8EP׈ ykCRȆlEv vJUz7%;aI~'%FJݰ  mS, A'5Efs d#ep'W~P6HR 0 vp 1hjOHPsa-4)0 c+pf/f_@ X(Tqs 0/tp. `"])P!TTpCd0Id0ȣ*0w$t6mcF,Iy_r`7 q)mz96ld@0 ԰ p g985z"} (d/@ Q{l0FiR @ Et#& `BV8V0XY >xO#@Y'Y*Jn  NYR%p! w.$t@rP=`B  j s5v!ySP2)QJ !CY1"2Z!WN`ą{'Y~Qڒ%E y P Zz&Jzmf Rp tg[  p 0\4VPj M*yFQ}`eS@0 C'b 0{Y?Ho7sqv\#6P pk Pin`Y8*ai" \_@< 7 r%_ WREK9W0 ( opYr2@e0Cpcw` opVLH ~@?ɒfJnj F E j{w |T  g?&z0QS{{rPe@'TC7 ` Π 7#tpz6 Yp gW13d- F+FH `IiRi&!> flKG `G+hFOl*N\pM0Gsb@ ;i L{Aj6)P@ q)j8:F Fa VES5` v<pApf$=Ϻ5U a}SpaWL&1QLP*"e_xXp,sG%%VjPR8)h6twЫ  P43"L#P{ 6_p S.-qTت:ĤG1qT^[RlӀ ڀz v8p1P ,v~0  }PVX$(pf)>@ GĵpĚreP ܘo|v1Ryv b@O?e\j 0?,Fȶ'0T)I E?Pg6rm:\3N` gpQVxrX`Xj@3꿆|)-ͦ5ʆ# Ő ` !& [] 9Y`  p + 3A0.  @Dt )0C&W94@`P[DMP 7P$Hp$ж@p@np/V!0fѡN;Z0@lD('H&-O0yܳ'O?`oSj{*Eė+ T`6oy.~ ? R౸s~ W@}p [K?k > 0pvCV``ĉ`t@9ɋa0! <3@p,A0`~Qq`]>Pȸgl!h3F( 'pMO}D1^~b E*(,0^@0`e0ZC"RP.1RՒO1R].1@_J?pIV)][Xx 30nW ?k^6h0.`\Ҕ#FR z`>9Ru d@C`ɛAq^@eA "mZbk /LCwl3R91J40 U_v Q8S][TnS ~ࢍCdCmB73VF-p`w3QpKvR  Ű7qjL M1FtP8.F0  ހG9RŒ.quP[ "F[PD2; xPpZpS 7)`l </˷,}X ot֘ P p$3n6+ +_GS]6; `  ;9. rvK N8RL\^ @KR*6a;P' /.Cd0p|2 CАC#6(Ѣ ̑A~QcEl0Y @@D vlc;$ %05`a'4 4 Kjh@@.ָF :dH,5<\]lxHn[+NZeO,QkN;nAMf|p"jUVHATL:r)ө1 $ҢTh84*lؠ\ ]D0a0Lc(8X`E[.LYfɑ$Xa6Z`x$h BÉ aFha'lp!3&" YRɅk+;o!bȇzG(!rA K]QGgagl@ nG> @0X2ӌ9`^ :t$: j<  4A "9xh ;yX #4q"9@D2܀ ч$BD'N #A a6,~6Sj M(OqsN;{<`O vk!ŁTi\xdY'cQGh,Faff%,>( N.ASidŏ8bkޅM x'@iDD98(he!h`c被]L@." ,T)6#X @P`! % "x xË30mV<B]4B(`|_ s-b&``+<1Ƙ`|flE8):HfD: jPIc@(6A zp(X <u%P FDb<`t Bx f08P`>xp@ { xe~lDjHh`M$(RaVu.Oײr$Dt(0q kC(&q78 HȨbb<oC߰?ԍT w$BR+n(п{@ 3 -(lAD 8@ DP@F 00Ǽ, P1iI[ROxjCHV!qZrí7v%"Gڗxlq_(#dAKE+BMR Rc}# (r(#)]/TAD&J! Z4 [i`WI)"-v/drPP(A(' E@'HA ,`T`{Kd `!ټDM`i 4jDRȻ/da;pFtV ~ 7؁vJ| vp<3CQpdCJ8[CoסIzx8NjYB(F1g/l Ea ˶z% HYĂ4A㊲mVi㶄p RRw8X!`%( 7< IQM, j%PpN=RX0)K`1d#ȍ$=}X#x0 p20d!@I78 ژ/7@Qo8{կ&M]jz=Ѡ54%nŰv(d9Wn"& n@46p؝!B480`d 0); Y@nW'E_B $c W悤CV#Bbl1<<Ƨ-H8E˃gqY:+(AѠ,pMn )iE}}Q=u#G>豰p#KG4Ŷ{eJ,#&D@E8| "q;Yv+4ЋNaE@"9uEB]}bDBة10C|}ՠ W<-HEl@ x{$vc)#R[?ĦD/b*/oo@Hd$p $鐅)/@合mٍ1mBHIp#8rJ9^4i3p HI(RYQ(((vć[C:H.A|ܖ4UUh7x%qxd#)C0Op&-.96 "x+X H[,mJ<t4+ba*Ģc+Iz`|D8{*:L z/}bЅhhoNWE'Ж}#P‹ g#QW_EЁ9 ('Q-P%3+5]`MU=(Q 2^[P 5ح[$h]x4 ( |8ZhLLb4.t,I89C?D&7C06Ђ&9@ eG))oy5)aN%:SD0IDꑞTcDgb:餩WP&\\fHoP:H#`/v"(q8+^3P3 3,#K~!s(HD8`^``)(= *hqQxk@ _x_P1H&By, xEЄ@HLCHAxAK7DHh9.T4 #(2079$3II?LMTIu?D{]OF|u]4-< ̄ HcHrfimO(1PzcETn Y(1E 0 H$x#xQU@8aL/؃eX`1kMLaۧr E|@\oHvP 2yΣ|<*hKbЇqVXTHJ@1[@N3/D> !"0@:C0ԣ-C HլIĬmO\5Ev/kU{Ȇ͆TUUGE YNB18]\`>OH Ȃ/ϼNzvF/(B PP0C1_Ixhqd8LU(M@Xq[(bcVIHu@Rx4 .in یV]t@HG8NS7L = `"@/(Q"hH u=88PFK PS`S`P x:ਲZ鑿{(kh+ 0ruhMmP6Y1k=/IX9/TZ 0Ṁzwhl`O-{@[ˇ"[gKtN:{ Ph@`P{fFayup\ȄEO@78%pB!! ylRȁ22(,H588SYPԆʆTq@J" AT ,MWf؆tv |hvc4 E31)yI,M%QkR@c@CPPr PЪ3&XNGqD1X"[`O-JT#UƎoɫɧ[JTrn$9Y@ -M/m~rVU nIXJ91`~7(wpx:z}0)@:hQ .8T8DslxNRj/tTȩ18T 0`fhq ?xxX=u )YE@5ag%F + 'F`IQ% !/N-p? `l:tZtz lSIxw"0S`$[W7Lrh/YR1_ۆ4G2,|n^vH((i}$+؃.xJF pw`.L?fj'ivёz1B XK-)h#9Ҳ{( j!K9 +U(k(+IvI +VeUqϲu5uGĦG[ʯ||ˇ}ffF,zLb$1?{:d`WQ|* |_HD093qxX}Sw)肣];3=Ʈz揇Ig_wz{hrf؅mUeH;P&)P*C.l04p !cN*@ +06D@-H[BdE[Q. SNgN6P>| Ux(a3PwpWO= , rUu!GEX?#hܓ=SӈA@aP̠ TtG$AsH" 2sw\橧UZ 1< 4b8 #x0>Ɉ@j4ӈANCZ*r@ OHawȊ .ܑ (  (HbVX<}\Is\ %]z& 6%H`;xXu!4Ap w0cƱqUA4hp2$ +d G"dKCz@*jъ|Sз"-6 ^wpt ^}@Xː$0$B+ r X1p,I!;@V+x>aY'q%AR RЁ;{HmjN> \xkЃ4(jTp9S|Sp?ar)FhCذ>@F;QΌX֑d#*B$hE(( (a7.* b< p*;0B&°n1ܠ$`*H89؃$y)8 y x(2oNl 9ME/rQ' f=7g>v&=І!b;|K-kJ#RI 9@Rf7ȡ u@>WOd<:,A5SrD6AP!$0 #7 P4 00DB m @(? ;~"dh0p01؃P`pryAXEv/YV\NvlJfP/yi(2F(` (C iYj#OyR5T\"߈l֠Aa͘;z،3a[NIMs:|bga#(=k ҀFtZځʹX N>摊ƢbV\[pM= {<1er*8ir<8}+ܠE\<}2AzX 6߆0(7~UNGЂ#t.B&29x]E%*BA"2.P6>tC7L/40/R|$] ChDȌ L@ pW}ˀUX? 6B1C3؂{hC58-(U@h?BT@ @etlb )8B  "8>c$?Bp@8hY:l 8/HLx%pYevD8C:v,T5p); s5.8ݕB3C38-@ U`076B;l,59P500B3L2$6R0B)B/($&B&11#Ȋ8k!ȸA-@(U1^āTdZu+΃:C2tDC43* A$@HX"PE @xC>?CTh`B/$ i5;I偃 a"O9C:x:8?< ܁!DLAq0C#V8UC|FpÝ3 8`&Cy|C5؃K6P3$8. 3%$9 242B)$B"10#J" ,xA܊8*8%!h9ET DEPT'q@ 4COULEHn3  b6D0B`T ̂>@D BVDUl8(,xO@5@ 9$C6h8DM1C4|KjC40t@ hAA|5ALB+~,C>iC΃8@C2L4%4@F4Hy X(h^l@}.d,P^aZf*L&B0XC,L/7B-$9!LgH$$ PA$!\!X]vJv@ pDe '<E6ElD1;<04C3T@F3@0F9dC67%X8B'BNtB8e܀µU91<,6J3+l8(䀍lߕ "^pC_vSՉC`*B7\!'0DpD0DCu/`2/pQ*̂-B*B05(C/c,(-l0#., t)CNB'dȦFB'Jzd@zv50x yKPh88ӭr2LC7=&l&7$ChC3Ln6hr)d .h13?G>d\&]0 N\ @܊!@B%,BL?9}:iC9C1Mct$Tv(+/,>,C0\)D# 41`Bx0~g Dl&4C@<@C3 6dC88B" x&> C|ډ@ 4nӔ71XX)tBr:x@@f5$;TJ>hÕBpC+FT(3C.(AS$*@fj@!<$x*BT43;8,8@--4CC(( $tX؁4#@0"4C9hb73o*o1 04 4߾( 4B*C7q*B,5X-4L& 3q{h1@Ȃ&@h@H(5C;0,C-528E}b$49-Ă*  g' !RƀOKIܲ06W&p@W Y 1 ?p4?Òv;0* -B&9$$$\@@U3|)Ie…k(NfRhR[d=u䜹 ˦f(!@×,*J̊FVW(Lh6N)eDʙ(*r '=dPᆤXmal~kpc"$HF)%,%QVYeD%aS12yXUdES^餖iQnYLTUjԌ[b9 ̣ڡBءJh@D(Ō @+`δ ̴qRrbY@q&0]\yd+dz)@5x3FD%%,Ř>.YdKdPxNzYEGy9p @5ID HpiET%c`3 7"TI38E#g\fR)wXrbc.c @ )| Y)Ec&UxLnIذ\ٹ`&et[VI+hnCXNjfZ<A N bVh!FSX5 DKхbIdC0Hegƙh,~)@a[z!I3` `$Tek>b ŧ^DHCd(@T0[@ʦJ!hxe3|,MP1sΘG@9btH.1D=D"|dJ͸E*l L0!!@`@ [ 4B0D L0Bf8G&b\Ȣ5mPcE1UYmb1$B4$(aSx &hA M P@ 5xBЀBP7 p@ "pla  --4p#0 !ncЅf\LcjX_/PȮ 鑄J@PNO3P@\0$ np˰0V e4C*B hUP'A Jx.2acpQ MS"0!8!yd5#IdHQ/n F 1oG1Fp5!`X)a _ M£349B0hs MEт(d#OȡH% 8h vR !` @ lh@  >|A ws Nc/&^8``4!IЩ,|Aa܂x@f0@ ݘ$"(A YxZ*0@(D"AI*x9LEXޥ@T弅)u N@AaeHIX-`P)j@D0 `i'Vᠫ T$q zDzh^0tH ,eԂ0H!fHT@!h4`BA /T!,1 KAPFcG)Dqe`'.,Ө8k  PpJ@P64!,u&Dl@ %`a , 2<D @8CHR$C( Ch`ư ZXIrpFtȀeũ0 ːD&V-H sC,p31 [C > ']F)xqX$u_ы"5 b y@R@=(p̏A fE-HT^o:@æ$|A dH!xA#:5:p d .*X$A5a !x   bBB 4$`°I4V`)@an"$ rA!!wA 0@AcA:Ўtn&! >kp%!!pR`AX`n |!b0 `A ``4;xaA-+^Z!Cz`~@a<  2!a2a0AP nfn(ԠA p@ r4j~hVAf!ݦ!V Q!:@2A nNZ`` .-V @V@ʌ$dD&` @b̠(W!*AAdA6!$ÐA`$R H`X@0C H j"K< `fav`4!*SFA2ԡwA`"a q   avljAS&f1%x|Ȧ"a$k.`rڠ  dAh!Vt`" d`: H@*b&8+BO\ (`@ 4z@ hP!V߁!.2e,_!" $jDa!~aaAءT2ށvbaZAh!6rRT'd ܀2xa rB$ĀL@D   P@eK`a r`?A!SWH;0aA~A(% @@.a2!p! C?|K  f baaڡh0@&QAA!Z@aaxAleD> Rn KVa .LPauxa@x藞wS0@uR NN!K0QvRf jB0 >PAN. fxa!,U R @ "Lv)F@XB. D~` X LAFh$t#6 qc43W:P~: Z! `7 $RΡ HNX rnہA¡0U 'U RAqܘf!( 8A 0 ^a!@ Vw @ NYaNڡRq !a-Pfdd}Z  PtllA~btO !`"L)l Z0'`G~٬T!sЮ ;Dahzu PuaxA+aA3H1:!P!J @a@!f,iR!~ArաaS(AO522au<` *N,a2na*'q rrqA3Rh Yc2AVr0!pA`>#I`pAHb`A RI!*)Bo"@D@92@ J6`) $,@0 | Ai&! R!!"6RA:plɰVXL-2@/AR 2p |A<!!؁a0laEcځ!rAiHP(v9%݆^ A1[|@l YR;01 C`!~hH[!nkt0!" !VwUUD&njZ: *`40!$+ Ja~ NቦI0ayOz!ra(Ai!WAnQ;Y7xal!3B7QNxޭ<|aaA 2ax$xv(X$:HA;xD @ d:ۭx@@~9;')a6L<pHhiRjiZAvA/Fn`Ncɥk>L ΀^f l&cJ& Bd  `b j;4Ap4 ٦AH9»laÓR6 !waNa"+L$BA^!AߝA"K@YS@»΀ H! J6(r&}g^!>dVCy!*if!(A&16-!E0R8 hE ڴ[zJX0XV! I{jf\Le.XZ% NtfF(^ȋ  B X`"G1Q2A! 7P)R7'xfԞ+Wn͞R5\;nd헥bl=5/hЀ!.6uر-;ѴcWn;} /ptň33 7#a1<р^2-8i3fL24y )1G}p*7@ 8(MlNg#!S f8c5(5=H/$p)h - L)M69M9 7e``͠aeH2r#)C1"H a0$E-Nq,;a@>Z^;`1>:T  Q L@+J$p! RAp.QcH  t>ڕ*gF7R!iPc~ %#P :-a/FPbY]F2^ FH] z1^XH3bC3e\ʀ6#N9.#YBS8#4 ],v8JA #/ӌ*h1ANoCZQ Y(b`4|QV=x&a !$UXRr XBw IL4bb> D?!> (@!T!B .Z$L}ЁPU&E)xipj361a#<]Xq܈9R=AyD/a(A /`F1l1hA=(#RLb80Z fXc8G0|QiH(c3!Kp@8hCAP ̃3 x$;qcSE7bȢ83l,ڢ8 LԢa,AM8p'/ZPe\-ڲ*{ pUh m2^q9D X7 QS@! W`)2! Np9`)`(XE+8_)&BF4RaFb#{!fBQĦR2ڠދ @x8/ nhn"6A*ߞqT0'&i^`(c.8NE C2F61\Vhr64 m+^Q )9Ȕ-~ vb؀6aMBƠ]Kmj(/PIXXF+Z~h:*:!LXa#01U|Ĥo!8"H B b!gJ , J+C8a "DDBo(&nqkƈ&.2{KE(p @L1/ހF;8L2$'&KT&1Z(&d P4`8S=tF8apD4AEMwT IÆᾁ[*γd)X_ko*&pN%$>By3˜=F41 u!)wcm,\23xaGWߌM:40X!&@(F0J5 }#tG 2qۿbF?E1 iі9vwd/x qcj&[Pm:`$8+9Qu  A 0 x -V[)@1?"RK:"+R @ 5 Bv rKp+xLjFh7t 9(pQ ! K `[ 0p0 v "BOF S %" p w6 J\R1O\p p 0 p} pA @jq0'so ! *^#Yv*Na NPo b !%K QF+Ѐu d iذW P(۠ OP [[pK0;*:  ‚$pq"\*(K\WKR OVhCuw$!Ѵ! "*۰A0 oT `4 BЂ ` >/PF+ ~0X 4p 0 wD P0@J^}! Ucзe N~e~   ` `   .2 ݃S/  Q `8B tKD$2\D?l [؀19j?hh$!*B*G#w . ͐P Aڲ@ p4q  p Co t ` F % @ Q|f@ ` 8 )0 NOSP0>ǵpe@ ??evэ0w iPР @ J ̰  IDw*+2,Z49j[8o.gqW.dϠ5m0fQm4dPFҧEdYMBJTir'[2qϠ[KueZfpECePwT GhКDȠg&aI$l~y-uL'Z%ub*p!ƙ JQ(z*Bzq1 @ziHfCa1gYl`RW f&Ҋf;*(2LoaRʅL瀡-AXfg)RnK"$Wzᓚn+!վtqy_~n`:&ldxaa?8aBHĘkiEIZyE!Zx9͙ҰlJ Qp4 ," 6&q1 Qݽ)Pg"2rvT(Z"Z:,fP)IhIE/i$2PCh1g!lZ"𨈴a .lɅ?+G b٥N1T%%Xij_`)ME^(v94MiD0fFf֚CТ$Z͡ 唿F0;\3 ΘN"Nk(HF:%!2r1FV%{Q}YߐUdǨ؁HE"?n8<2M21qcc cg" ,̀,^{aBgNOf`^)NZj0.:A)|\x4GL,IX< $Ħ-V!HDD(r0}i(;b7IF3ȼZ760uT2ըFR=m!!(8!%iNBW!cJ$4/tR*MD]*)hleN$͉Va+v#oq3MT][d,p +Ig1%wZpzy>ĎlfP Sk*bD#hQz)N^)5[.'9i:N>IbGMg4͍Ah82Ŗ|XRc"S"PCQj&.i!Pwsf:4E2jx9b/d C,E/zWH[DŘ,DZO ZtC4@ xtJ5M0ƢݰDI y3b2K vL1dZ /AC"WJZ,3D)]Ds IPdLq׌HYfOa!C2섣1&eK&Ð#g#]4Q Zv"mh0ՉaBE/j>XJssIR<0$r`$b(8hQ@4#<)1 _&v%/CڠI~mǰ2Iy^+H[^P(J:,DP'o/Dx8ojvS܋_|ī)3tV_U~xn,~[ Z'1`;AYͨ 7?zA9dФehN /\U^@# 0 pNQopH(ש /,9:5m éC}đuѾ ē?q'o |Qu1 ȯ ):- 9g ^x=UHб kWC]D)čH~A F8"|!#yB !=y` ;Amelia/inst/test/0000755000175100001440000000000012526406441013420 5ustar hornikusersAmelia/inst/test/transform.R0000644000175100001440000000132212064423557015560 0ustar hornikuserslibrary(Amelia) data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") a.out2 <- transform(a.out, lgdppc = log(gdp_pc), newinfl = infl*100) a.out2 <- transform(a.out2, newclib = civlib *100, newtrade = trade/100) summary(a.out2) summary(transform(a.out, lgdppc = log(gdp_pc), newinfl = infl*100)) a.out3 <- amelia(a.out2) a.out4 <- amelia(a.out) africa <- transform(africa, ivar = gdp_pc * trade) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") a.out2 <- transform(a.out, ivar = gdp_pc *trade, lgdppc = log(gdp_pc)) summary(a.out2) a.out3 <- amelia(a.out2) compare.density compare.density(a.out2, "lgdppc") Amelia/inst/doc/0000755000175100001440000000000012630722655013212 5ustar hornikusersAmelia/inst/doc/amelia.Rnw0000644000175100001440000031725712630722655015151 0ustar hornikusers\documentclass[12pt,letterpaper]{article} \usepackage[T1]{fontenc} \usepackage{Rd} \usepackage{Sweave} \usepackage{upquote} % === for bad lm output === % this wasn't working with rbuild %% so i took out the signficance stars %\usepackage[utf8]{inputenc} %\usepackage{Rd/Rd} %\usepackage{Rd/Sweave} %\usepackage{Rd/upquote} \SweaveOpts{width=70} % === graphic packages === \usepackage{graphicx} \usepackage{epstopdf} \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png} % === bibliography package === \usepackage{natbib} % === margin and formatting === \usepackage{setspace} \usepackage{fullpage} \usepackage{caption} % === math packages === \usepackage[reqno]{amsmath} \usepackage{amsthm} \usepackage{amssymb,enumerate} \newtheorem{Com} {Comment} \newtheorem{prop}{Proposition} \newtheorem{thm}{Theorem} % === dcolumn package === \usepackage{dcolumn} \newcolumntype{.}{D{.}{.}{-1}} \newcolumntype{d}[1]{D{.}{.}{#1}} % === additional packages === \usepackage{url} \setcounter{tocdepth}{4} \usepackage{tikz} %\VignetteIndexEntry{Amelia II: A Package for Missing Data} %\VignetteDepends{Zelig} %\VignetteKeyWords{} %\VignettePackage{Amelia} \usepackage{color} \usepackage[pdftex, bookmarksopen=true, bookmarksnumbered=true, pdfstartview=FitH, breaklinks=true, urlbordercolor={0 1 0}, citebordercolor={0 0 1}]{hyperref} \newcommand{\obs}{{\text{obs}}} \newcommand{\mis}{{\text{mis}}} %\newcommand{\Amelia}{\texttt{Amelia}} \renewcommand{\R}{\textsf{R}} \newcommand{\Amelia}{\ensuremath{\mathbb A}melia} \newcommand{\AmeliaII}{\ensuremath{\mathbb A}melia~\ensuremath{\mathbb{II}}} \newcommand{\AmeliaView}{\ensuremath{\mathbb A}melia\ensuremath{\mathbb{V}}iew} \newcommand{\adjparbox}[2]{\parbox{#1}{\vspace{.35em}#2\vspace{.35em}}} \usepackage{vmargin} \topmargin=0in \title{${\mathbb{AMELIA~II}}$: A Program for Missing Data} % rbuild: replace 'Version ' '\\' Version \author{James Honaker, Gary King, and Matthew Blackwell} \begin{document} <>= ameliaVersion <- packageVersion("Amelia") @ \date{Version \Sexpr{ameliaVersion}\\ \today} \maketitle \tableofcontents \newpage \section{Introduction} \label{sec:intro} Missing data is a ubiquitous problem in social science data. Respondents do not answer every question, countries do not collect statistics every year, archives are incomplete, subjects drop out of panels. Most statistical analysis methods, however, assume the absence of missing data, and are only able to include observations for which every variable is measured. \AmeliaII\ allows users to impute (``fill in'' or rectangularize) incomplete data sets so that analyses which require complete observations can appropriately use all the information present in a dataset with missingness, and avoid the biases, inefficiencies, and incorrect uncertainty estimates that can result from dropping all partially observed observations from the analysis. \AmeliaII\ performs \emph{multiple imputation}, a general-purpose approach to data with missing values. Multiple imputation has been shown to reduce bias and increase efficiency compared to listwise deletion. Furthermore, ad-hoc methods of imputation, such as mean imputation, can lead to serious biases in variances and covariances. Unfortunately, creating multiple imputations can be a burdensome process due to the technical nature of algorithms involved. \Amelia\ provides users with a simple way to create and implement an imputation model, generate imputed datasets, and check its fit using diagnostics. The \AmeliaII\ program goes several significant steps beyond the capabilities of the first version of \Amelia\ \citep*{HonJosKin98}. For one, the bootstrap-based EMB algorithm included in \AmeliaII\ can impute many more variables, with many more observations, in much less time. The great simplicity and power of the EMB algorithm made it possible to write \AmeliaII\ so that it virtually never crashes --- which to our knowledge makes it unique among all existing multiple imputation software --- and is much faster than the alternatives too. \AmeliaII\ also has features to make valid and much more accurate imputations for cross-sectional, time-series, and time-series-cross-section data, and allows the incorporation of observation and data-matrix-cell level prior information. In addition to all of this, \AmeliaII\ provides many diagnostic functions that help users check the validity of their imputation model. This software implements the ideas developed in \citet*{HonKin10}. \section[What Amelia Does]{What \Amelia\ Does} \label{sec:what} Multiple imputation involves imputing $m$ values for each missing cell in your data matrix and creating $m$ ``completed'' data sets. Across these completed data sets, the observed values are the same, but the missing values are filled in with a distribution of imputations that reflect the uncertainty about the missing data. After imputation with \AmeliaII's EMB algorithm, you can apply whatever statistical method you would have used if there had been no missing values to each of the $m$ data sets, and use a simple procedure, described below, to combine the results\footnote{You can combine the results automatically by doing your data analyses within Zelig for R, or within Clarify for Stata; see \url{http://gking.harvard.edu/stats.shtml}.}. Under normal circumstances, you only need to impute once and can then analyze the $m$ imputed data sets as many times and for as many purposes as you wish. The advantage of \AmeliaII\ is that it combines the comparative speed and ease-of-use of our algorithm with the power of multiple imputation, to let you focus on your substantive research questions rather than spending time developing complex application-specific models for nonresponse in each new data set. Unless the rate of missingness is very high, $m = 5$ (the program default) is probably adequate. \subsection{Assumptions} The imputation model in \AmeliaII\ assumes that the complete data (that is, both observed and unobserved) are multivariate normal. If we denote the $(n \times k)$ dataset as $D$ (with observed part $D^{\obs}$ and unobserved part $D^{\mis}$), then this assumption is \begin{equation} \label{eq:norm} D \sim \mathcal{N}_k(\mu, \Sigma), \end{equation} which states that $D$ has a multivariate normal distribution with mean vector $\mu$ and covariance matrix $\Sigma$. The multivariate normal distribution is often a crude approximation to the true distribution of the data, yet there is evidence that this model works as well as other, more complicated models even in the face of categorical or mixed data \citep[see][]{Schafer97, SchOls98}. Furthermore, transformations of many types of variables can often make this normality assumption more plausible (see \ref{sec:trans} for more information on how to implement this in \Amelia). The essential problem of imputation is that we only observe $D^{\obs}$, not the entirety of $D$. In order to gain traction, we need to make the usual assumption in multiple imputation that the data are \emph{missing at random} (MAR). This assumption means that the pattern of missingness only depends on the observed data $D^{\obs}$, not the unobserved data $D^{\mis}$. Let $M$ to be the missingness matrix, with cells $m_{ij} = 1$ if $d_{ij} \in D^{\mis}$ and $m_{ij} = 0$ otherwise. Put simply, $M$ is a matrix that indicates whether or not a cell is missing in the data. With this, we can define the MAR assumption as \begin{equation} \label{eq:mar} p(M|D) = p(M|D^{\obs}). \end{equation} Note that MAR includes the case when missing values are created randomly by, say, coin flips, but it also includes many more sophisticated missingness models. When missingness is not dependent on the data at all, we say that the data are \emph{missing completely at random} (MCAR). \Amelia\ requires both the multivariate normality and the MAR assumption (or the simpler special case of MCAR). Note that the MAR assumption can be made more plausible by including additional variables in the dataset $D$ in the imputation dataset than just those eventually envisioned to be used in the analysis model. \subsection{Algorithm} In multiple imputation, we are concerned with the complete-data parameters, $\theta = (\mu, \Sigma)$. When writing down a model of the data, it is clear that our observed data is actually $D^{\obs}$ and $M$, the missingness matrix. Thus, the likelihood of our observed data is $p(D^{\obs}, M|\theta)$. Using the MAR assumption\footnote{There is an additional assumption hidden here that $M$ does not depend on the complete-data parameters.}, we can break this up, \begin{align} p(D^{\obs},M|\theta) = p(M|D^{\obs})p(D^{\obs}|\theta). \end{align} As we only care about inference on the complete data parameters, we can write the likelihood as \begin{align} L(\theta|D^{\obs}) &\propto p(D^{\obs}|\theta), \end{align} which we can rewrite using the law of iterated expectations as \begin{align} p(D^{\obs}|\theta) &= \int p(D|\theta) dD^{\mis}. \end{align} With this likelihood and a flat prior on $\theta$, we can see that the posterior is \begin{equation} p(\theta | D^{\obs}) \propto p(D^{\obs}|\theta) = \int p(D|\theta) dD^{\mis}. \end{equation} The main computational difficulty in the analysis of incomplete data is taking draws from this posterior. The EM algorithm \citep*{DemLaiRub77} is a simple computational approach to finding the mode of the posterior. Our EMB algorithm combines the classic EM algorithm with a bootstrap approach to take draws from this posterior. For each draw, we bootstrap the data to simulate estimation uncertainty and then run the EM algorithm to find the mode of the posterior for the bootstrapped data, which gives us fundamental uncertainty too (see \citet{HonKin10} for details of the EMB algorithm). Once we have draws of the posterior of the complete-data parameters, we make imputations by drawing values of $D^{\mis}$ from its distribution conditional on $D^{\obs}$ and the draws of $\theta$, which is a linear regression with parameters that can be calculated directly from $\theta$. \subsection{Analysis} In order to combine the results across $m$ data sets, first decide on the quantity of interest to compute, such as a univariate mean, regression coefficient, predicted probability, or first difference. Then, the easiest way is to draw $1/m$ simulations of $q$ from each of the $m$ data sets, combine them into one set of $m$ simulations, and then to use the standard simulation-based methods of interpretation common for single data sets \citep{KinTomWit00}. Alternatively, you can combine directly and use as the multiple imputation estimate of this parameter, $\bar{q}$, the average of the $m$ separate estimates, $q_j$ $(j=1,\dots,m)$: \begin{equation} \bar{q}=\frac{1}{m}\sum^{m}_{j=1}q_j. \end{equation} The variance of the point estimate is the average of the estimated variances from \emph{within} each completed data set, plus the sample variance in the point estimates \emph{across} the data sets (multiplied by a factor that corrects for the bias because $m<\infty$). Let $SE(q_j)^2$ denote the estimated variance (squared standard error) of $q_j$ from the data set $j$, and $S^{2}_{q}=\Sigma^{m}_{j=1}(q_j-\bar{q})^2/(m-1)$ be the sample variance across the $m$ point estimates. The standard error of the multiple imputation point estimate is the square root of \begin{equation} SE(q)^2=\frac{1}{m}\sum^{m}_{j=1}SE(q_j)^2+S^2_q(1+1/m). \end{equation} \begin{figure} \centering \begin{tikzpicture} [inner sep = 2.5mm, missdata/.style={rectangle, draw=red!50, fill=red!20, thick}, impdata/.style={rectangle, draw=blue!50, fill=blue!20, thick}, results/.style= {circle, draw=blue!50, fill=blue!20, thick}] \node (odata) at (3,3) [missdata] {}; \node [red!80,right] at (5.25,3) {incomplete data}; \node (boot1) at (1,1) [missdata] {} edge [<-, bend left=40] (odata); \node (boot2) at (2,1) [missdata] {} edge [<-, bend left=20] (odata); \node (boot3) at (3,1) [missdata] {} edge [<-] (odata); \node (boot4) at (4,1) [missdata] {} edge [<-, bend right=20] (odata); \node (boot5) at (5,1) [missdata] {} edge [<-, bend right=40] (odata); %% add "random question marks" \node[red!50!black] at (2.95,3.1) {\tiny ?}; \node[red!50!black] at (2.85,2.9) {\tiny ?}; \node[red!50!black] at (3.15,2.95) {\tiny ?}; \node[red!50!black] at (2.85,1.1) {\tiny ?}; \node[red!50!black] at (2.95,0.9) {\tiny ?}; \node[red!50!black] at (3.15,1.1) {\tiny ?}; \node[red!50!black] at (0.85,0.9) {\tiny ?}; \node[red!50!black] at (1.15,0.95) {\tiny ?}; \node[red!50!black] at (1.85,1.1) {\tiny ?}; \node[red!50!black] at (1.95,0.9) {\tiny ?}; \node[red!50!black] at (3.85,1.1) {\tiny ?}; \node[red!50!black] at (4.95,0.9) {\tiny ?}; \node[red!50!black] at (5.15,1.1) {\tiny ?}; \node [black!80,right] at (5.25,2) {bootstrap}; \node [red!80, right] at (5.25, 1) {bootstrapped data}; \node (imp1) at (1,0) [impdata] {} edge [<-] (boot1); \node (imp2) at (2,0) [impdata] {} edge [<-] (boot2); \node (imp3) at (3,0) [impdata] {} edge [<-] (boot3); \node (imp4) at (4,0) [impdata] {} edge [<-] (boot4); \node (imp5) at (5,0) [impdata] {} edge [<-] (boot5); \node [blue!80,right] at (5.25,0) {imputed datasets}; \node [black!80, right] at (5.25, 0.5) {EM}; \node (res1) at (1,-1) [results] {} edge [<-] (imp1); \node (res2) at (2,-1) [results] {} edge [<-] (imp2); \node (res3) at (3,-1) [results] {} edge [<-] (imp3); \node (res4) at (4,-1) [results] {} edge [<-] (imp4); \node (res5) at (5,-1) [results] {} edge [<-] (imp5); \node [black!80, right] at (5.25, -0.5) {analysis}; \node [blue!80, right] at (5.25, -1) {separate results}; \node[circle, draw=green!50!black!50, fill=green!20, thick] at (3,-3) {} edge [<-, bend right=40] (res5) edge [<-, bend left=40] (res1) edge [<-, bend right=20] (res4) edge [<-, bend left=20] (res2) edge [<-] (res3); \node [black!80, right] at (5.25, -2) {combination}; \node [green!80!black!80, right] at (5.25, -3) { final results}; \end{tikzpicture} \caption{A schematic of our approach to multiple imputation with the EMB algorithm. } \end{figure} \section[Versions of Amelia]{Versions of \Amelia\ } \label{sec:versions} Two versions of \AmeliaII\ are available, each with its own advantages and drawbacks, but both of which use the same underlying code and algorithms. First, \AmeliaII\ exists as a package for the \R\ statistical software package. Users can utilize their knowledge of the \R\ language to run \AmeliaII\ at the command line or to create scripts that will run \AmeliaII\ and preserve the commands for future use. Alternatively, you may prefer \AmeliaView, where an interactive Graphical User Interface (GUI) allows you to set options and run \Amelia\ without any knowledge of the \R\ programming language. Both versions of \AmeliaII\ are available on the Windows, Mac OS X, and Linux platforms and \AmeliaII\ for \R\ runs in any environment that \R\ can. All versions of \Amelia\ require the \R\ software, which is freely available at \url{http://www.r-project.org/}. Before installing \AmeliaII, you must have installed \R\ version 2.1.0 or higher, which is freely available at \url{http://www.r-project.org/}. \subsection{Installation and Updates from R} \label{sec:install} To install the \Amelia\ package on any platform, simply type the following at the \R\ command prompt, \begin{verbatim} > install.packages("Amelia") \end{verbatim} and \R\ will automatically install the package to your system from CRAN. If you wish to use the most current beta version of \Amelia\, feel free to install the test version, \begin{verbatim} > install.packages("Amelia", repos = "http://gking.harvard.edu") \end{verbatim} In order to keep your copy of \Amelia\ completely up to date, you should use the command \begin{verbatim} > update.packages() \end{verbatim} \subsection[Installation in Windows of AmeliaView as a Standalone Program]{Installation in Windows of \AmeliaView\ as a Standalone Program} \label{sec:win-install} To install a standalone version of \AmeliaView\ in the Windows environment, simply download the installer \texttt{setup.exe} from \url{http://gking.harvard.edu/amelia/} and run it. The installer will ask you to choose a location to install \AmeliaII. If you have installed \R\ with the default options, \AmeliaII\ will automatically find the location of \R. If the installer cannot find \R, it will ask you to locate the directory of the most current version of \R. Make sure you choose the directory name that includes the version number of \R\ (e.g. C:/Program Files/R/R-2.9.0) and contains a subdirectory named \texttt{bin}. The installer will also put shortcuts on your Desktop and Start Menu. Even users familiar with the \R\ language may find it useful to utilize \AmeliaView\ to set options on variables, change arguments, or run diagnostics. From the command line, \AmeliaView\ can be brought up with the call: \begin{verbatim} > library(Amelia) > AmeliaView() \end{verbatim} \subsection{Linux (local installation)} \label{sec:lin-install} Installing \Amelia\ on a Linux system is slightly more complicated due to user permissions. If you are running \R\ with root access, you can simply run the above installation procedure. If you do not have root access, you can install \Amelia\ to a local library. First, create a local directory to house the packages, \begin{verbatim} w4:mblackwell [~]: mkdir ~/myrlibrary \end{verbatim} and then, in an \R\ session, install the package directing \R\ to this location: \begin{verbatim} > install.packages("Amelia", lib = "~/myrlibrary") \end{verbatim} Once this is complete you need to edit or create your \R\ profile. Locate or create \texttt{\~/.Rprofile} in your home directory and add this line: \begin{verbatim} .libPath("~/myrlibrary") \end{verbatim} This will add your local library to the list of library paths that \R\ searches in when you load libraries. Linux users can use \AmeliaView\ in the same way as Windows users of \Amelia\ for \R. From the command line, \AmeliaView\ can be brought up with the call: \begin{verbatim} > AmeliaView() \end{verbatim} \section{A User's Guide} \label{sec:guide} \subsection{Data and Initial Results} We now demonstrate how to use \Amelia\ using data from \citet{MilKub05} which studies the effect of democracy on trade policy. For the purposes of this user's guide, we will use a subset restricted to nine developing countries in Asia from 1980 to 1999\footnote{We have artificially added some missingness to these data for presentational purposes. You can access the original data at \url{http://www.princeton.edu/~hmilner/Research.htm}}. This dataset includes 9 variables: year (\code{year}), country (\code{country}), average tariff rates (\code{tariff}), Polity IV score\footnote{The Polity score is a number between -10 and 10 indicating how democratic a country is. A fully autocratic country would be a -10 while a fully democratic country would be 1 10.} (\code{polity}), total population (\code{pop}), gross domestic product per capita (\code{gdp.pc}), gross international reserves (\code{intresmi}), a dummy variable signifying whether the country had signed an IMF agreement in that year (\code{signed}), a measure of financial openness (\code{fivop}), and a measure of US hegemony\footnote{This measure of US hegemony is the US imports and exports as a percent of the world total imports and exports.} (\code{usheg}). These variables correspond to the variables used in the analysis model of \citet{MilKub05} in table 2. <>= options("digits"=4) options("width"=70) options("show.signif.stars" = FALSE) set.seed(12345) @ We first load the \Amelia\ and the data: <>= require(Amelia) data(freetrade) @ We can check the summary statistics of the data to see that there is missingness on many of the variables: <<>= summary(freetrade) @ In the presence of missing data, most statistical packages use \emph{listwise deletion}, which removes any row that contains a missing value from the analysis. Using the base model of \citet{MilKub05} table 2, we run a simple linear model in \R, which uses listwise deletion: <>= summary(lm(tariff ~ polity + pop + gdp.pc + year + country, data = freetrade)) @ Note that 60 of the 171 original observations are deleted due to missingness. These observations, however, are partially observed, and contain valuable information about the relationships between those variables which are present in the partially completed observations. Multiple imputation will help us retrieve that information and make better, more efficient, inferences. \subsection{Multiple Imputation} When performing multiple imputation, the first step is to identify the variables to include in the imputation model. It is crucial to include at least as much information as will be used in the analysis model. That is, any variable that will be in the analysis model should also be in the imputation model. This includes any transformations or interactions of variables that will appear in the analysis model. In fact, it is often useful to add more information to the imputation model than will be present when the analysis is run. Since imputation is predictive, any variables that would increase predictive power should be included in the model, even if including them in the analysis model would produce bias in estimating a causal effect (such as for post-treatment variables) or collinearity would preclude determining which variable had a relationship with the dependent variable (such as including multiple alternate measures of GDP). In our case, we include all the variables in \code{freetrade} in the imputation model, even though our analysis model focuses on \code{polity}, \code{pop} and \code{gdp.pc}\footnote{Note that this specification does not utilize time or spatial data yet. The \texttt{ts} and \texttt{cs} arguments only have force when we also include \texttt{polytime} or \texttt{intercs}, discussed in section \ref{sec:tscs}}. To create multiple imputations in \Amelia, we can simply run <>= a.out <- amelia(freetrade, m = 5, ts = "year", cs = "country") a.out @ Note that our example dataset is deliberately small both in variables and in cross-sectional elements. Typical datasets may often have hundreds or possibly a couple thousand steps to the EM algorithm. Long chains should remind the analyst to consider whether transformations of the variables would more closely fit the multivariate normal assumptions of the model (correct but omitted transformations will shorten the number of steps and improve the fit of the imputations), but do not necessarily denote problems with the imputation model. The output gives some information about how the algorithm ran. Each of the imputed datasets is now in the list \code{a.out\$imputations}. Thus, we could plot a histogram of the \code{tariff} variable from the 3rd imputation, <>= hist(a.out$imputations[[3]]$tariff, col="grey", border="white") @ %$ <>= options(SweaveHooks = list(fig = function() par(mfrow=c(1,1)))) @ \begin{figure} \begin{center} <>= <> @ \caption{Histogram of the \texttt{tariff} variable from the 3rd imputed dataset.} \label{fig:hist1} \end{center} \end{figure} \subsubsection{Saving imputed datasets} \label{sec:saving} If you need to save your imputed datasets, one direct method is to save the output list from \code{amelia}, \begin{verbatim} > save(a.out, file = "imputations.RData") \end{verbatim} As in the previous example, the \emph{i}th imputed datasets can be retrieved from this list as \code{a.out\$imputations[[i]]}. In addition, you can save each of the imputed datasets to its own file using the \code{write.amelia} command, \begin{verbatim} > write.amelia(obj=a.out, file.stem = "outdata") \end{verbatim} This will create one comma-separated value file for each imputed dataset in the following manner: \begin{verbatim} outdata1.csv outdata2.csv outdata3.csv outdata4.csv outdata5.csv \end{verbatim} The \code{write.amelia} function can also save files in tab-delimited and Stata (\code{.dta}) file formats. For instance, to save Stata files, simply change the \code{format} argument to \code{"dta"}, \begin{verbatim} > write.amelia(obj=a.out, file.stem = "outdata", format = "dta") \end{verbatim} Additionally, \code{write.amelia} can create a ``stacked'' version of the imputed dataset which stacks each imputed dataset on top of one another. This can be done by setting the \code{separate} argument to \code{FALSE}. The resulting matrix is of size $(N \cdot m) \times p$ if the original dataset is excluded (\code{orig.data = FALSE}) and of size $(N \cdot (m+1))\times p$ if it is included (\code{orig.data = TRUE}). The stacked dataset will include a variable (set with \code{impvar}) that indicates to which imputed dataset the observation belongs. See Section~\ref{sec:analysis} for a description of how to use this stacked dataset with the \code{mi} commands in Stata. \subsubsection[Combining Multiple Amelia Runs]{Combining Multiple \Amelia\ Runs} The EMB algorithm is what computer scientists call \emph{embarrassingly parallel}, meaning that it is simple to separate each imputation into parallel processes. With \Amelia\ it is simple to run subsets of the imputations on different machines and then combine them after the imputation for use in analysis model. This allows for a huge increase in the speed of the algorithm. Output lists from different \Amelia\ runs can be combined together into a new list. For instance, suppose that we wanted to add another ten imputed datasets to our earlier call to \code{amelia}. First, run the function to get these additional imputations, <<>>= a.out.more <- amelia(freetrade, m = 10, ts = "year", cs = "country", p2s=0) a.out.more @ then combine this output with our original output using the \code{ameliabind} function, <<>>= a.out.more <- ameliabind(a.out, a.out.more) a.out.more @ This function binds the two outputs into the same output so that you can pass the combined imputations easily to analysis models and diagnostics. Note that \code{a.out.more} now has a total of 15 imputations. A simple way to execute a parallel processing scheme with \Amelia\ would be to run \code{amelia} with \code{m} set to 1 on $m$ different machines or processors, save each output using the \code{save} function, load them all on the same \R\ session using \code{load} command and then combine them using \code{ameliabind}. In order to do this, however, make sure to name each of the outputs a different name so that they do not overwrite each other when loading into the same \R\ session. Also, some parallel environments will dump all generated files into a common directory, where they may overwrite each other. If it is convenient in a parallel environment to run a large number of \code{amelia} calls from a single piece of code, one useful way to avoid overwriting is to create the \code{file.stem} with a random suffix. For example: \begin{verbatim} > b<-round(runif(1,min=1111,max=9999)) > random.name<-paste("am",b,sep="") > amelia <- write.amelia(obj=a.out, file.stem = random.name) \end{verbatim} \subsubsection{Screen Output} Screen output can be adjusted with the ``print to screen'' argument, \code{p2s}. At a value of 0, no screen printing will occur. This may be useful in large jobs or simulations where a very large number of imputation models may be required. The default value of 1, lists each bootstrap, and displays the number of iterations required to reach convergence in that bootstrapped dataset. The value of 2 gives more thorough screen output, including, at each iteration, the number of parameters that have significantly changed since the last iteration. This may be useful when the EM chain length is very long, as it can provide an intuition for many parameters still need to converge in the EM chain, and a sense of the time remaining. However, it is worth noting that the last several parameters can often take a significant fraction of the total number of iterations to converge. Setting \code{p2s} to 2 will also generate information on how EM algorithm is behaving, such as a \code{!} when the current estimated complete data covariance matrix is not invertible and a \code{*} when the likelihood has not monotonically increased in that step. Having many of these two symbols in the screen output is an indication of a problematic imputation model\footnote{Problems of non-invertible matrices often mean that current guess for the covariance matrix is singular. This is a sign that there may be two highly correlated variables in the model. One way to resolve is to use a ridge prior (see \ref{sec:prior})}. An example of the output when \code{p2s} is 2 would be <>= amelia(freetrade, m = 1, ts = "year", cs = "country", p2s = 2) @ \subsection{Parallel Imputation Using Multicore CPUs} \label{sec:parallel} Each imputation in the above EMB algorithm is completely independent of any other imputation, a property called embarrassingly parallel. This type of approach can take advantage of the multiple -core infrastructure of modern CPUs. Each core in a multi-core processor can execute independent operations in parallel. \Amelia\ can utilize this parallel processing internally \emph{via} the \code{parallel} and the \code{ncpus} arguments. The \code{parallel} argument sets the parallel processing backend, either with \code{"multicore"} or \code{"snow"} (or \code{"no"} for no parallel processing). The \code{"multicore"} backend is not available on Windows systems, but tends to be quicker at parallel processing. On a Windows system, the \code{"snow"} backend provides parallel processing through a cluster of worker processes across the CPUs. You can set the default for this argument using the \code{"amelia.parallel"} option. This allows you to run Amelia in parallel as the default for an entire R session without setting arguments in the \code{amelia} call. For each of the parallel backends, \Amelia\ requires a number of CPUs to use in parallel. This can be set using the \code{ncpus} argument. It can be higher than the number of physical cores in the system if hyperthreading or other technologies are available. You can use the \code{parallel::detectCores} function to determine how many cores are available on your machine. The default for this argument can be set using the \code{"amelia.ncpus"} option. On Unix-alike systems (such as Mac OS X and Linux distributions), the \code{"multicore"} backend automatically sets up and stops the parallel workers by forking the process. On Windows, the \code{"snow"} backend requires more attention. \Amelia\ will attempt to create a parallel cluster of worker processes (since Windows systems cannot fork a process) and will stop this cluster after the imputations are complete. Alternatively, \Amelia\ also has a \code{cl} argument, which accepts a predefined cluster made using the \code{parallel::makePSOCKcluster}. For more information about parallel processing in R, see the documentation for the \pkg{parallel} package that ships along with R. \subsection{Imputation-improving Transformations} \label{sec:trans} Social science data commonly includes variables that fail to fit to a multivariate normal distribution. Indeed, numerous models have been introduced specifically to deal with the problems they present. As it turns out, much evidence in the literature (discussed in \citealt{KinHonJos01}) indicates that the multivariate normal model used in \Amelia\ usually works well for the imputation stage even when discrete or non-normal variables are included and when the analysis stage involves these limited dependent variable models. Nevertheless, \Amelia\ includes some limited capacity to deal directly with ordinal and nominal variables and to modify variables that require other transformations. In general nominal and log transform variables should be declared to \Amelia, whereas ordinal (including dichotomous) variables often need not be, as described below. (For harder cases, see \citep{Schafer97}, for specialized MCMC-based imputation models for discrete variables.)\nocite{KinHonJos01} Although these transformations are taken internally on these variables to better fit the data to the multivariate normal assumptions of the imputation model, all the imputations that are created will be returned in the original untransformed form of the data. If the user has already performed transformations on their data (such as by taking a log or square root prior to feeding the data to \code{amelia}) these do not need to be declared, as that would result in the transformation occurring \emph{doubly} in the imputation model. The fully imputed data sets that are returned will always be in the form of the original data that is passed to the \code{amelia} routine. \subsubsection{Ordinal} \label{sec:ord} In much statistical research, researchers treat independent ordinal (including dichotomous) variables as if they were really continuous. If the analysis model to be employed is of this type, then nothing extra is required of the of the imputation model. Users are advised to allow \Amelia\ to impute non-integer values for any missing data, and to use these non-integer values in their analysis. Sometimes this makes sense, and sometimes this defies intuition. One particular imputation of 2.35 for a missing value on a seven point scale carries the intuition that the respondent is between a 2 and a 3 and most probably would have responded 2 had the data been observed. This is easier to accept than an imputation of 0.79 for a dichotomous variable where a zero represents a male and a one represents a female respondent. However, in both cases the non-integer imputations carry more information about the underlying distribution than would be carried if we were to force the imputations to be integers. Thus whenever the analysis model permits, missing ordinal observations should be allowed to take on continuously valued imputations. In the \code{freetrade} data, one such ordinal variable is \code{polity} which ranges from -10 (full autocracy) to 10 (full democracy). If we tabulate this variable from one of the imputed datasets, <>= table(a.out$imputations[[3]]$polity) @ %$ we can see that there is one imputation between -4 and -3 and one imputation between 6 and 7. Again, the interpretation of these values is rather straightforward even if they are not strictly in the coding of the original Polity data. Often, however, analysis models require some variables to be strictly ordinal, as for example, when the dependent variable will be modeled in a logistical or Poisson regression. Imputations for variables set as ordinal are created by taking the continuously valued imputation and using an appropriately scaled version of this as the probability of success in a binomial distribution. The draw from this binomial distribution is then translated back into one of the ordinal categories. For our data we can simply add \code{polity} to the \code{ords} argument: <>= a.out1 <- amelia(freetrade, m = 5, ts = "year", cs = "country", ords = "polity", p2s = 0) table(a.out1$imputations[[3]]$polity) @ Now, we can see that all of the imputations fall into one of the original polity categories. \subsubsection{Nominal} \label{sec:nom} Nominal variables\footnote{Dichotomous (two category) variables are a special case of nominal variables. For these variables, the nominal and ordinal methods of transformation in \Amelia\ agree.} must be treated quite differently than ordinal variables. Any multinomial variables in the data set (such as religion coded 1 for Catholic, 2 for Jewish, and 3 for Protestant) must be specified to \Amelia. In our \code{freetrade} dataset, we have \code{signed} which is 1 if a country signed an IMF agreement in that year and 0 if it did not. Of course, our first imputation did not limit the imputations to these two categories <<>>= table(a.out1$imputations[[3]]$signed) @ In order to fix this for a $ p$-category multinomial variable,\Amelia\ will determine $ p$ (as long as your data contain at least one value in each category), and substitute $ p-1$ binary variables to specify each possible category. These new $ p-1$ variables will be treated as the other variables in the multivariate normal imputation method chosen, and receive continuous imputations. These continuously valued imputations will then be appropriately scaled into probabilities for each of the $ p$ possible categories, and one of these categories will be drawn, where upon the original $ p$-category multinomial variable will be reconstructed and returned to the user. Thus all imputations will be appropriately multinomial. For our data we can simply add \code{signed} to the \code{noms} argument: <>= a.out2 <- amelia(freetrade, m = 5, ts = "year", cs = "country", noms = "signed", p2s = 0) table(a.out2$imputations[[3]]$signed) @ Note that \Amelia\ can only fit imputations into categories that exist in the original data. Thus, if there was a third category of signed, say 2, that corresponded to a different kind of IMF agreement, but it never occurred in the original data, \Amelia\ could not match imputations to it. Since \Amelia\ properly treats a $ p$-category multinomial variable as $ p-1$ variables, one should understand the number of parameters that are quickly accumulating if many multinomial variables are being used. If the square of the number of real and constructed variables is large relative to the number of observations, it is useful to use a ridge prior as in section \ref{sec:prior}. \subsubsection{Natural Log} \label{sec:log} If one of your variables is heavily skewed or has outliers that may alter the imputation in an unwanted way, you can use a natural logarithm transformation of that variable in order to normalize its distribution. This transformed distribution helps \Amelia\ to avoid imputing values that depend too heavily on outlying data points. Log transformations are common in expenditure and economic variables where we have strong beliefs that the marginal relationship between two variables decreases as we move across the range. For instance, figure \ref{fig:logshist} show the \code{tariff} variable clearly has positive (or, right) skew while its natural log transformation has a roughly normal distribution. <>= hist(freetrade$tariff, col="grey", border="white") hist(log(freetrade$tariff), col="grey", border="white") @ %$ <>= options(SweaveHooks = list(fig = function() par(mfrow=c(1,2)))) @ \begin{figure} \begin{center} <>= <> @ \caption{Histogram of \texttt{tariff} and \texttt{log(tariff)}.} \label{fig:logshist} \end{center} \end{figure} <>= options(SweaveHooks = list(fig = function() par(mfrow=c(1,1)))) @ \subsubsection{Square Root} \label{sec:sqrt} Event count data is often heavily skewed and has nonlinear relationships with other variables. One common transformation to tailor the linear model to count data is to take the square roots of the counts. This is a transformation that can be set as an option in \Amelia. \subsubsection{Logistic} \label{sec:lgstc} Proportional data is sharply bounded between 0 and 1. A logistic transformation is one possible option in \Amelia\ to make the distribution symmetric and relatively unbounded. \subsection{Identification Variables} \label{sec:idvars} Datasets often contain identification variables, such as country names, respondent numbers, or other identification numbers, codes or abbreviations. Sometimes these are text and sometimes these are numeric. Often it is not appropriate to include these variables in the imputation model, but it is useful to have them remain in the imputed datasets (However, there are models that would include the ID variables in the imputation model, such as fixed effects model for data with repeated observations of the same countries). Identification variables which are not to be included in the imputation model can be identified with the argument \code{idvars}. These variables will not be used in the imputation model, but will be kept in the imputed datasets. If the \code{year} and \code{country} contained no information except labels, we could omit them from the imputation: <>= amelia(freetrade, idvars = c("year", "country")) @ Note that Amelia will return with an error if your dataset contains a factor or character variable that is not marked as a nominal or identification variable. Thus, if we were to omit the factor \code{country} from the \code{cs} or \code{idvars} arguments, we would receive an error: <<>>= a.out2 <- amelia(freetrade, idvars = c("year")) @ In order to conserve memory, it is wise to remove unnecessary variables from a data set before loading it into \Amelia. The only variables you should include in your data when running \Amelia\ are variables you will use in the analysis stage and those variables that will help in the imputation model. While it may be tempting to simply mark unneeded variables as IDs, it only serves to waste memory and slow down the imputation procedure. \subsection{Time Series, or Time Series Cross Sectional Data} \label{sec:tscs} Many variables that are recorded over time within a cross-sectional unit are observed to vary smoothly over time. In such cases, knowing the observed values of observations close in time to any missing value may enormously aid the imputation of that value. However, the exact pattern may vary over time within any cross-section. There may be periods of growth, stability, or decline; in each of which the observed values would be used in a different fashion to impute missing values. Also, these patterns may vary enormously across different cross-sections, or may exist in some and not others. \Amelia\ can build a general model of patterns within variables across time by creating a sequence of polynomials of the time index. If, for example, tariffs vary smoothly over time, then we make the modeling assumption that there exists some polynomial that describes the economy in cross-sectional unit $i$ at time $t$ as: \begin{equation} \textrm{tariff}_{ti} = \beta_0 + \beta_1 t + \beta_1 t^2 + \beta_1 t^3 \ldots \end{equation} And thus if we include enough higher order terms of time then the pattern between observed values of the tariff rate can be estimated. \Amelia\ will create polynomials of time up to the user defined $k$-th order, ($k\leq3$). We can implement this with the \code{ts} and \code{polytime} arguments. If we thought that a second-order polynomial would help predict we could run <>= a.out2 <- amelia(freetrade, ts = "year", cs = "country", polytime = 2) @ With this input, \Amelia\ will add covariates to the model that correspond to time and its polynomials. These covariates will help better predict the missing values. If cross-sectional units are specified these polynomials can be interacted with the cross-section unit to allow the patterns over time to vary between cross-sectional units. Unless you strongly believe all units have the same patterns over time in all variables (including the same constant term), this is a reasonable setting. When $k$ is set to 0, this interaction simply results in a model of \emph{fixed effects} where every unit has a uniquely estimated constant term. \Amelia\ does not smooth the observed data, and only uses this functional form, or one you choose, with all the other variables in the analysis and the uncertainty of the prediction, to impute the missing values. In order to impute with trends specific to each cross-sectional unit, we can set \code{intercs} to \code{TRUE}: <>= a.out.time <- amelia(freetrade, ts = "year", cs = "country", polytime = 2, intercs = TRUE, p2s = 2) @ Note that attempting to use \code{polytime} without the \code{ts} argument, or \code{intercs} without the \code{cs} argument will result in an error. Using the \code{tscsPlot} function (discussed below), we can see in figure \ref{fig:tcomp} that we have a much better prediction about the missing values when incorporating time than when we omit it: <>= tscsPlot(a.out, cs = "Malaysia", main = "Malaysia (no time settings)", var = "tariff", ylim = c(-10, 60)) tscsPlot(a.out.time, cs = "Malaysia", main = "Malaysia (with time settings)", var = "tariff", ylim = c(-10, 60)) @ <>= options(SweaveHooks = list(fig = function() par(mfrow=c(1,2)))) @ \begin{figure} \begin{center} <

Authors: James Honaker, Gary King, Matthew Blackwell

Amelia II "multiply imputes" missing data in a single cross-section (such as a survey), from a time series (like variables collected for each year in a country), or from a time-series-cross-sectional data set (such as collected by years for each of several countries). Amelia II implements our bootstrapping-based algorithm that gives essentially the same answers as the standard IP or EMis approaches, is usually considerably faster than existing approaches and can handle many more variables. Unlike Amelia I and other statistically rigorous imputation software, it virtually never crashes (but please let us know if you find to the contrary!). The program also generalizes existing approaches by allowing for trends in time series across observations within a cross-sectional unit, as well as priors that allow experts to incorporate beliefs they have about the values of missing cells in their data. Amelia II also includes useful diagnostics of the fit of multiple imputation models. The program works from the R command line or via a graphical user interface that does not require users to know R.


Amelia is named after this famous missing person.

Multiple imputation involves imputing m values for each missing cell in your data matrix and creating m "completed" data sets. (Across these completed data sets, the observed values are the same, but the missing values are filled in with different imputations that reflect our uncertainty about the missing data.) After imputation, Amelia will then save the m data sets. You then apply whatever statistical method you would have used if there had been no missing values to each of the m data sets, and use a simple procedure to combine the results. Under normal circumstances, you only need to impute once and can then analyze the m imputed data sets as many times and for as many purposes as you wish. The advantage of Amelia is that it combines the comparative speed and ease-of-use of our algorithm with the power of multiple imputation, to let you focus on your substantive research questions rather than spending time developing complex application-specific models for nonresponse in each new data set. Unless the rate of missingness is exceptionally high, m=5 (the program default) will usually be adequate. Other methods of dealing with missing data, such as listwise deletion, mean substitution, or single imputation, are in common circumstances biased, inefficient, or both. When multiple imputation works properly, it fills in data in such a way as to not change any relationships in the data but which enables the inclusion of all the observed data in the partially missing rows.

Amelia II is a new program, and follows in the spirit with the same purpose as the first version of Amelia by James Honaker, Anne Joseph, Gary King, Kenneth Scheve, and Naunihal Singh.

Amelia/vignettes/distpri.png0000644000175100001440000010133412107457643015667 0ustar hornikusersPNG  IHDR}l? pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FxIDATx_h[U?'Ml>Zcbъ%|hE`ٲey!ЇLF SЇ8J E-J%[EfRU69>6i6m. s9snN@c߈9Cg0̸55?YǠP RQ(RQEoRQR]EyHɔ+.碚w.*;(nFYR|Lfp/  |qp&{ߥD"Axy=Z,= 0a gڵ(y "ȫvlǻӍAz/:1L$ a:yhpuumDQGFGF:Ѽ_`;oBum@gD+B -|huqFj>FV hkkkF.>t)"[q*qzNDk3;>#Qk˭޻ݟyw6KaZh{0瀗C=kI (my9+ STf*\'<N%y{q"X>=LFCiir ]Sd]sa2yt {NϮ>N{{9P]]NNuF677)gJD'L~U XLKǭbceڍe@AܸU___ .hn#Kw. AÈ[hPƿiEM'1DJ /^^dnEā |Qp'*x(^眳*sZJE֮LJ4if1:AhGf``TUUQ' E(BRWE] w]5ysY ؇]|6@Ëhފ @}h| Лֽg œUf4 γ!ꔜS `NW۩;'bt%M=q `\قH `9Q.D8кm?cΔtAu3\H;YnJRs01WͳQ!X֜&{c[34l'i |? !wBI$d2)1ZOMC̫;!CG>RM!$X,&oZ\"sx 97!+E4,јh`sԔAl+kg2FnG]Y4FFH!(D$÷sH͑9u͖;~'+XM9;|BMUi466?0kggn ~M#NZNk,C|ZqrG鹑i! pK9wp+I*vOz(K(̓wEZ2ox_d 6啦p^VfFM()',CB٦)ߤY}d1lPpfu~^2&))oz>v٦rZP1+ !;p ]e*)5jtbLM,E8y)dDҎE4Eeėg 8N'V-?L\I$4|?`h~V`RBrC9ڋAH Oj:-߽RP[[ ɗRR3+ Mb`)I 4 ar9H$tqޗ$S)m,XU}gS2O`HD3LEβ,r~MQ2C:5r %YSs }}e; lV)kڔ~Z-'b=O$,!4(3?oleǿQXB&Io QIMY?qɔc,f /0 thg SLĽD/j֡2J1@n-vxiڵkOrs=w}a9pygޱ] @icY<巿̉dj05KB1%:Zq~ q ؾI؏?>Evv|8U Ϟ<8k:ht/p2}{]t0I I<8D+X'=1ܓgJ58s.-4شMMŗsFb*imFrDmGuQ''K7H*IJ*leb;|>){QR;](Vrra;1S[XuolM9>:BPG*㟧zT{4N#tG"$uWI434GdY7/PT5kҥK3s:^s_nH:SfD1HmA Loj1'yKrSU_404fy􀵔Miba|r\rU\^HUO0dk׳0c%ء֫C3Rr7$:zxdYn)#Wo,(7^ Vd5ڤ+q uj0w+~<˷4{jn h6\g0>(O=$dc44ГS%Ɏpֻı[<.@nrpT Ɉ 8p {vLȦr!`x^0jrW Xh$;gl^hEdXg.njzя`X駑霜"H:\FXĂ+˱jՊ.BH\t oM4u rϝBM|ښ4KWqf- 06l*<Ţ^\.DQc,rZ c=B:<<{wKҗ1),@t.QsgJx[[fJJJ U?ٴ;#|70ƴnݼ6^v"==$aXx X cajo4$c5yad NNlu_O:tc!H8k05hN"/-vFP0Dp'lSqH\~?i]>h~OQlYIH*gPJyT'(2C2:KX{w~.gm>u}vTh}`>Ejf&h/Ή!)Cô)")Zo ">!5G`CR i-X! ?ŗ[瑱4\۩g vF 3sO LɄ}A#yof PNX%tp{[M8@}j7nd(MŚf}m֞oPʼnuzAq!Gh\WhƠ.6%칎40Buut; ` J*YVzxKbb{fcmsVvP_*װ|rʎsoX¤ѥKLzyݩٳ1+(b=|v}=>7a=|ϗW/V;N2_ahF:M7N1}P#{_CY+:K&qkPչ M͛#kNehO'pV0l45 uS_7-0k7=z[]<#̌#mvvvZoofyۨn)śnhF:eee<"\|anui# \YϝWwyy!O|ԭ#txˋ7]wz455"ikoo[xpȤb4c="͠\4qegE[.,-HTasTX6,`:B[﾿OZWڞ֖fP0'"Wf{m-ٻw7 !v$1ZOOC,aȯ iʎړf=q~"pCwF$ĭʼ|f_/kvGb3| Đ^q7T&cMw~Gl|%zj==jJ #ZK!6ftbwB A/0M`u;Wuv VW^.X!9ulME.cp EZ"A+_VE.ZWb]s6 kQ{.%6XQ ذ6E3,,+V1oQ}~hU(ǬVWw"o[,ȳPT mٞ Ӳj͹8NsmNDޯ Z4;78bM( _mn%>\x$k7NmP٧ 6RE>@ G mp7w8fsļV|J5詫EMeN&0ө[tYea[aP%ynW/^Ry "nSp~+*]-pr:*n~g۽CΒpĸms)_I dM瓞/H]#+Ȏ_9hvَ*|lf֏UݜAxUPe?/2vC= z>ǎyڟl6㘣q́U/aY9_dgc{-Rw } 9&~>_@&2 O O O O?Dt220w-?K dD|W }s}%"b|l[{63'jZAzn㎲@q+8m^]6(2֙0HIJ p+ձtWW^NwE#- == 6}TӦMc{[o|Rѣ4i}au0|>FuwYHܜhäI'$4f̘!n"Xģ9s&qw5ǨԩS3fL nk7\&~ѢzfVYd2a4طogESSm ׫_"$7 O 7030F2f،K ;"E)JL]rEo\!> ]sʕN'  D|42(//g=?2dȐ ZR7P)((hUK4EV˰;QU5OzcF<^awzq\яFO.b$aĈG/4n{9'吽YoqUۣ:I[Xw@"oyyG7(++cٲe=k> 3rN =¡(B  )èP;(3n22BJV$z(sPXifkK;.8j!Pq=]jWf n ڢl ٳۉ(%hQ3;6$3?wfL&s{?}w{{֚= l5Jkz\ A2iFUA҅)'~K7f;^ʿMilgcټv%w%~~#ޏs{s@RԤsR#9^Eߢ(xT*|SOH|ɫ`εw.U>◓X֗9{ q;,_GFN{'S,^ƞS髯pz {,vL`uKas4f wϩt,?IŶ,b $WROqo߱Ttw;Z7 Vi{9F|:zFiK>++BZs:>z~o=o]Vc'reAjkY9 0%=!=APDAݶyJuT5?Rk, c/mdw40W֤FMji%eYp<idpP՜<~앭rw234͙Df*o(h plXbK Xp/p)/~'NL}t˰W]?{i3+Yؔ8+]g cjM?B)}m>_by1uX)R-Fy{hDeqTmhƾQem%Q u[Ȣ^Zw?zj8qyG_|~kX[zҫ jcƣ*)5<1"vݚ=ZН1ٳL0!cnzǪqƥtыOMi֣g ۬Z=FƍetBkb1rOЫY26@?BBpUJ)\C)>DPuCiTAR3%PH9g_R,'t]M*{5OSCG7&[_`l>3qDA0P pRNL;sF7xfgE7 :1+%TEIUSB v;vOm.#{*w% K7S3.& ,Y&͂v('/ W[κb?9ԡ̮VI]-o9J)S0/TE]*D]BF~ *B4P)q|=~'ť6=)Tl(`ƹ kJqF[K.Z?|i.k%^;p[ko&}! M^<_T鵵w֢:lCٿbx1c )7V3O +ǎZz8x )߫e#٨s(A}1S R 6hְŖE\ zd7xH}" ><͑Ge̹!Kߥf/8h'pN@-TN".hPpucyN[UWteXHϰ#_!AU2<ߴ?$68߂ A L hkԺ _,J֯F)A߇B'FG^ Я ڍl)7[^|B<}i v(3<<5ƕ݁T[íP"#FGðPZPuEhmt)ȋs(3d_K~v;*65-wJ)#߽&+0D]y~}zm+.rj]p+™5ȝTVqg MUU%%-{&sAU=ED/r!'uԙbaa:[^TW WgxsWWazIlט 4 ɝTOS(`lr 6N}px99Ye@z 0d@KI)x%Zc AD2 hjA< [f"x~ e|H$<ϸLL ◩,732ߡ$gG_w/#""~CDd9;e4PRq3YJJxIPTMU%4U#9UzH??A(}cFfod6M<:{[|ͱ\jFV+7_HkDN'       n#?A?A|;©zqV\I^^^Zcb 10>K {֬Y.7F^ab^o-.xrN{qZ p87k9^[{W >0O+h#Ǎ)+?ahoog'Sig.˧iooG?wڝrC?a˱i3\O76;Xv"前0oDl B쳷cLjF_㞗Ff3{g^>vW_,t2h4R~Mאo&رtD Ƨ )455]Tm֯zt"~ dy E ݵ ֝Vg!3?*e@ϊ`_qdU"@phqt} 1a\A}`AшXðNYWTdHf:<ì2І .V4}7MB6m|߯}:|Ϲ'=s*lR f|ߜ X.$]9~5R$ ׍۾O!HO3ɣ>ARLL"| ǞAHr^xv'ܵߚ5uZz|NGC ]S'?kT7 oںW9}$u.=͔37vi,ӇN(.`_cء /?୾{fd?̍\!uFz)4! "\Mio0wf'\`TMi/jMg5||5~"Wa%̺{9K>9̞|L^oY%,Zʭ'ʇkyM,M'|>`/| 4Pޔ4f-`{B|H&sF2ٰ_'BrT_^Wgo_`,~- ,VҀXGVohɔoaRP_/Ff\c}y [v䥛o]xؼ^<>Uoa8JIO3`s./~;%l$DŽBz;<=21f+bv?Ac<44i=?:T<oծc\9]d\z9* ~}jVA>A>A>f{)6 p|}:_՘ c֧g]+-_wطK9" 3ŏUS1ڍ NuRxvv]7 _q큪-wKVXu | cWQ+bàZkb۰wiabTR-v]3=(k"uޖ^G\A<2&1A5U9͒fk{L:2X~կz5On ˀ̋X]PM>Pp~5Og/fΈt %)ϋY ^1X鼸m Ku͙l,Ͼ OR06ƐDr!\_Sr")Dv"unÐt#kRq^GS./{$Kxl|jjj߿e*BcccIoأdA?K=V])d|wA Q8gsW UɊeD  va3xXnqXvzq ,bݡNxnkXV|(`0AmUP]׽*ylu( ^=-EQ"nkbRM 8={# dUEQẒV.EQpxSbEQX+"VT\9Ji:Ew;b`q.=-ұ_Q- 8`9Y[oCl';a[x*ڨ#\Oؔ[W'0,@ Vܩ {ǰf4}ngmo}x~3sܡUpyo8U^}U&L}&/ۋX,Nr^٠;s5}᨜]=Uۙ8T]WuO'fUFҰ@UUos1̓nre N ,Uըtl@ZW;W绵}nJ 4?iⲺ:]8CRWW¡6ͽ֍{_$wP؅,j wa4wD-oL^T2xJ-k[ֆ-5F>U5 a_u~u.] ?Ď6v2 *jnc0}C3gǏ?7xcuAWSj/G}sNXx8)wZn|>70jܧ{wźyUT4͎\x sW徫o#0 Q Tª ޸o8ץ @O+UTTTagN\glKPا>TQAEE9Suk8w"a av ~Q¤[Q#{[zY >j`bF?dçuz,&z<0I-j\ҽ8~яlя ޏ>m3 ~WBƲ:]mz2bKI~|"McpÏ|YjUHMv}P\SNEUU~4皚8}42H]W=6!$ˈZ )"{Iζ/4U&?gioz{nDڨ|:Mi&3ç&w~;۾7#=6j]"M]/=] ANBpIt8p*-y{mq~8r\d!i1=rnZ3myoXL^N6\*(B-5/[Sq.l^e*E*Naҁ2ux)b\-GQ*U (9.Wz+| <ɤOHjk]:,NцNlU,C8-ʁ+n TUel7=88r]x*U,İ]UBg\P@B_d1f T?U\։^ :8ڛZhsǴ/8~n%QL}>o P;0, *VSsxc>mS$zQ47~,߀(,-w5bwܾH>=yynP;H綶#7㋍m!t(̃2٬ -n31]P梪 >7fτPK_h?wLjּ̇8/"υ/~9fSd}`[v썶kn^X7u|YG~UخMP_Ӗӆ@-}:>د*wZP=YaфFce5Ram x'S 11;Ks<>Zɛ6G*xg7BU1("Mц0}cC"^+p!i=S[2O^co6xapۤVliƾY]/͎cNEB:lw O%0{Py(EbqKCWȝ`:kY*ڬBVwxZrՃGXc ًЕX-ZC?{mE.].6UEyZSw]I1PZ[KUŌ],k}{wðkݴ &fö0LE~N;i3,)](}c*B㨍i+[#DUaAm8扄qZpy BݲǾb;c~坓GeK Z;ZN-Օg}bXs*9m[ug }TX]AF~&NyecuE3|2zw'SX]HW/jyC PLnBFpF]lceԆ>M2W!b?Nヨn43xşN(Jmźіƪd,D٥uqXݝ`} *ҁYX+{knKȍpwT7Q!^*ǨJRі FnxV=xQ;KMݿUW^(wOYª~;ڗ!s(.Ex֥X9;+1{9pnFPP>Fbپ4nY7G RB#7* /iDڼ-L% _֬moR !(f{Z`ύdTAQgn]EŇWeuelUQ4.1#7낲4j]+]f+(l}S!TՃbuaq"h2|Fh7MÎ]bkr #7<6 =wQWgQڿɽsL^Q-fWAlfPWQpmE0ҁbo3wo\:dẙyB#O44uCS9NGVRQƦ4Fgq9QUg(=DLOs Y.̕O^G.}>Z_2)Cͳ4ǡOuqGz= ֥츍gzf92`k˅5CC}Xfg 5k~^0ңiAi</j"8f雇^a6GV!|mrb=XZ,}󎽦w)evΣ7H]/7Ԣ#/7v="SrȇMڼ , -ԯ77BA 2_s Ҕ7''5KOH%.D "| "|K6qraBADz)3^^LUܻIYUl m.?aٌݳ —VLktxQ%ț6 2jggA/(]|#GW[yHjJOz 頙WdQmֆϨ-զ*6SЋ' 7'i* 5f 6ADADADA Kkygjr##y7 _M 5'y3dAG pq̴=|X4%[qU4TW)cZ: 0V'"|qu1͌>ch3dM!lPKKlrd9@Y\=!GHU`0R<l' 8>rsURgEO2qypg/ 7jHgԂ 'tTAK)֯_ܹs–: (BoMMM459ȹs4O_TOo̗jBٶm'Olnv(ئ8䭮 ) )4uA4շo_n'B7`Ϟ= лQEQӧw}7}ҷo_L&گ_(AWxNOH - cq8][UU?RSS>GUv#4y!C[/lmhh3M"|B2`C> 2}t ɝEzVZ0Lc2➉HOH:BE! ꫯ2{쨊 45e^L0AҢs= דDOHdʕL0!G럖RΝ;֭[''$ÇgРA-={ZdF,|ˆF8p _}B{=S444$Ջ/==뮻&nSSSCP>]kQ*ZA>A>A>A>A>A>A>A>AD!BR?gC6֮]5#voYOpna-XE!Iv́Slg|Nf3yk}<kqp>f3漵_(?Y<>AHR*~>ˉB˔QwhuU,N8nRmg8>A!3fuu%x:`_yE=nF ,gd/Ó?`fΦÆ/9HM6KSWzKS|W}ȤS|܎fel/ P dݨ<O*$@ ]MSl$% ƹ 2rssY}ܪhe|g|}q^Kncnn.>=J7| l-̲L6+}c5} BO2wnaĈ^ci<$nv'}l$+K.af{!%06u ) "| "| "| =t;zNJDދ* AH ?{t}MZhHZV/腺.lqC9RЩ"EOj=N+^ (ފCp 6-\DzM&ڴI_=||I> 7ܠ^`AjVVo׳$DDDDaԦ/NNX~ۤAž={į,W*DDDDa*UwMQcJ`5TM6fJj] m(/g㎼|q~׻`C R<@v2Zgrݿ`wc˻){]{rc}<Âx܈w%ȏ_oF 3= kٍɽ._}ex< }WGDDDX;:`mowi[,oSow3/|_Dxdk7ozߚWuߎW a [Tj/7jgo݌nGf<1a{ұ|=g*L"{.nT;+joko# :S:;/e*/xl섥ž=3 @B0r^GkXewMW>Sǯ'Up߆ >~S_~?^pK8+V_(V({]f'pƱ8pQL} T*EmU:?Eֿ~8& cٹr3{OQz j>_u!""Sݾ:IT84:[JaK:|X1]1,P{ΗCWYM <;E GǠV<A>;Ln?-NQf/>JWA }-6?TA6@1,u)A!1mX)HoD<j{(JW}8F kx݈YLxdn޵Mo?Ss$x,Wf_<{ŔsGjN4^ı|H-t56,~?%|XڏJe:W%y4,O~;Nhnɿc?Y;QV x}ݏy=zG;]\ܼxώ9},f=~3EDDD6AQNbyCC1C1QX-h4 ' ]u-#"DqX`(8K?e;x%b % }~4^/9@} _(uHJOCLM vs=" 'C[ l yx;zNzF\car:i,uSS*oۈ XJke{;Va]幋^ EÎx}HTxfiL,yE_VVZz]e7X B=7^Daw@y=.k19㞅Fi?NJVq \ kZ."퇣|pEFDQi+hq 2~BA4V誚HC3v2n#Q=g("#F^/]^bUd7b{eH0V5ޮH5脶+=GЮlݹ]}rݍ?DvM.AE3^: Bt ˫^"?^ D-qk<"LDDDr#6/hi""^w| ){E<`6>K26TేY0܌ÇaZP8o~+̙3AR~i E xmmmAm|{3K0l0.UKK  "uA, Q~We|So Vurt rw}JWd*A}e{>R]wm8?fD } }V+:;;i&tvvj/u}L%XV,hB_'Bf. |Ԉ5OI d@CA٧Amc[ViO=^9=d`; _F1vqޜXa5mF]LcF/6 IUGgEU[½}Y? :^z=>g&p}q\.kjbO<{ƍ޽{Q]]7I3`Qe6'#9+y^_Sz#e]H~R5sS}-*^@]>?U?>KS1; =R&LlJُ)0`{%{Tvg7b38s Μy0.W{{‘|'!FNBώEcXSS9 :Prbeȕ\_wy/is7s!vj];a{şra GX"LŒ%SJ7+Dt*ǔ'p]ѻ6χ)c~MS!o_6=;2sV(iu==aW p}a֬Y>}:f̘ \'y/^RtطOA @ot)rp1}ϧ* 9gYAs*`N2e0CZɾ{Զ#.RB&cMrS!sr9Tr~ O]lvNU-"v~.SX;ǟ󰠵e:pknC\\V\cuXvbEV>;e;W .nvzmq.i߹Z^l'-&:ƳM?CXi-XP˵?[|y&i7^0-(ՊMOc?+?9˫B.6-7 ˟݄= hBiظNE]nV~6bx-x4,KLse BDamO$س< _<.'F}fu'>粠;Qڎw'IY[ԤZDDD 22}RA|s)=Σ0u1+JոVKt k}Х(φ|ԈeU/Ha'srҭ-N5"lGe}|ԥax_ﳗ[{fF!*Č@C({VXpd£4i 028|0$nFiYVdDzA6&7v44&Ch⥅ _b⸙\G0ǵ^`jo= }"D{Me:|҆ 7~҆'Tz+n/5ALLA-mTzg>Q>$: pD?n8}/3S~I`lH"6^:{Jg{Lļ@&/z G=\'(Y ;mm[=}'g>Xg‹ uY`fRԮ`-r+y)Eo!Z_֦=2`[3֋3QtldIE/b۸=wܯ_E8d?|v<2.G|'KHH ?m݆di<'NW_ ko_ u{*l$6>F6? ~ֶDl~fC_B_ Pt`?q/L * V.śoɓ'#66ֱM[[l6@ogZ܄:|= }Q^B_,IK̏_nSVzެVgۻ%?x~ï~p~m;s bbbm*>  Ŋ--hokLjo{_N}{MMM`Էԓ! M,\ B|V }B}XǡC}D4Dk^}xَ0QxySx =ϡ$;!w "!_.wpu(D@"/q]JT(\^/>L(MWjcBI!7<&{حGQ\?t҈Gu7\6h8T~݆:j~lkЧkAoVk@Cnn?9JViڍwT{'<e;m?2_օ.1c\wKF~l-! %rQ+ "}:\xrCly$_ŽO=t(2`UBr䬑FJNvds g2/9B0 p}uj.^;>YKJڇ18Ƕx9_W:?^n(W+pSoy]uJ7uwg]R[}E 0) ]B[l+^HlTbW pfɟۍ:yrS Os n)X-`#_Lacn<%0Uaۨ=sei&ʔ0i)&/G2d"esP>˳g&yx|eD9 }Q.:2Z>j'ίAr>j?okP")_c[À\'g=xEx -#t- :htF!54H=[?UHrMe\ݢFϰkr\{]z .>7ϗntccP;yե/D!55g.T"{w=yzŤe(ǎ*g\_e1o7CdB-0;ѹNuHzg6 Q Dum{(Z{X~9HywW/Ż}=sT>NPtW.SW&Pjwۺ/٩b>.O5rul\.QlHPg}jrw]<3oAc[C7ӻԇj4cIE8X;1w#Tc1udU+/ CA Yٻ)N?X.([4oQsʞ$v\P/& `;0wo">-D5zRs`9QM.`9ع9R|}'wvߖ.}#(N @DAŗ33Qw_y>CǒD=f}zOK/y,w}Qa|]]-qcQTD>On n0v/r ʼn |s7% h']DGa[8.( ]"WSw/ػ[I yZ=bQY+b֭{!"VVc]sS,αw;::ގ#cG",yXƌQxrWchbDi]"K`*QġsGpoLFU9}K_rfP)&""JdK#3(`="9vI)Kzi9|WgK>#rRUAst{D|sG•#G!仳M8܂!$fA/,#W$v,S ~ɳEe0u_rHXI6= pW\cb2L*: y1`dݿQߊ` b9mf g0vYmcv f/ۻ-A2Q28|dm=#"""b# ]ߝmbxΈHۻ.}dSCD(cOC1QH{(d TcՑpt5-NAle NgyEuz:h4:5DDD }2Zhv)Lu+4P4$':6@u^aIHhȐןŨA"""b裾g#X-%`*5h$މ*@}G9{_B~d@op ~zPmK^y][8QEDDDtGDDD4BVtTgf!Ͱ(H"YF` zw9(doArcl7 .fAD飐sMDD }DDDDЧ`VQ`#t- A6Fcި1d䒘 #t,Tc<2: 4yr)9teZe j0@orL~iQ?-zAfk~}7%uh hp tmV#r6 Ir[&>Dyہ,{OTC{K'7w`8b1}uW=" Zx\I yZ=ςQY+b֭{!"VV+l6VMMtZ`X`Xсv1>Ywe!..5͛:H -Q#"""(}wE&"pD YW ~00 G "#"""b#"""">""""b#"""">""""b#"""">""""b#"""">"""">""""b#"""">""""b#"""">""""b#"""">""""b#""""#FDDDDLP{ ZƊQ㵇kAkjjbE"">"""">""""b#"""">"""""X˫NB{{;0x`\s5Xx1ADG j*h4 QQQ0(,,իY"">ىnZ[[N(LEXޝݙذpc%X ;T+-kغ/],剷w=}D@ʜGN`y1Z6lZcy eF5 | 0f466"22 xQ8+l 6n0]FWƖ-[p9~ @8(ܹs>|V @RaР*  f&‹/B3BGn-["tjX,T*jDz#c!RT?QjЇw>"""">"""" |OQX,())AGG@RaȐ!ȑ#1}t 4(EDD@AEǨQcz|Ѓ(ĂJJ%9s`<ž e#""""##A}lSADDDԋa+wGDRʥhooE`Ra=_=Ug^mQ[oF(,,Q;w>vm^{N߫VV[ZZzS }DD{1|㵷wyh416QDX,V 2&fΜ3_PNC[+..Əc̚5gs?:-VجVy0u" }QjEd:ĦMpW{J {0?~""_È\6 o6cщtvvD!jj`ȀOHH@RRRSSGDpg+ .\6"o"M;dht@׉_. .VQ8]Ӻ+wxf㵊"K@DDDGDDDD }DDDDGDDDD }DDDDGDDDD }DDDDGDDDD }DDDDIK@DD :u <\s /^:XTXXUVAѠm@ ** fXz5Buf#"" Pgg'bbb2`kڊtvv!Vg>""nl,rA""nE6jbbRoW-hˏS,)$bshcbv7:3uS3xn$' g~bG &l6"9Ӏn:9 }h}M̼:snWOAظr$FFy#V acLIo 3ۭ4*gȕ0ۻDDD`X`6{ ͭf l|1pU|,N :gn?cq\ɏ1᱔ObT {F=աα3̟V {F!9=W܂ulFOF̞>""nEVw R%)k1/֤ X8 &$Y[FJV4v۬>{K [uֽk9{=bѪc_ǣoA愗yk۱0GҴv}]: ({񷛈HvZرc Xz5֮]::?!E:\Wh]""Ee׀u:3(225jY1cƠsՙwa˖-8w\~9q111Xl.CQ]"""($D?WuBDDDD![;-gO@GDDD4DO DDDDa 稛b#IENDB`Amelia/README.md0000644000175100001440000000132112432743110012731 0ustar hornikusers# Amelia II [Amelia II][] is an R package for the multiple imputation of multivariate incomplete data. It uses an algorithm that combines bootstrapping and the EM algorithm to take draws from the posterior of the missing data. The Amelia package includes normalizing transformations, cell-level priors, and methods for handling time-series cross-sectional data. ## How to install ### Installation requirements `Amelia` requires [R][] version 2.14.0 or higher. ### Manual installation ```R install.packages("Amelia") ``` ### Installing unstable developer version: ```R require(devtools) install_github("IQSS/Amelia", ref = "develop") ``` [Amelia II]: http://gking.harvard.edu/amelia [R]: http://cran.r-project.org Amelia/MD50000644000175100001440000001124712631025273011776 0ustar hornikusers1d11fb33b7ce66733b5ff7d54bc5b21a *DESCRIPTION 266093e915828bcf61de697dcf80fa4f *NAMESPACE 31b6908f3b2d04312a967a3ffe7be35a *NEWS c53b62f9bc4ad188ad95a3851d80e154 *R/amcheck.r e2ca066e1beba132cfefcd155712cc38 *R/ameliagui.r ad628429480dba31d707495af0990517 *R/diag.r 261e012f2420bfed8ce754b1988c6153 *R/emb.r dd508f2ac23f4df76ddb7dfdd83ae45c *R/missmap.R c8572c5a640163aab8950dd433655407 *R/mo.R 499ad8e37b66a50e198c11aec1515330 *R/plot.amelia.R d450dcf84cb50ad42e41ffc72e99619a *R/prep.r d5f644e2e2728a64f5e217a2d69ac318 *R/print.amelia.R a3ff9563558fe488722c0e4f7f43a314 *R/summary.amelia.R c40b8f1682c439a05bcdd547f5bef81f *R/transform.amelia.R 031de541e83f297aef38867221e5a33d *R/write.amelia.R de8c25a70c91508917b139dd2cb7262a *R/zzz.R 1aab60777b88a233e358a05198819969 *README 83f28161d478883ce3a64318357a2767 *README.md 13c4340600153d5b0bcd0c3bb9179615 *build/vignette.rds 86a9ede313e30b97b574185b484ffeea *data/africa.RData 05fc570eaae49e085a4f7e47edd69528 *data/freetrade.RData 8aa87d932ec95881ffec43b113eca2e3 *inst/CITATION 56253f08834d410c630633baf13f191e *inst/doc/amelia.R 483aebe1ffe837a64d809d6465677269 *inst/doc/amelia.Rnw 3781e2c747d99ef37fc4f414faffec31 *inst/doc/amelia.pdf 04f6681a198ff53c82fd817af394eeda *inst/gui/action_go.gif 77065468f34e1ca5cc157a1b2981c717 *inst/gui/action_save.gif ed7fc633e7eee3181358f1952e6431d2 *inst/gui/action_stop.gif d385c634a375c5f8c298cd9574814274 *inst/gui/amelia.ico 53276025c89eb6d7dff9625c46d196b4 *inst/gui/arrow_down.gif f816544708aa47cc40a5f91c2dac6b76 *inst/gui/arrow_left.gif 639e1bd5c6199c1bb2717584c02b23ef *inst/gui/arrow_up.gif fddd644d7e138851617e74129a81f0ba *inst/gui/flag_red.gif 907670afe1f918ca79a8db365b318078 *inst/gui/gallery19.gif 470d00d4916dcbe93dab7535c8e8d142 *inst/gui/gallery19.jpg 2af148c94b46dccc06e9712854cbcd45 *inst/gui/histogram.gif 757fe8b8a3f26f8f41d071177e9d7ddd *inst/gui/icon_accept.gif f71383c993e0db3d6346d357132b4d1c *inst/gui/icon_clock.gif ac1cd0acbd38d8c313a30377b20739f2 *inst/gui/icon_user.gif 04ff1a5f927b484b66490a86727f18f2 *inst/gui/icon_world.gif 842455e3c2d9400175989bd758f7dec6 *inst/gui/page-R.gif 6db924002cba272c16a9471f79481e35 *inst/gui/page.gif a27c9dcaf1017d207f14665d4471a963 *inst/gui/page_dta.gif 4398dfe1046619f9d19475a2c38c69a6 *inst/gui/page_edit.gif a5c4257dd8d5e6de887bc4eab2448c9b *inst/gui/page_sas.gif 634f55072485ebdb671435811c2fed68 *inst/gui/page_spss.gif edc79234c547cf5bf3b55693053108e2 *inst/gui/page_text.gif 112732b1f75170ce72cf5dfd162481c8 *inst/gui/page_up.gif 9b97c9abda11ed64b980f4991685b1ff *inst/gui/table.gif 21f7d8554e24a693e7ba050c731a145f *inst/test/transform.R df988bd08b26c3663d192dc00275c0b7 *man/africa.Rd 1c19b20ed540f0f4e67e38e26d3770dd *man/amelia.Rd 74e6fdeed2b0cf6ba588c90c278568b4 *man/amelia.package.Rd 8aa447f30a529ed11a520176380b354a *man/ameliabind.Rd 9d55d9d16e6f401a1121c668041f5964 *man/ameliagui.Rd 9ed63feb21622febcdcfd655f352c043 *man/combine.output.Rd cab3c11036e7006d680a1ad8b053b019 *man/compare.density.Rd 09c9bac2f8fd73e9fbbfb7b95cb06703 *man/disperse.Rd 91ba5fa3642915466ca440d03511e61d *man/freetrade.Rd d92bda732cb449eb8293eca4d28f9191 *man/mi.meld.Rd 940742d45f7cc902e59f2bf56ba8a5a9 *man/missmap.Rd 9d4c3ac4beba520f00b48d85ecec0e18 *man/moPrep.Rd a0026db35936a544971efd1c6544a020 *man/overimpute.Rd 99e123970f3b043c57b75926fc4e8c36 *man/plot.amelia.Rd 197d543763067e0b5c22945d1add4932 *man/summary.amelia.Rd 6a979142dc0f989679a5cccce7fd0eae *man/transform.amelia.Rd 457152e6071a91ccdd072c2d1a2d970d *man/tscsPlot.Rd bf2af850d94c75262a8cca0446e31b49 *man/write.amelia.Rd bcc42aaeb0a69ec1b279b42021751d66 *src/Makevars 0ddd28eb5b06d3d3c650d26e07b49a77 *src/Makevars.win 57327972c5ff8148fa68edabe8f5101d *src/em.cpp c182effc109e2371c85015878e59f43f *src/em.h 49a08d3c220b13d6bb55139d0615d080 *tests/bounds.R 5dfe660e79eb80bf7df9025a1809c7f9 *tests/moPrep-test.R d9aa3f50a48e1f323bcc88ffaad521ad *tests/overimp.R 5d492f83e87e2c8ff1d8c804e02373e5 *vignettes/Makefile 483aebe1ffe837a64d809d6465677269 *vignettes/amelia.Rnw a16cb353877c2cf9c65b1b7019186716 *vignettes/amelia.bib 639f92940d2163f10c3e544af9397252 *vignettes/auto/amelia.el 6a015f587490c597c73e60a6abc58893 *vignettes/context-menu.png a0893936798fff3451ac84696449742b *vignettes/diag.png 03b5316759c7db0f6f2fbd8bb05cab33 *vignettes/distpri.png 4a083b51939f02226d5b2d759bb17f1e *vignettes/import.png 7ba785388857cbe6843b824bd17da4d0 *vignettes/index.shtml c434b1666c1626126595266901cec454 *vignettes/main.png 611b6871ea799cbe5896c533854c83e6 *vignettes/numopts.png 98ba2f512146d27e3a5222d7ace6bf2c *vignettes/options.png c4a528350c2ac0070dd137cef96a6bc1 *vignettes/output-log.png 2da68f633c3407c925324b7a31286f28 *vignettes/rangepri.png 5752c8903e98aba503265a10e089701c *vignettes/splash.png 98f454b56966d111475aeb4264e25649 *vignettes/utf8.def Amelia/README0000644000175100001440000000212012064425632012337 0ustar hornikusers################################################## ## ## ## Amelia II: A Package for Missing Data ## ## README ## ## ## ## James Honaker ## ## Gary King ## ## Matthew Blackwell ## ## ## ################################################## Amelia II is an R package for the multiple imputation of multivariate incomplete data. It uses an algorithm that combines bootstrapping and the EM algorithm to take draws from the posterior of the missing data. The Amelia package includes normalizing transformations, cell-level priors, and methods for handling time-series cross-sectional data. Please feel free to contact us or the Amelia mailing list for any questions you might have about the package. Amelia mailing list -- Maintainer: Matthew Blackwell Amelia/build/0000755000175100001440000000000012630722655012567 5ustar hornikusersAmelia/build/vignette.rds0000644000175100001440000000034212630722655015125 0ustar hornikusersb```b`f@&0`b fd`a\9zAyh2`OO+GT"̼tĒDp,F,*Ng``aB*FSZfD?t˽S+`zP԰Aհe ,s\ܠL t7`~΢r=xA$Gs=ʕ `"~drAmelia/DESCRIPTION0000644000175100001440000000336512631025273013176 0ustar hornikusersPackage: Amelia Version: 1.7.4 Date: 2015-12-05 Title: A Program for Missing Data Author: James Honaker , Gary King , Matthew Blackwell Maintainer: Matthew Blackwell Depends: R (>= 3.0.2), Rcpp (>= 0.11) Imports: foreign, utils, grDevices, graphics, methods, stats LinkingTo: Rcpp (>= 0.11), RcppArmadillo Description: A tool that "multiply imputes" missing data in a single cross-section (such as a survey), from a time series (like variables collected for each year in a country), or from a time-series-cross-sectional data set (such as collected by years for each of several countries). Amelia II implements our bootstrapping-based algorithm that gives essentially the same answers as the standard IP or EMis approaches, is usually considerably faster than existing approaches and can handle many more variables. Unlike Amelia I and other statistically rigorous imputation software, it virtually never crashes (but please let us know if you find to the contrary!). The program also generalizes existing approaches by allowing for trends in time series across observations within a cross-sectional unit, as well as priors that allow experts to incorporate beliefs they have about the values of missing cells in their data. Amelia II also includes useful diagnostics of the fit of multiple imputation models. The program works from the R command line or via a graphical user interface that does not require users to know R. License: GPL (>= 2) URL: http://gking.harvard.edu/amelia Suggests: tcltk, Zelig NeedsCompilation: yes Packaged: 2015-12-06 03:04:13 UTC; mblackwell Repository: CRAN Date/Publication: 2015-12-06 13:31:55 Amelia/man/0000755000175100001440000000000012551301567012240 5ustar hornikusersAmelia/man/write.amelia.Rd0000644000175100001440000000511712064423557015117 0ustar hornikusers\name{write.amelia} \alias{write.amelia} \title{Write Amelia imputations to file} \description{Writes the imptuted datasets to file from a run of \code{amelia}.} \usage{ write.amelia(obj, separate = TRUE, file.stem, extension = NULL, format = "csv", impvar = "imp", orig.data = TRUE, \dots) } \arguments{ \item{obj}{an object of class "amelia"; typically output from the function \code{amelia}.} \item{separate}{logical variable. If \code{TRUE} (default), the imputed datasets will be written to separate files, whose names come from the \code{file.stem} and \code{extension} arguments. If \code{FALSE}, the imputations are stacked and written as a single file.} \item{file.stem}{the leading part of the filename to save to output The imputation number and \code{extension} will be added to complete the filename. This can include a directory path.} \item{extension}{the extension of the filename. This is simply what follows \code{file.stem} and the imputation number.} \item{format}{one of the following output formats: \code{csv}, \code{dta} or \code{table}. See details.} \item{impvar}{the name of imputation number variable written to the stacked dataset when \code{separate} is \code{FALSE}.} \item{orig.data}{logical variable indicating whether the original, unimputed dataset should be included in the stacked dataset when \code{separate} is \code{FALSE}.} \item{\dots}{further arguments for the \code{write} functions.} } \details{ \code{write.amelia} writes the imputed datasets to a file or a set of files using one of the following functions: \code{write.csv}, \code{write.dta}, or \code{write.table}. You can pass arguments to these functions from \code{write.amelia}. When \code{separate} is \code{TRUE}, each imputed dataset is written to its own file. If you were to set \code{file.stem} to \code{"outdata"} and the \code{extension} to \code{".csv"} , then the resulting filename of the written files will be \preformatted{ outdata1.csv outdata2.csv outdata3.csv ... } and so on. When \code{separate} is \code{FALSE}, the function adds a variable called \code{impvar} to each dataset which indicates the imputed dataset to which the row belongs. Then, each of the datasets are stacked together to create one dataset. If \code{orig.data} is \code{TRUE}, then the original, unimputed dataset is included at the top of the stack, with its imputation number set to 0. } \seealso{\code{\link{write.csv}}, \code{\link{write.table}}, \code{\link{write.dta}}} Amelia/man/ameliagui.Rd0000755000175100001440000000050212431142311014447 0ustar hornikusers\name{AmeliaView} \alias{AmeliaView} \title{Interactive GUI for Amelia} \description{Brings up the AmeliaView graphical interface, which allows users to load datasets, manage options and run Amelia from a traditional windowed environment. } \usage{ AmeliaView } \keyword{ utilities }% at least one, from doc/KEYWORDS Amelia/man/amelia.package.Rd0000755000175100001440000000253412064423557015363 0ustar hornikusers\name{amelia-package} \alias{amelia-package} \docType{package} \title{Amelia II: A Program for Missing Data} \description{Uses a bootstrap+EM algorithm to impute missing values from a dataset and produces multiple output datasets for analysis.} \details{ \tabular{ll}{ Package: \tab amelia\cr Type: \tab Package\cr Version: \tab 1.0\cr Date: \tab 2006-03-03\cr License: \tab See Manual\cr } You can use the package in one of two ways: either by invoking the \code{ameliagui()} command and running the program from a graphical interface or by loading in your data and then running the \code{amelia} function on the data. If you use the GUI in Windows, makes sure that you run R under a Single Window Interface (SDI) as it will try to grab focus from the GUI if you don't. } \author{ James Honaker, Matthew Blackwell, Gary King } \references{James Honaker, Gary King, Matthew Blackwell (2011). Amelia II: A Program for Missing Data. \emph{Journal of Statistical Software}, \bold{45(7)}, 1--47. URL http://www.jstatsoft.org/v45/i07/. King, Gary; James Honaker, Anne Joseph, and Kenneth Scheve. \"Analyzing Incomplete Political Science Data: An Alternative Algorithm for Multiple Imputation\", \emph{American Political Science Review}, Vol. 95, No. 1 (March, 2001): Pp. 49-69. } \keyword{package} Amelia/man/freetrade.Rd0000644000175100001440000000165312064423557014500 0ustar hornikusers\name{freetrade} \docType{data} \alias{freetrade} \title{Trade Policy and Democracy in 9 Asian States} \description{Economic and political data on nine developing countries in Asia from 1980 to 1999. This dataset includes 9 variables including year, country, average tariff rates, Polity IV score, total population, gross domestic product per capita, gross international reserves, a dummy variable for if the country had signed an IMF agreement in that year, a measure of financial openness, and a measure of US hegemony. These data were used in Milner and Kubota (2005).} \usage{freetrade} \format{A data frame with 10 variables and 171 observations.} \source{World Bank, World Trade Organization, Polity IV and others.} \references{Helen Milner and Keiko Kubota (2005), ``Why the move to free trade? Democracy and trade policy in the developing countries.'' \emph{International Organization}, Vol 59, Issue 1.} \keyword{datasets} Amelia/man/tscsPlot.Rd0000644000175100001440000000471412064423557014353 0ustar hornikusers\name{tscsPlot} \alias{tscsPlot} \title{Plot observed and imputed time-series for a single cross-section} \description{ Plots a time series for a given variable in a given cross-section and provides confidence intervals for the imputed values. } \usage{ tscsPlot(output, var, cs, draws = 100, conf = .90, misscol = "red", obscol = "black", xlab, ylab, main, pch, ylim, xlim, frontend = FALSE, plotall=FALSE, nr, nc, pdfstub, ...)} \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{the column number or variable name of the variable to plot.} \item{cs}{the name (or level) of the cross-sectional unit to plot. Maybe a vector of names which will panel a window of plots} \item{draws}{the number of imputations on which to base the confidence intervals.} \item{conf}{the confidence level of the confidence intervals to plot for the imputated values.} \item{misscol}{the color of the imputed values and their confidence intervals.} \item{obscol}{the color of the points for observed units.} \item{xlab,ylab,main,pch,ylim,xlim}{various graphical parameters.} \item{frontend}{a logical value for use with the \code{AmeliaView} GUI.} \item{plotall}{a logical value that provides a shortcut for ploting all unique values of the level. A shortcut for the \code{cs} argument, a TRUE value overwrites any \code{cs} argument.} \item{nr}{the number of rows of plots to use when ploting multiple cross-sectional units. The default value will try to minimize this value to create a roughly square representation, up to a value of four. If all plots do not fit on the window, a new window will be started.} \item{nc}{the number of columns of plots to use. See \code{nr}} \item{pdfstub}{a stub string used to write pdf copies of each window created by the plot. The default is not to write pdf output, but any string value will turn on pdf output to the local working directory. If the stub is \code{mystub}, then plots will be saved as \code{mystub1.pdf}, \code{mystub2.pdf}, etc.} \item{\dots}{further graphical parameters for the plot.} } \details{ The \code{cs} argument should be a value from the variable set to the \code{cs} argument in the \code{amelia} function for this output. This function will not work if the \code{ts} and \code{cs} arguments were not set in the \code{amelia} function. If an observation has been overimputed, \code{tscsPlot} will plot both an observed and an imputed value. } Amelia/man/africa.Rd0000644000175100001440000000114712064423557013762 0ustar hornikusers\name{africa} \docType{data} \alias{africa} \title{Economic and Political Indictors in 6 African States} \description{Data on a few economic and political variables in six African States from 1972-1991. The variables are year, country name, Gross Domestic Product per capita, inflation, trade as a percentage of GDP, a measure of civil liberties and total population. The data is from the Africa Research Program. A few cells are missing.} \usage{africa} \format{A data frame with 7 variables and 120 observations.} \source{Africa Research Program \url{http://africa.gov.harvard.edu}} \keyword{datasets} Amelia/man/overimpute.Rd0000644000175100001440000000514612064423557014737 0ustar hornikusers\name{overimpute} \alias{overimpute} \title{Overimputation diagnostic plot} \description{ Treats each observed value as missing and imputes from the imputation model from \code{amelia} output. } \usage{ overimpute(output, var, subset, legend = TRUE, xlab, ylab, main, frontend = FALSE, \dots) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{column number or variable name of the variable to overimpute.} \item{subset}{an optional vector specifying a subset of observations to be used in the overimputation.} \item{legend}{a logical value indicating if a legend should be plotted.} \item{xlab}{the label for the x-axis. The default is "Observed Values."} \item{ylab}{the label for the y-axis. The default is "Imputed Values."} \item{main}{main title of the plot. The default is to smartly title the plot using the variable name.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{\dots}{further graphical parameters for the plot.} } \details{ This function temporarily treats each observed value in \code{var} as missing and imputes that value based on the imputation model of \code{output}. The dots are the mean imputation and the vertical lines are the 90\% percent confidence intervals for imputations of each observed value. The diagonal line is the \eqn{y=x} line. If all of the imputations were perfect, then our points would all fall on the line. A good imputation model would have about 90\% of the confidence intervals containing the truth; that is, about 90\% of the vertical lines should cross the diagonal. The color of the vertical lines displays the fraction of missing observations in the pattern of missingness for that observation. The legend codes this information. Obviously, the imputations will be much tighter if there are more observed covariates to use to impute that observation. The \code{subset} argument evaluates in the environment of the data. That is, it can but is not required to refer to variables in the data frame as if it were attached. } \value{A 5-column matrix that contains (1) the row in the original data, (2) the observed value of that observation, (2) the mean of the overimputations, (3) the lower bound of the 95\% confidence interval of the overimputations, (4) the upper bound of the 95\% confidence interval of the overimputations, and (5) the fraction of the variables that were missing for that observation in the original data.} \seealso{Other imputation diagnostics are \code{\link{compare.density}}, \code{\link{disperse}}, and \code{\link{tscsPlot}}. } Amelia/man/moPrep.Rd0000644000175100001440000000717512601245612013775 0ustar hornikusers\name{moPrep} \alias{moPrep} \alias{moPrep.molist} \alias{moPrep.default} \title{Prepare Multiple Overimputation Settings} \description{ A function to generate priors for multiple overimputation of a variable measured with error. } \usage{ moPrep(x, formula, subset, error.proportion, gold.standard = !missing(subset), error.sd) } \arguments{ \item{x}{either a matrix, data.frame, or a object of class "molist" from a previous \code{moPrep} call. The first two derive the priors from the data given, and the third will derive the priors from the first \code{moPrep} call and add them to the already defined priors.} \item{formula}{a formula describing the nature of the measurement error for the variable. See "Details."} \item{subset}{an optional vector specifying a subset of observations which possess measurement error.} \item{error.proportion}{an optional vector specifying the fraction of the observed variance that is due to measurement error.} \item{gold.standard}{a logical value indicating if values with no measurement error should be used to estimate the measurement error variance.} \item{error.sd}{an optional vector specifying the standard error of the measurement error.} } \value{ An instance of the S3 class "molist" with the following objects: \item{priors}{a four-column matrix of the multiple overimputation priors associated with the data. Each row of the matrix is \code{c(row, column, prior.mean, prior.sd)}. } \item{overimp}{a two-column matrix of cells to be overimputed. Each row of the matrix is of the form \code{c(row, column)}, which indicate the row and column of the cell to be overimputed.} \item{data}{the object name of the matrix or data.frame to which priors refer.} Note that \code{priors} and \code{overimp} might contain results from multiple calls to \code{moPrep}, not just the most recent. } \details{ This function generates priors for multiple overimputation of data measured with error. With the \code{formula} arugment, you can specify which variable has the error, what the mean of the latent data is, and if there are any other proxy measures of the mismeasured variable. The general syntax for the formula is: \code{errvar ~ mean | proxy}, where \code{errvar} is the mismeasured variable, \code{mean} is a formula for the mean of the latent variable (usually just \code{errvar} itself), and \code{proxy} is a another mismeasurement of the same latent variable. The proxies are used to estimate the variance of the measurement error. \code{subset} and \code{gold.standard} refer to the the rows of the data which are and are not measured with error. Gold-standard rows are used to estimate the variance of the measurement. error. \code{error.proportion} is used to estimate the variance of the measurement error by estimating the variance of the mismeasurement and taking the proportion assumed to be due to error. \code{error.sd} sets the standard error of the measurement error directly. } \references{ Matthew Blackwell, James Honaker, and Gary King, "Multiple Overimputation: A Unified Approach to Measurement Error and Missing Data" \url{http://gking.harvard.edu/publications/multiple-Overimputation-Unified-Approach-Measurement-Error-And-Missing-Data} } \seealso{ \code{\link{amelia}} } \examples{ data(africa) m.out <- moPrep(africa, trade ~ trade, error.proportion = 0.1) a.out <- amelia(m.out, ts = "year", cs = "country") plot(a.out) m.out <- moPrep(africa, trade ~ trade, error.sd = 1) a.out <- amelia(m.out, ts = "year", cs = "country") } \author{James Honaker, Gary King, and Matthew Blackwell} Amelia/man/ameliabind.Rd0000644000175100001440000000162512064423557014623 0ustar hornikusers\name{ameliabind} \alias{ameliabind} \title{Combine multiple runs of Amelia} \description{Combines multiple runs of \code{amelia} with the same arguments and data into one \code{amelia} object.} \usage{ ameliabind(...) } \arguments{ \item{...}{one or more objects of class \code{amelia} with the same arguments and created from the same data.} } \details{ \code{ameliabind} will combine multiple runs of \code{amelia} into one object so that you can utilize diagnostics and modelling on all the imputations together. This function is useful for combining multiple runs of \code{amelia} run on parallel machines. Note that \code{ameliabind} only checks that they arguments and the missingness matrix are identical. Thus, it could be fooled by two datasets that are identical up to a transformation of one variable. } \value{An object of class \code{amelia}.} \seealso{\code{\link{amelia}}} Amelia/man/combine.output.Rd0000755000175100001440000000155512064423557015516 0ustar hornikusers\name{combine.output} \alias{combine.output} \title{Combine Multiple Amelia Output Lists} \description{This function combines output lists from multiple runs of Amelia, where each run used the same arguments. The result is one list, formatted as if Amelia had been run once. } \usage{ combine.output(...) } \arguments{ \item{...}{a list of Amelia output lists from runs of Amelia with the same arguments except the number of imputations.} } \details{This function is useful for combining the output from Amelia runs that occurred at different times or in different sessions of R. It assumes that the arguments given to the runs of Amelia are the same except for \code{m}, the number of imputations, and it uses the arguments from the first output list as the arguments for the combined output list.} \keyword{ utilities }% at least one, from doc/KEYWORDS Amelia/man/plot.amelia.Rd0000644000175100001440000000153012431142311014716 0ustar hornikusers\name{plot.amelia} \alias{plot.amelia} \title{Summary plots for Amelia objects} \description{Plots diagnostic plots for the output from the \code{amelia} function.} \usage{ \method{plot}{amelia}(x, which.vars, compare = TRUE, overimpute = FALSE, ask = TRUE, ...) } \arguments{ \item{x}{an object of class "amelia"; typically output from the function \code{amelia}.} \item{which.vars}{a vector indicating the variables to plot. The default is to plot all of the numeric variables that were actually imputed.} \item{compare}{plot the density comparisons for each variable?} \item{overimpute}{plot the overimputation for each variable?} \item{ask}{prompt user before changing pages of a plot?} \item{\dots}{further graphical arguments.} } \seealso{\code{\link{compare.density}}, \code{\link{overimpute}}} Amelia/man/mi.meld.Rd0000644000175100001440000000424212551054167014057 0ustar hornikusers\name{mi.meld} \alias{mi.meld} \title{Combine Multiple Results From Multiply Imputed Datasets} \description{ Combine sets of estimates (and their standard errors) generated from different multiply imputed datasets into one set of results. } \usage{ mi.meld(q, se, byrow = TRUE) } \arguments{ \item{q}{A matrix or data frame of (k) quantities of interest (eg. coefficients, parameters, means) from (m) multiply imputed datasets. Default is to assume the matrix is m-by-k (see \code{byrow}), thus each row represents a set of results from one dataset, and each column represents the different values of a particular quantity of interest across the imputed datasets.} \item{se}{A matrix or data frame of standard errors that correspond to each of the elements of the quantities of interest in \code{q}. Should be the same dimensions as \code{q}.} \item{byrow}{logical. If \code{TRUE}, \code{q} and \code{se} are treated as though each row represents the set of results from one dataset (thus m-by-k). If \code{FALSE}, each column represents results from one dataset (thus k-by-m).} } \details{ Uses Rubin's rules for combining a set of results from multiply imputed datasets to reflect the average result, with standard errors that both average uncertainty across models and account for disagreement in the estimated values across the models. } \value{ \item{q.mi}{Average value of each quantity of interest across the m models} \item{se.mi}{Standard errors of each quantity of interest} } \references{ Rubin, D. (1987). \emph{Multiple Imputation for Nonresponse in Surveys}. New York: Wiley. Honaker, J., King, G., Honaker, J. Joseph, A. Scheve K. (2001). Analyzing Incomplete Political Science Data: An Alternative Algorithm for Multiple Imputation \emph{American Political Science Review}, \bold{95(1)}, 49--69. (p53) } \examples{ data(africa) m <- 5 a.out <- amelia(x = africa, m=m, cs = "country", ts = "year", logs = "gdp_pc") b.out<-NULL se.out<-NULL for(i in 1:m) { ols.out <- lm(civlib ~ trade ,data = a.out$imputations[[i]]) b.out <- rbind(b.out, ols.out$coef) se.out <- rbind(se.out, coef(summary(ols.out))[,2]) } combined.results <- mi.meld(q = b.out, se = se.out) }Amelia/man/transform.amelia.Rd0000644000175100001440000000250112064423557015772 0ustar hornikusers\name{transform.amelia} \alias{transform.amelia} \title{Transform imputed datasets from Amelia objects} \description{Updates the imputed datasets from an \code{amelia} output with the specified transformations.} \usage{ \method{transform}{amelia}(`_data`, ...) } \arguments{ \item{_data}{an object of class "amelia"; typically output from the function \code{amelia}.} \item{\dots}{further arguments of the form \code{tag = value}.} } \details{The \code{\dots} arugments to \code{transform.amelia} are expressions of the form \code{tag = value}, where \code{tag} is the variable that is being updated or created and \code{value} is an expression that is a function of the variables in the imputed datasets. For instance, if you wanted to create an interaction of two imputed variables, you could have one argument be \code{intervar = var1 * var2}. This would either update the current variable \code{intervar} in the imputed data or append a new variable called \code{intervar} to the imputed datasets.} \value{An object of class \code{amelia} with its \code{imputations} and \code{missMatrix} values updated according to the transformations. In addition, each of the calls to \code{transform.amelia} are stored in the \code{transform.calls} item in the returned object.} \seealso{\code{\link{transform}}} Amelia/man/missmap.Rd0000644000175100001440000000500212064423557014200 0ustar hornikusers\name{missmap} \alias{missmap} \title{Missingness Map} \description{Plots a missingness map showing where missingness occurs in the dataset passed to \code{amelia}.} \usage{ missmap(obj, legend = TRUE, col = c("wheat","darkred"), main, y.cex = 0.8, x.cex = 0.8, y.labels, y.at, csvar = NULL, tsvar = NULL, rank.order = TRUE, ...) } \arguments{ \item{obj}{an object of class "amelia"; typically output from the function \code{amelia}, a matrix or a dataframe.} \item{legend}{should a legend be drawn?} \item{col}{a vector of length two where the first element specifies the color for missing cells and the second element specifies the color for observed cells.} \item{main}{main title of the plot. Defaults to "Missingness Map".} \item{x.cex}{expansion for the variables names on the x-axis.} \item{y.cex}{expansion for the unit names on the y-axis.} \item{y.labels}{a vector of row labels to print on the y-axis} \item{y.at}{a vector of the same length as \code{y.labels} with row nmumbers associated with the labels.} \item{csvar}{column number or name of the variable corresponding to the unit indicator. Only used when the \code{obj} is not of class \code{amelia}.} \item{tsvar}{column number or name of the variable corresponding to the time indicator. Only used when the \code{obj} is not of class \code{amelia}.} \item{rank.order}{a logical value. If \code{TRUE}, the default, then the order of the variables along the the x-axis is sorted by the percent missing (from highest to lowest). If \code{FALSE}, it is simply the order of the variables in the data.} \item{\dots}{further graphical arguments.} } \details{ \code{missmap} draws a map of the missingness in a dataset using the \code{image} function. The columns are reordered to put the most missing variable farthest to the left. The rows are reordered to a unit-period order if the \code{ts} and \code{cs} arguments were passed to \code{amelia}. If not, the rows are not reordered. The \code{y.labels} and \code{y.at} commands can be used to associate labels with rows in the data to identify them in the plot. The y-axis is internally inverted so that the first row of the data is associated with the top-most row of the missingness map. The values of \code{y.at} should refer to the rows of the data, not to any point on the plotting region. } \seealso{\code{\link{compare.density}}, \code{\link{overimpute}}, \code{\link{tscsPlot}}, \code{\link{image}}, \code{\link{heatmap}}} Amelia/man/disperse.Rd0000644000175100001440000000430712064423557014354 0ustar hornikusers\name{disperse} \alias{disperse} \title{Overdispersed starting values diagnostic for multiple imputation} \description{ A visual diagnostic of EM convergence from multiple overdispersed starting values for an output from \code{amelia}. } \usage{ disperse(output, m = 5, dims = 1, p2s = 0, frontend = FALSE, \dots) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{m}{the number of EM chains to run from overdispersed starting values.} \item{dims}{the number of principle components of the parameters to display and assess convergence on (up to 2).} \item{p2s}{an integer that controls printing to screen. 0 (default) indicates no printing, 1 indicates normal screen output and 2 indicates diagnostic output.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{\dots}{further graphical parameters for the plot.} } \details{ This function tracks the convergence of \code{m} EM chains which start from various overdispersed starting values. This plot should give some indication of the sensitivity of the EM algorithm to the choice of starting values in the imputation model in \code{output}. If all of the lines converge to the same point, then we can be confident that starting values are not affecting the EM algorithm. As the parameter space of the imputation model is of a high-dimension, this plot tracks how the first (and second if \code{dims} is 2) principle component(s) change over the iterations of the EM algorithm. Thus, the plot is a lower dimensional summary of the convergence and is subject to all the drawbacks inherent in said summaries. For \code{dims==1}, the function plots a horizontal line at the position where the first EM chain converges. Thus, we are checking that the other chains converge close to that horizontal line. For \code{dims==2}, the function draws a convex hull around the point of convergence for the first EM chain. The hull is scaled to be within the tolerance of the EM algorithm. Thus, we should check that the other chains end up in this hull. } \seealso{Other imputation diagnostics are \code{\link{compare.density}}, \code{\link{disperse}}, and \code{\link{tscsPlot}}. } Amelia/man/summary.amelia.Rd0000644000175100001440000000067612064423557015467 0ustar hornikusers\name{summary.amelia} \alias{summary.amelia} \title{Summary of an Amelia object} \description{Returns summary information from the Amelia run along with missingles information.} \usage{ \method{summary}{amelia}(object, ...) } \arguments{ \item{object}{an object of class \code{amelia}. Typically, an output from the function \code{amelia}.} \item{...}{further arguments.} } \seealso{\code{\link{amelia}}, \code{\link{plot.amelia}}} Amelia/man/amelia.Rd0000755000175100001440000003421412431476702013767 0ustar hornikusers\name{amelia} \alias{amelia} \alias{amelia.amelia} \alias{amelia.default} \alias{amelia.molist} \title{AMELIA: Multiple Imputation of Incomplete Multivariate Data} \description{ Runs the bootstrap EM algorithm on incomplete data and creates imputed datasets. } \usage{ \method{amelia}{default}(x, m = 5, p2s = 1,frontend = FALSE, idvars = NULL, ts = NULL, cs = NULL, polytime = NULL, splinetime = NULL, intercs = FALSE, lags = NULL, leads = NULL, startvals = 0, tolerance = 0.0001, logs = NULL, sqrts = NULL, lgstc = NULL, noms = NULL, ords = NULL, incheck = TRUE, collect = FALSE, arglist = NULL, empri = NULL, priors = NULL, autopri = 0.05, emburn = c(0,0), bounds = NULL, max.resample = 100, overimp = NULL, boot.type = "ordinary", parallel = c("no", "multicore", "snow"), ncpus = getOption("amelia.ncpus", 1L), cl = NULL, ...) \method{amelia}{amelia}(x, m = 5, p2s = 1, frontend = FALSE, ...) \method{amelia}{molist}(x, ...) } \arguments{ \item{x}{either a matrix, data.frame, a object of class "amelia", or an object of class "molist". The first two will call the default S3 method. The third a convenient way to perform more imputations with the same parameters. The fourth will impute based on the settings from \code{moPrep} and any additional arguments.} \item{m}{the number of imputed datasets to create.} \item{p2s}{an integer value taking either 0 for no screen output, 1 for normal screen printing of iteration numbers, and 2 for detailed screen output. See "Details" for specifics on output when p2s=2.} \item{frontend}{a logical value used internally for the GUI.} \item{idvars}{a vector of column numbers or column names that indicates identification variables. These will be dropped from the analysis but copied into the imputed datasets.} \item{ts}{column number or variable name indicating the variable identifying time in time series data.} \item{cs}{column number or variable name indicating the cross section variable.} \item{polytime}{ integer between 0 and 3 indicating what power of polynomial should be included in the imputation model to account for the effects of time. A setting of 0 would indicate constant levels, 1 would indicate linear time effects, 2 would indicate squared effects, and 3 would indicate cubic time effects.} \item{splinetime}{interger value of 0 or greater to control cubic smoothing splines of time. Values between 0 and 3 create a simple polynomial of time (identical to the polytime argument). Values \code{k} greater than 3 create a spline with an additional \code{k-3} knotpoints.} \item{intercs}{a logical variable indicating if the time effects of \code{polytime} should vary across the cross-section.} \item{lags}{a vector of numbers or names indicating columns in the data that should have their lags included in the imputation model.} \item{leads}{a vector of numbers or names indicating columns in the data that should have their leads (future values) included in the imputation model.} \item{startvals}{starting values, 0 for the parameter matrix from listwise deletion, 1 for an identity matrix.} \item{tolerance}{the convergence threshold for the EM algorithm.} \item{logs}{a vector of column numbers or column names that refer to variables that require log-linear transformation. } \item{sqrts}{a vector of numbers or names indicating columns in the data that should be transformed by a sqaure root function. Data in this column cannot be less than zero.} \item{lgstc}{a vector of numbers or names indicating columns in the data that should be transformed by a logistic function for proportional data. Data in this column must be between 0 and 1.} \item{noms}{a vector of numbers or names indicating columns in the data that are nominal variables.} \item{ords}{a vector of numbers or names indicating columns in the data that should be treated as ordinal variables.} \item{incheck}{a logical indicating whether or not the inputs to the function should be checked before running \code{amelia}. This should only be set to \code{FALSE} if you are extremely confident that your settings are non-problematic and you are trying to save computational time.} \item{collect}{a logical value indicating whether or not the garbage collection frequency should be increased during the imputation model. Only set this to \code{TRUE} if you are experiencing memory issues as it can significantly slow down the imputation process.} \item{arglist}{an object of class "ameliaArgs" from a previous run of Amelia. Including this object will use the arguments from that run.} \item{empri}{number indicating level of the empirical (or ridge) prior. This prior shrinks the covariances of the data, but keeps the means and variances the same for problems of high missingness, small N's or large correlations among the variables. Should be kept small, perhaps 0.5 to 1 percent of the rows of the data; a reasonable upper bound is around 10 percent of the rows of the data.} \item{priors}{a four or five column matrix containing the priors for either individual missing observations or variable-wide missing values. See "Details" for more information.} \item{autopri}{allows the EM chain to increase the empirical prior if the path strays into an nonpositive definite covariance matrix, up to a maximum empirical prior of the value of this argument times $n$, the number of observations. Must be between 0 and 1, and at zero this turns off this feature.} \item{emburn}{a numeric vector of length 2, where \code{emburn[1]} is a the minimum EM chain length and \code{emburn[2]} is the maximum EM chain length. These are ignored if they are less than 1.} \item{bounds}{a three column matrix to hold logical bounds on the imputations. Each row of the matrix should be of the form \code{c(column.number, lower.bound,upper.bound)} See Details below.} \item{max.resample}{an integer that specifies how many times Amelia should redraw the imputed values when trying to meet the logical constraints of \code{bounds}. After this value, imputed values are set to the bounds.} \item{overimp}{a two-column matrix describing which cells are to be overimputed. Each row of the matrix should be a \code{c(row, column)} pair. Each of these cells will be treated as missing and replaced with draws from the imputation model.} \item{boot.type}{choice of bootstrap, currently restricted to either \code{"ordinary"} for the usual non-parametric bootstrap and \code{"none"} for no bootstrap.} \item{parallel}{the type of parallel operation to be used (if any). If missing, the default is taken from the option \code{"amelia.parallel"} (and if that is not set, \code{"no"}).} \item{ncpus}{integer: the number of processes to be used in parallel operation: typically one would choose the number of available CPUs.} \item{cl}{an optional \pkg{parallel} or \pkg{snow} cluster for use if \code{parallel = "snow"}. If not supplied, a cluster on the local machine is created for the duration of the \code{amelia} call.} \item{...}{further arguments to be passed.} } \details{ Multiple imputation is a method for analyzing incomplete multivariate data. This function will take an incomplete dataset in either data frame or matrix form and return \code{m} imputed datatsets with no missing values. The algorithm first bootstraps a sample dataset with the same dimensions as the original data, estimates the sufficient statistics (with priors if specified) by EM, and then imputes the missing values of sample. It repeats this process \code{m} times to produce the \code{m} complete datasets where the observed values are the same and the unobserved values are drawn from their posterior distributions. The function will start a "fresh" run of the algorithm if \code{x} is either a incomplete matrix or data.frame. In this method, all of the options will be user-defined or set to their default. If \code{x} the output of a previous Amelia run (that is, an object of class "amelia"), then Amelia will run with the options used in that previous run. This is a convenient way to run more imputations of the same model. You can provide Amelia with informational priors about the missing observations in your data. To specify priors, pass a four or five column matrix to the \code{priors} argument with each row specifying a different priors as such: \code{ one.prior <- c(row, column, mean,standard deviation)} or, \code{ one.prior <- c(row, column, minimum, maximum, confidence)}. So, in the first and second column of the priors matrix should be the row and column number of the prior being set. In the other columns should either be the mean and standard deviation of the prior, or a minimum, maximum and confidence level for the prior. You must specify your priors all as distributions or all as confidence ranges. Note that ranges are converted to distributions, so setting a confidence of 1 will generate an error. Setting a priors for the missing values of an entire variable is done in the same manner as above, but inputing a \code{0} for the row instead of the row number. If priors are set for both the entire variable and an individual observation, the individual prior takes precedence. In addition to priors, Amelia allows for logical bounds on variables. The \code{bounds} argument should be a matrix with 3 columns, with each row referring to a logical bound on a variable. The first column should be the column number of the variable to be bounded, the second column should be the lower bounds for that variable, and the third column should be the upper bound for that variable. As Amelia enacts these bounds by resampling, particularly poor bounds will end up resampling forever. Amelia will stop resampling after \code{max.resample} attempts and simply set the imputation to the relevant bound. If each imputation is taking a long time to converge, you can increase the empirical prior, \code{empri}. This value has the effect of smoothing out the likelihood surface so that the EM algorithm can more easily find the maximum. It should be kept as low as possible and only used if needed. Amelia assumes the data is distributed multivariate normal. There are a number of variables that can break this assumption. Usually, though, a transformation can make any variable roughly continuous and unbounded. We have included a number of commonly needed transformations for data. Note that the data will not be transformed in the output datasets and the transformation is simply useful for climbing the likelihood. Amelia can run its imputations in parallel using the methods of the \pkg{parallel} package. The \code{parallel} argument names the parallel backend that Amelia should use. Users on Windows systems must use the \code{"snow"} option and users on Unix-like systems should use \code{"multicore"}. The \code{multicore} backend sets itself up automatically, but the \code{snow} backend requires more setup. You can pass a predefined cluster from the \code{parallel::makePSOCKcluster} function to the \code{cl} argument. Without this cluster, Amelia will attempt to create a reasonable default cluster and stop it once computation is complete. When using the parallel backend, users can set the number of CPUs to use with the \code{ncpus} argument. The defaults for these two arguments can be set with the options \code{"amelia.parallel"} and \code{"amelia.ncpus"}. Please refer to the Amelia manual for more information on the function or the options. } \value{An instance of S3 class "amelia" with the following objects: \item{imputations}{a list of length \code{m} with an imputed dataset in each entry. The class (matrix or data.frame) of these entries will match \code{x}.} \item{m}{an integer indicating the number of imputations run.} \item{missMatrix}{a matrix identical in size to the original dataset with 1 indicating a missing observation and a 0 indicating an observed observation.} \item{theta}{An array with dimensions \eqn{(p+1)} by \eqn{(p+1)} by \eqn{m} (where \eqn{p} is the number of variables in the imputations model) holding the converged parameters for each of the \code{m} EM chains.} \item{mu}{A \eqn{p} by \eqn{m} matrix of of the posterior modes for the complete-data means in each of the EM chains.} \item{covMatrices}{An array with dimensions \eqn{(p)} by \eqn{(p)} by \eqn{m} where the first two dimensions hold the posterior modes of the covariance matrix of the complete data for each of the EM chains.} \item{code}{a integer indicating the exit code of the Amelia run.} \item{message}{an exit message for the Amelia run} \item{iterHist}{a list of iteration histories for each EM chain. See documentation for details.} \item{arguments}{a instance of the class "ameliaArgs" which holds the arguments used in the Amelia run.} \item{overvalues}{a vector of values removed for overimputation. Used to reformulate the original data from the imputations. } Note that the \code{theta}, \code{mu} and \code{covMatrcies} objects refers to the data as seen by the EM algorithm and is thusly centered, scaled, stacked, tranformed and rearranged. See the manual for details and how to access this information. } \author{James Honaker, Gary King, Matt Blackwell} \references{Honaker, J., King, G., Blackwell, M. (2011). Amelia II: A Program for Missing Data. \emph{Journal of Statistical Software}, \bold{45(7)}, 1--47. URL http://www.jstatsoft.org/v45/i07/. } \seealso{ For imputation diagnostics, \code{\link{missmap}}, \code{\link{compare.density}}, \code{\link{overimpute}} and \code{\link{disperse}}. For time series plots, \code{\link{tscsPlot}}. Also: \code{\link{plot.amelia}}, \code{\link{write.amelia}}, and \code{\link{ameliabind}}. } \examples{ data(africa) a.out <- amelia(x = africa, cs = "country", ts = "year", logs = "gdp_pc") summary(a.out) plot(a.out) } \keyword{models} Amelia/man/compare.density.Rd0000644000175100001440000000410212064423557015633 0ustar hornikusers\name{compare.density} \alias{compare.density} \title{Compare observed versus imputed densities} \description{ Plots smoothed density plots of observed and imputed values from output from the \code{amelia} function. } \usage{ compare.density(output, var, col = c("red","black"), scaled = FALSE, lwd = 1, main, xlab, ylab, legend = TRUE, frontend = FALSE, \dots) } \arguments{ \item{output}{output from the function \code{amelia}.} \item{var}{column number or variable name of the variable to plot.} \item{col}{a vector of length 2 containing the color to plot the (1) imputed density and (2) the observed density.} \item{scaled}{a logical indicating if the two densities should be scaled to reflect the difference in number of units in each.} \item{lwd}{the line width of the density plots.} \item{main}{main title of the plot. The default is to title the plot using the variable name.} \item{xlab}{the label for the x-axis. The default is the name of the variable.} \item{ylab}{the label for the y-axis. The default is "Relative Density."} \item{legend}{a logical value indicating if a legend should be plotted.} \item{frontend}{a logical value used internally for the Amelia GUI.} \item{\dots}{further graphical parameters for the plot.} } \details{ This function first plots a density plot of the observed units for the variable \code{var} in \code{col[2]}. The the function plots a density plot of the mean or modal imputations for the missing units in \code{col[1]}. If a variable is marked "ordinal" or "nominal" with the \code{ords} or \code{noms} options in \code{amelia}, then the modal imputation will be used. If \code{legend} is \code{TRUE}, then a legend is plotted as well. } \references{ Abayomi, K. and Gelman, A. and Levy, M. 2005 "Diagnostics for Multivariate Imputations," \emph{Applied Statistics}. 57,3: 273--291. } \seealso{For more information on how densities are computed, \code{\link{density}}; Other imputation diagnostics are \code{\link{overimpute}}, \code{\link{disperse}}, and \code{\link{tscsPlot}}. } Amelia/.Rinstignore0000644000175100001440000000002612064423557013772 0ustar hornikusersMakefile doc/.*[.]png$