<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Calling a macro and running analysis in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153537#M262647</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to provide exactly what your macro invocation looks like.&lt;/P&gt;&lt;P&gt;My first feeling is that you're having issues with {} or () but it's hard to tell. I would expect to see&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%INDIRECT [DATA = test, Y = yvar, X = xvar, M = M1 M2 M3 M4];&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Feb 2015 20:47:22 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2015-02-04T20:47:22Z</dc:date>
    <item>
      <title>Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153536#M262646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello I wish to call the following macro and run the analysis below. The macro runs well but the last part to simulate a data and runs does not work. Any help?&lt;/P&gt;&lt;P&gt;The problem is from the data test&lt;STRONG&gt; (marked bold below)&lt;/STRONG&gt; , no problem with the macro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*** I want to used the macro called indirect*******/&lt;/P&gt;&lt;P&gt;/* Macro begins*/;&lt;/P&gt;&lt;P&gt;%macro indirect(data=,y=,x=,m=,c=0,boot=1000,conf=95,percent=0,bc=1,bca=0, normal=0,contrast=0);&lt;/P&gt;&lt;P&gt;proc iml;&lt;/P&gt;&lt;P&gt;use &amp;amp;data;&lt;/P&gt;&lt;P&gt;read all var{&amp;amp;y &amp;amp;x &amp;amp;m} into dd;&lt;/P&gt;&lt;P&gt;nm={&amp;amp;y &amp;amp;x &amp;amp;m};&lt;/P&gt;&lt;P&gt;xx=(dd = .);xx=xx[,+];&lt;/P&gt;&lt;P&gt;j=1;do i = 1 to nrow(dd);if xx[i,1]=0 then;do;dd[j,]=dd[i,];j=j+1;end;end;&lt;/P&gt;&lt;P&gt;dd=dd[1:j-1,];&lt;/P&gt;&lt;P&gt;nm = nm`;&lt;/P&gt;&lt;P&gt;n = nrow(dd);&lt;/P&gt;&lt;P&gt;nv = ncol(dd);&lt;/P&gt;&lt;P&gt;nc = &amp;amp;c;&lt;/P&gt;&lt;P&gt;con=j(n,1,1);&lt;/P&gt;&lt;P&gt;dt2 = dd;&lt;/P&gt;&lt;P&gt;dt = dd;&lt;/P&gt;&lt;P&gt;resid = j(n,(nv-nc),0);&lt;/P&gt;&lt;P&gt;info = j((2*(nv-nc-2)+1),(2*(nv-nc-2)+1),0);&lt;/P&gt;&lt;P&gt;imat = j(ncol(info),4,1);&lt;/P&gt;&lt;P&gt;imat[1:(nv-nc-2),1]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;imat[1:(nv-nc-2),3]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;imat[(nv-nc-1):(ncol(info)-1),2]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;imat[(nv-nc-1):(ncol(info)-1),4]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;imat[(nv-nc-1):(ncol(info)-1),1]=j((nv-nc-2),1,(nv-nc));&lt;/P&gt;&lt;P&gt;imat[(nv-nc-1):(ncol(info)-1),3]=j((nv-nc-2),1,(nv-nc));&lt;/P&gt;&lt;P&gt;imat[ncol(info),1:4]={1 1 1 1};&lt;/P&gt;&lt;P&gt;imat[ncol(info),1]=nv-nc;&lt;/P&gt;&lt;P&gt;imat[ncol(info),3]=nv-nc;&lt;/P&gt;&lt;P&gt;bzx = j(nv-2-nc,1,0);&lt;/P&gt;&lt;P&gt;bzxse = j(nv-2-nc,1,0);&lt;/P&gt;&lt;P&gt;b=j((nv-1-nc),(nv-1-nc),0);&lt;/P&gt;&lt;P&gt;cname={"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13", "C14", "C15", "C16"};&lt;/P&gt;&lt;P&gt;cname=cname//{"C17", "C18", "C19", "C20", "C21", "C22", "C23", "C24", "C25", "C26", "C27", "C28", "C29"};&lt;/P&gt;&lt;P&gt;cname=cname//{"C30", "C31", "C32", "C33", "C34", "C35", "C36", "C37", "C38", "C39", "C40", "C41", "C42"};&lt;/P&gt;&lt;P&gt;cname=cname//{"C43", "C44", "C45"};&lt;/P&gt;&lt;P&gt;p0 = -0.322232431088;&lt;/P&gt;&lt;P&gt;p1 = -1;&lt;/P&gt;&lt;P&gt;p2 = -0.342242088547;&lt;/P&gt;&lt;P&gt;p3 = -0.0204231210245;&lt;/P&gt;&lt;P&gt;p4 = -.0000453642210148;&lt;/P&gt;&lt;P&gt;q0 = 0.0993484626060;&lt;/P&gt;&lt;P&gt;q1 = 0.588581570495;&lt;/P&gt;&lt;P&gt;q2 = 0.531103462366;&lt;/P&gt;&lt;P&gt;q3 = 0.103537752850;&lt;/P&gt;&lt;P&gt;q4 = 0.0038560700634;&lt;/P&gt;&lt;P&gt;conf=round(&amp;amp;conf);&lt;/P&gt;&lt;P&gt;lowalp = 0.5*(1-(conf/100));&lt;/P&gt;&lt;P&gt;upalp = 0.5*(1+(conf/100));&lt;/P&gt;&lt;P&gt;zbca = lowalp//upalp;&lt;/P&gt;&lt;P&gt;btn = 1;&lt;/P&gt;&lt;P&gt;if (&amp;amp;boot &amp;gt; 999) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; btn = floor(&amp;amp;boot/1000)*1000;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;blowp = floor(lowalp*btn);&lt;/P&gt;&lt;P&gt;if (blowp &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; blowp = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;bhighp = floor((upalp*btn)+1);&lt;/P&gt;&lt;P&gt;if (bhighp &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; bhighp = btn;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;indeff = j((n+1+btn),(nv-1-nc),0);&lt;/P&gt;&lt;P&gt;do d = 1 to (n+1+btn);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (d = (n+2)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dt = dt2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; con = j(n,1,1);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (d &amp;gt; 1) then if (d &amp;lt; (n+2)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d = 2) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; con = j((n-1),1,1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; dt = dt2[2:n,];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (d = (n+1)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2[1:(n-1),];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d &amp;gt; 2) then if (d &amp;lt; (n+1)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2[1:(d-2),]//dt2[(d:n),];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (d &amp;gt; (n+1)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do nn = 1 to n;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v = int(ranuni(0)*n)+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; dt[nn,1:nv]=dt2[v,1:nv];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x = dt[,2];&lt;/P&gt;&lt;P&gt;m = dt[,3:(nv-nc)];&lt;/P&gt;&lt;P&gt;y = dt[,1];&lt;/P&gt;&lt;P&gt;xz = dt[,2:nv];&lt;/P&gt;&lt;P&gt;xo = con||x;&lt;/P&gt;&lt;P&gt;if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; c = dt[,(nv-nc+1):nv];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; xo = xo||c;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;do k = 3 to (nv-nc);&lt;/P&gt;&lt;P&gt;&amp;nbsp; ytmp = dt[,k];&lt;/P&gt;&lt;P&gt;&amp;nbsp; bzxt = inv(xo`*xo)*xo`*ytmp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; bzx[(k-2),1]=bzxt[2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (d = 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; resid[,(k-1)]=ytmp-(xo*bzxt);&lt;/P&gt;&lt;P&gt;&amp;nbsp; mse = sum((ytmp-(xo*bzxt))##2)/(n-2-nc);&lt;/P&gt;&lt;P&gt;&amp;nbsp; olscm = (mse*inv(xo`*xo));&lt;/P&gt;&lt;P&gt;&amp;nbsp; bzxse[(k-2),1]=sqrt(olscm[2,2]);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if (d = 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt = dd[,(nv-(nc-1)):nv];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xo = con||x||cnt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nc = 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xo = con||x;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; byx = inv(xo`*xo)*xo`*y;&lt;/P&gt;&lt;P&gt;&amp;nbsp; mse = sum((y-(xo*byx))##2)/(n-2-nc);&lt;/P&gt;&lt;P&gt;&amp;nbsp; olscm = (mse*inv(xo`*xo));&lt;/P&gt;&lt;P&gt;&amp;nbsp; byxse = sqrt(olscm[2,2]);&lt;/P&gt;&lt;P&gt;&amp;nbsp; byx = byx[2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;xzo = con||xz;&lt;/P&gt;&lt;P&gt;byzx = inv(xzo`*xzo)*xzo`*y;&lt;/P&gt;&lt;P&gt;byzx2 = byzx[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;if (d = 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; resid[,ncol(resid)]=y-(xzo*byzx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; mse = sum((y-(xzo*byzx))##2)/(n-nv);&lt;/P&gt;&lt;P&gt;&amp;nbsp; covmat = mse*inv(xzo`*xzo);&lt;/P&gt;&lt;P&gt;&amp;nbsp; olscm = vecdiag(covmat);&lt;/P&gt;&lt;P&gt;&amp;nbsp; sse = mse*(n-nv);&lt;/P&gt;&lt;P&gt;&amp;nbsp; sst = sum((y-(sum(y)/n))##2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; r2 = 1-(sse/sst);&lt;/P&gt;&lt;P&gt;&amp;nbsp; ar2 = 1-(mse/(sst/(n-1)));&lt;/P&gt;&lt;P&gt;&amp;nbsp; fr = ((n-nv)*r2)/((1-r2)*ncol(xz));&lt;/P&gt;&lt;P&gt;&amp;nbsp; pfr = 1-probf(fr,ncol(xz),(n-nv));&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bcon = byzx[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; bconse = sqrt(olscm[(nv-nc+1):nv,1]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; byzx2se = sqrt(olscm[3:(nv-nc),1]);&lt;/P&gt;&lt;P&gt;&amp;nbsp; cprime = byzx[2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; cprimese=sqrt(olscm[2,1]);&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;indeff2 = (bzx#byzx2);&lt;/P&gt;&lt;P&gt;zs = (bzx/bzxse)#(byzx2/byzx2se);&lt;/P&gt;&lt;P&gt;temp = t(sum(indeff2)//indeff2);&lt;/P&gt;&lt;P&gt;indeff[d,]=temp;&lt;/P&gt;&lt;P&gt;if (d = 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vs = nm[1:(nv-nc),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; rn = {"DV = " "IV = " "MEDS = "};&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Dependent, Independent, and Proposed Mediator Variables";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print vs [rowname = rn];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vs = nm[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Statistical Controls";&lt;/P&gt;&lt;P&gt;&amp;nbsp; rn = {"CONTROLS="};&lt;/P&gt;&lt;P&gt;&amp;nbsp; print vs [rowname = rn];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Sample size";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nms = nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; te = bzx/bzxse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; df = n-2-nc;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p = 2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;&amp;nbsp; bzxmat = bzx||bzxse||te||p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; b[2:(nv-1-nc),1]=bzx;&lt;/P&gt;&lt;P&gt;&amp;nbsp; se2 = bzxse#bzxse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cnm = {"Coeff" "se" "t" "p"};&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "IV to Mediators (a paths)";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print bzxmat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; te = byzx2/byzx2se;&lt;/P&gt;&lt;P&gt;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p = 2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;&amp;nbsp; byzx2mat=byzx2||byzx2se||te||p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Direct Effects of Mediators on DV (b paths)";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print byzx2mat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; te=byx/byxse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; df = n-2-nc;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;&amp;nbsp; byxmat = byx||byxse||te||p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; xnm=nm[2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Total effect of IV on DV (c path)";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print byxmat [rowname = xnm colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; te=cprime/cprimese;&lt;/P&gt;&lt;P&gt;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;&amp;nbsp; cprimmat = cprime||cprimese||te||p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Direct Effect of IV on DV (c' path)";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print cprimmat [rowname = xnm colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nms = nm[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; te=bcon/bconse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;&amp;nbsp; bconmat = bcon||bconse||te||p;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Partial Effect of Control Variables on DV";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print bconmat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dvms=r2||ar2||fr||ncol(xz)||(n-nv)||pfr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Fit Statistics for DV Model";&lt;/P&gt;&lt;P&gt;&amp;nbsp; cnm = {"R-sq" "adj R-sq" "F" "df1" "df2" "p"};&lt;/P&gt;&lt;P&gt;&amp;nbsp; print dvms [colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (&amp;amp;normal =^ 0) then;if(&amp;amp;c = 0) then;do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat=j((nv-nc),(nv-nc),0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat[2:(nv-nc-1),1]=bzx;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; bmat[(nv-nc),2:(nv-nc-1)]=byzx2`;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat[(nv-nc),1]=cprime;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imbinv = inv(i(ncol(bmat))-bmat);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; imbtinv = inv(i(ncol(bmat))-bmat`);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resid[,1]=x-(x[+]/n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; psi = (resid`*resid)/(n-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; invpsi = inv(psi);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ibpsiib = imbinv*psi*imbtinv;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do ic = 1 to ncol(info);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = 1 to ncol(info);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; info[ic,ic2]=(n-1)*((imbinv[imat[ic2,4],imat[ic,1]]*imbinv[imat[ic,2],imat[ic2,3]])+(ibpsiib[imat[ic2,4],imat[ic,2]]*invpsi[imat[ic,1],imat[ic2,3]]));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; varcov=inv(info);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; varcov=varcov[1:(2*(nv-nc-2)),1:(2*(nv-nc-2))];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ses = vecdiag(varcov);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; avar = ses[1:nrow(bzxse),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; bvar = ses[(nrow(bzxse)+1):nrow(ses),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if ((nv-nc-2) &amp;gt; 1) then;do;if(&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prws=j(((nv-nc-2)*(nv-nc-3)/2),1,0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; prwse=prws;&lt;/P&gt;&lt;P&gt;&amp;nbsp; kk=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do ic = 1 to (nv-nc-3);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vf2=((byzx2[ic,1]##2)*varcov[ic,ic])-(2*byzx2[ic,1]*byzx2[ic2,1]*(varcov[ic,ic2]));&lt;/P&gt;&lt;P&gt;&amp;nbsp; vf2=vf2+((byzx2[ic2,1]##2)*varcov[ic2,ic2])+((bzx[ic,1]##2)*(bvar[ic,1]));&lt;/P&gt;&lt;P&gt;&amp;nbsp; vf2=vf2-(2*bzx[ic,1]*bzx[ic2,1]*covmat[(2+ic),(2+ic2)])+((bzx[ic2,1]##2)*(bvar[ic2,1]));&lt;/P&gt;&lt;P&gt;&amp;nbsp; cnt=indeff2[ic,1]-indeff2[ic2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; prws[kk,1]=cnt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; prwse[kk,1]=sqrt(vf2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; cnam2=cname[1:(kk-1),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; dermat=byzx2//bzx;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; totse=sqrt((dermat)`*varcov*dermat);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; specse = sqrt((byzx2#byzx2)#(avar)+(bzx#bzx)#(bvar));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; specse = totse//specse;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; indsum=indeff2[+];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; specz = (indsum//indeff2)/specse;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ind22 = indsum//indeff2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; nms = {"TOTAL"}//nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if ((nv-nc-2) &amp;gt; 1) then;do;if(&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ind22 = ind22//prws;&lt;/P&gt;&lt;P&gt;&amp;nbsp; specse = specse//prwse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; specz2 = prws/prwse;&lt;/P&gt;&lt;P&gt;&amp;nbsp; specz = specz//specz2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nms = nms//cnam2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pspec = 2*(1-probnorm(abs(specz)));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spec = ind22||specse||specz||pspec;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnm = {"Effect" "se" "Z" "p"};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "*****************************************************";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "NORMAL THEORY TESTS FOR INDIRECT EFFECTS";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Indirect Effects of IV on DV through Mediators (ab paths)";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print spec [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if (btn &amp;gt; 1) then;do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nms = {"TOTAL"}//nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (nv-nc-2) &amp;gt; 1 then do;if (&amp;amp;contrast = 1) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crst=j((n+1+btn),((nv-nc-2)*(nv-nc-3)/2),0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; kk=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do ic = 2 to (nv-nc-2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crst[,kk]=indeff[,ic]-indeff[,ic2];&lt;/P&gt;&lt;P&gt;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; indeff = indeff||crst;&lt;/P&gt;&lt;P&gt;&amp;nbsp; cnam2=cname[1:(kk-1),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; nms = nms//cnam2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;lvout = indeff[2:(n+1),];&lt;/P&gt;&lt;P&gt;tdotm = lvout[+,]/n;&lt;/P&gt;&lt;P&gt;tm = j(n,ncol(lvout),1)*diag(tdotm);&lt;/P&gt;&lt;P&gt;topa=(((n-1)/n)*(tm-lvout))##3;&lt;/P&gt;&lt;P&gt;topa=topa[+,];&lt;/P&gt;&lt;P&gt;bota =((((n-1)/n)*(tm-lvout))##2);&lt;/P&gt;&lt;P&gt;bota=bota[+,];&lt;/P&gt;&lt;P&gt;bota=6*sqrt(bota##3);&lt;/P&gt;&lt;P&gt;ahat = topa/bota;&lt;/P&gt;&lt;P&gt;indsam = indeff[1,]`;&lt;/P&gt;&lt;P&gt;boot = indeff[(n+2):nrow(indeff),];&lt;/P&gt;&lt;P&gt;mnboot = (boot[+,]/btn)`;&lt;/P&gt;&lt;P&gt;xt=boot-j(btn,1)*boot[:,];&lt;/P&gt;&lt;P&gt;cv=(xt`*xt)/btn;&lt;/P&gt;&lt;P&gt;se=sqrt(vecdiag(cv));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create bootstp from boot [colname='indirect'];&lt;/P&gt;&lt;P&gt;&amp;nbsp; append from boot;&lt;/P&gt;&lt;P&gt;&amp;nbsp; nnn = j(1,ncol(indeff),-999);&lt;/P&gt;&lt;P&gt;&amp;nbsp; boot = nnn//boot;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do e = 1 to (ncol(indeff));&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i = 2 to (btn+1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ix = boot[i,e];&lt;/P&gt;&lt;P&gt;&amp;nbsp; do k = i to 2 by -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; k2 = k;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if (boot[(k-1),e] &amp;gt; ix) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; boot[k,e]=boot[(k-1),e];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if (boot[(k-1),e] &amp;lt;= ix) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; goto stpit;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; stpit:&lt;/P&gt;&lt;P&gt;&amp;nbsp; boot[k2,e]=ix;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; boot = boot[2:(btn+1),];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;xp=j((nrow(mnboot)+2),1,0);&lt;/P&gt;&lt;P&gt;do i = 1 to (nrow(mnboot)+2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (i &amp;lt;= nrow(mnboot)) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pv = (boot[,i] &amp;lt; indsam[i,1]);&lt;/P&gt;&lt;P&gt;&amp;nbsp; pv = pv[+,]/btn;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pv = zbca[(i-nrow(mnboot)),1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; p=pv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (pv &amp;gt; 0.5) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p = 1-pv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; y5 = sqrt(-2*log(p));&lt;/P&gt;&lt;P&gt;&amp;nbsp; xp[i,1]=y5+((((y5*p4+p3)*y5+p2)*y5+p1)*y5+p0)/((((y5*q4+q3)*y5+q2)*y5+q1)*y5+q0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (pv &amp;lt;= 0.5) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; xp[i,1]=-xp[i,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;bbb = nrow(mnboot);&lt;/P&gt;&lt;P&gt;zz = xp[1:bbb,1];&lt;/P&gt;&lt;P&gt;zlo = zz + ((zz+xp[(bbb+1),1])/(1-ahat`#(zz+xp[(bbb+1),1])));&lt;/P&gt;&lt;P&gt;zup = zz + ((zz+xp[(bbb+2),1])/(1-ahat`#(zz+xp[(bbb+2),1])));&lt;/P&gt;&lt;P&gt;ahat = 0;&lt;/P&gt;&lt;P&gt;zlobc = zz + ((zz+xp[(bbb+1),1])/(1-ahat`#(zz+xp[(bbb+1),1])));&lt;/P&gt;&lt;P&gt;zupbc = zz + ((zz+xp[(bbb+2),1])/(1-ahat`#(zz+xp[(bbb+2),1])));&lt;/P&gt;&lt;P&gt;zlo = probnorm(zlo);&lt;/P&gt;&lt;P&gt;zup = probnorm(zup);&lt;/P&gt;&lt;P&gt;zlobc = probnorm(zlobc);&lt;/P&gt;&lt;P&gt;zupbc = probnorm(zupbc);&lt;/P&gt;&lt;P&gt;blow = int(zlo*(btn+1));&lt;/P&gt;&lt;P&gt;bhigh = int(zup*(btn+1))+1;&lt;/P&gt;&lt;P&gt;blowbc = int(zlobc*(btn+1));&lt;/P&gt;&lt;P&gt;bhighbc = int(zupbc*(btn+1))+1;&lt;/P&gt;&lt;P&gt;lowbca = j(nrow(blow),1,0);&lt;/P&gt;&lt;P&gt;upbca = lowbca;&lt;/P&gt;&lt;P&gt;do i = 1 to nrow(blow);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (blow[i,1] &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; blow[i,1]=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; lowbca[i,1]=boot[blow[i,1],i];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (bhigh[i,1] &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; bhigh[i,1]=btn;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; upbca[i,1]=boot[bhigh[i,1],i];&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;lowbc = j(nrow(blow),1,0);&lt;/P&gt;&lt;P&gt;upbc = lowbca;&lt;/P&gt;&lt;P&gt;do i = 1 to nrow(blowbc);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (blowbc[i,1] &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; blowbc[i,1]=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; lowbc[i,1]=boot[blowbc[i,1],i];&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (bhighbc[i,1] &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; bhighbc[i,1]=btn;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; upbc[i,1]=boot[bhighbc[i,1],i];&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;print "*****************************************************";&lt;/P&gt;&lt;P&gt;print "BOOTSTRAP RESULTS FOR INDIRECT EFFECTS";&lt;/P&gt;&lt;P&gt;res = indsam||mnboot||(mnboot-indsam)||se;&lt;/P&gt;&lt;P&gt;cn = {"Data" "Boot" "Bias" "SE"};&lt;/P&gt;&lt;P&gt;print "Indirect Effects of IV on DV through Mediators (ab paths)";&lt;/P&gt;&lt;P&gt;print res [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;lowperc = boot[blowp,];&lt;/P&gt;&lt;P&gt;upperc = boot[bhighp,];&lt;/P&gt;&lt;P&gt;ci = lowbca||upbca;&lt;/P&gt;&lt;P&gt;cn = {"Lower" "Upper"};&lt;/P&gt;&lt;P&gt;if (&amp;amp;bca ^= 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Bias Corrected and Accelerated Confidence Intervals";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;if (&amp;amp;bc ^= 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ci = lowbc||upbc;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Bias Corrected Confidence Intervals";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt; if (&amp;amp;percent ^= 0) then;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ci = lowperc`||upperc`;&lt;/P&gt;&lt;P&gt;&amp;nbsp; print "Percentile Confidence Intervals";&lt;/P&gt;&lt;P&gt;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;print "*****************************************************";&lt;/P&gt;&lt;P&gt;print "Level of Confidence for Confidence Intervals";&lt;/P&gt;&lt;P&gt;print conf;&lt;/P&gt;&lt;P&gt;print "Number of Bootstrap Resamples";&lt;/P&gt;&lt;P&gt;print btn;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if (&amp;amp;normal = 1) then;do;if (&amp;amp;c = 0) then;do;prt =1;end;end;&lt;/P&gt;&lt;P&gt;if (btn &amp;gt; 999) then;do;prt = 1;end;&lt;/P&gt;&lt;P&gt;if ((nv-nc-2) &amp;gt; 1) then;do;if (&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;if (prt = 1) then;do;&lt;/P&gt;&lt;P&gt;print "*****************************************************";&lt;/P&gt;&lt;P&gt;print "Indirect Effect Contrast Definitions: IndEff_1 minus IndEff2";&lt;/P&gt;&lt;P&gt;kk=1;&lt;/P&gt;&lt;P&gt;prwsv = j(((nv-nc-2)*(nv-nc-3)/2),2,"XXXXXXXX");&lt;/P&gt;&lt;P&gt;do ic = 1 to (nv-nc-3);&lt;/P&gt;&lt;P&gt;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; prwsv[kk,1]=nm[ic+2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; prwsv[kk,2]=nm[ic2+2,1];&lt;/P&gt;&lt;P&gt;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;prwsv = cnam2||prwsv;&lt;/P&gt;&lt;P&gt;cn = {"Contrast" "IndEff_1" "IndEff_2"};&lt;/P&gt;&lt;P&gt;print prwsv [colname = cn];&lt;/P&gt;&lt;P&gt;end;end;end;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Macro ends*/;&lt;/P&gt;&lt;P&gt;/*Call macro into data set*/;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data test;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;seed=-1;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;do i = 1 to 100;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; Y=10+(.5)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; X=2+(0.3)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; /*** These are the mediators *****/;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; M1=1+(0.3)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; M2=3+(0.4)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; M2=5+(0.8)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; M4=0+(.9)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; /***** These are the covariates *******/;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; gender=ranbin(0,1,.5);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; age=60+(5)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; edu=12+(1)*rannor(1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; end;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/*So i want to call the macro indirect and fit this model, can any one help with the last step*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%INDIRECT [DATA = test, Y = yvar, X = xvar, M = mvlist {covlist..}]&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Note M=Mvlist are M1, M2, M3 and M4 and covlist are age gender and edu */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,C = {cov}(0**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,BOOT = {z}(1000**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,CONF = {ci}(95**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,NORMAL = {t}(0**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,CONTRAST = {n}(0**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,PERCENT = {p}(0**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,BC = {b}(1**)}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; {,BCA = {d}(0)}; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 18:39:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153536#M262646</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2015-02-04T18:39:29Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153537#M262647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to provide exactly what your macro invocation looks like.&lt;/P&gt;&lt;P&gt;My first feeling is that you're having issues with {} or () but it's hard to tell. I would expect to see&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%INDIRECT [DATA = test, Y = yvar, X = xvar, M = M1 M2 M3 M4];&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 20:47:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153537#M262647</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-02-04T20:47:22Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153538#M262648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is an issue with data test, how it is called,any correction;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: Unable to open SASUSER.REGSTRY. WORK.REGSTRY will be opened instead.&lt;/P&gt;&lt;P&gt;NOTE: All registry changes will be lost at the end of the session.&lt;/P&gt;&lt;P&gt;WARNING: Unable to copy SASUSER registry to WORK registry. Because of this,&lt;/P&gt;&lt;P&gt;WARNING: you will not see registry customizations during this session.&lt;/P&gt;&lt;P&gt;NOTE: Unable to open SASUSER.PROFILE. WORK.PROFILE will be opened instead.&lt;/P&gt;&lt;P&gt;NOTE: All profile changes will be lost at the end of the session.&lt;/P&gt;&lt;P&gt;NOTE: This SAS session is using a registry in WORK.&amp;nbsp; All changes will be lost at the end of this&lt;/P&gt;&lt;P&gt;NOTE: session.&lt;/P&gt;&lt;P&gt;NOTE: Unable to open SASUSER.PROFILE. WORK.PROFILE will be opened instead.&lt;/P&gt;&lt;P&gt;NOTE: All profile changes will be lost at the end of the session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro indirect(data=,y=,x=,m=,c=0,boot=1000,conf=95,percent=0,bc=1,bca=0,&lt;/P&gt;&lt;P&gt;1&amp;nbsp; ! normal=0,contrast=0);&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; proc iml;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp; use &amp;amp;data;&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp; read all var{&amp;amp;y &amp;amp;x &amp;amp;m} into dd;&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp; nm={&amp;amp;y &amp;amp;x &amp;amp;m};&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp; xx=(dd = .);xx=xx[,+];&lt;/P&gt;&lt;P&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp; j=1;do i = 1 to nrow(dd);if xx[i,1]=0 then;do;dd[j,]=dd[i,];j=j+1;end;end;&lt;/P&gt;&lt;P&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp; dd=dd[1:j-1,];&lt;/P&gt;&lt;P&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp; nm = nm`;&lt;/P&gt;&lt;P&gt;10&amp;nbsp;&amp;nbsp; n = nrow(dd);&lt;/P&gt;&lt;P&gt;11&amp;nbsp;&amp;nbsp; nv = ncol(dd);&lt;/P&gt;&lt;P&gt;12&amp;nbsp;&amp;nbsp; nc = &amp;amp;c;&lt;/P&gt;&lt;P&gt;13&amp;nbsp;&amp;nbsp; con=j(n,1,1);&lt;/P&gt;&lt;P&gt;14&amp;nbsp;&amp;nbsp; dt2 = dd;&lt;/P&gt;&lt;P&gt;15&amp;nbsp;&amp;nbsp; dt = dd;&lt;/P&gt;&lt;P&gt;16&amp;nbsp;&amp;nbsp; resid = j(n,(nv-nc),0);&lt;/P&gt;&lt;P&gt;17&amp;nbsp;&amp;nbsp; info = j((2*(nv-nc-2)+1),(2*(nv-nc-2)+1),0);&lt;/P&gt;&lt;P&gt;18&amp;nbsp;&amp;nbsp; imat = j(ncol(info),4,1);&lt;/P&gt;&lt;P&gt;19&amp;nbsp;&amp;nbsp; imat[1:(nv-nc-2),1]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;20&amp;nbsp;&amp;nbsp; imat[1:(nv-nc-2),3]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;21&amp;nbsp;&amp;nbsp; imat[(nv-nc-1):(ncol(info)-1),2]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;22&amp;nbsp;&amp;nbsp; imat[(nv-nc-1):(ncol(info)-1),4]=(2:(nv-nc-1))`;&lt;/P&gt;&lt;P&gt;23&amp;nbsp;&amp;nbsp; imat[(nv-nc-1):(ncol(info)-1),1]=j((nv-nc-2),1,(nv-nc));&lt;/P&gt;&lt;P&gt;24&amp;nbsp;&amp;nbsp; imat[(nv-nc-1):(ncol(info)-1),3]=j((nv-nc-2),1,(nv-nc));&lt;/P&gt;&lt;P&gt;25&amp;nbsp;&amp;nbsp; imat[ncol(info),1:4]={1 1 1 1};&lt;/P&gt;&lt;P&gt;26&amp;nbsp;&amp;nbsp; imat[ncol(info),1]=nv-nc;&lt;/P&gt;&lt;P&gt;27&amp;nbsp;&amp;nbsp; imat[ncol(info),3]=nv-nc;&lt;/P&gt;&lt;P&gt;28&amp;nbsp;&amp;nbsp; bzx = j(nv-2-nc,1,0);&lt;/P&gt;&lt;P&gt;29&amp;nbsp;&amp;nbsp; bzxse = j(nv-2-nc,1,0);&lt;/P&gt;&lt;P&gt;30&amp;nbsp;&amp;nbsp; b=j((nv-1-nc),(nv-1-nc),0);&lt;/P&gt;&lt;P&gt;31&amp;nbsp;&amp;nbsp; cname={"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13",&lt;/P&gt;&lt;P&gt;31 ! "C14", "C15", "C16"};&lt;/P&gt;&lt;P&gt;32&amp;nbsp;&amp;nbsp; cname=cname//{"C17", "C18", "C19", "C20", "C21", "C22", "C23", "C24", "C25", "C26", "C27",&lt;/P&gt;&lt;P&gt;32 ! "C28", "C29"};&lt;/P&gt;&lt;P&gt;33&amp;nbsp;&amp;nbsp; cname=cname//{"C30", "C31", "C32", "C33", "C34", "C35", "C36", "C37", "C38", "C39", "C40",&lt;/P&gt;&lt;P&gt;33 ! "C41", "C42"};&lt;/P&gt;&lt;P&gt;34&amp;nbsp;&amp;nbsp; cname=cname//{"C43", "C44", "C45"};&lt;/P&gt;&lt;P&gt;35&amp;nbsp;&amp;nbsp; p0 = -0.322232431088;&lt;/P&gt;&lt;P&gt;36&amp;nbsp;&amp;nbsp; p1 = -1;&lt;/P&gt;&lt;P&gt;37&amp;nbsp;&amp;nbsp; p2 = -0.342242088547;&lt;/P&gt;&lt;P&gt;38&amp;nbsp;&amp;nbsp; p3 = -0.0204231210245;&lt;/P&gt;&lt;P&gt;39&amp;nbsp;&amp;nbsp; p4 = -.0000453642210148;&lt;/P&gt;&lt;P&gt;40&amp;nbsp;&amp;nbsp; q0 = 0.0993484626060;&lt;/P&gt;&lt;P&gt;41&amp;nbsp;&amp;nbsp; q1 = 0.588581570495;&lt;/P&gt;&lt;P&gt;42&amp;nbsp;&amp;nbsp; q2 = 0.531103462366;&lt;/P&gt;&lt;P&gt;43&amp;nbsp;&amp;nbsp; q3 = 0.103537752850;&lt;/P&gt;&lt;P&gt;44&amp;nbsp;&amp;nbsp; q4 = 0.0038560700634;&lt;/P&gt;&lt;P&gt;45&amp;nbsp;&amp;nbsp; conf=round(&amp;amp;conf);&lt;/P&gt;&lt;P&gt;46&amp;nbsp;&amp;nbsp; lowalp = 0.5*(1-(conf/100));&lt;/P&gt;&lt;P&gt;47&amp;nbsp;&amp;nbsp; upalp = 0.5*(1+(conf/100));&lt;/P&gt;&lt;P&gt;48&amp;nbsp;&amp;nbsp; zbca = lowalp//upalp;&lt;/P&gt;&lt;P&gt;49&amp;nbsp;&amp;nbsp; btn = 1;&lt;/P&gt;&lt;P&gt;50&amp;nbsp;&amp;nbsp; if (&amp;amp;boot &amp;gt; 999) then;&lt;/P&gt;&lt;P&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btn = floor(&amp;amp;boot/1000)*1000;&lt;/P&gt;&lt;P&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;54&amp;nbsp;&amp;nbsp; blowp = floor(lowalp*btn);&lt;/P&gt;&lt;P&gt;55&amp;nbsp;&amp;nbsp; if (blowp &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; blowp = 1;&lt;/P&gt;&lt;P&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;59&amp;nbsp;&amp;nbsp; bhighp = floor((upalp*btn)+1);&lt;/P&gt;&lt;P&gt;60&amp;nbsp;&amp;nbsp; if (bhighp &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bhighp = btn;&lt;/P&gt;&lt;P&gt;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;64&amp;nbsp;&amp;nbsp; indeff = j((n+1+btn),(nv-1-nc),0);&lt;/P&gt;&lt;P&gt;65&amp;nbsp;&amp;nbsp; do d = 1 to (n+1+btn);&lt;/P&gt;&lt;P&gt;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d = (n+2)) then;&lt;/P&gt;&lt;P&gt;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2;&lt;/P&gt;&lt;P&gt;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = j(n,1,1);&lt;/P&gt;&lt;P&gt;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d &amp;gt; 1) then if (d &amp;lt; (n+2)) then;&lt;/P&gt;&lt;P&gt;72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d = 2) then;&lt;/P&gt;&lt;P&gt;74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = j((n-1),1,1);&lt;/P&gt;&lt;P&gt;76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2[2:n,];&lt;/P&gt;&lt;P&gt;77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d = (n+1)) then;&lt;/P&gt;&lt;P&gt;79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2[1:(n-1),];&lt;/P&gt;&lt;P&gt;81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;82&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d &amp;gt; 2) then if (d &amp;lt; (n+1)) then;&lt;/P&gt;&lt;P&gt;83&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt = dt2[1:(d-2),]//dt2[(d:n),];&lt;/P&gt;&lt;P&gt;85&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;86&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d &amp;gt; (n+1)) then;&lt;/P&gt;&lt;P&gt;88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do nn = 1 to n;&lt;/P&gt;&lt;P&gt;90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v = int(ranuni(0)*n)+1;&lt;/P&gt;&lt;P&gt;91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dt[nn,1:nv]=dt2[v,1:nv];&lt;/P&gt;&lt;P&gt;92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;93&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;94&lt;/P&gt;&lt;P&gt;95&lt;/P&gt;&lt;P&gt;96&amp;nbsp;&amp;nbsp; x = dt[,2];&lt;/P&gt;&lt;P&gt;97&amp;nbsp;&amp;nbsp; m = dt[,3:(nv-nc)];&lt;/P&gt;&lt;P&gt;98&amp;nbsp;&amp;nbsp; y = dt[,1];&lt;/P&gt;&lt;P&gt;99&amp;nbsp;&amp;nbsp; xz = dt[,2:nv];&lt;/P&gt;&lt;P&gt;100&amp;nbsp; xo = con||x;&lt;/P&gt;&lt;P&gt;101&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = dt[,(nv-nc+1):nv];&lt;/P&gt;&lt;P&gt;104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xo = xo||c;&lt;/P&gt;&lt;P&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;106&amp;nbsp; do k = 3 to (nv-nc);&lt;/P&gt;&lt;P&gt;107&amp;nbsp;&amp;nbsp;&amp;nbsp; ytmp = dt[,k];&lt;/P&gt;&lt;P&gt;108&amp;nbsp;&amp;nbsp;&amp;nbsp; bzxt = inv(xo`*xo)*xo`*ytmp;&lt;/P&gt;&lt;P&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp; bzx[(k-2),1]=bzxt[2,1];&lt;/P&gt;&lt;P&gt;110&amp;nbsp;&amp;nbsp;&amp;nbsp; if (d = 1) then;&lt;/P&gt;&lt;P&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;112&amp;nbsp;&amp;nbsp;&amp;nbsp; resid[,(k-1)]=ytmp-(xo*bzxt);&lt;/P&gt;&lt;P&gt;113&amp;nbsp;&amp;nbsp;&amp;nbsp; mse = sum((ytmp-(xo*bzxt))##2)/(n-2-nc);&lt;/P&gt;&lt;P&gt;114&amp;nbsp;&amp;nbsp;&amp;nbsp; olscm = (mse*inv(xo`*xo));&lt;/P&gt;&lt;P&gt;115&amp;nbsp;&amp;nbsp;&amp;nbsp; bzxse[(k-2),1]=sqrt(olscm[2,2]);&lt;/P&gt;&lt;P&gt;116&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;117&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;118&amp;nbsp; if (d = 1) then;&lt;/P&gt;&lt;P&gt;119&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;120&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;121&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;122&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt = dd[,(nv-(nc-1)):nv];&lt;/P&gt;&lt;P&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xo = con||x||cnt;&lt;/P&gt;&lt;P&gt;124&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;125&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nc = 0) then;&lt;/P&gt;&lt;P&gt;126&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;127&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xo = con||x;&lt;/P&gt;&lt;P&gt;128&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;129&amp;nbsp;&amp;nbsp;&amp;nbsp; byx = inv(xo`*xo)*xo`*y;&lt;/P&gt;&lt;P&gt;130&amp;nbsp;&amp;nbsp;&amp;nbsp; mse = sum((y-(xo*byx))##2)/(n-2-nc);&lt;/P&gt;&lt;P&gt;131&amp;nbsp;&amp;nbsp;&amp;nbsp; olscm = (mse*inv(xo`*xo));&lt;/P&gt;&lt;P&gt;132&amp;nbsp;&amp;nbsp;&amp;nbsp; byxse = sqrt(olscm[2,2]);&lt;/P&gt;&lt;P&gt;133&amp;nbsp;&amp;nbsp;&amp;nbsp; byx = byx[2,1];&lt;/P&gt;&lt;P&gt;134&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;135&amp;nbsp; xzo = con||xz;&lt;/P&gt;&lt;P&gt;136&amp;nbsp; byzx = inv(xzo`*xzo)*xzo`*y;&lt;/P&gt;&lt;P&gt;137&amp;nbsp; byzx2 = byzx[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;138&amp;nbsp; if (d = 1) then;&lt;/P&gt;&lt;P&gt;139&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;140&amp;nbsp;&amp;nbsp;&amp;nbsp; resid[,ncol(resid)]=y-(xzo*byzx);&lt;/P&gt;&lt;P&gt;141&amp;nbsp;&amp;nbsp;&amp;nbsp; mse = sum((y-(xzo*byzx))##2)/(n-nv);&lt;/P&gt;&lt;P&gt;142&amp;nbsp;&amp;nbsp;&amp;nbsp; covmat = mse*inv(xzo`*xzo);&lt;/P&gt;&lt;P&gt;143&amp;nbsp;&amp;nbsp;&amp;nbsp; olscm = vecdiag(covmat);&lt;/P&gt;&lt;P&gt;144&amp;nbsp;&amp;nbsp;&amp;nbsp; sse = mse*(n-nv);&lt;/P&gt;&lt;P&gt;145&amp;nbsp;&amp;nbsp;&amp;nbsp; sst = sum((y-(sum(y)/n))##2);&lt;/P&gt;&lt;P&gt;146&amp;nbsp;&amp;nbsp;&amp;nbsp; r2 = 1-(sse/sst);&lt;/P&gt;&lt;P&gt;147&amp;nbsp;&amp;nbsp;&amp;nbsp; ar2 = 1-(mse/(sst/(n-1)));&lt;/P&gt;&lt;P&gt;148&amp;nbsp;&amp;nbsp;&amp;nbsp; fr = ((n-nv)*r2)/((1-r2)*ncol(xz));&lt;/P&gt;&lt;P&gt;149&amp;nbsp;&amp;nbsp;&amp;nbsp; pfr = 1-probf(fr,ncol(xz),(n-nv));&lt;/P&gt;&lt;P&gt;150&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;151&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;152&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bcon = byzx[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;153&amp;nbsp;&amp;nbsp;&amp;nbsp; bconse = sqrt(olscm[(nv-nc+1):nv,1]);&lt;/P&gt;&lt;P&gt;154&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;155&amp;nbsp;&amp;nbsp;&amp;nbsp; byzx2se = sqrt(olscm[3:(nv-nc),1]);&lt;/P&gt;&lt;P&gt;156&amp;nbsp;&amp;nbsp;&amp;nbsp; cprime = byzx[2,1];&lt;/P&gt;&lt;P&gt;157&amp;nbsp;&amp;nbsp;&amp;nbsp; cprimese=sqrt(olscm[2,1]);&lt;/P&gt;&lt;P&gt;158&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;159&amp;nbsp; indeff2 = (bzx#byzx2);&lt;/P&gt;&lt;P&gt;160&amp;nbsp; zs = (bzx/bzxse)#(byzx2/byzx2se);&lt;/P&gt;&lt;P&gt;161&amp;nbsp; temp = t(sum(indeff2)//indeff2);&lt;/P&gt;&lt;P&gt;162&amp;nbsp; indeff[d,]=temp;&lt;/P&gt;&lt;P&gt;163&amp;nbsp; if (d = 1) then;&lt;/P&gt;&lt;P&gt;164&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;165&amp;nbsp;&amp;nbsp;&amp;nbsp; vs = nm[1:(nv-nc),1];&lt;/P&gt;&lt;P&gt;166&amp;nbsp;&amp;nbsp;&amp;nbsp; rn = {"DV = " "IV = " "MEDS = "};&lt;/P&gt;&lt;P&gt;167&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Dependent, Independent, and Proposed Mediator Variables";&lt;/P&gt;&lt;P&gt;168&amp;nbsp;&amp;nbsp;&amp;nbsp; print vs [rowname = rn];&lt;/P&gt;&lt;P&gt;169&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;170&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;171&amp;nbsp;&amp;nbsp;&amp;nbsp; vs = nm[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;172&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Statistical Controls";&lt;/P&gt;&lt;P&gt;173&amp;nbsp;&amp;nbsp;&amp;nbsp; rn = {"CONTROLS="};&lt;/P&gt;&lt;P&gt;174&amp;nbsp;&amp;nbsp;&amp;nbsp; print vs [rowname = rn];&lt;/P&gt;&lt;P&gt;175&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;176&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Sample size";&lt;/P&gt;&lt;P&gt;177&amp;nbsp;&amp;nbsp;&amp;nbsp; print n;&lt;/P&gt;&lt;P&gt;178&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;179&amp;nbsp;&amp;nbsp;&amp;nbsp; te = bzx/bzxse;&lt;/P&gt;&lt;P&gt;180&amp;nbsp;&amp;nbsp;&amp;nbsp; df = n-2-nc;&lt;/P&gt;&lt;P&gt;181&amp;nbsp;&amp;nbsp;&amp;nbsp; p = 2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;182&amp;nbsp;&amp;nbsp;&amp;nbsp; bzxmat = bzx||bzxse||te||p;&lt;/P&gt;&lt;P&gt;183&amp;nbsp;&amp;nbsp;&amp;nbsp; b[2:(nv-1-nc),1]=bzx;&lt;/P&gt;&lt;P&gt;184&amp;nbsp;&amp;nbsp;&amp;nbsp; se2 = bzxse#bzxse;&lt;/P&gt;&lt;P&gt;185&amp;nbsp;&amp;nbsp;&amp;nbsp; cnm = {"Coeff" "se" "t" "p"};&lt;/P&gt;&lt;P&gt;186&amp;nbsp;&amp;nbsp;&amp;nbsp; print "IV to Mediators (a paths)";&lt;/P&gt;&lt;P&gt;187&amp;nbsp;&amp;nbsp;&amp;nbsp; print bzxmat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;188&amp;nbsp;&amp;nbsp;&amp;nbsp; te = byzx2/byzx2se;&lt;/P&gt;&lt;P&gt;189&amp;nbsp;&amp;nbsp;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;190&amp;nbsp;&amp;nbsp;&amp;nbsp; p = 2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;191&amp;nbsp;&amp;nbsp;&amp;nbsp; byzx2mat=byzx2||byzx2se||te||p;&lt;/P&gt;&lt;P&gt;192&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Direct Effects of Mediators on DV (b paths)";&lt;/P&gt;&lt;P&gt;193&amp;nbsp;&amp;nbsp;&amp;nbsp; print byzx2mat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;194&amp;nbsp;&amp;nbsp;&amp;nbsp; te=byx/byxse;&lt;/P&gt;&lt;P&gt;195&amp;nbsp;&amp;nbsp;&amp;nbsp; df = n-2-nc;&lt;/P&gt;&lt;P&gt;196&amp;nbsp;&amp;nbsp;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;197&amp;nbsp;&amp;nbsp;&amp;nbsp; byxmat = byx||byxse||te||p;&lt;/P&gt;&lt;P&gt;198&amp;nbsp;&amp;nbsp;&amp;nbsp; xnm=nm[2,1];&lt;/P&gt;&lt;P&gt;199&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Total effect of IV on DV (c path)";&lt;/P&gt;&lt;P&gt;200&amp;nbsp;&amp;nbsp;&amp;nbsp; print byxmat [rowname = xnm colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;201&amp;nbsp;&amp;nbsp;&amp;nbsp; te=cprime/cprimese;&lt;/P&gt;&lt;P&gt;202&amp;nbsp;&amp;nbsp;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;203&amp;nbsp;&amp;nbsp;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;204&amp;nbsp;&amp;nbsp;&amp;nbsp; cprimmat = cprime||cprimese||te||p;&lt;/P&gt;&lt;P&gt;205&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Direct Effect of IV on DV (c' path)";&lt;/P&gt;&lt;P&gt;206&amp;nbsp;&amp;nbsp;&amp;nbsp; print cprimmat [rowname = xnm colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;207&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nc &amp;gt; 0) then;&lt;/P&gt;&lt;P&gt;208&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;209&amp;nbsp;&amp;nbsp;&amp;nbsp; df = n-nv;&lt;/P&gt;&lt;P&gt;210&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = nm[(nv-nc+1):nv,1];&lt;/P&gt;&lt;P&gt;211&amp;nbsp;&amp;nbsp;&amp;nbsp; te=bcon/bconse;&lt;/P&gt;&lt;P&gt;212&amp;nbsp;&amp;nbsp;&amp;nbsp; p=2*(1-probt(abs(te),df));&lt;/P&gt;&lt;P&gt;213&amp;nbsp;&amp;nbsp;&amp;nbsp; bconmat = bcon||bconse||te||p;&lt;/P&gt;&lt;P&gt;214&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Partial Effect of Control Variables on DV";&lt;/P&gt;&lt;P&gt;215&amp;nbsp;&amp;nbsp;&amp;nbsp; print bconmat [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;216&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;217&amp;nbsp;&amp;nbsp;&amp;nbsp; dvms=r2||ar2||fr||ncol(xz)||(n-nv)||pfr;&lt;/P&gt;&lt;P&gt;218&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Fit Statistics for DV Model";&lt;/P&gt;&lt;P&gt;219&amp;nbsp;&amp;nbsp;&amp;nbsp; cnm = {"R-sq" "adj R-sq" "F" "df1" "df2" "p"};&lt;/P&gt;&lt;P&gt;220&amp;nbsp;&amp;nbsp;&amp;nbsp; print dvms [colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;221&amp;nbsp;&amp;nbsp;&amp;nbsp; if (&amp;amp;normal =^ 0) then;if(&amp;amp;c = 0) then;do;&lt;/P&gt;&lt;P&gt;222&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;223&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat=j((nv-nc),(nv-nc),0);&lt;/P&gt;&lt;P&gt;224&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat[2:(nv-nc-1),1]=bzx;&lt;/P&gt;&lt;P&gt;225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat[(nv-nc),2:(nv-nc-1)]=byzx2`;&lt;/P&gt;&lt;P&gt;226&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmat[(nv-nc),1]=cprime;&lt;/P&gt;&lt;P&gt;227&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imbinv = inv(i(ncol(bmat))-bmat);&lt;/P&gt;&lt;P&gt;228&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imbtinv = inv(i(ncol(bmat))-bmat`);&lt;/P&gt;&lt;P&gt;229&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resid[,1]=x-(x[+]/n);&lt;/P&gt;&lt;P&gt;230&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; psi = (resid`*resid)/(n-1);&lt;/P&gt;&lt;P&gt;231&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invpsi = inv(psi);&lt;/P&gt;&lt;P&gt;232&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ibpsiib = imbinv*psi*imbtinv;&lt;/P&gt;&lt;P&gt;233&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic = 1 to ncol(info);&lt;/P&gt;&lt;P&gt;234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = 1 to ncol(info);&lt;/P&gt;&lt;P&gt;235&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; info[ic,ic2]=(n-1)*((imbinv[imat[ic2,4],imat[ic,1]]*imbinv[imat[ic,2],imat[ic2,3]])+(ibpsii&lt;/P&gt;&lt;P&gt;235! b[imat[ic2,4],imat[ic,2]]*invpsi[imat[ic,1],imat[ic2,3]]));&lt;/P&gt;&lt;P&gt;236&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;237&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;238&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; varcov=inv(info);&lt;/P&gt;&lt;P&gt;239&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; varcov=varcov[1:(2*(nv-nc-2)),1:(2*(nv-nc-2))];&lt;/P&gt;&lt;P&gt;240&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ses = vecdiag(varcov);&lt;/P&gt;&lt;P&gt;241&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; avar = ses[1:nrow(bzxse),1];&lt;/P&gt;&lt;P&gt;242&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bvar = ses[(nrow(bzxse)+1):nrow(ses),1];&lt;/P&gt;&lt;P&gt;243&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((nv-nc-2) &amp;gt; 1) then;do;if(&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;244&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prws=j(((nv-nc-2)*(nv-nc-3)/2),1,0);&lt;/P&gt;&lt;P&gt;245&amp;nbsp;&amp;nbsp;&amp;nbsp; prwse=prws;&lt;/P&gt;&lt;P&gt;246&amp;nbsp;&amp;nbsp;&amp;nbsp; kk=1;&lt;/P&gt;&lt;P&gt;247&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic = 1 to (nv-nc-3);&lt;/P&gt;&lt;P&gt;248&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-2);&lt;/P&gt;&lt;P&gt;249&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vf2=((byzx2[ic,1]##2)*varcov[ic,ic])-(2*byzx2[ic,1]*byzx2[ic2,1]*(varcov[ic,ic2]));&lt;/P&gt;&lt;P&gt;250&amp;nbsp;&amp;nbsp;&amp;nbsp; vf2=vf2+((byzx2[ic2,1]##2)*varcov[ic2,ic2])+((bzx[ic,1]##2)*(bvar[ic,1]));&lt;/P&gt;&lt;P&gt;251&amp;nbsp;&amp;nbsp;&amp;nbsp; vf2=vf2-(2*bzx[ic,1]*bzx[ic2,1]*covmat[(2+ic),(2+ic2)])+((bzx[ic2,1]##2)*(bvar[ic2,1]));&lt;/P&gt;&lt;P&gt;252&amp;nbsp;&amp;nbsp;&amp;nbsp; cnt=indeff2[ic,1]-indeff2[ic2,1];&lt;/P&gt;&lt;P&gt;253&amp;nbsp;&amp;nbsp;&amp;nbsp; prws[kk,1]=cnt;&lt;/P&gt;&lt;P&gt;254&amp;nbsp;&amp;nbsp;&amp;nbsp; prwse[kk,1]=sqrt(vf2);&lt;/P&gt;&lt;P&gt;255&amp;nbsp;&amp;nbsp;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;256&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;257&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;258&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnam2=cname[1:(kk-1),1];&lt;/P&gt;&lt;P&gt;259&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;260&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dermat=byzx2//bzx;&lt;/P&gt;&lt;P&gt;261&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; totse=sqrt((dermat)`*varcov*dermat);&lt;/P&gt;&lt;P&gt;262&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; specse = sqrt((byzx2#byzx2)#(avar)+(bzx#bzx)#(bvar));&lt;/P&gt;&lt;P&gt;263&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; specse = totse//specse;&lt;/P&gt;&lt;P&gt;264&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; indsum=indeff2[+];&lt;/P&gt;&lt;P&gt;265&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; specz = (indsum//indeff2)/specse;&lt;/P&gt;&lt;P&gt;266&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ind22 = indsum//indeff2;&lt;/P&gt;&lt;P&gt;267&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = {"TOTAL"}//nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;268&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((nv-nc-2) &amp;gt; 1) then;do;if(&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;269&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ind22 = ind22//prws;&lt;/P&gt;&lt;P&gt;270&amp;nbsp;&amp;nbsp;&amp;nbsp; specse = specse//prwse;&lt;/P&gt;&lt;P&gt;271&amp;nbsp;&amp;nbsp;&amp;nbsp; specz2 = prws/prwse;&lt;/P&gt;&lt;P&gt;272&amp;nbsp;&amp;nbsp;&amp;nbsp; specz = specz//specz2;&lt;/P&gt;&lt;P&gt;273&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = nms//cnam2;&lt;/P&gt;&lt;P&gt;274&amp;nbsp;&amp;nbsp;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;275&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pspec = 2*(1-probnorm(abs(specz)));&lt;/P&gt;&lt;P&gt;276&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spec = ind22||specse||specz||pspec;&lt;/P&gt;&lt;P&gt;277&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnm = {"Effect" "se" "Z" "p"};&lt;/P&gt;&lt;P&gt;278&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "*****************************************************";&lt;/P&gt;&lt;P&gt;279&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "NORMAL THEORY TESTS FOR INDIRECT EFFECTS";&lt;/P&gt;&lt;P&gt;280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Indirect Effects of IV on DV through Mediators (ab paths)";&lt;/P&gt;&lt;P&gt;281&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print spec [rowname = nms colname = cnm format = 9.4];&lt;/P&gt;&lt;P&gt;282&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;end;&lt;/P&gt;&lt;P&gt;283&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;284&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;285&amp;nbsp; if (btn &amp;gt; 1) then;do;&lt;/P&gt;&lt;P&gt;286&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = {"TOTAL"}//nm[3:(nv-nc),1];&lt;/P&gt;&lt;P&gt;287&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nv-nc-2) &amp;gt; 1 then do;if (&amp;amp;contrast = 1) then do;&lt;/P&gt;&lt;P&gt;288&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crst=j((n+1+btn),((nv-nc-2)*(nv-nc-3)/2),0);&lt;/P&gt;&lt;P&gt;289&amp;nbsp;&amp;nbsp;&amp;nbsp; kk=1;&lt;/P&gt;&lt;P&gt;290&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic = 2 to (nv-nc-2);&lt;/P&gt;&lt;P&gt;291&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-1);&lt;/P&gt;&lt;P&gt;292&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crst[,kk]=indeff[,ic]-indeff[,ic2];&lt;/P&gt;&lt;P&gt;293&amp;nbsp;&amp;nbsp;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;294&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;295&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;296&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; indeff = indeff||crst;&lt;/P&gt;&lt;P&gt;297&amp;nbsp;&amp;nbsp;&amp;nbsp; cnam2=cname[1:(kk-1),1];&lt;/P&gt;&lt;P&gt;298&amp;nbsp;&amp;nbsp;&amp;nbsp; nms = nms//cnam2;&lt;/P&gt;&lt;P&gt;299&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;300&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;301&amp;nbsp; lvout = indeff[2:(n+1),];&lt;/P&gt;&lt;P&gt;302&amp;nbsp; tdotm = lvout[+,]/n;&lt;/P&gt;&lt;P&gt;303&amp;nbsp; tm = j(n,ncol(lvout),1)*diag(tdotm);&lt;/P&gt;&lt;P&gt;304&amp;nbsp; topa=(((n-1)/n)*(tm-lvout))##3;&lt;/P&gt;&lt;P&gt;305&amp;nbsp; topa=topa[+,];&lt;/P&gt;&lt;P&gt;306&amp;nbsp; bota =((((n-1)/n)*(tm-lvout))##2);&lt;/P&gt;&lt;P&gt;307&amp;nbsp; bota=bota[+,];&lt;/P&gt;&lt;P&gt;308&amp;nbsp; bota=6*sqrt(bota##3);&lt;/P&gt;&lt;P&gt;309&amp;nbsp; ahat = topa/bota;&lt;/P&gt;&lt;P&gt;310&amp;nbsp; indsam = indeff[1,]`;&lt;/P&gt;&lt;P&gt;311&amp;nbsp; boot = indeff[(n+2):nrow(indeff),];&lt;/P&gt;&lt;P&gt;312&amp;nbsp; mnboot = (boot[+,]/btn)`;&lt;/P&gt;&lt;P&gt;313&amp;nbsp; xt=boot-j(btn,1)*boot[:,];&lt;/P&gt;&lt;P&gt;314&amp;nbsp; cv=(xt`*xt)/btn;&lt;/P&gt;&lt;P&gt;315&amp;nbsp; se=sqrt(vecdiag(cv));&lt;/P&gt;&lt;P&gt;316&lt;/P&gt;&lt;P&gt;317&lt;/P&gt;&lt;P&gt;318&amp;nbsp;&amp;nbsp;&amp;nbsp; create bootstp from boot [colname='indirect'];&lt;/P&gt;&lt;P&gt;319&amp;nbsp;&amp;nbsp;&amp;nbsp; append from boot;&lt;/P&gt;&lt;P&gt;320&amp;nbsp;&amp;nbsp;&amp;nbsp; nnn = j(1,ncol(indeff),-999);&lt;/P&gt;&lt;P&gt;321&amp;nbsp;&amp;nbsp;&amp;nbsp; boot = nnn//boot;&lt;/P&gt;&lt;P&gt;322&amp;nbsp;&amp;nbsp;&amp;nbsp; do e = 1 to (ncol(indeff));&lt;/P&gt;&lt;P&gt;323&amp;nbsp;&amp;nbsp;&amp;nbsp; do i = 2 to (btn+1);&lt;/P&gt;&lt;P&gt;324&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ix = boot[i,e];&lt;/P&gt;&lt;P&gt;325&amp;nbsp;&amp;nbsp;&amp;nbsp; do k = i to 2 by -1;&lt;/P&gt;&lt;P&gt;326&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k2 = k;&lt;/P&gt;&lt;P&gt;327&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (boot[(k-1),e] &amp;gt; ix) then;&lt;/P&gt;&lt;P&gt;328&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;329&amp;nbsp;&amp;nbsp;&amp;nbsp; boot[k,e]=boot[(k-1),e];&lt;/P&gt;&lt;P&gt;330&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;331&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else;&lt;/P&gt;&lt;P&gt;332&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (boot[(k-1),e] &amp;lt;= ix) then;&lt;/P&gt;&lt;P&gt;333&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;334&amp;nbsp;&amp;nbsp;&amp;nbsp; goto stpit;&lt;/P&gt;&lt;P&gt;335&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;336&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;337&amp;nbsp;&amp;nbsp;&amp;nbsp; stpit:&lt;/P&gt;&lt;P&gt;338&amp;nbsp;&amp;nbsp;&amp;nbsp; boot[k2,e]=ix;&lt;/P&gt;&lt;P&gt;339&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;340&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;341&amp;nbsp;&amp;nbsp;&amp;nbsp; boot = boot[2:(btn+1),];&lt;/P&gt;&lt;P&gt;342&lt;/P&gt;&lt;P&gt;343&lt;/P&gt;&lt;P&gt;344&amp;nbsp; xp=j((nrow(mnboot)+2),1,0);&lt;/P&gt;&lt;P&gt;345&amp;nbsp; do i = 1 to (nrow(mnboot)+2);&lt;/P&gt;&lt;P&gt;346&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i &amp;lt;= nrow(mnboot)) then;&lt;/P&gt;&lt;P&gt;347&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;348&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pv = (boot[,i] &amp;lt; indsam[i,1]);&lt;/P&gt;&lt;P&gt;349&amp;nbsp;&amp;nbsp;&amp;nbsp; pv = pv[+,]/btn;&lt;/P&gt;&lt;P&gt;350&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;351&amp;nbsp;&amp;nbsp;&amp;nbsp; else;&lt;/P&gt;&lt;P&gt;352&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pv = zbca[(i-nrow(mnboot)),1];&lt;/P&gt;&lt;P&gt;353&amp;nbsp;&amp;nbsp;&amp;nbsp; p=pv;&lt;/P&gt;&lt;P&gt;354&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pv &amp;gt; 0.5) then;&lt;/P&gt;&lt;P&gt;355&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;356&amp;nbsp;&amp;nbsp;&amp;nbsp; p = 1-pv;&lt;/P&gt;&lt;P&gt;357&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;358&amp;nbsp;&amp;nbsp;&amp;nbsp; y5 = sqrt(-2*log(p));&lt;/P&gt;&lt;P&gt;359&amp;nbsp;&amp;nbsp;&amp;nbsp; xp[i,1]=y5+((((y5*p4+p3)*y5+p2)*y5+p1)*y5+p0)/((((y5*q4+q3)*y5+q2)*y5+q1)*y5+q0);&lt;/P&gt;&lt;P&gt;360&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pv &amp;lt;= 0.5) then;&lt;/P&gt;&lt;P&gt;361&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;362&amp;nbsp;&amp;nbsp;&amp;nbsp; xp[i,1]=-xp[i,1];&lt;/P&gt;&lt;P&gt;363&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;364&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;365&amp;nbsp; bbb = nrow(mnboot);&lt;/P&gt;&lt;P&gt;366&amp;nbsp; zz = xp[1:bbb,1];&lt;/P&gt;&lt;P&gt;367&amp;nbsp; zlo = zz + ((zz+xp[(bbb+1),1])/(1-ahat`#(zz+xp[(bbb+1),1])));&lt;/P&gt;&lt;P&gt;368&amp;nbsp; zup = zz + ((zz+xp[(bbb+2),1])/(1-ahat`#(zz+xp[(bbb+2),1])));&lt;/P&gt;&lt;P&gt;369&amp;nbsp; ahat = 0;&lt;/P&gt;&lt;P&gt;370&amp;nbsp; zlobc = zz + ((zz+xp[(bbb+1),1])/(1-ahat`#(zz+xp[(bbb+1),1])));&lt;/P&gt;&lt;P&gt;371&amp;nbsp; zupbc = zz + ((zz+xp[(bbb+2),1])/(1-ahat`#(zz+xp[(bbb+2),1])));&lt;/P&gt;&lt;P&gt;372&amp;nbsp; zlo = probnorm(zlo);&lt;/P&gt;&lt;P&gt;373&amp;nbsp; zup = probnorm(zup);&lt;/P&gt;&lt;P&gt;374&amp;nbsp; zlobc = probnorm(zlobc);&lt;/P&gt;&lt;P&gt;375&amp;nbsp; zupbc = probnorm(zupbc);&lt;/P&gt;&lt;P&gt;376&amp;nbsp; blow = int(zlo*(btn+1));&lt;/P&gt;&lt;P&gt;377&amp;nbsp; bhigh = int(zup*(btn+1))+1;&lt;/P&gt;&lt;P&gt;378&amp;nbsp; blowbc = int(zlobc*(btn+1));&lt;/P&gt;&lt;P&gt;379&amp;nbsp; bhighbc = int(zupbc*(btn+1))+1;&lt;/P&gt;&lt;P&gt;380&amp;nbsp; lowbca = j(nrow(blow),1,0);&lt;/P&gt;&lt;P&gt;381&amp;nbsp; upbca = lowbca;&lt;/P&gt;&lt;P&gt;382&amp;nbsp; do i = 1 to nrow(blow);&lt;/P&gt;&lt;P&gt;383&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blow[i,1] &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;384&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;385&amp;nbsp;&amp;nbsp;&amp;nbsp; blow[i,1]=1;&lt;/P&gt;&lt;P&gt;386&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;387&amp;nbsp;&amp;nbsp;&amp;nbsp; lowbca[i,1]=boot[blow[i,1],i];&lt;/P&gt;&lt;P&gt;388&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bhigh[i,1] &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;389&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;390&amp;nbsp;&amp;nbsp;&amp;nbsp; bhigh[i,1]=btn;&lt;/P&gt;&lt;P&gt;391&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;392&amp;nbsp;&amp;nbsp;&amp;nbsp; upbca[i,1]=boot[bhigh[i,1],i];&lt;/P&gt;&lt;P&gt;393&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;394&amp;nbsp; lowbc = j(nrow(blow),1,0);&lt;/P&gt;&lt;P&gt;395&amp;nbsp; upbc = lowbca;&lt;/P&gt;&lt;P&gt;396&amp;nbsp; do i = 1 to nrow(blowbc);&lt;/P&gt;&lt;P&gt;397&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blowbc[i,1] &amp;lt; 1) then;&lt;/P&gt;&lt;P&gt;398&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;399&amp;nbsp;&amp;nbsp;&amp;nbsp; blowbc[i,1]=1;&lt;/P&gt;&lt;P&gt;400&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;401&amp;nbsp;&amp;nbsp;&amp;nbsp; lowbc[i,1]=boot[blowbc[i,1],i];&lt;/P&gt;&lt;P&gt;402&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bhighbc[i,1] &amp;gt; btn) then;&lt;/P&gt;&lt;P&gt;403&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;404&amp;nbsp;&amp;nbsp;&amp;nbsp; bhighbc[i,1]=btn;&lt;/P&gt;&lt;P&gt;405&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;406&amp;nbsp;&amp;nbsp;&amp;nbsp; upbc[i,1]=boot[bhighbc[i,1],i];&lt;/P&gt;&lt;P&gt;407&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;408&amp;nbsp; print "*****************************************************";&lt;/P&gt;&lt;P&gt;409&amp;nbsp; print "BOOTSTRAP RESULTS FOR INDIRECT EFFECTS";&lt;/P&gt;&lt;P&gt;410&amp;nbsp; res = indsam||mnboot||(mnboot-indsam)||se;&lt;/P&gt;&lt;P&gt;411&amp;nbsp; cn = {"Data" "Boot" "Bias" "SE"};&lt;/P&gt;&lt;P&gt;412&amp;nbsp; print "Indirect Effects of IV on DV through Mediators (ab paths)";&lt;/P&gt;&lt;P&gt;413&amp;nbsp; print res [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;414&amp;nbsp; lowperc = boot[blowp,];&lt;/P&gt;&lt;P&gt;415&amp;nbsp; upperc = boot[bhighp,];&lt;/P&gt;&lt;P&gt;416&amp;nbsp; ci = lowbca||upbca;&lt;/P&gt;&lt;P&gt;417&amp;nbsp; cn = {"Lower" "Upper"};&lt;/P&gt;&lt;P&gt;418&amp;nbsp; if (&amp;amp;bca ^= 0) then;&lt;/P&gt;&lt;P&gt;419&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;420&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Bias Corrected and Accelerated Confidence Intervals";&lt;/P&gt;&lt;P&gt;421&amp;nbsp;&amp;nbsp;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;422&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;423&amp;nbsp; if (&amp;amp;bc ^= 0) then;&lt;/P&gt;&lt;P&gt;424&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;425&amp;nbsp;&amp;nbsp;&amp;nbsp; ci = lowbc||upbc;&lt;/P&gt;&lt;P&gt;426&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Bias Corrected Confidence Intervals";&lt;/P&gt;&lt;P&gt;427&amp;nbsp;&amp;nbsp;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;428&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;429&amp;nbsp; if (&amp;amp;percent ^= 0) then;&lt;/P&gt;&lt;P&gt;430&amp;nbsp;&amp;nbsp;&amp;nbsp; do;&lt;/P&gt;&lt;P&gt;431&amp;nbsp;&amp;nbsp;&amp;nbsp; ci = lowperc`||upperc`;&lt;/P&gt;&lt;P&gt;432&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Percentile Confidence Intervals";&lt;/P&gt;&lt;P&gt;433&amp;nbsp;&amp;nbsp;&amp;nbsp; print ci [rowname = nms colname = cn format = 9.4];&lt;/P&gt;&lt;P&gt;434&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;435&amp;nbsp; print "*****************************************************";&lt;/P&gt;&lt;P&gt;436&amp;nbsp; print "Level of Confidence for Confidence Intervals";&lt;/P&gt;&lt;P&gt;437&amp;nbsp; print conf;&lt;/P&gt;&lt;P&gt;438&amp;nbsp; print "Number of Bootstrap Resamples";&lt;/P&gt;&lt;P&gt;439&amp;nbsp; print btn;&lt;/P&gt;&lt;P&gt;440&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;441&amp;nbsp; if (&amp;amp;normal = 1) then;do;if (&amp;amp;c = 0) then;do;prt =1;end;end;&lt;/P&gt;&lt;P&gt;442&amp;nbsp; if (btn &amp;gt; 999) then;do;prt = 1;end;&lt;/P&gt;&lt;P&gt;443&amp;nbsp; if ((nv-nc-2) &amp;gt; 1) then;do;if (&amp;amp;contrast = 1) then;do;&lt;/P&gt;&lt;P&gt;444&amp;nbsp; if (prt = 1) then;do;&lt;/P&gt;&lt;P&gt;445&amp;nbsp; print "*****************************************************";&lt;/P&gt;&lt;P&gt;446&amp;nbsp; print "Indirect Effect Contrast Definitions: IndEff_1 minus IndEff2";&lt;/P&gt;&lt;P&gt;447&amp;nbsp; kk=1;&lt;/P&gt;&lt;P&gt;448&amp;nbsp; prwsv = j(((nv-nc-2)*(nv-nc-3)/2),2,"XXXXXXXX");&lt;/P&gt;&lt;P&gt;449&amp;nbsp; do ic = 1 to (nv-nc-3);&lt;/P&gt;&lt;P&gt;450&amp;nbsp;&amp;nbsp;&amp;nbsp; do ic2 = (ic+1) to (nv-nc-2);&lt;/P&gt;&lt;P&gt;451&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prwsv[kk,1]=nm[ic+2,1];&lt;/P&gt;&lt;P&gt;452&amp;nbsp;&amp;nbsp;&amp;nbsp; prwsv[kk,2]=nm[ic2+2,1];&lt;/P&gt;&lt;P&gt;453&amp;nbsp;&amp;nbsp;&amp;nbsp; kk=kk+1;&lt;/P&gt;&lt;P&gt;454&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;455&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;456&amp;nbsp; prwsv = cnam2||prwsv;&lt;/P&gt;&lt;P&gt;457&amp;nbsp; cn = {"Contrast" "IndEff_1" "IndEff_2"};&lt;/P&gt;&lt;P&gt;458&amp;nbsp; print prwsv [colname = cn];&lt;/P&gt;&lt;P&gt;459&amp;nbsp; end;end;end;&lt;/P&gt;&lt;P&gt;460&amp;nbsp; quit;&lt;/P&gt;&lt;P&gt;461&amp;nbsp; %mend;&lt;/P&gt;&lt;P&gt;462&lt;/P&gt;&lt;P&gt;463&lt;/P&gt;&lt;P&gt;464&amp;nbsp; /* Macro ends*/;&lt;/P&gt;&lt;P&gt;465&amp;nbsp; /*Call macro into data set*/;&lt;/P&gt;&lt;P&gt;466&lt;/P&gt;&lt;P&gt;467&lt;/P&gt;&lt;P&gt;468&amp;nbsp; data test;&lt;/P&gt;&lt;P&gt;469&amp;nbsp; seed=-1;&lt;/P&gt;&lt;P&gt;470&amp;nbsp; do i = 1 to 100;&lt;/P&gt;&lt;P&gt;471&amp;nbsp; Y=10+(.5)*rannor(1);&lt;/P&gt;&lt;P&gt;472&amp;nbsp;&amp;nbsp;&amp;nbsp; X=2+(0.3)*rannor(1);&lt;/P&gt;&lt;P&gt;473&amp;nbsp;&amp;nbsp;&amp;nbsp; /*** These are the mediators *****/;&lt;/P&gt;&lt;P&gt;474&amp;nbsp;&amp;nbsp;&amp;nbsp; M1=1+(0.3)*rannor(1);&lt;/P&gt;&lt;P&gt;475&amp;nbsp;&amp;nbsp;&amp;nbsp; M2=3+(0.4)*rannor(1);&lt;/P&gt;&lt;P&gt;476&amp;nbsp;&amp;nbsp;&amp;nbsp; M2=5+(0.8)*rannor(1);&lt;/P&gt;&lt;P&gt;477&amp;nbsp;&amp;nbsp;&amp;nbsp; M4=0+(.9)*rannor(1);&lt;/P&gt;&lt;P&gt;478&amp;nbsp;&amp;nbsp;&amp;nbsp; /***** These are the covariates *******/;&lt;/P&gt;&lt;P&gt;479&amp;nbsp;&amp;nbsp;&amp;nbsp; gender=ranbin(0,1,.5);&lt;/P&gt;&lt;P&gt;480&amp;nbsp;&amp;nbsp;&amp;nbsp; age=60+(5)*rannor(1);&lt;/P&gt;&lt;P&gt;481&amp;nbsp;&amp;nbsp;&amp;nbsp; edu=12+(1)*rannor(1);&lt;/P&gt;&lt;P&gt;482&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;483&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;484&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: The data set WORK.TEST has 100 observations and 10 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.02 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;485&lt;/P&gt;&lt;P&gt;486&lt;/P&gt;&lt;P&gt;487&amp;nbsp; /*So i want to call the macro indirect and fit this model, can any one help with the last&lt;/P&gt;&lt;P&gt;487! step*/&lt;/P&gt;&lt;P&gt;488&amp;nbsp; %INDIRECT [DATA = test, Y = yvar, X = xvar, M = M1 M2 M3 M4{gender age edu}];&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Note&lt;/P&gt;&lt;P&gt;488! M=Mvlist are M1, M2, M3 and M4 and covlist are age gender and edu */&lt;/P&gt;&lt;P&gt;NOTE: Writing HTML Body file: sashtml.htm&lt;/P&gt;&lt;P&gt;NOTE: IML Ready&lt;/P&gt;&lt;P&gt;NOTE: Line generated by the invoked macro "INDIRECT".&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use &amp;amp;data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&lt;/P&gt;&lt;P&gt;ERROR 22-322: Expecting a name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;/P&gt;&lt;P&gt;.......&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;489&amp;nbsp; {,C = {cov}(0**)}&lt;/P&gt;&lt;P&gt;490&amp;nbsp; {,BOOT = {z}(1000**)}&lt;/P&gt;&lt;P&gt;491&amp;nbsp; {,CONF = {ci}(95**)}&lt;/P&gt;&lt;P&gt;492&amp;nbsp; {,NORMAL = {t}(0**)}&lt;/P&gt;&lt;P&gt;493&amp;nbsp; {,CONTRAST = {n}(0**)}&lt;/P&gt;&lt;P&gt;494&amp;nbsp; {,PERCENT = {p}(0**)}&lt;/P&gt;&lt;P&gt;495&amp;nbsp; {,BC = {b}(1**)}&lt;/P&gt;&lt;P&gt;496&amp;nbsp; {,BCA = {d}(0)};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 20:56:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153538#M262648</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2015-02-04T20:56:59Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153539#M262649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ERROR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;982&lt;/P&gt;&lt;P&gt;983&amp;nbsp; /*So i want to call the macro indirect and fit this model, can any one help with the last&lt;/P&gt;&lt;P&gt;983! step*/&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;984&amp;nbsp; %INDIRECT [DATA = test, Y = y, X = x, M = M1 M2 M3 M4{gender age edu}];&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Note M=Mvlist&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;984! are M1, M2, M3 and M4 and covlist are age gender and edu */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;NOTE: IML Ready&lt;/P&gt;&lt;P&gt;NOTE: Line generated by the invoked macro "INDIRECT".&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; use &amp;amp;data;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&lt;/P&gt;&lt;P&gt;ERROR 22-322: Expecting a name.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 21:13:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153539#M262649</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2015-02-04T21:13:27Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153540#M262650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not sure about the &amp;amp;dat issue but if you are calling the macro with this syntax:&lt;/P&gt;&lt;P&gt;%INDIRECT [DATA = test, Y = y, X = x, M = M1 M2 M3 M4{gender age edu}];&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;I think you are having issues because the macro parameter M resolves to: M1 M2 M3 M4{gender age edu}&lt;/P&gt;&lt;P&gt;In the READ statement that generates a nested set of {&amp;nbsp;&amp;nbsp;&amp;nbsp; {} } and I think the compiler doesn't like that construct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Run this code snipped and see if you get errors pointing to the second { in read statement.&lt;/P&gt;&lt;P&gt;proc iml;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; use sashelp.class;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; read all var {sex age {height weight}};&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you ever run this without macro variables?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 22:28:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153540#M262650</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2015-02-04T22:28:12Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a macro and running analysis</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153541#M262651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;993&amp;nbsp; proc iml;&lt;/P&gt;&lt;P&gt;NOTE: IML Ready&lt;/P&gt;&lt;P&gt;994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use sashelp.class;&lt;/P&gt;&lt;P&gt;995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read all var {sex age {height weight}};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;/P&gt;&lt;P&gt;ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a numeric constant, a datetime constant, a missing value, (, (|, ), *, ',', -, =, [,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |, }.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERROR 200-322: The symbol is not recognized and will be ignored.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;995! read all var {sex age {height weight}};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Feb 2015 22:45:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calling-a-macro-and-running-analysis/m-p/153541#M262651</guid>
      <dc:creator>desireatem</dc:creator>
      <dc:date>2015-02-04T22:45:17Z</dc:date>
    </item>
  </channel>
</rss>

