Hi Tom,
Thanks for your response.
Here is my whole code and the input files are attached. The equation I want is
p_m=(ex1_1/sum_ex1)*(ex2_1/sum_ex2)+(ex1_2/sum_ex1)*(ex2_2/sum_ex2)+(ex1_3/sum_ex1)*(ex2_3/sum_ex2)+(ex1_4/sum_ex1)*(ex2_4/sum_ex2)
As I said I will have more variables than I have in this equation.
Many many thanks!
data par; infile 'C:\cluster_new\mlg1.txt'; input a1 a2 a3 b1 b2 b3 ; run; data score; infile 'C:\cluster_new\mlgs.txt'; input theta1 theta2 theta3; run; data all_pars; if _n_=1 then set score; set par; run; data all_pars; set all_pars; s1=-(a1+a2+a3)/4; s2=s1+a1; s3=s1+a2; s4=s1+a3; inc1=-(b1+b2+b3)/4; inc2=inc1+b1; inc3=inc1+b2; inc4=inc1+b3; run; data _null_; length c $16000; /* 500*4*(up to 😎 characters: " ex123_4" */ do i=1 to 3; do j=1 to 4; c=catx(' ',c,cats('ex',i,'_',j)); end; end; call symputx('vlist',c); run; data all_pars1; set all_pars; array t {3} theta1-theta3 ; array ex {3,4} &vlist; array s {4}; array inc {4}; array sumex{3} 8.; do i=1 to 3; do j=1 to 4; ex(i,j)=exp(t(i)*s(j)+inc(j)); sumex{i}=sum(sumex{i},ex{i,j}); end; end; run;
data all_pars1; set all_pars; array t {3} theta1-theta3 ; array ex {3,4} &vlist; array s {4}; array inc {4}; array sumex{3} 8.; array p_m{1} 8.; do i=1 to 3; do j=1 to 4; ex(i,j)=exp(t(i)*s(j)+inc(j)); sumex{i}=sum(sumex{i},ex{i,j}); p_m(i)=sum((ex{i,j}/sumex{i})*(ex{i,j}/sumex{j})); end; end; run;
... View more