<?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: Proc iml within a macro that submits to R in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682179#M5271</link>
    <description>&lt;P&gt;So you need to place this&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;	submit / R;
	library(sandwich)
	data1&amp;lt;-subset(data, data$catnum==x,)
	df=data1[c(7,9:27)]
	poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
	cov.poimod &amp;lt;- vcovHC(poimod, type="HC0")
	std.err &amp;lt;- sqrt(diag(cov.poimod))
	estimate=coef(poimod)[!is.na(coef(poimod))]
	se=std.err[!is.na(std.err)]
	ll=coef(poimod)[!is.na(coef(poimod))] - 1.96 * std.err[!is.na(std.err)]
	ul = coef(poimod)[!is.na(coef(poimod))] + 1.96 * std.err[!is.na(std.err)]
	p=2*pnorm(abs(estimate)/se, lower.tail=FALSE)
	AIC=AIC(poimod)
	gof=1-pchisq(poimod$deviance, poimod$df.residual)
	full=cbind(estimate, se, ll, ul,p, AIC, gof)
	full&amp;lt;-cbind(rownames(full),full)

	endsubmit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in a separate file (e.g. /somepath/include.sas), and use&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc iml;
call ExportDataSetToR("r", "data");
%include "/somepath/include.sas";
call ImportDataSetFromR("r_done", "full");
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in the macro.&lt;/P&gt;</description>
    <pubDate>Tue, 08 Sep 2020 09:34:04 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-09-08T09:34:04Z</dc:date>
    <item>
      <title>Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682159#M5265</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to loop though a large dataset in sas to perform analysis in R (poisson with robust SE on very large datasets) using proc iml. However, when running the macro-code I'm getting the following error which I cannot conqueror:&lt;/P&gt;&lt;PRE&gt;Submit block cannot be directly placed in a macro. Instead, place the submit block into a file first and then use %include to include the file within a macro definition&lt;/PRE&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro robust_se_r(catnum);

submit;
proc sql;
create table r as select
* from splinebasis
where catnum eq &amp;amp;catnum;;
quit;
endrsubmit;


proc iml;
%robust_se_r(8);
quit;

call ExportDataSetToR("r", "data1");
submit / R;
library(sandwich)
df=data1[c(7,9:27)]
poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
cov.poimod &amp;lt;- vcovHC(poimod, type="HC0")
std.err &amp;lt;- sqrt(diag(cov.poimod))
estimate=coef(poimod)[!is.na(coef(poimod))]
se=std.err[!is.na(std.err)]
ll=coef(poimod)[!is.na(coef(poimod))] - 1.96 * std.err[!is.na(std.err)]
ul = coef(poimod)[!is.na(coef(poimod))] + 1.96 * std.err[!is.na(std.err)]
p=2*pnorm(abs(estimate)/se, lower.tail=FALSE)
AIC=AIC(poimod)
gof=1-pchisq(poimod$deviance, poimod$df.residual)
full=cbind(estimate, se, ll, ul,p, AIC, gof)
full&amp;lt;-cbind(rownames(full),full)

endsubmit;
call ImportDataSetFromR("r_done", "full");

data r_done_com;
set r_done;
irr=exp(Estimate);
Lower=exp(LL);
Upper=exp(UL);
catnum=&amp;amp;catnum;
run;

data wk.cat_&amp;amp;catnum;
set r_done_com;
run;




%mend();

proc iml;
%robust_se_r(8);
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I've kind of tried all combinations including %inc of the iml part in a .sas file called from within proc iml.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I'm I doing wrong?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 07:57:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682159#M5265</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T07:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682172#M5266</link>
      <description>&lt;P&gt;Since you call the macro unconditionally within itself, this would lead to an infinite recursion.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Start with &lt;EM&gt;working&lt;/EM&gt; non-macro code first that solves a single instance, identify the parts that need to be made dynamic, and THEN start with macro coding.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:02:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682172#M5266</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-08T09:02:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682173#M5267</link>
      <description>&lt;P&gt;Thanks for the reply!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sql;
create table r as select
* from splinebasis
where catnum eq 1;
quit;


proc iml;
call ExportDataSetToR("r", "data");
	submit / R;
	library(sandwich)
	data1&amp;lt;-subset(data, data$catnum==x,)
	df=data1[c(7,9:27)]
	poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
	cov.poimod &amp;lt;- vcovHC(poimod, type="HC0")
	std.err &amp;lt;- sqrt(diag(cov.poimod))
	estimate=coef(poimod)[!is.na(coef(poimod))]
	se=std.err[!is.na(std.err)]
	ll=coef(poimod)[!is.na(coef(poimod))] - 1.96 * std.err[!is.na(std.err)]
	ul = coef(poimod)[!is.na(coef(poimod))] + 1.96 * std.err[!is.na(std.err)]
	p=2*pnorm(abs(estimate)/se, lower.tail=FALSE)
	AIC=AIC(poimod)
	gof=1-pchisq(poimod$deviance, poimod$df.residual)
	full=cbind(estimate, se, ll, ul,p, AIC, gof)
	full&amp;lt;-cbind(rownames(full),full)

	endsubmit;
	call ImportDataSetFromR("r_done", "full");
