From 3d68c34f39555033afad81bb1b10e7cf58094734 Mon Sep 17 00:00:00 2001 From: "byron.wallace" Date: Tue, 11 May 2010 17:55:43 -0400 Subject: [PATCH] continuous meta-analysis now running --- R/openmetar/R/continuous_methods.r | 4 ++- R/src/continuous_methods.r | 2 +- doc/data_structures.png | Bin 0 -> 12155 bytes doc/data_structures.ppt | Bin 0 -> 18432 bytes meta_py_r.py | 39 ++++++++++++++++++++++++++++- 5 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 doc/data_structures.png create mode 100644 doc/data_structures.ppt diff --git a/R/openmetar/R/continuous_methods.r b/R/openmetar/R/continuous_methods.r index ae8d7e15..d2cef1a6 100644 --- a/R/openmetar/R/continuous_methods.r +++ b/R/openmetar/R/continuous_methods.r @@ -19,7 +19,9 @@ continuous.random <- function(contData, params){ # call out to the metafor package if (length(contData@mean1) > 0) { res<-rma.uni(n1i=contData@N1, n2i=contData@N2, - m1i=contData@mean1, m2i=contData@mean2, slab=contData@studyNames, + m1i=contData@mean1, m2i=contData@mean2, + sd1i=contData@se1, sd2i=contData@se2, + slab=contData@studyNames, method=params$rm.method, measure=params$measure, level=params$conf.level, digits=params$digits) } diff --git a/R/src/continuous_methods.r b/R/src/continuous_methods.r index 5bce26a3..d2cef1a6 100644 --- a/R/src/continuous_methods.r +++ b/R/src/continuous_methods.r @@ -20,7 +20,7 @@ continuous.random <- function(contData, params){ if (length(contData@mean1) > 0) { res<-rma.uni(n1i=contData@N1, n2i=contData@N2, m1i=contData@mean1, m2i=contData@mean2, - sd1i=contData@sd1, sd2i=contData@sd2, + sd1i=contData@se1, sd2i=contData@se2, slab=contData@studyNames, method=params$rm.method, measure=params$measure, level=params$conf.level, digits=params$digits) diff --git a/doc/data_structures.png b/doc/data_structures.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb3fa0cc42c61760fdcb79a67e30e369d1e0480 GIT binary patch literal 12155 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 literal 0 HcmV?d00001 diff --git a/doc/data_structures.ppt b/doc/data_structures.ppt new file mode 100644 index 0000000000000000000000000000000000000000..587822574d28bcc6bd0f7783118e20286c12907b GIT binary patch literal 18432 zcmeHP3v^t?dH(O-l~zyh%Cd~H!MYYQHU!ygi({OoHR~W$C&jjc>>Qe6w6e5osgWgD zl4IPohb3S_32u}aJ8_eMz;2J?l2%RnNSaV|S|~nL1wo;Q^t3@O?FmU*SSTetinrf4 zb4Ob3L)zU)iPPip`FG~d(3=pS}iels^0$#9Ul2y~z9JFlHt9 zv=kO&xTY@%9KF5sOFN&gy6cB>M!t2$%gLC6zwyCesDJHAYbh#29^KLc>W3r(x-4}o z9vo>xxkC=hezcIQ>}jodETW?Ql8@{?r(4+nm3sYLB&~|herZ>-e+cxVpxzJK?V#L^ za_{uev=Zra-54FDb;wY05$YzmV33N^WX+GC&7f~+=PEzxzRbx&^2^Ki3J74y5A3yg zj$v{pv9Jj&(;smCyVGU-zvY+L?J#hxm$QEQg`hm^ryhvbFVFkFh+O0^{7v}X3T<{n zn>{GE1D4)Z9enPDRshHKe6?B#BUc`mH&Fj?N2-I&nTQJ>sV?B+`lzy%PT=V+7?;Rt zKYd$FLinZ4{JxR_4<+mHL*FOzRX^os*(0S8EhMM>v;^4ud)Febb3{6k3&yLQW!J7b zDv@|q)#%xwk5tNmLLJM|+DAF$32D`$9Ja$WW2N+%HwK!NzuY^da*5x~3Mq~U@$1F> zaBetf>_~)~SM6Vkh%&N`aEFwuaktZ2OYUIzlDoFzS01$j@Z@6_s!ASLH3_Q(V=WID zD+$TU*FcImO4x&SKgKezmAIe&T;#uP`hCr~s^CwIKYp3;HDXY$Eb;2THD31p%VVQ& z%9FqMfv@@QdxAMh`{f;b9|y@fTj4^Tyk}pH-w2>HDMwM(K7L#(zMxHo&rD|#Lmq~< zEd-+j@~%zsnGT>}o{2StSXL|5-d|L$ng;PF!)D;#x}iEqv%C{#nU<_-;7BOZp%O2b zfJvNBzuaBDS>^XsbGjh3pK5GV|61VecF6`T8j;UbvmSxftN0y55#WbZn~6?yU5V~YR3IviGG{^6mE zr}%?Zs-HAMM)YqaU!!C%A&Ku>N&Pgw#^_0T=|_+Wx@*4YS5&|Fe@xTu`uHA&k8(Wo z%-_k-(5EDJ|A-{Uqw<4){?-(}DDaTKEn99@dH7d9DbZ*Ga{;=L%go1(TP|1a4Ni@` zICfO-{p11pY}JV@RIrhY05~1Rfi8y>bzKf;aOEwadZTU@i~DMYMCaz&Aznyio;45l)N>dbq$e=# zTAna4lPfit9gq&7j@u!dnq$E!7LC;mJ>g{+`<=*&O)LBv**IrR`VtzeRrp6IDvx!n9sx$$|H90&Ev_%2W}epnS{#P6VRT~Bw%$DP4GC(_wH=xlEv7>x8ggWZEY z5ociVa8E?!AwQ*Gr3bnGnNNC#DA`gJjbyefnF-@YvWcPNl8;Prn=)1VQ)MDmk1Nyt ziYFaCG&dv4ZZpdixph#BG*HFDe2bb2D6i1bwM>gw({<>tPF{exX@Lvwf3l&J-- zwpEHEkCv7?WO~#w(^h2)uA^70YG+q!=g*NF?Rc|j=j_S+v~!Ce+9|##kg6T76rZJM zoNLO=ILV3(``Laa;6XqAmswY)JS-20K%9s05-^8MH?zy&0 zJ(~Lv%GtTce&28pL$}Z<%LXDSdAXJGr}D+DI-dk?g%aWeLW!aK&=cwLDKEH}cq7B5SyF4@3=Co~-!D-);S)xw#F%qex3TCJSF|r=@w~5#CS~@!3 z26imic@^R!4}qm}t%nwFBI2ku;R!5q%2H>A`YTdW%#2z^S+sXwMSj{FEgQ9h{)r{2 zbm`fOU28~=TG|7jk5TI>aBOCx*ws$zZY5N{t@P8%cjdEU+Hf1+;=65Ws*boaN`Jx? zGwu5`+t);rRP-j9_F#`KFH9<~n{=t@drDlX3ST$VF(I>DGol3L0%VR7j1TvzSn;!r z5)(()9`Va7_9KfJ$MtC)T#LGTU_m6tPP5BhQ~SsKTC)WfLu0pOn*1xEag(oOAy?E{fPZZbJVloQDj+31#WNQ8Y- zAtPuoES9AxBqsOXUI>dpC}61gU!a1@_%>3W5qL+`VWxHPVCUftszCbWINT&q-_u#!}o?*tl^2JM)4taze`_`d@DMjsVv`uNV*3(?0N zo|rdY98~)FB?_0K4@yscbVmlL5WWHW3vA1c6t7G6)57Q zJpv_E#`ltT3X@z{YSMP(H)-^ii!qktVbe+uWJpx^Y2-$dMQM^e_jn=dKBdgB#Y;(= z6eWE=Wpp$9zRMjWg*Gv*Y4T@GPnVNTFWGmfcLG0w>1Fm*VLMzr>KjwOgL@RCnLwIm z9-b^@j<2(0KBtVHuri*0HXTty?L0Wx(YJrv64m9CYl$q+w8Z4)Se3$Mq02FDkNV=J zL&da@$C9+LI0b)9#$PW)3*RUj^|h3Rfxj}|3H+&+PBN|*wi_!+)`E6cnH-d{bz(@j z^)sk7Gg_S{OVd9UB8%;%EThWSKMee{$TH<@bCV@?buLNcIJ7!gK>X?e$3vw7fvEfGFPiWFY+waUzEb<*2X zIlL&Owsef!<{W)Vp46}z&0)_!>K$G*8W>X%>(7$rfoG%S6Glub1`3%6;ty2m6|oyA zQ&$8nWBb;&-M!s&?)goK;*j(ZwGFjKRk+ic_Vvtz14f-Wc)FdWmY!@z9Df=FrM*kI|C{^$zG?hf6Y^ws1*?e|%wtm!Im_ zvh_QEeH_hpF@~XV;Jn`R#_vqRPhN??75G;w{CuewlcxVVoOlnPC&)1;fwpi;Z(v9ueukh;w1#;|ZpxaXE3BSLB&$krQ>S`5*m7 z3e@pLt@5aHre3cI&aowrBd}aZGc`clp`CCAL78eb@K{G*V!qA9#{(DA|5FW|!-p(I z>I+Itcv4b!@%-OE|K)Wn0>{2kBJaEE?LP{l{hMf@!(jW}0NTwEfZqd;0BA#F0NT)5 z0PSc3Py%=Xz-`>USNC4h}fm@fyCPy$Ais?M%yH|fa-f@$<54}E z{IS|{#UG#D?Oj^F5=>Bb%DuI}8?-3#M_n?VVkLKl~i#f6X_(8w8SJObl71&cXol)&-#Kw*n~j-2l$>7XiE`It}1_ zp9OIKo&%8ANdWEUKLJ&MHvq}=N?b-ol#kDQ5BK+RGoI<0JZyB^_@Z=scSnEUKwosw z*%^&?cSM|)zC)4zmcH)ZK?$Kfu;*cQzGm4ub?nv4@S>IFpoG+S%Cr&k`OARQ5QHv( zbtUpUfqf8!pNxq8A^a4pZ`-vNY;3X^Z^|i(Dphz6%Y$k%R;u;zzi0s}w36cnsFISs zqlTy-J;pPIlh14LZ7?}r=~B@1#*guIZ`VNs06OuID`}5ot&Z5Ry8x;&grbuaTSiI%}Dtsk-vgP;AXQvEE$FIl|xni}P`G#5pR zI`y}3(r|rkEL$#@DGAkOZ$wK$iHsbX`Jr!MnosT0FKjGZAy+AVY}jXI~O8TPuby)eRHjah43_bEnEtn(CUuN!b5Ir!T8myVV8sk13(cU@3_8uA(+nEdD_Domv$E64to8Zyw>p|#1&Qem zjMj}O;KlM>mcMYTk2<2|Z=c2TXZp$c*Nk&sYG#$Inc3pw!f8hPr8;P4e*Mx7SRprH zgw^(f?=5 zZe_EIT>bMN(6|NA20Cq^69%0y=(K@O8))1D*fR^A%+@!bUI<_9LC^J&n6s{}53j(K zuDSY*r_QeVh2A5rhL*_5&&C(&_!WeH7{6ToxTi6r9nR9+D|9|*jkg&a%Ys;;Jo4>6 zFx$#l==s^;&d-fG`-%C~g!WZyFhBDfDP_SxF>@$7teCkr$dcFL*vUT_6-vD=L=H4OuNr^HSlCHy_5%lAq z{yTd|cH>V8_}BQkrsd!*`D#3uarEBnbLp64pM2@(h&JbLKi~A<^z;AZSORDp``k-U k*7MHt4g3xER(;pX$=Zwm6rx{d|Bn!I*4BlN=aUBh571Tc%K!iX literal 0 HcmV?d00001 diff --git a/meta_py_r.py b/meta_py_r.py index c381307a..cc98bb7b 100644 --- a/meta_py_r.py +++ b/meta_py_r.py @@ -170,8 +170,25 @@ def ma_dataset_to_simple_continuous_robj(table_model, var_name="tmp_obj"): Ns2_str = _get_str(raw_data, 3) means2_str = _get_str(raw_data, 4) SDs2_str = _get_str(raw_data, 5) + + r_str = "%s <- new('ContinuousData', \ + N1=c(%s), mean1=c(%s), se1=c(%s), \ + N2=c(%s), mean2=c(%s), se2=c(%s), \ + y=c(%s), SE=c(%s), studyNames=c(%s))" \ + % (var_name, Ns1_str, means1_str, SDs1_str, \ + Ns2_str, means2_str, SDs2_str, \ + ests_str, SEs_str, study_names) + else: - print "NO RAW DATA" + print "no raw data... using effects" + r_str = "%s <- new('ContinuousData', \ + y=c(%s), SE=c(%s), studyNames=c(%s))" \ + % (var_name, ests_str, SEs_str, study_names) + + print "executing: %s" % r_str + ro.r(r_str) + print "ok." + return r_str def _get_str(M, col_index, reverse=True): @@ -257,6 +274,26 @@ def ma_dataset_to_simple_binary_robj(table_model, var_name="tmp_obj"): print "ok." return r_str +def run_continuous_ma(function_name, params, res_name = "result", cont_data_name = "tmp_obj"): + params_df = ro.r['data.frame'](**params) + r_str = "%s<-%s(%s, %s)" % (res_name, function_name, cont_data_name, params_df.r_repr()) + print "\n\n(run_continuous_ma): executing:\n %s\n" % r_str + ro.r(r_str) + result = ro.r("%s" % res_name) + + # parse out text field(s). note that "plot names" is 'reserved', i.e., it's + # a special field which is assumed to contain the plot variable names + # in R (for graphics manipulation). + text_d = {} + image_var_name_d = None + for text_n, text in zip(list(result.getnames())[1:], list(result)[1:]): + if not text_n == "plot_names": + text_d[text_n]=text + else: + image_var_name_d = _rls_to_pyd(text) + + return {"images":_rls_to_pyd(result[0]), "image_var_names":image_var_name_d, + "texts":text_d} def run_binary_ma(function_name, params, res_name = "result", bin_data_name="tmp_obj"): params_df = ro.r['data.frame'](**params)