quit;

	data r_done_com;
	set r_done;
	irr=exp(Estimate);
	Lower=exp(LL);
	Upper=exp(UL);
	drop V1;
	catnum=1;
	run;

	data cat_1;
	set r_done_com;
	run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This is my working single instance example!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:09:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682173#M5267</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T09:09:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682175#M5268</link>
      <description>&lt;P&gt;Actually this was my first code!&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro r_analysis(catnum);

proc sql;
create table r as select
* from splinebasis
where catnum eq &amp;amp;catnum;
quit;


proc iml;
call ExportDataSetToR("r", "data");
	submit / R;
	library(sandwich)
	data1&amp;lt;-subset(data, data$catnum==x,)
	df=data1[c(7,9:27)]
	poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
	cov.poimod &amp;lt;- vcovHC(poimod, type="HC0")
	std.err &amp;lt;- sqrt(diag(cov.poimod))
	estimate=coef(poimod)[!is.na(coef(poimod))]
	se=std.err[!is.na(std.err)]
	ll=coef(poimod)[!is.na(coef(poimod))] - 1.96 * std.err[!is.na(std.err)]
	ul = coef(poimod)[!is.na(coef(poimod))] + 1.96 * std.err[!is.na(std.err)]
	p=2*pnorm(abs(estimate)/se, lower.tail=FALSE)
	AIC=AIC(poimod)
	gof=1-pchisq(poimod$deviance, poimod$df.residual)
	full=cbind(estimate, se, ll, ul,p, AIC, gof)
	full&amp;lt;-cbind(rownames(full),full)

	endsubmit;
	call ImportDataSetFromR("r_done", "full");
quit;

	data r_done_com;
	set r_done;
	irr=exp(Estimate);
	Lower=exp(LL);
	Upper=exp(UL);
	drop V1;
	catnum=&amp;amp;catnum;
	run;

	data wk.cat_&amp;amp;catnum;
	set r_done_com;
	run;
mend;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:12:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682175#M5268</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T09:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682176#M5269</link>
      <description>&lt;P&gt;And you want the condition&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where catnum eq 1&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;the assignment&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;catnum=1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and the dataset name&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cat_1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;to be dynamic, and the whole thing run repeatedly for different values? If yes, how are those different values determined (stored in a dataset, do loop, ...)?&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:18:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682176#M5269</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-08T09:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682177#M5270</link>
      <description>&lt;P&gt;Yes,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And the values are stored in a dataset column and I call it using&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
set all_catnums;
call execute(cats('%nrstr(%r_analysis(',catnum,'))'));
run;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:24:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682177#M5270</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T09:24:22Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682179#M5271</link>
      <description>&lt;P&gt;So you need to place this&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;	submit / R;
	library(sandwich)
	data1&amp;lt;-subset(data, data$catnum==x,)
	df=data1[c(7,9:27)]
	poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
	cov.poimod &amp;lt;- vcovHC(poimod, type="HC0")
	std.err &amp;lt;- sqrt(diag(cov.poimod))
	estimate=coef(poimod)[!is.na(coef(poimod))]
	se=std.err[!is.na(std.err)]
	ll=coef(poimod)[!is.na(coef(poimod))] - 1.96 * std.err[!is.na(std.err)]
	ul = coef(poimod)[!is.na(coef(poimod))] + 1.96 * std.err[!is.na(std.err)]
	p=2*pnorm(abs(estimate)/se, lower.tail=FALSE)
	AIC=AIC(poimod)
	gof=1-pchisq(poimod$deviance, poimod$df.residual)
	full=cbind(estimate, se, ll, ul,p, AIC, gof)
	full&amp;lt;-cbind(rownames(full),full)

	endsubmit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in a separate file (e.g. /somepath/include.sas), and use&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc iml;
call ExportDataSetToR("r", "data");
%include "/somepath/include.sas";
call ImportDataSetFromR("r_done", "full");
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in the macro.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 09:34:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682179#M5271</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-08T09:34:04Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682189#M5272</link>
      <description>&lt;P&gt;Kurt is doing a good job guiding you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I will add one important point: There is no need for a macro here, and eliminating the macro would simplify the code. The IML language can read the data using a WHERE clause and can write the output data set(s) directly. There is no need for the PROC SQL or DATA steps. IML also has a looping structure, in case the purpose of the macro is to loop over one or more values of catnum.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a simplified example that shows how to use the %INCLUDE statement to wrap the SUBMIT/R block:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* 1. FIRST: Get code working without macro */
%let catnum=8;
proc sql;
create table r as select * from splinebasis
where catnum eq &amp;amp;catnum;;
quit;

proc iml;
call ExportDataSetToR("r", "data1");
/* PUT THIS SUBMIT BLOCK INTO A FILE such as C:/temp/RCode.sas */
/***************************/
submit / R;
df=data1[c(7,9:27)]
poimod=glm(formula=df$events ~ . +offset(log(data1$pyrs)), family=poisson, data=df)
endsubmit;
/***************************/
quit;

/* 2. NEXT: CREATE THE FILE */

/*3.  LAST: Include file with %INC */
%macro robust_se_r(catnum);
   proc sql;
   create table r as select * from splinebasis
   where catnum eq &amp;amp;catnum;;
   quit;

   proc iml;
   call ExportDataSetToR("r", "data1");

   /* SUBMIT BLOCK IS IN THIS FILE */
   %inc "C:/temp/RCode.sas";
   quit;
%mend;

%robust_se_r(8);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 08 Sep 2020 10:54:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682189#M5272</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2020-09-08T10:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682197#M5273</link>
      <description>&lt;P&gt;Thanks for excellent guidance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 11:24:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682197#M5273</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T11:24:53Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682198#M5274</link>
      <description>Thanks alot!</description>
      <pubDate>Tue, 08 Sep 2020 11:25:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682198#M5274</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T11:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682237#M5275</link>
      <description>I have 'macro' version working but I guess its way slower as it read-writes a large input file for every catnum. I did try to run it using a do-step but I have not succedded yet. Could you point me in the right direction?&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 08 Sep 2020 12:59:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682237#M5275</guid>
      <dc:creator>td1345</dc:creator>
      <dc:date>2020-09-08T12:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682248#M5276</link>
      <description>&lt;P&gt;If you are sending many large data sets to R, that is probably one reason it is slow. The other is that you are starting/quitting IML and R each time you run the macro, as well as reloading the package.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I guess you are trying to read/analyze/write all subgroups of the data? If PROC GENMOD can perform the Poisson regression analysis that you want, then the fastest way is to perform all the Poisson regressions in SAS by using BY-group analysis and bypass R. That way you don't have to read/write the data between SAS and R.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to use R, the fastest way might be to use the DATA step to create the input data sets, transfer each one to R, and then export them out.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And here's another efficiency tip: Your post-IML DATA steps are unnecessary. Use R to add the exponentiated variables and then import the results directly to the data set name that you want. The following program should help you get started.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data inCat1 inCat2 inCat3 inCat4 inCat5 inCat6 inCat7 inCat8;
set splinebasis;
select (inCatnum);
   when (1)  output inCat1;
   when (2)  output inCat2;
   when (3)  output inCat3;
   when (4)  output inCat4;
   when (5)  output inCat5;
   when (6)  output inCat6;
   when (7)  output inCat7;
   when (8)  output inCat8;
   otherwise;
end;
run;

proc iml;
do catnum = 1 to 8;
   inDSName = cats("inCat", char(catnum));
   outDSName = cats("outCat", char(catnum));
   print catnum inDSName outDSName;
   /*
   call ExportDataSetToR("r", dsname);

   SUBMIT R statements HERE

	call ImportDataSetFromR(outDSName, "full");
   */
end;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 13:34:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682248#M5276</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2020-09-08T13:34:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc iml within a macro that submits to R</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682249#M5277</link>
      <description>&lt;P&gt;Mind that I am NO expert for PROC IML at all. In fact we have not even licensed SAS/IML where I work. I only did a quick study of the IML &lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=imlug&amp;amp;docsetTarget=imlug_langref_sect492.htm&amp;amp;locale=en" target="_blank" rel="noopener"&gt;SUBMIT statement documentation&lt;/A&gt;&amp;nbsp;(see Maxim 1), and did take note of the message you got and posted in your original question.&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13684"&gt;@Rick_SAS&lt;/a&gt;&amp;nbsp;will be able to provide expert guidance for improving your IML performance, believe me!&lt;/P&gt;</description>
      <pubDate>Tue, 08 Sep 2020 13:38:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Proc-iml-within-a-macro-that-submits-to-R/m-p/682249#M5277</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-08T13:38:19Z</dc:date>
    </item>
  </channel>
</rss>

